libfirm
16 years agoIn the RA constraint handler insert no copy when an operand is used more than once...
Christoph Mallon [Wed, 17 Oct 2007 12:07:06 +0000 (12:07 +0000)]
In the RA constraint handler insert no copy when an operand is used more than once with constraints, but the constraints are equal (this is not optimal, but better than before and solves the test x, x case on x86).

[r16244]

16 years agono need to test mode of other argument in use_source_address_mode
Matthias Braun [Tue, 16 Oct 2007 20:58:01 +0000 (20:58 +0000)]
no need to test mode of other argument in use_source_address_mode

[r16241]

16 years agoDecompose Mul(x, 2**b + 2**a) into y = x + x << (b - a), y << a instead of y = x...
Christoph Mallon [Tue, 16 Oct 2007 20:57:43 +0000 (20:57 +0000)]
Decompose Mul(x, 2**b + 2**a) into y = x + x << (b - a), y << a instead of y = x << a, y + y << (b - a). This is beneficial for address mode generation.

[r16240]

16 years agoanother interesing case
Matthias Braun [Tue, 16 Oct 2007 18:49:50 +0000 (18:49 +0000)]
another interesing case

[r16239]

16 years agofix AM matcher seeing add x, x as value with scale 2
Matthias Braun [Tue, 16 Oct 2007 18:49:29 +0000 (18:49 +0000)]
fix AM matcher seeing add x, x as value with scale 2

[r16238]

16 years agounused functions removed
Michael Beck [Tue, 16 Oct 2007 14:38:36 +0000 (14:38 +0000)]
unused functions removed

[r16236]

16 years agoremoved unused got_lea attribute
Michael Beck [Tue, 16 Oct 2007 14:06:53 +0000 (14:06 +0000)]
removed unused got_lea attribute

[r16235]

16 years ago- removed identical is_downconv()
Michael Beck [Tue, 16 Oct 2007 13:55:59 +0000 (13:55 +0000)]
- removed identical is_downconv()
- used new ia32_skip_downconv()
- add ia32_prefix to global function

[r16234]

16 years ago0 constants don't modify flags anymore
Matthias Braun [Tue, 16 Oct 2007 13:50:08 +0000 (13:50 +0000)]
0 constants don't modify flags anymore

[r16233]

16 years ago- removed identical is_downconv()
Michael Beck [Tue, 16 Oct 2007 12:52:42 +0000 (12:52 +0000)]
- removed identical is_downconv()
- used new ia32_skip_downconv()
- add ia32_prefix to global function

[r16232]

16 years agoreduced memory usage
Michael Beck [Tue, 16 Oct 2007 12:37:49 +0000 (12:37 +0000)]
reduced memory usage

[r16231]

16 years agoadd doxygen comments
Michael Beck [Tue, 16 Oct 2007 12:37:10 +0000 (12:37 +0000)]
add doxygen comments

[r16230]

16 years agosome comments added
Michael Beck [Tue, 16 Oct 2007 11:45:48 +0000 (11:45 +0000)]
some comments added

[r16229]

16 years agoskip projs when comparings needed flags
Matthias Braun [Tue, 16 Oct 2007 00:24:15 +0000 (00:24 +0000)]
skip projs when comparings needed flags

[r16228]

16 years agono need for Conv_I2I8Bit for AM
Matthias Braun [Mon, 15 Oct 2007 23:36:53 +0000 (23:36 +0000)]
no need for Conv_I2I8Bit for AM

[r16227]

16 years agofix conv_conv optimisation, first optimize IncSP_IncSP then push pop
Matthias Braun [Mon, 15 Oct 2007 23:36:29 +0000 (23:36 +0000)]
fix conv_conv optimisation, first optimize IncSP_IncSP then push pop

[r16226]

16 years agoFix wrong assert condition. The assert could never trigger.
Christoph Mallon [Mon, 15 Oct 2007 23:08:02 +0000 (23:08 +0000)]
Fix wrong assert condition. The assert could never trigger.

[r16225]

16 years agoAllow loading of stack parameters with a different mode than the parameter mode....
Christoph Mallon [Mon, 15 Oct 2007 23:03:18 +0000 (23:03 +0000)]
Allow loading of stack parameters with a different mode than the parameter mode. This is useful for x86 where loading a char parameter as 32bit results in a shorter opcode.

[r16224]

16 years agoSkip unnecessary Convs before the shift count when transforming a shift operation.
Christoph Mallon [Mon, 15 Oct 2007 22:58:33 +0000 (22:58 +0000)]
Skip unnecessary Convs before the shift count when transforming a shift operation.

[r16223]

16 years agoUse match_arguments() in create_I2I_Conv().
Christoph Mallon [Mon, 15 Oct 2007 22:45:13 +0000 (22:45 +0000)]
Use match_arguments() in create_I2I_Conv().

[r16222]

16 years agomove lea_to_add into the peephole phase
Matthias Braun [Mon, 15 Oct 2007 19:31:46 +0000 (19:31 +0000)]
move lea_to_add into the peephole phase

[r16212]

16 years agofix problems with multispill/belady
Matthias Braun [Mon, 15 Oct 2007 18:53:02 +0000 (18:53 +0000)]
fix problems with multispill/belady

[r16211]

16 years agofix problems with multispill/belady
Matthias Braun [Mon, 15 Oct 2007 18:52:08 +0000 (18:52 +0000)]
fix problems with multispill/belady

[r16210]

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]