Michael Beck [Wed, 17 Oct 2007 12:50:56 +0000 (12:50 +0000)]
add some comments, DBG_OPT call
[r16246]
Michael Beck [Wed, 17 Oct 2007 12:39:29 +0000 (12:39 +0000)]
enable Minus(Iu) const folding
[r16245]
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]
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]
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]
Matthias Braun [Tue, 16 Oct 2007 18:49:50 +0000 (18:49 +0000)]
another interesing case
[r16239]
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]
Michael Beck [Tue, 16 Oct 2007 14:38:36 +0000 (14:38 +0000)]
unused functions removed
[r16236]
Michael Beck [Tue, 16 Oct 2007 14:06:53 +0000 (14:06 +0000)]
removed unused got_lea attribute
[r16235]
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]
Matthias Braun [Tue, 16 Oct 2007 13:50:08 +0000 (13:50 +0000)]
0 constants don't modify flags anymore
[r16233]
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]
Michael Beck [Tue, 16 Oct 2007 12:37:49 +0000 (12:37 +0000)]
reduced memory usage
[r16231]
Michael Beck [Tue, 16 Oct 2007 12:37:10 +0000 (12:37 +0000)]
add doxygen comments
[r16230]
Michael Beck [Tue, 16 Oct 2007 11:45:48 +0000 (11:45 +0000)]
some comments added
[r16229]
Matthias Braun [Tue, 16 Oct 2007 00:24:15 +0000 (00:24 +0000)]
skip projs when comparings needed flags
[r16228]
Matthias Braun [Mon, 15 Oct 2007 23:36:53 +0000 (23:36 +0000)]
no need for Conv_I2I8Bit for AM
[r16227]
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]
Christoph Mallon [Mon, 15 Oct 2007 23:08:02 +0000 (23:08 +0000)]
Fix wrong assert condition. The assert could never trigger.
[r16225]
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]
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]
Christoph Mallon [Mon, 15 Oct 2007 22:45:13 +0000 (22:45 +0000)]
Use match_arguments() in create_I2I_Conv().
[r16222]
Matthias Braun [Mon, 15 Oct 2007 19:31:46 +0000 (19:31 +0000)]
move lea_to_add into the peephole phase
[r16212]
Matthias Braun [Mon, 15 Oct 2007 18:53:02 +0000 (18:53 +0000)]
fix problems with multispill/belady
[r16211]
Matthias Braun [Mon, 15 Oct 2007 18:52:08 +0000 (18:52 +0000)]
fix problems with multispill/belady
[r16210]
Matthias Braun [Mon, 15 Oct 2007 18:51:46 +0000 (18:51 +0000)]
make ir_node *irn const for liveness_remove
[r16209]
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]
Christoph Mallon [Mon, 15 Oct 2007 17:54:55 +0000 (17:54 +0000)]
fehler96: tarval module calculates Shrs wrong for mode_Iu.
[r16207]
Sebastian Hack [Mon, 15 Oct 2007 13:13:02 +0000 (13:13 +0000)]
Adapted to Matze's changes
[r16204]
Sebastian Hack [Mon, 15 Oct 2007 13:09:47 +0000 (13:09 +0000)]
Small changes in stat_ev names
[r16203]
Matthias Braun [Mon, 15 Oct 2007 11:21:01 +0000 (11:21 +0000)]
rematerialized values are like reloads
[r16202]
Matthias Braun [Sun, 14 Oct 2007 22:36:27 +0000 (22:36 +0000)]
morgan isn't there anymore
[r16201]
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]
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]
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]
Matthias Braun [Sun, 14 Oct 2007 11:14:08 +0000 (11:14 +0000)]
fix warning
[r16197]
Matthias Braun [Sun, 14 Oct 2007 11:04:59 +0000 (11:04 +0000)]
fix struct returns for real now
[r16196]
Michael Beck [Sat, 13 Oct 2007 14:35:18 +0000 (14:35 +0000)]
used set_type_size_bytes() instead of *_bits() where possible
[r16195]
Matthias Braun [Sat, 13 Oct 2007 11:51:21 +0000 (11:51 +0000)]
simpler
[r16194]
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]
Matthias Braun [Sat, 13 Oct 2007 10:37:01 +0000 (10:37 +0000)]
rehash changed mode_b nodes
[r16192]
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]
Matthias Braun [Fri, 12 Oct 2007 23:19:36 +0000 (23:19 +0000)]
improved and fixed warnings
[r16185]
Matthias Braun [Fri, 12 Oct 2007 23:18:47 +0000 (23:18 +0000)]
fehler94
[r16184]
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]
Matthias Braun [Fri, 12 Oct 2007 20:40:03 +0000 (20:40 +0000)]
fixed a bunch of warnings
[r16181]
Matthias Braun [Fri, 12 Oct 2007 20:02:38 +0000 (20:02 +0000)]
don't worry about IP view in backend
[r16178]
Matthias Braun [Fri, 12 Oct 2007 20:02:24 +0000 (20:02 +0000)]
fix warnings
[r16177]
Matthias Braun [Fri, 12 Oct 2007 20:02:04 +0000 (20:02 +0000)]
reenable conv skipping in address mode code
[r16176]
Michael Beck [Thu, 11 Oct 2007 20:13:06 +0000 (20:13 +0000)]
allow get_mode_all_one() for mode_b
[r16157]
Matthias Braun [Thu, 11 Oct 2007 16:12:44 +0000 (16:12 +0000)]
Projs aren't scheduled anymore
[r16155]
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]
Matthias Braun [Thu, 11 Oct 2007 16:12:07 +0000 (16:12 +0000)]
fix smaller mode
[r16153]
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]
Matthias Braun [Thu, 11 Oct 2007 15:53:20 +0000 (15:53 +0000)]
fehler93
[r16151]
Matthias Braun [Thu, 11 Oct 2007 15:07:03 +0000 (15:07 +0000)]
move all constlike nodes to right for Cmps
[r16150]
Michael Beck [Thu, 11 Oct 2007 14:38:27 +0000 (14:38 +0000)]
remove Cast node
[r16148]
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]
Michael Beck [Wed, 10 Oct 2007 15:13:28 +0000 (15:13 +0000)]
count executed optimization
[r16145]
Matthias Braun [Wed, 10 Oct 2007 15:05:46 +0000 (15:05 +0000)]
fehler92
[r16144]
Matthias Braun [Wed, 10 Oct 2007 14:10:50 +0000 (14:10 +0000)]
ConvI2I8Bit is also a transformed Load
[r16143]
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]
Matthias Braun [Wed, 10 Oct 2007 13:44:54 +0000 (13:44 +0000)]
No need to calculate liveness of NoMem
[r16141]
Matthias Braun [Wed, 10 Oct 2007 13:44:32 +0000 (13:44 +0000)]
"empty" blocks might still contain Pin nodes
[r16140]
Michael Beck [Wed, 10 Oct 2007 13:38:37 +0000 (13:38 +0000)]
typos fixed
[r16139]
Michael Beck [Wed, 10 Oct 2007 13:38:05 +0000 (13:38 +0000)]
added statistic events for Cmp optimizations
[r16138]
Michael Beck [Wed, 10 Oct 2007 13:07:00 +0000 (13:07 +0000)]
typo fixed
[r16137]
Michael Beck [Wed, 10 Oct 2007 10:55:09 +0000 (10:55 +0000)]
more test added
[r16136]
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]
Michael Beck [Tue, 9 Oct 2007 16:31:37 +0000 (16:31 +0000)]
more test added
[r16134]
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]
Michael Beck [Tue, 9 Oct 2007 11:57:23 +0000 (11:57 +0000)]
typo fixed
[r16131]
Matthias Braun [Mon, 8 Oct 2007 22:44:54 +0000 (22:44 +0000)]
fehler91
[r16130]
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]
Sebastian Hack [Mon, 8 Oct 2007 20:32:27 +0000 (20:32 +0000)]
Trivial fix of the manifestation problem
[r16128]
Matthias Braun [Mon, 8 Oct 2007 18:09:33 +0000 (18:09 +0000)]
no need for (strict-)conv before store
[r16127]
Matthias Braun [Mon, 8 Oct 2007 16:58:18 +0000 (16:58 +0000)]
remove unused R flags, mark vfld as rematerialisable
[r16126]
Matthias Braun [Mon, 8 Oct 2007 16:36:29 +0000 (16:36 +0000)]
no strict conv necessary after load
[r16125]
Matthias Braun [Mon, 8 Oct 2007 13:12:46 +0000 (13:12 +0000)]
support AM in IJmp and IMul1OP
[r16124]
Matthias Braun [Mon, 8 Oct 2007 10:59:10 +0000 (10:59 +0000)]
cleaned up, fixed and commented daemelspiller a bit
[r16122]
Matthias Braun [Sun, 7 Oct 2007 18:11:11 +0000 (18:11 +0000)]
only set pinned state when not already pinned
[r16119]
Matthias Braun [Sun, 7 Oct 2007 17:43:58 +0000 (17:43 +0000)]
CF backedges are enough for us
[r16118]
Michael Beck [Sun, 7 Oct 2007 17:15:10 +0000 (17:15 +0000)]
add initialization to supress warning
typos fixed
[r16117]
Matthias Braun [Sun, 7 Oct 2007 17:06:50 +0000 (17:06 +0000)]
testcase for strange loop depths in loopana
[r16116]
Matthias Braun [Sun, 7 Oct 2007 17:05:12 +0000 (17:05 +0000)]
parameter loads are floating
[r16115]
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]
Christoph Mallon [Sun, 7 Oct 2007 15:50:49 +0000 (15:50 +0000)]
Remove whitespace at EOL and empty lines at EOF.
[r16112]
Christoph Mallon [Sun, 7 Oct 2007 15:28:55 +0000 (15:28 +0000)]
Simplify consumer_dom_dca().
[r16111]
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]
Matthias Braun [Sat, 6 Oct 2007 19:31:27 +0000 (19:31 +0000)]
add an option to disable calling convention optimisation
[r16108]
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]
Matthias Braun [Sat, 6 Oct 2007 17:05:20 +0000 (17:05 +0000)]
use unknowns instead of Bads while constructing phis
[r16106]
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]
Michael Beck [Fri, 5 Oct 2007 22:42:00 +0000 (22:42 +0000)]
made parse_asm_constraint() static
[r16103]
Michael Beck [Fri, 5 Oct 2007 22:41:31 +0000 (22:41 +0000)]
doxygen comment added
[r16102]
Michael Beck [Fri, 5 Oct 2007 12:37:02 +0000 (12:37 +0000)]
preliminary added missing *stat_ev_int()
[r16099]
Sebastian Hack [Fri, 5 Oct 2007 11:19:40 +0000 (11:19 +0000)]
A small (very small) optimization
[r16097]
Sebastian Hack [Fri, 5 Oct 2007 11:19:02 +0000 (11:19 +0000)]
Cosmetics
[r16096]
Matthias Braun [Thu, 4 Oct 2007 19:24:57 +0000 (19:24 +0000)]
fix negated set pnc with float compare problem
[r16091]
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]