libfirm
15 years agoRemove the unused parameter const arch_env_t *env from arch_get_irn_register().
Christoph Mallon [Sat, 11 Oct 2008 17:25:04 +0000 (17:25 +0000)]
Remove the unused parameter const arch_env_t *env from arch_get_irn_register().

[r22697]

15 years agomove DEBUG_libfirm to config.h we shouldn't depend on it in public API
Matthias Braun [Sat, 11 Oct 2008 17:24:44 +0000 (17:24 +0000)]
move DEBUG_libfirm to config.h we shouldn't depend on it in public API

[r22696]

15 years agoremove heap analysis hooks - they're not used anymore
Matthias Braun [Sat, 11 Oct 2008 17:20:03 +0000 (17:20 +0000)]
remove heap analysis hooks - they're not used anymore

[r22695]

15 years agoremove support for java stuff (was broken and nobody used it anyway)
Matthias Braun [Sat, 11 Oct 2008 17:19:00 +0000 (17:19 +0000)]
remove support for java stuff (was broken and nobody used it anyway)

[r22694]

15 years agomy perl 5.10 here seems to create the %cpu when doing keys(%cpu), workaround problems...
Matthias Braun [Sat, 11 Oct 2008 17:00:16 +0000 (17:00 +0000)]
my perl 5.10 here seems to create the %cpu when doing keys(%cpu), workaround problems because of that

[r22693]

15 years agoRemove the unused parameter const arch_env_t *env from arch_get_irn_reg_class() and...
Christoph Mallon [Sat, 11 Oct 2008 16:51:58 +0000 (16:51 +0000)]
Remove the unused parameter const arch_env_t *env from arch_get_irn_reg_class() and arch_irn_has_reg_class().

[r22692]

15 years agoRemove the unused parameter const arch_env_t *env from arch_reg_is_allocatable().
Christoph Mallon [Sat, 11 Oct 2008 16:34:57 +0000 (16:34 +0000)]
Remove the unused parameter const arch_env_t *env from arch_reg_is_allocatable().

[r22689]

15 years agoRemove the unused parameter const arch_env_t *env from arch_is_register_operand().
Christoph Mallon [Sat, 11 Oct 2008 16:31:17 +0000 (16:31 +0000)]
Remove the unused parameter const arch_env_t *env from arch_is_register_operand().

[r22688]

15 years agoRemove dead initialisaton.
Christoph Mallon [Sat, 11 Oct 2008 16:29:37 +0000 (16:29 +0000)]
Remove dead initialisaton.

[r22687]

15 years agoRemove the unused parameter const arch_env_t *env from arch_get_allocatable_regs().
Christoph Mallon [Sat, 11 Oct 2008 16:16:19 +0000 (16:16 +0000)]
Remove the unused parameter const arch_env_t *env from arch_get_allocatable_regs().

[r22686]

15 years agoRemove the unused function arch_is_possible_memory_operand(). It is identical to...
Christoph Mallon [Sat, 11 Oct 2008 16:13:47 +0000 (16:13 +0000)]
Remove the unused function arch_is_possible_memory_operand().  It is identical to arch_possible_memory_operand().

[r22685]

15 years agoRemove the unused parameter const arch_env_t *env from arch_get_op_estimated_cost().
Christoph Mallon [Sat, 11 Oct 2008 16:11:27 +0000 (16:11 +0000)]
Remove the unused parameter const arch_env_t *env from arch_get_op_estimated_cost().

[r22684]

15 years agoRemove the unused parameter const arch_env_t *env from arch_perform_memory_operand().
Christoph Mallon [Sat, 11 Oct 2008 16:08:22 +0000 (16:08 +0000)]
Remove the unused parameter const arch_env_t *env from arch_perform_memory_operand().

[r22683]

15 years agoRemove the unused parameter const arch_env_t *env from arch_possible_memory_operand().
Christoph Mallon [Sat, 11 Oct 2008 16:03:25 +0000 (16:03 +0000)]
Remove the unused parameter const arch_env_t *env from arch_possible_memory_operand().

[r22682]

15 years agoRemove the unused parameter const arch_env_t *env from arch_get_inverse().
Christoph Mallon [Sat, 11 Oct 2008 15:28:57 +0000 (15:28 +0000)]
Remove the unused parameter const arch_env_t *env from arch_get_inverse().

[r22681]

15 years agoRemove the unused parameter const arch_env_t *env from arch_get_sp_bias().
Christoph Mallon [Sat, 11 Oct 2008 15:26:23 +0000 (15:26 +0000)]
Remove the unused parameter const arch_env_t *env from arch_get_sp_bias().

[r22680]

15 years agoRemove the unused parameter const arch_env_t *env from arch_set_frame_entity().
Christoph Mallon [Sat, 11 Oct 2008 15:23:22 +0000 (15:23 +0000)]
Remove the unused parameter const arch_env_t *env from arch_set_frame_entity().

[r22679]

15 years agoRemove the unused parameter const arch_env_t *env from arch_get_frame_entity().
Christoph Mallon [Sat, 11 Oct 2008 15:19:42 +0000 (15:19 +0000)]
Remove the unused parameter const arch_env_t *env from arch_get_frame_entity().

[r22678]

15 years agoRemove the unused parameter const arch_env_t *env from arch_set_frame_offset().
Christoph Mallon [Sat, 11 Oct 2008 15:15:42 +0000 (15:15 +0000)]
Remove the unused parameter const arch_env_t *env from arch_set_frame_offset().

[r22677]

15 years agoRemove the unused parameter const arch_env_t *env from arch_get_register_req().
Christoph Mallon [Sat, 11 Oct 2008 15:12:21 +0000 (15:12 +0000)]
Remove the unused parameter const arch_env_t *env from arch_get_register_req().

[r22676]

15 years agofix bad XMALLOC call
Matthias Braun [Sat, 11 Oct 2008 15:10:23 +0000 (15:10 +0000)]
fix bad XMALLOC call

[r22675]

15 years agoRemove the unused function arch_get_irn_ops().
Christoph Mallon [Sat, 11 Oct 2008 14:56:42 +0000 (14:56 +0000)]
Remove the unused function arch_get_irn_ops().

[r22674]

15 years agoRemove the unused parameter const arch_env_t *env from get_irn_ops().
Christoph Mallon [Sat, 11 Oct 2008 14:54:13 +0000 (14:54 +0000)]
Remove the unused parameter const arch_env_t *env from get_irn_ops().

[r22673]

15 years agoRemove the unused function arch_count_non_ignore_regs().
Christoph Mallon [Sat, 11 Oct 2008 14:52:32 +0000 (14:52 +0000)]
Remove the unused function arch_count_non_ignore_regs().

[r22672]

15 years agoRemove the unused parameter const arch_env_t *env from arch_put_non_ignore_regs().
Christoph Mallon [Sat, 11 Oct 2008 14:50:23 +0000 (14:50 +0000)]
Remove the unused parameter const arch_env_t *env from arch_put_non_ignore_regs().

[r22671]

15 years agoUse turn_back_am() to implement fix_am_source().
Christoph Mallon [Sat, 11 Oct 2008 14:42:18 +0000 (14:42 +0000)]
Use turn_back_am() to implement fix_am_source().

[r22670]

15 years agoIt does not make any sense to remove AM, which loads a non-GP value to fix register...
Christoph Mallon [Sat, 11 Oct 2008 10:37:25 +0000 (10:37 +0000)]
It does not make any sense to remove AM, which loads a non-GP value to fix register conflicts with base and index.  This situation plain does not exist.  Base and index are always GP.

[r22669]

15 years agoCleanup.
Christoph Mallon [Sat, 11 Oct 2008 10:10:58 +0000 (10:10 +0000)]
Cleanup.

[r22666]

15 years agoCleanup.
Christoph Mallon [Sat, 11 Oct 2008 10:07:33 +0000 (10:07 +0000)]
Cleanup.

[r22665]

15 years agovfsub and vfdiv are now commutative, because there are reversed forms of these instru...
Christoph Mallon [Sat, 11 Oct 2008 08:42:11 +0000 (08:42 +0000)]
vfsub and vfdiv are now commutative, because there are reversed forms of these instructions.  This enables more AM folding.

[r22664]

15 years agoMake fehler159 compilable.
Christoph Mallon [Sat, 11 Oct 2008 06:26:42 +0000 (06:26 +0000)]
Make fehler159 compilable.

[r22663]

15 years agoDo not split string literals.
Christoph Mallon [Fri, 10 Oct 2008 17:01:50 +0000 (17:01 +0000)]
Do not split string literals.

[r22658]

15 years agoAdd missing returns.
Christoph Mallon [Fri, 10 Oct 2008 16:45:54 +0000 (16:45 +0000)]
Add missing returns.

[r22657]

15 years agoEmit * in all necessary places for EMIT_ALTERNATE_AM.
Christoph Mallon [Fri, 10 Oct 2008 16:13:42 +0000 (16:13 +0000)]
Emit * in all necessary places for EMIT_ALTERNATE_AM.

[r22656]

15 years agoHACK: Prevent folding reload AM when the node already has a "real" memory input....
Christoph Mallon [Fri, 10 Oct 2008 16:09:46 +0000 (16:09 +0000)]
HACK: Prevent folding reload AM when the node already has a "real" memory input.  This should fix 176.gcc

[r22655]

15 years agoAssert that ia32_perform_memory_operand() only tries to fold a reload into a node...
Christoph Mallon [Fri, 10 Oct 2008 15:11:19 +0000 (15:11 +0000)]
Assert that ia32_perform_memory_operand() only tries to fold a reload into a node, which has NoMem as memory input.

[r22654]

15 years agotypo
Michael Beck [Fri, 10 Oct 2008 12:49:00 +0000 (12:49 +0000)]
typo

[r22647]

15 years ago- detect non-strict functions
Michael Beck [Fri, 10 Oct 2008 12:42:09 +0000 (12:42 +0000)]
- detect non-strict functions

[r22645]

15 years agocleaned up my scripts a bit and added them to svn (as examples)
Matthias Braun [Fri, 10 Oct 2008 12:18:57 +0000 (12:18 +0000)]
cleaned up my scripts a bit and added them to svn (as examples)

[r22643]

15 years agoBugFix: works again for RAW with non twos-complement
Michael Beck [Thu, 9 Oct 2008 15:08:22 +0000 (15:08 +0000)]
BugFix: works again for RAW with non twos-complement

[r22629]

15 years agoAdd be_dep_on_frame() to let a node depend on the frame, so it does not get scheduled...
Christoph Mallon [Thu, 9 Oct 2008 07:39:21 +0000 (07:39 +0000)]
Add be_dep_on_frame() to let a node depend on the frame, so it does not get scheduled before it can be spilled.

[r22625]

15 years agoRemove unnecessary dependency edge from the IncSP, which destroys the stack frame...
Christoph Mallon [Thu, 9 Oct 2008 07:01:04 +0000 (07:01 +0000)]
Remove unnecessary dependency edge from the IncSP, which destroys the stack frame, to the final memory Proj.  Most probably it is unnecessary since Projs are not scheduled anymore.

[r22623]

15 years agoDo not pass the cg to transform_nodes().
Christoph Mallon [Thu, 9 Oct 2008 06:15:29 +0000 (06:15 +0000)]
Do not pass the cg to transform_nodes().

[r22622]

15 years agoRemove pointless local variable.
Christoph Mallon [Thu, 9 Oct 2008 05:54:43 +0000 (05:54 +0000)]
Remove pointless local variable.

[r22621]

15 years agoRemove be_get_old_anchor(), it is not necessary.
Christoph Mallon [Wed, 8 Oct 2008 16:14:25 +0000 (16:14 +0000)]
Remove be_get_old_anchor(), it is not necessary.

[r22618]

15 years agoRemove the attribute int visited from struct be_transform_env_t. It is write-only.
Christoph Mallon [Wed, 8 Oct 2008 14:55:25 +0000 (14:55 +0000)]
Remove the attribute int visited from struct be_transform_env_t.  It is write-only.

[r22615]

15 years agoMark the old node as visited in be_set_transformed_node().
Christoph Mallon [Wed, 8 Oct 2008 14:47:19 +0000 (14:47 +0000)]
Mark the old node as visited in be_set_transformed_node().

[r22614]

15 years agoDo not mark the node as visited before transforming it. This is not necessary anymor...
Christoph Mallon [Wed, 8 Oct 2008 14:46:11 +0000 (14:46 +0000)]
Do not mark the node as visited before transforming it.  This is not necessary anymore since Phis put their predecessors in a worklist, so we cannot walk in a circle.

[r22613]

15 years agoDo not mark the transformed as visited. It makes no sense at all.
Christoph Mallon [Wed, 8 Oct 2008 14:40:49 +0000 (14:40 +0000)]
Do not mark the transformed as visited.  It makes no sense at all.

[r22612]

15 years agoRemove redundant be_set_transformed_node() in transformer functions. They are vestig...
Christoph Mallon [Wed, 8 Oct 2008 14:13:52 +0000 (14:13 +0000)]
Remove redundant be_set_transformed_node() in transformer functions.  They are vestiges of old transform semantics.  Their caller (transform helper) handles this.

[r22610]

15 years agoIntroduce ia32_Call, which can handle address mode.
Christoph Mallon [Wed, 8 Oct 2008 14:06:58 +0000 (14:06 +0000)]
Introduce ia32_Call, which can handle address mode.

[r22609]

15 years agoNo need to ignore Projs in the emitter, because there are none in the schedule.
Christoph Mallon [Wed, 8 Oct 2008 14:00:38 +0000 (14:00 +0000)]
No need to ignore Projs in the emitter, because there are none in the schedule.

[r22608]

15 years agoSort.
Christoph Mallon [Wed, 8 Oct 2008 13:55:17 +0000 (13:55 +0000)]
Sort.

[r22606]

15 years ago- BugFix: fix the rare case where two nodes a congruent, but have different modes
Michael Beck [Wed, 8 Oct 2008 11:42:56 +0000 (11:42 +0000)]
- BugFix: fix the rare case where two nodes a congruent, but have different modes
  This happens for instance with AddP(x, NULL) and x.
  Add a Conv than.

[r22603]

15 years agoAdd ia32_emitf() to concisely output ia32 instructions.
Christoph Mallon [Wed, 8 Oct 2008 10:29:13 +0000 (10:29 +0000)]
Add ia32_emitf() to concisely output ia32 instructions.

[r22602]

15 years agoMake ia32_assign_exc_label() static and remove redundant test.
Christoph Mallon [Wed, 8 Oct 2008 10:12:44 +0000 (10:12 +0000)]
Make ia32_assign_exc_label() static and remove redundant test.

[r22601]

15 years agoSlightly simplify jump table emitter.
Christoph Mallon [Wed, 8 Oct 2008 09:32:42 +0000 (09:32 +0000)]
Slightly simplify jump table emitter.

[r22600]

15 years agoDo not emit cld in the CopyB prologue. The ABI mandates that DF is cleared, so do...
Christoph Mallon [Wed, 8 Oct 2008 09:01:46 +0000 (09:01 +0000)]
Do not emit cld in the CopyB prologue.  The ABI mandates that DF is cleared, so do not bother performing this NOP.

[r22599]

15 years agoSimplify emit_CopyB_prolog() and remove an unnecessary bit filter before calling it.
Christoph Mallon [Wed, 8 Oct 2008 08:54:21 +0000 (08:54 +0000)]
Simplify emit_CopyB_prolog() and remove an unnecessary bit filter before calling it.

[r22598]

15 years agoMake it a bit more clear, what's going on in ia32_emit_x87_binop().
Christoph Mallon [Wed, 8 Oct 2008 08:13:35 +0000 (08:13 +0000)]
Make it a bit more clear, what's going on in ia32_emit_x87_binop().

[r22597]

15 years ago- fixed some comment typos
Michael Beck [Wed, 8 Oct 2008 00:23:30 +0000 (00:23 +0000)]
- fixed some comment typos

[r22596]

15 years ago- Add support for commutative congruences: Add(a,b) and Add(b,a) are
Michael Beck [Wed, 8 Oct 2008 00:06:47 +0000 (00:06 +0000)]
- Add support for commutative congruences: Add(a,b) and Add(b,a) are
  congruent now
- add some explaining comment for the "wrong opcode after
  split_by(lambda_opcode) problem
- new checker added
- improved debug output

[r22595]

15 years agoand again
Matthias Braun [Tue, 7 Oct 2008 19:38:27 +0000 (19:38 +0000)]
and again

[r22594]

15 years agoagain
Matthias Braun [Tue, 7 Oct 2008 18:51:00 +0000 (18:51 +0000)]
again

[r22593]

15 years agorevert change for now breaks 255.vortex and 253.perlbmk
Matthias Braun [Tue, 7 Oct 2008 17:32:21 +0000 (17:32 +0000)]
revert change for now breaks 255.vortex and 253.perlbmk

[r22586]

15 years agoanother test
Matthias Braun [Tue, 7 Oct 2008 17:30:17 +0000 (17:30 +0000)]
another test

[r22585]

15 years agoanother fix for the delayed phi problem, mark memperms as spill+reload
Matthias Braun [Tue, 7 Oct 2008 16:56:21 +0000 (16:56 +0000)]
another fix for the delayed phi problem, mark memperms as spill+reload

[r22584]

15 years ago- cond-eval is ok, gvn-pre has a problem with the do loop
Michael Beck [Tue, 7 Oct 2008 16:38:56 +0000 (16:38 +0000)]
- cond-eval is ok, gvn-pre has a problem with the do loop

[r22583]

15 years ago- some strange combination of cond-eval and gvn-pre
Michael Beck [Tue, 7 Oct 2008 16:29:07 +0000 (16:29 +0000)]
- some strange combination of cond-eval and gvn-pre

[r22582]

15 years ago- do not clean up keep-alives here
Michael Beck [Tue, 7 Oct 2008 15:52:45 +0000 (15:52 +0000)]
- do not clean up keep-alives here
- ensure that really all blocks are initialized

[r22581]

15 years ago- fixed strange code: when did it break?
Michael Beck [Tue, 7 Oct 2008 14:54:04 +0000 (14:54 +0000)]
- fixed strange code: when did it break?

[r22579]

15 years ago- kill Bad nodes from the keep-alive list
Michael Beck [Tue, 7 Oct 2008 14:50:58 +0000 (14:50 +0000)]
- kill Bad nodes from the keep-alive list

[r22578]

15 years ago- used new irg_walk_blkwise_dom_top_down() to calculate the value of each node
Michael Beck [Tue, 7 Oct 2008 13:27:03 +0000 (13:27 +0000)]
- used new irg_walk_blkwise_dom_top_down() to calculate the value of each node
  as needed in first phase of BuildSets

[r22574]

15 years ago- we need irg_walk_blkwise_dom_top_down() instead of
Michael Beck [Tue, 7 Oct 2008 13:23:57 +0000 (13:23 +0000)]
- we need irg_walk_blkwise_dom_top_down() instead of
  irg_walk_blkwise_dom_graph()

[r22573]

15 years ago- kill Bad nodes from the keep-alive list: these arise from the new
Michael Beck [Tue, 7 Oct 2008 13:04:35 +0000 (13:04 +0000)]
- kill Bad nodes from the keep-alive list: these arise from the new
  keep-semantics (all memory must be kept in loops)

[r22572]

15 years ago- re-enabled global-non-null test, but place Confirms only before Cmp nodes
Michael Beck [Tue, 7 Oct 2008 12:34:36 +0000 (12:34 +0000)]
- re-enabled global-non-null test, but place Confirms only before Cmp nodes

[r22571]

15 years agoAdd irn_visited_else_mark(), which combines irn_visited() and mark_irn_visited().
Christoph Mallon [Tue, 7 Oct 2008 09:39:20 +0000 (09:39 +0000)]
Add irn_visited_else_mark(), which combines irn_visited() and mark_irn_visited().

[r22563]

15 years agofild and fist can handle 16bit source/destination.
Christoph Mallon [Tue, 7 Oct 2008 09:32:28 +0000 (09:32 +0000)]
fild and fist can handle 16bit source/destination.

[r22562]

15 years agoUse separate code to emit suffixes for integer and floating point instructions, becau...
Christoph Mallon [Tue, 7 Oct 2008 09:31:24 +0000 (09:31 +0000)]
Use separate code to emit suffixes for integer and floating point instructions, because GAS wants different suffixes for 16bit /integer/ operands ("w" vs. "s") for them.

[r22561]

15 years agofix last fix (+ optimisation: don't do anything if copy and orig are the same)
Matthias Braun [Mon, 6 Oct 2008 20:44:07 +0000 (20:44 +0000)]
fix last fix (+ optimisation: don't do anything if copy and orig are the same)

[r22552]

15 years ago- reenabled modeb handling after condeval fix
Michael Beck [Mon, 6 Oct 2008 20:24:08 +0000 (20:24 +0000)]
- reenabled modeb handling after condeval fix

[r22551]

15 years agofix condeval ssa recondstruction
Matthias Braun [Mon, 6 Oct 2008 19:02:12 +0000 (19:02 +0000)]
fix condeval ssa recondstruction

[r22550]

15 years agoAdding a smaller variant of fehler044
Andreas Zwinkau [Mon, 6 Oct 2008 17:29:52 +0000 (17:29 +0000)]
Adding a smaller variant of fehler044

[r22546]

15 years ago- implemented irg_walk_blkwise_dom_graph()
Michael Beck [Mon, 6 Oct 2008 15:14:39 +0000 (15:14 +0000)]
- implemented irg_walk_blkwise_dom_graph()

[r22541]

15 years agodisable femms usage for now
Matthias Braun [Mon, 6 Oct 2008 14:43:12 +0000 (14:43 +0000)]
disable femms usage for now

[r22539]

15 years ago- indentation fixed
Michael Beck [Mon, 6 Oct 2008 14:40:05 +0000 (14:40 +0000)]
- indentation fixed

[r22538]

15 years agofix typo
Matthias Braun [Mon, 6 Oct 2008 13:47:35 +0000 (13:47 +0000)]
fix typo

[r22535]

15 years ago- BugFix: fixed sc_print() for modes with bitsize non dividable by 4
Michael Beck [Mon, 6 Oct 2008 13:33:29 +0000 (13:33 +0000)]
- BugFix: fixed sc_print() for modes with bitsize non dividable by 4

[r22534]

15 years agotry to never put phis into pending
Matthias Braun [Mon, 6 Oct 2008 13:22:08 +0000 (13:22 +0000)]
try to never put phis into pending

[r22532]

15 years agomore debug info
Matthias Braun [Mon, 6 Oct 2008 13:21:53 +0000 (13:21 +0000)]
more debug info

[r22531]

15 years agoTypo in comment.
Christoph Mallon [Mon, 6 Oct 2008 09:36:34 +0000 (09:36 +0000)]
Typo in comment.

[r22522]

15 years agos/irn_not_visited(x)/!irn_visited(x)/.
Christoph Mallon [Mon, 6 Oct 2008 09:33:18 +0000 (09:33 +0000)]
s/irn_not_visited(x)/!irn_visited(x)/.

[r22521]

15 years agoRemove redundant test.
Christoph Mallon [Mon, 6 Oct 2008 08:32:09 +0000 (08:32 +0000)]
Remove redundant test.

[r22518]

15 years ago- Condeval places a Phi in a wrong block, see the AddP
Michael Beck [Mon, 6 Oct 2008 00:17:27 +0000 (00:17 +0000)]
- Condeval places a Phi in a wrong block, see the AddP
  generated for line 12

[r22508]

15 years agoClean up need_constraint_copy().
Christoph Mallon [Sun, 5 Oct 2008 17:34:39 +0000 (17:34 +0000)]
Clean up need_constraint_copy().

[r22503]

15 years ago- add missing include
Michael Beck [Sun, 5 Oct 2008 15:07:10 +0000 (15:07 +0000)]
- add missing include

[r22499]

15 years agoGood day and welcome to the FIRM XMALLOC*() macros. These macros are provided for...
Christoph Mallon [Sun, 5 Oct 2008 13:32:31 +0000 (13:32 +0000)]
Good day and welcome to the FIRM XMALLOC*() macros.  These macros are provided for the type safety and convenience of the IPD research facility personnel.  The time is 15:32.  Check xmalloc.h for details.

[r22494]

15 years agoPlug memory leak.
Christoph Mallon [Sun, 5 Oct 2008 12:19:18 +0000 (12:19 +0000)]
Plug memory leak.

[r22493]

15 years agoDo not bother zeroing an object just before freeing it.
Christoph Mallon [Sun, 5 Oct 2008 11:41:37 +0000 (11:41 +0000)]
Do not bother zeroing an object just before freeing it.

[r22492]

15 years agoPanic, when encountering a to be lowered ASM node. This at least prevents the endles...
Christoph Mallon [Sun, 5 Oct 2008 06:56:52 +0000 (06:56 +0000)]
Panic, when encountering a to be lowered ASM node.  This at least prevents the endless loop in fehler132.

[r22490]