Matthias Braun [Fri, 19 Oct 2007 12:34:07 +0000 (12:34 +0000)]
new testcases
[r16274]
Matthias Braun [Fri, 19 Oct 2007 11:10:56 +0000 (11:10 +0000)]
- improve set transformation
- create SetMems
- support 3 operand IMul
- started writing a new incsp->store to push peephole phase
[r16273]
Matthias Braun [Fri, 19 Oct 2007 11:09:34 +0000 (11:09 +0000)]
make it possible to specify custom mode for set lowering
[r16272]
Christoph Mallon [Fri, 19 Oct 2007 09:00:03 +0000 (09:00 +0000)]
Fix fehler 98. clarify comments.
[r16271]
Christoph Mallon [Fri, 19 Oct 2007 08:54:02 +0000 (08:54 +0000)]
make fehler98.c behave properly.
[r16270]
Christoph Mallon [Fri, 19 Oct 2007 08:50:13 +0000 (08:50 +0000)]
fehler98: gen_Cmp tries to build test with two immediates.
[r16269]
Michael Beck [Thu, 18 Oct 2007 15:46:32 +0000 (15:46 +0000)]
fixed release build
[r16266]
Michael Beck [Thu, 18 Oct 2007 15:42:51 +0000 (15:42 +0000)]
fixed release build with assertions enabled
[r16265]
Christoph Mallon [Thu, 18 Oct 2007 12:06:10 +0000 (12:06 +0000)]
Small cleanup.
[r16264]
Christoph Mallon [Thu, 18 Oct 2007 10:03:03 +0000 (10:03 +0000)]
Restructure gen_Cmp() so it does not use ia32_use_source_address_mode() anymore, but only match_arguments().
[r16263]
Michael Beck [Wed, 17 Oct 2007 22:33:53 +0000 (22:33 +0000)]
fixed declaration of dbg
[r16262]
Michael Beck [Wed, 17 Oct 2007 22:08:33 +0000 (22:08 +0000)]
fixed _is_Phi()
[r16261]
Matthias Braun [Wed, 17 Oct 2007 22:01:57 +0000 (22:01 +0000)]
add inline versions of is_Phi and is_Proj
[r16260]
Michael Beck [Wed, 17 Oct 2007 19:52:21 +0000 (19:52 +0000)]
removed an if, should not happen on this place
[r16259]
Matthias Braun [Wed, 17 Oct 2007 19:43:32 +0000 (19:43 +0000)]
unsafe mode for float to int conversion
[r16258]
Matthias Braun [Wed, 17 Oct 2007 19:05:27 +0000 (19:05 +0000)]
improve float->int conversion
[r16257]
Matthias Braun [Wed, 17 Oct 2007 17:09:19 +0000 (17:09 +0000)]
- Add a generic_attribute field to irops
- extend backend generator to support custom irop data
- cleanup and streamline transform code in ia32
- Improve handling of AddAM vs. Add used in AM expressions
[r16254]
Matthias Braun [Wed, 17 Oct 2007 15:25:28 +0000 (15:25 +0000)]
some interesting testcases to look at
[r16253]
Michael Beck [Wed, 17 Oct 2007 15:21:20 +0000 (15:21 +0000)]
extended version
[r16252]
Michael Beck [Wed, 17 Oct 2007 14:08:43 +0000 (14:08 +0000)]
fixed two warnings
[r16251]
Michael Beck [Wed, 17 Oct 2007 13:50:03 +0000 (13:50 +0000)]
Refactored attributes:
- remove pn_code from general ones
- add attribute types for condcode and copyb
- more more attributes into constructors
[r16250]
Michael Beck [Wed, 17 Oct 2007 13:48:56 +0000 (13:48 +0000)]
float->unsigned 64bit does not work yet: panic
[r16249]
Michael Beck [Wed, 17 Oct 2007 13:43:13 +0000 (13:43 +0000)]
- renamed a lot of parameters to more sensible names
- hopefully fixed Shrs with unsigned values (and did not break other cases)
[r16248]
Matthias Braun [Wed, 17 Oct 2007 13:25:03 +0000 (13:25 +0000)]
fehler97
[r16247]
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]