libfirm
16 years agorenamed type_state to ir_type_state
Michael Beck [Fri, 19 Oct 2007 14:17:38 +0000 (14:17 +0000)]
renamed type_state to ir_type_state

[r16277]

16 years agorestrict some Cmp related optimizations to integer types
Michael Beck [Fri, 19 Oct 2007 14:04:05 +0000 (14:04 +0000)]
restrict some Cmp related optimizations to integer types
create a new Proj at the end of transform_node_Proj_Cmp(): this will lead to a fixpoint optimizations of Cmp's
no need to use_new_r_Const(): they are always placed in the startblock

[r16276]

16 years agoA+X == A -> X==0 optimisations
Matthias Braun [Fri, 19 Oct 2007 12:48:46 +0000 (12:48 +0000)]
A+X == A -> X==0 optimisations

[r16275]

16 years agonew testcases
Matthias Braun [Fri, 19 Oct 2007 12:34:07 +0000 (12:34 +0000)]
new testcases

[r16274]

16 years ago- improve set transformation
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]

16 years agomake it possible to specify custom mode for set lowering
Matthias Braun [Fri, 19 Oct 2007 11:09:34 +0000 (11:09 +0000)]
make it possible to specify custom mode for set lowering

[r16272]

16 years agoFix fehler 98. clarify comments.
Christoph Mallon [Fri, 19 Oct 2007 09:00:03 +0000 (09:00 +0000)]
Fix fehler 98. clarify comments.

[r16271]

16 years agomake fehler98.c behave properly.
Christoph Mallon [Fri, 19 Oct 2007 08:54:02 +0000 (08:54 +0000)]
make fehler98.c behave properly.

[r16270]

16 years agofehler98: gen_Cmp tries to build test with two immediates.
Christoph Mallon [Fri, 19 Oct 2007 08:50:13 +0000 (08:50 +0000)]
fehler98: gen_Cmp tries to build test with two immediates.

[r16269]

16 years agofixed release build
Michael Beck [Thu, 18 Oct 2007 15:46:32 +0000 (15:46 +0000)]
fixed release build

[r16266]

16 years agofixed release build with assertions enabled
Michael Beck [Thu, 18 Oct 2007 15:42:51 +0000 (15:42 +0000)]
fixed release build with assertions enabled

[r16265]

16 years agoSmall cleanup.
Christoph Mallon [Thu, 18 Oct 2007 12:06:10 +0000 (12:06 +0000)]
Small cleanup.

[r16264]

16 years agoRestructure gen_Cmp() so it does not use ia32_use_source_address_mode() anymore,...
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]

16 years agofixed declaration of dbg
Michael Beck [Wed, 17 Oct 2007 22:33:53 +0000 (22:33 +0000)]
fixed declaration of dbg

[r16262]

16 years agofixed _is_Phi()
Michael Beck [Wed, 17 Oct 2007 22:08:33 +0000 (22:08 +0000)]
fixed _is_Phi()

[r16261]

16 years agoadd inline versions of is_Phi and is_Proj
Matthias Braun [Wed, 17 Oct 2007 22:01:57 +0000 (22:01 +0000)]
add inline versions of is_Phi and is_Proj

[r16260]

16 years agoremoved an if, should not happen on this place
Michael Beck [Wed, 17 Oct 2007 19:52:21 +0000 (19:52 +0000)]
removed an if, should not happen on this place

[r16259]

16 years agounsafe mode for float to int conversion
Matthias Braun [Wed, 17 Oct 2007 19:43:32 +0000 (19:43 +0000)]
unsafe mode for float to int conversion

[r16258]

16 years agoimprove float->int conversion
Matthias Braun [Wed, 17 Oct 2007 19:05:27 +0000 (19:05 +0000)]
improve float->int conversion

[r16257]

16 years ago- Add a generic_attribute field to irops
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]

16 years agosome interesting testcases to look at
Matthias Braun [Wed, 17 Oct 2007 15:25:28 +0000 (15:25 +0000)]
some interesting testcases to look at

[r16253]

16 years agoextended version
Michael Beck [Wed, 17 Oct 2007 15:21:20 +0000 (15:21 +0000)]
extended version

[r16252]

16 years agofixed two warnings
Michael Beck [Wed, 17 Oct 2007 14:08:43 +0000 (14:08 +0000)]
fixed two warnings

[r16251]

16 years agoRefactored attributes:
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]

16 years agofloat->unsigned 64bit does not work yet: panic
Michael Beck [Wed, 17 Oct 2007 13:48:56 +0000 (13:48 +0000)]
float->unsigned 64bit does not work yet: panic

[r16249]

16 years ago- renamed a lot of parameters to more sensible names
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]

16 years agofehler97
Matthias Braun [Wed, 17 Oct 2007 13:25:03 +0000 (13:25 +0000)]
fehler97

[r16247]

16 years agoadd some comments, DBG_OPT call
Michael Beck [Wed, 17 Oct 2007 12:50:56 +0000 (12:50 +0000)]
add some comments, DBG_OPT call

[r16246]

16 years agoenable Minus(Iu) const folding
Michael Beck [Wed, 17 Oct 2007 12:39:29 +0000 (12:39 +0000)]
enable Minus(Iu) const folding

[r16245]

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]