libfirm
16 years agomake ir_node *irn const for liveness_remove
Matthias Braun [Mon, 15 Oct 2007 18:51:46 +0000 (18:51 +0000)]
make ir_node *irn const for liveness_remove

[r16209]

16 years agoimprove peephole API, do IncSP stuff as peephole opts, add IncSP -4 -> Pop opt
Matthias Braun [Mon, 15 Oct 2007 18:51:25 +0000 (18:51 +0000)]
improve peephole API, do IncSP stuff as peephole opts, add IncSP -4 -> Pop opt

[r16208]

16 years agofehler96: tarval module calculates Shrs wrong for mode_Iu.
Christoph Mallon [Mon, 15 Oct 2007 17:54:55 +0000 (17:54 +0000)]
fehler96: tarval module calculates Shrs wrong for mode_Iu.

[r16207]

16 years agoAdapted to Matze's changes
Sebastian Hack [Mon, 15 Oct 2007 13:13:02 +0000 (13:13 +0000)]
Adapted to Matze's changes

[r16204]

16 years agoSmall changes in stat_ev names
Sebastian Hack [Mon, 15 Oct 2007 13:09:47 +0000 (13:09 +0000)]
Small changes in stat_ev names

[r16203]

16 years agorematerialized values are like reloads
Matthias Braun [Mon, 15 Oct 2007 11:21:01 +0000 (11:21 +0000)]
rematerialized values are like reloads

[r16202]

16 years agomorgan isn't there anymore
Matthias Braun [Sun, 14 Oct 2007 22:36:27 +0000 (22:36 +0000)]
morgan isn't there anymore

[r16201]

16 years agomore intelligent spill placement, should move spills out of loops in most cases
Matthias Braun [Sun, 14 Oct 2007 22:35:01 +0000 (22:35 +0000)]
more intelligent spill placement, should move spills out of loops in most cases

[r16200]

16 years agoremove morgan spiller, it's unused and the coming bespill changes won't support morga...
Matthias Braun [Sun, 14 Oct 2007 22:34:33 +0000 (22:34 +0000)]
remove morgan spiller, it's unused and the coming bespill changes won't support morgan anymore

[r16199]

16 years agoir_livecheck shows quadratic behaviour in number of users. Avoid some of the slowdown...
Matthias Braun [Sun, 14 Oct 2007 12:15:20 +0000 (12:15 +0000)]
ir_livecheck shows quadratic behaviour in number of users. Avoid some of the slowdown in practice by first checking other conditions before liveness

[r16198]

16 years agofix warning
Matthias Braun [Sun, 14 Oct 2007 11:14:08 +0000 (11:14 +0000)]
fix warning

[r16197]

16 years agofix struct returns for real now
Matthias Braun [Sun, 14 Oct 2007 11:04:59 +0000 (11:04 +0000)]
fix struct returns for real now

[r16196]

16 years agoused set_type_size_bytes() instead of *_bits() where possible
Michael Beck [Sat, 13 Oct 2007 14:35:18 +0000 (14:35 +0000)]
used set_type_size_bytes() instead of *_bits() where possible

[r16195]

16 years agosimpler
Matthias Braun [Sat, 13 Oct 2007 11:51:21 +0000 (11:51 +0000)]
simpler

[r16194]

16 years agofehler95 (entity size is stored in bits which provokes overflows in some cases)
Matthias Braun [Sat, 13 Oct 2007 11:50:52 +0000 (11:50 +0000)]
fehler95 (entity size is stored in bits which provokes overflows in some cases)

[r16193]

16 years agorehash changed mode_b nodes
Matthias Braun [Sat, 13 Oct 2007 10:37:01 +0000 (10:37 +0000)]
rehash changed mode_b nodes

[r16192]

16 years agoimprove and generalize handling of calls shrinking the stack on return
Matthias Braun [Fri, 12 Oct 2007 23:20:10 +0000 (23:20 +0000)]
improve and generalize handling of calls shrinking the stack on return

[r16186]

16 years agoimproved and fixed warnings
Matthias Braun [Fri, 12 Oct 2007 23:19:36 +0000 (23:19 +0000)]
improved and fixed warnings

[r16185]

16 years agofehler94
Matthias Braun [Fri, 12 Oct 2007 23:18:47 +0000 (23:18 +0000)]
fehler94

[r16184]

16 years agofixed/warnings make it possible to build without interprocedural view and enable...
Matthias Braun [Fri, 12 Oct 2007 20:40:45 +0000 (20:40 +0000)]
fixed/warnings make it possible to build without interprocedural view and enable that mode by default

[r16182]

16 years agofixed a bunch of warnings
Matthias Braun [Fri, 12 Oct 2007 20:40:03 +0000 (20:40 +0000)]
fixed a bunch of warnings

[r16181]

16 years agodon't worry about IP view in backend
Matthias Braun [Fri, 12 Oct 2007 20:02:38 +0000 (20:02 +0000)]
don't worry about IP view in backend

[r16178]

16 years agofix warnings
Matthias Braun [Fri, 12 Oct 2007 20:02:24 +0000 (20:02 +0000)]
fix warnings

[r16177]

16 years agoreenable conv skipping in address mode code
Matthias Braun [Fri, 12 Oct 2007 20:02:04 +0000 (20:02 +0000)]
reenable conv skipping in address mode code

[r16176]

16 years agoallow get_mode_all_one() for mode_b
Michael Beck [Thu, 11 Oct 2007 20:13:06 +0000 (20:13 +0000)]
allow get_mode_all_one() for mode_b

[r16157]

16 years agoProjs aren't scheduled anymore
Matthias Braun [Thu, 11 Oct 2007 16:12:44 +0000 (16:12 +0000)]
Projs aren't scheduled anymore

[r16155]

16 years agowe can use a simpler test again with fixed smaller_mode
Matthias Braun [Thu, 11 Oct 2007 16:12:24 +0000 (16:12 +0000)]
we can use a simpler test again with fixed smaller_mode

[r16154]

16 years agofix smaller mode
Matthias Braun [Thu, 11 Oct 2007 16:12:07 +0000 (16:12 +0000)]
fix smaller mode

[r16153]

16 years agowe can only remove Convs before Cmps if sign doesn't change
Matthias Braun [Thu, 11 Oct 2007 15:58:11 +0000 (15:58 +0000)]
we can only remove Convs before Cmps if sign doesn't change

[r16152]

16 years agofehler93
Matthias Braun [Thu, 11 Oct 2007 15:53:20 +0000 (15:53 +0000)]
fehler93

[r16151]

16 years agomove all constlike nodes to right for Cmps
Matthias Braun [Thu, 11 Oct 2007 15:07:03 +0000 (15:07 +0000)]
move all constlike nodes to right for Cmps

[r16150]

16 years agoremove Cast node
Michael Beck [Thu, 11 Oct 2007 14:38:27 +0000 (14:38 +0000)]
remove Cast node

[r16148]

16 years ago- fixed apply_binop_on_phi: need mode for Shift operations (fixes fehler92.c)
Michael Beck [Thu, 11 Oct 2007 10:05:18 +0000 (10:05 +0000)]
- fixed apply_binop_on_phi: need mode for Shift operations (fixes fehler92.c)
- added apply_conv_on_phi
- added transform_node_Rot: same as for other Shift operations
- added apply_unop_on_phi for Abs
-This line, and those below, will be ignored--

M    iropt.c

[r16146]

16 years agocount executed optimization
Michael Beck [Wed, 10 Oct 2007 15:13:28 +0000 (15:13 +0000)]
count executed optimization

[r16145]

16 years agofehler92
Matthias Braun [Wed, 10 Oct 2007 15:05:46 +0000 (15:05 +0000)]
fehler92

[r16144]

16 years agoConvI2I8Bit is also a transformed Load
Matthias Braun [Wed, 10 Oct 2007 14:10:50 +0000 (14:10 +0000)]
ConvI2I8Bit is also a transformed Load

[r16143]

16 years agoavoid some of the mode_b lowering related out-edge warnings
Matthias Braun [Wed, 10 Oct 2007 14:03:48 +0000 (14:03 +0000)]
avoid some of the mode_b lowering related out-edge warnings

[r16142]

16 years agoNo need to calculate liveness of NoMem
Matthias Braun [Wed, 10 Oct 2007 13:44:54 +0000 (13:44 +0000)]
No need to calculate liveness of NoMem

[r16141]

16 years ago"empty" blocks might still contain Pin nodes
Matthias Braun [Wed, 10 Oct 2007 13:44:32 +0000 (13:44 +0000)]
"empty" blocks might still contain Pin nodes

[r16140]

16 years agotypos fixed
Michael Beck [Wed, 10 Oct 2007 13:38:37 +0000 (13:38 +0000)]
typos fixed

[r16139]

16 years agoadded statistic events for Cmp optimizations
Michael Beck [Wed, 10 Oct 2007 13:38:05 +0000 (13:38 +0000)]
added statistic events for Cmp optimizations

[r16138]

16 years agotypo fixed
Michael Beck [Wed, 10 Oct 2007 13:07:00 +0000 (13:07 +0000)]
typo fixed

[r16137]

16 years agomore test added
Michael Beck [Wed, 10 Oct 2007 10:55:09 +0000 (10:55 +0000)]
more test added

[r16136]

16 years agoadded more cases for And/Or and Cmp, moved Const Upscale code to the right place
Michael Beck [Wed, 10 Oct 2007 10:54:57 +0000 (10:54 +0000)]
added more cases for And/Or and Cmp, moved Const Upscale code to the right place

[r16135]

16 years agomore test added
Michael Beck [Tue, 9 Oct 2007 16:31:37 +0000 (16:31 +0000)]
more test added

[r16134]

16 years agomoved the cast removed upwards; added cases for Shr, Shrs, Shrl --> And
Michael Beck [Tue, 9 Oct 2007 16:29:25 +0000 (16:29 +0000)]
moved the cast removed upwards; added cases for Shr, Shrs, Shrl --> And

[r16133]

16 years agotypo fixed
Michael Beck [Tue, 9 Oct 2007 11:57:23 +0000 (11:57 +0000)]
typo fixed

[r16131]

16 years agofehler91
Matthias Braun [Mon, 8 Oct 2007 22:44:54 +0000 (22:44 +0000)]
fehler91

[r16130]

16 years agoimprove mode/conv handling in backend (should result in less convs)
Matthias Braun [Mon, 8 Oct 2007 22:10:53 +0000 (22:10 +0000)]
improve mode/conv handling in backend (should result in less convs)

[r16129]

16 years agoTrivial fix of the manifestation problem
Sebastian Hack [Mon, 8 Oct 2007 20:32:27 +0000 (20:32 +0000)]
Trivial fix of the manifestation problem

[r16128]

16 years agono need for (strict-)conv before store
Matthias Braun [Mon, 8 Oct 2007 18:09:33 +0000 (18:09 +0000)]
no need for (strict-)conv before store

[r16127]

16 years agoremove unused R flags, mark vfld as rematerialisable
Matthias Braun [Mon, 8 Oct 2007 16:58:18 +0000 (16:58 +0000)]
remove unused R flags, mark vfld as rematerialisable

[r16126]

16 years agono strict conv necessary after load
Matthias Braun [Mon, 8 Oct 2007 16:36:29 +0000 (16:36 +0000)]
no strict conv necessary after load

[r16125]

16 years agosupport AM in IJmp and IMul1OP
Matthias Braun [Mon, 8 Oct 2007 13:12:46 +0000 (13:12 +0000)]
support AM in IJmp and IMul1OP

[r16124]

16 years agocleaned up, fixed and commented daemelspiller a bit
Matthias Braun [Mon, 8 Oct 2007 10:59:10 +0000 (10:59 +0000)]
cleaned up, fixed and commented daemelspiller a bit

[r16122]

16 years agoonly set pinned state when not already pinned
Matthias Braun [Sun, 7 Oct 2007 18:11:11 +0000 (18:11 +0000)]
only set pinned state when not already pinned

[r16119]

16 years agoCF backedges are enough for us
Matthias Braun [Sun, 7 Oct 2007 17:43:58 +0000 (17:43 +0000)]
CF backedges are enough for us

[r16118]

16 years agoadd initialization to supress warning
Michael Beck [Sun, 7 Oct 2007 17:15:10 +0000 (17:15 +0000)]
add initialization to supress warning
typos fixed

[r16117]

16 years agotestcase for strange loop depths in loopana
Matthias Braun [Sun, 7 Oct 2007 17:06:50 +0000 (17:06 +0000)]
testcase for strange loop depths in loopana

[r16116]

16 years agoparameter loads are floating
Matthias Braun [Sun, 7 Oct 2007 17:05:12 +0000 (17:05 +0000)]
parameter loads are floating

[r16115]

16 years agowe have to use the pinned state from the load when using AM, mark all AM supporting...
Matthias Braun [Sun, 7 Oct 2007 17:00:34 +0000 (17:00 +0000)]
we have to use the pinned state from the load when using AM, mark all AM supporting ops als exc_pinned

[r16114]

16 years agoRemove whitespace at EOL and empty lines at EOF.
Christoph Mallon [Sun, 7 Oct 2007 15:50:49 +0000 (15:50 +0000)]
Remove whitespace at EOL and empty lines at EOF.

[r16112]

16 years agoSimplify consumer_dom_dca().
Christoph Mallon [Sun, 7 Oct 2007 15:28:55 +0000 (15:28 +0000)]
Simplify consumer_dom_dca().

[r16111]

16 years agoCleanup: Remove trailing whitespace, get_irn_n(n, -1) -> get_nodes_block(n), get_irn_...
Christoph Mallon [Sun, 7 Oct 2007 15:25:43 +0000 (15:25 +0000)]
Cleanup: Remove trailing whitespace, get_irn_n(n, -1) -> get_nodes_block(n), get_irn_op(n) == op_FOO -> is_Foo(n).

[r16110]

16 years agoadd an option to disable calling convention optimisation
Matthias Braun [Sat, 6 Oct 2007 19:31:27 +0000 (19:31 +0000)]
add an option to disable calling convention optimisation

[r16108]

16 years agoemit a Begin and End marker around functions (usefull for scripts modifying the ...
Matthias Braun [Sat, 6 Oct 2007 19:31:08 +0000 (19:31 +0000)]
emit a Begin and End marker around functions (usefull for scripts modifying the .s file)

[r16107]

16 years agouse unknowns instead of Bads while constructing phis
Matthias Braun [Sat, 6 Oct 2007 17:05:20 +0000 (17:05 +0000)]
use unknowns instead of Bads while constructing phis

[r16106]

16 years agoreally disable CSE in backend, and add an assert about that in bespill.c
Matthias Braun [Sat, 6 Oct 2007 13:40:34 +0000 (13:40 +0000)]
really disable CSE in backend, and add an assert about that in bespill.c

[r16105]

16 years agomade parse_asm_constraint() static
Michael Beck [Fri, 5 Oct 2007 22:42:00 +0000 (22:42 +0000)]
made parse_asm_constraint() static

[r16103]

16 years agodoxygen comment added
Michael Beck [Fri, 5 Oct 2007 22:41:31 +0000 (22:41 +0000)]
doxygen comment added

[r16102]

16 years agopreliminary added missing *stat_ev_int()
Michael Beck [Fri, 5 Oct 2007 12:37:02 +0000 (12:37 +0000)]
preliminary added missing *stat_ev_int()

[r16099]

16 years agoA small (very small) optimization
Sebastian Hack [Fri, 5 Oct 2007 11:19:40 +0000 (11:19 +0000)]
A small (very small) optimization

[r16097]

16 years agoCosmetics
Sebastian Hack [Fri, 5 Oct 2007 11:19:02 +0000 (11:19 +0000)]
Cosmetics

[r16096]

16 years agofix negated set pnc with float compare problem
Matthias Braun [Thu, 4 Oct 2007 19:24:57 +0000 (19:24 +0000)]
fix negated set pnc with float compare problem

[r16091]

16 years ago- introduce an "end-block" to the absgraph, so the irg_end_block is known in a
Matthias Braun [Thu, 4 Oct 2007 19:18:05 +0000 (19:18 +0000)]
- introduce an "end-block" to the absgraph, so the irg_end_block is known in a
  dfs even if the program contains just an endless loop

[r16090]

16 years agocorrect register constraint for inb asm
Matthias Braun [Thu, 4 Oct 2007 16:12:55 +0000 (16:12 +0000)]
correct register constraint for inb asm

[r16089]

16 years agosuppress warnings
Michael Beck [Thu, 4 Oct 2007 16:12:24 +0000 (16:12 +0000)]
suppress warnings

[r16087]

16 years agofixed/improved assembler nodes
Matthias Braun [Thu, 4 Oct 2007 16:01:46 +0000 (16:01 +0000)]
fixed/improved assembler nodes

[r16086]

16 years agomore tricky asm tests
Matthias Braun [Thu, 4 Oct 2007 15:48:30 +0000 (15:48 +0000)]
more tricky asm tests

[r16085]

16 years agoadd the mode to the asm constraints
Michael Beck [Thu, 4 Oct 2007 14:55:23 +0000 (14:55 +0000)]
add the mode to the asm constraints

[r16081]

16 years agoMore signed/unsigned fixes for 64bit lowering.
Christoph Mallon [Thu, 4 Oct 2007 14:40:05 +0000 (14:40 +0000)]
More signed/unsigned fixes for 64bit lowering.

[r16080]

16 years agoBetter detection of sign extension for generating 32x32=64bit multiplication.
Christoph Mallon [Thu, 4 Oct 2007 14:38:49 +0000 (14:38 +0000)]
Better detection of sign extension for generating 32x32=64bit multiplication.

[r16079]

16 years agoManual CSE.
Christoph Mallon [Thu, 4 Oct 2007 12:45:07 +0000 (12:45 +0000)]
Manual CSE.

[r16078]

16 years agoa testcase for the just fixed deconv problem
Matthias Braun [Thu, 4 Oct 2007 12:26:34 +0000 (12:26 +0000)]
a testcase for the just fixed deconv problem

[r16077]

16 years agofirm revision and build changed to strings
Matthias Braun [Thu, 4 Oct 2007 12:09:30 +0000 (12:09 +0000)]
firm revision and build changed to strings

[r16076]

16 years agofixed deconv (always stop at nodes with multiple outs
Matthias Braun [Thu, 4 Oct 2007 11:35:21 +0000 (11:35 +0000)]
fixed deconv (always stop at nodes with multiple outs

[r16073]

16 years agoSwap the esp and value inputs of ia32_Push (so esp is before val). This is more consi...
Christoph Mallon [Thu, 4 Oct 2007 07:40:00 +0000 (07:40 +0000)]
Swap the esp and value inputs of ia32_Push (so esp is before val). This is more consistent because the source operand is last now. Further the AM specification is correct now.

[r16071]

16 years agoDo not transform a Shl by 0-3 into a Lea. A Lea with only index and no base always...
Christoph Mallon [Wed, 3 Oct 2007 21:18:57 +0000 (21:18 +0000)]
Do not transform a Shl by 0-3 into a Lea. A Lea with only index and no base always has a 4 byte displacement, so the opcode is longer than a Mov + Shl.

[r16070]

16 years agoIn is_2addr_code() test whether the flag arch_register_req_type_should_be_same is...
Christoph Mallon [Wed, 3 Oct 2007 21:03:40 +0000 (21:03 +0000)]
In is_2addr_code() test whether the flag arch_register_req_type_should_be_same is set, not if the type is exactly arch_register_req_type_should_be_same. This glitch led to missing affinity edges/optimisation units for nodes which have other constraints, too.

[r16069]

16 years agoFactorise the common code to transform binary operations which also consume the eflag...
Christoph Mallon [Wed, 3 Oct 2007 17:16:32 +0000 (17:16 +0000)]
Factorise the common code to transform binary operations which also consume the eflags (Adc and Sbb) into the new function gen_binop_flags().

[r16067]

16 years agodo NOT mirror pnc on swap_left_right anymore, as it isn't correct in the new flags...
Matthias Braun [Wed, 3 Oct 2007 17:10:41 +0000 (17:10 +0000)]
do NOT mirror pnc on swap_left_right anymore, as it isn't correct in the new flags models

[r16066]

16 years agoSbb is not commutative, so do not tell match_arguments() something different.
Christoph Mallon [Wed, 3 Oct 2007 16:59:53 +0000 (16:59 +0000)]
Sbb is not commutative, so do not tell match_arguments() something different.

[r16065]

16 years agorename another flipped to ins_permuted, ia32 transform phase is NOT safe for CSE
Matthias Braun [Wed, 3 Oct 2007 16:47:07 +0000 (16:47 +0000)]
rename another flipped to ins_permuted, ia32 transform phase is NOT safe for CSE

[r16064]

16 years agoBetter fix for the MacroBlock header
Michael Beck [Wed, 3 Oct 2007 16:24:15 +0000 (16:24 +0000)]
Better fix for the MacroBlock header

[r16063]

16 years agoMatch AM when transforming ia32_l_Mul and ia32_l_IMul.
Christoph Mallon [Wed, 3 Oct 2007 15:20:06 +0000 (15:20 +0000)]
Match AM when transforming ia32_l_Mul and ia32_l_IMul.

[r16062]

16 years agoWhen generating a ia32_Mul or ia32_IMul1OP mark them as commutative, not non-commutative.
Christoph Mallon [Wed, 3 Oct 2007 14:47:36 +0000 (14:47 +0000)]
When generating a ia32_Mul or ia32_IMul1OP mark them as commutative, not non-commutative.

[r16061]

16 years agoadded get_nodes_MacroBlock()
Michael Beck [Wed, 3 Oct 2007 14:21:31 +0000 (14:21 +0000)]
added get_nodes_MacroBlock()

[r16060]

16 years agorename pnc_flipped to ins_permuted and change back non-fix of cmov yesterday
Matthias Braun [Wed, 3 Oct 2007 13:50:55 +0000 (13:50 +0000)]
rename pnc_flipped to ins_permuted and change back non-fix of cmov yesterday

[r16059]

16 years agorenamed set_value/clear_value(): these names clash with the construction functions
Michael Beck [Wed, 3 Oct 2007 12:50:16 +0000 (12:50 +0000)]
renamed set_value/clear_value(): these names clash with the construction functions

[r16058]

16 years agoadd some more comments
Michael Beck [Wed, 3 Oct 2007 12:49:23 +0000 (12:49 +0000)]
add some more comments
rename peephole optimisation function

[r16057]