Michael Beck [Wed, 9 Jul 2008 01:47:06 +0000 (01:47 +0000)]
- BugFix: Antic_in computation must always add exp_gen
- can handle Div/Mod/DivMod yet
- remove fully redundant expression from Antic_in (else iteration did not stop ???)
[r20381]
Michael Beck [Wed, 9 Jul 2008 01:27:44 +0000 (01:27 +0000)]
- BugFix: *__remove_iterator(): after _next(), the iterator already points to the next element
[r20380]
Michael Beck [Tue, 8 Jul 2008 23:37:34 +0000 (23:37 +0000)]
- add a doxygen comment
- small improvement
[r20379]
Michael Beck [Tue, 8 Jul 2008 23:04:20 +0000 (23:04 +0000)]
- small indentation changes
[r20377]
Michael Beck [Tue, 8 Jul 2008 23:03:26 +0000 (23:03 +0000)]
- small cleanup
[r20376]
Michael Beck [Tue, 8 Jul 2008 16:50:25 +0000 (16:50 +0000)]
fixed warnings
[r20374]
Michael Beck [Tue, 8 Jul 2008 16:45:45 +0000 (16:45 +0000)]
removed unused (and buggy) trans_set, thios is NOT needed
[r20373]
Michael Beck [Tue, 8 Jul 2008 16:30:02 +0000 (16:30 +0000)]
for now, deactivate edges, they will crash with this implementation
[r20371]
Michael Beck [Tue, 8 Jul 2008 16:09:37 +0000 (16:09 +0000)]
new GVN-PRE implementation
[r20369]
Michael Beck [Tue, 8 Jul 2008 13:01:14 +0000 (13:01 +0000)]
- ir_node_hash() now takes a const ir_node *
- removed identify(): this is really the same function as identify_remember() nowadays
[r20364]
Michael Beck [Thu, 3 Jul 2008 16:09:59 +0000 (16:09 +0000)]
linked versions of irnodeset and irnodemap
[r20331]
Michael Beck [Thu, 3 Jul 2008 16:09:08 +0000 (16:09 +0000)]
allow derived hashsets to have an own resize
[r20330]
Michael Beck [Thu, 3 Jul 2008 16:08:25 +0000 (16:08 +0000)]
fixed doxygen comment
[r20329]
Matthias Braun [Tue, 1 Jul 2008 10:25:58 +0000 (10:25 +0000)]
fix warning
[r20296]
Michael Beck [Mon, 30 Jun 2008 12:12:49 +0000 (12:12 +0000)]
- can build without iterator
- added ADDITIONAL_INIT and ADDITIONAL_TERM for initializing/terminating ADDITIONAL_DATA
- typos fixed
[r20290]
Michael Beck [Fri, 27 Jun 2008 16:07:27 +0000 (16:07 +0000)]
change the costs for multiplication in the size case to reflect the 70% rule
[r20280]
Michael Beck [Fri, 27 Jun 2008 16:06:43 +0000 (16:06 +0000)]
do a correct rounding when calculating 70%, or small cases did not get optimized well
[r20279]
Michael Beck [Fri, 27 Jun 2008 15:28:04 +0000 (15:28 +0000)]
added be_peephole_before_exchange_and_kill() to fix the IncSP,IncSP jumping above betwenn instructions problem
[r20277]
Christoph Mallon [Thu, 26 Jun 2008 17:31:22 +0000 (17:31 +0000)]
Fix transformation, when the load mem proj of a dest AM pattern has multiple users.
[r20272]
Michael Beck [Wed, 25 Jun 2008 23:11:06 +0000 (23:11 +0000)]
fixed stabs primitive types: must use decimal limits
[r20258]
Michael Beck [Wed, 25 Jun 2008 15:32:05 +0000 (15:32 +0000)]
- fixed ir_printf format (%lu and %ld now working)
[r20256]
Michael Beck [Wed, 25 Jun 2008 15:25:29 +0000 (15:25 +0000)]
fixed handling of modifiers (%ld works now)
[r20255]
Michael Beck [Wed, 25 Jun 2008 11:10:33 +0000 (11:10 +0000)]
- BugFix: do NOT skip Loads generally, they might cretae data
dependencies
[r20254]
Michael Beck [Wed, 25 Jun 2008 01:28:53 +0000 (01:28 +0000)]
- fixed stabs output
[r20249]
Michael Beck [Wed, 25 Jun 2008 00:05:02 +0000 (00:05 +0000)]
fixed some bugs in the pop generation, still not all
[r20248]
Michael Beck [Tue, 24 Jun 2008 23:16:42 +0000 (23:16 +0000)]
add test for return padding
[r20247]
Christoph Mallon [Tue, 24 Jun 2008 18:08:48 +0000 (18:08 +0000)]
Add ARM TstBra and use it for comparison with 0.
[r20246]
Christoph Mallon [Tue, 24 Jun 2008 17:39:44 +0000 (17:39 +0000)]
Gammelfix: Add a be_Copy in the ARM prologue for the frame pointer to set the ignore flag.
[r20245]
Christoph Mallon [Tue, 24 Jun 2008 17:38:43 +0000 (17:38 +0000)]
Fix printing shift amount for ARM mov.
[r20244]
Christoph Mallon [Tue, 24 Jun 2008 17:37:21 +0000 (17:37 +0000)]
Add 0x prefix for printing ARM IncSP amount in hex.
[r20243]
Michael Beck [Tue, 24 Jun 2008 16:35:55 +0000 (16:35 +0000)]
- added peephole optimization: transform Load->IncSP combinations to Pop where possible
[r20241]
Michael Beck [Tue, 24 Jun 2008 13:46:08 +0000 (13:46 +0000)]
better usage
[r20236]
Christoph Mallon [Mon, 23 Jun 2008 17:08:41 +0000 (17:08 +0000)]
Fix parsing of debug commands.
[r20226]
Matthias Braun [Mon, 23 Jun 2008 15:28:03 +0000 (15:28 +0000)]
anchor nodes are not real liveness users
[r20224]
Michael Beck [Mon, 23 Jun 2008 14:49:38 +0000 (14:49 +0000)]
convert rotl x, const into rotr x,32-const
[r20223]
Michael Beck [Mon, 23 Jun 2008 14:29:13 +0000 (14:29 +0000)]
Improved version of gen_Rotl()
[r20221]
Michael Beck [Mon, 23 Jun 2008 13:34:36 +0000 (13:34 +0000)]
- add support for Rotl
- fixed RRX comment
- fixed constraints for ARM shift operations
[r20220]
Michael Beck [Mon, 23 Jun 2008 12:53:54 +0000 (12:53 +0000)]
BugFix: always emit the block label for labelled blocks (this fixes extgoto.c)
[r20216]
Michael Beck [Mon, 23 Jun 2008 12:46:39 +0000 (12:46 +0000)]
BugFix: cannot change the pin state of already pinned nodes
[r20215]
Michael Beck [Fri, 20 Jun 2008 13:51:29 +0000 (13:51 +0000)]
- make is_arg_Proj() global
[r20195]
Andreas Zwinkau [Fri, 20 Jun 2008 12:28:27 +0000 (12:28 +0000)]
dump the modify_flags flag, too
[r20188]
Michael Beck [Thu, 19 Jun 2008 12:16:38 +0000 (12:16 +0000)]
- reduce complexity of remove_End_keepalive()
- add a comment that set_End_keepalives() may have high complexity costs in Backend
[r20174]
Michael Beck [Thu, 19 Jun 2008 11:49:37 +0000 (11:49 +0000)]
fixed indentation
[r20173]
Michael Beck [Thu, 19 Jun 2008 10:47:04 +0000 (10:47 +0000)]
- BugFix: whech checking Blocks, is_Block_dead() must been used.
This should fix SPEC vpr
- set the changed flag if we skip a tuple
[r20172]
Michael Beck [Thu, 19 Jun 2008 03:55:54 +0000 (03:55 +0000)]
- be_peephole_IncSP_IncSP() must return the new node
[r20167]
Sebastian Buchwald [Wed, 18 Jun 2008 21:36:47 +0000 (21:36 +0000)]
disable CSE in PBQP-transform phase, this is necessary since we create raw nodes (step one) before setting the right attributes (step two) and CSE between the steps are deadly
[r20165]
Michael Beck [Wed, 18 Jun 2008 20:54:10 +0000 (20:54 +0000)]
- BugFix: add missing reroute
[r20162]
Michael Beck [Wed, 18 Jun 2008 20:39:12 +0000 (20:39 +0000)]
- BugFix: when peephole combines two IncSP nodes, let the first one survive, not the second one
[r20161]
Michael Beck [Wed, 18 Jun 2008 19:19:11 +0000 (19:19 +0000)]
- fixed architecture flags
[r20160]
Christoph Mallon [Wed, 18 Jun 2008 16:32:10 +0000 (16:32 +0000)]
Avoid endless iteration when normalising returns.
[r20155]
Michael Beck [Wed, 18 Jun 2008 16:22:53 +0000 (16:22 +0000)]
- make normalize_n_returns() more aggressive: remove critical edges if needed
[r20154]
Michael Beck [Wed, 18 Jun 2008 15:00:42 +0000 (15:00 +0000)]
BugFix: must initialize Blocks with removable
[r20153]
Michael Beck [Wed, 18 Jun 2008 12:32:57 +0000 (12:32 +0000)]
Hopefully better version of control flow optimization:
- use the mark flag instead of the block visited flag: makes code better
understandable and needs less iterations
- combine deletion of unreable code AND useless Conds saving one block walk
- iteration only used for SwitchConds yet
- unreachable code is always removed yet (Backend cannot cope with it either)
[r20150]
Michael Beck [Wed, 18 Jun 2008 10:07:59 +0000 (10:07 +0000)]
- removed old if 0'ed code
- add some doxygen comments
[r20144]
Michael Beck [Tue, 17 Jun 2008 13:34:14 +0000 (13:34 +0000)]
- renamed function to clarify its intention
[r20136]
Michael Beck [Tue, 17 Jun 2008 13:33:30 +0000 (13:33 +0000)]
- useless variable removed
[r20134]
Michael Beck [Tue, 17 Jun 2008 13:29:24 +0000 (13:29 +0000)]
- Bugfix: peephole_IncSP_Store_to_push(): collect the storeslots in the right order using the right offset ...
[r20133]
Michael Beck [Mon, 16 Jun 2008 18:22:39 +0000 (18:22 +0000)]
invalidate loop-info if blocks were removed
[r20121]
Michael Beck [Fri, 13 Jun 2008 10:14:35 +0000 (10:14 +0000)]
fixed some warnings
[r20084]
Andreas Zwinkau [Thu, 12 Jun 2008 13:40:54 +0000 (13:40 +0000)]
disable the standard transform, if pbqp_transform is used
[r20079]
Michael Beck [Thu, 12 Jun 2008 11:18:29 +0000 (11:18 +0000)]
workaround for dead CF: restart the optimization
[r20076]
Michael Beck [Thu, 12 Jun 2008 01:39:41 +0000 (01:39 +0000)]
- add doxygen comment
[r20073]
Michael Beck [Thu, 12 Jun 2008 01:38:48 +0000 (01:38 +0000)]
- unfinished work to support exception label lookup
[r20072]
Michael Beck [Thu, 12 Jun 2008 00:34:57 +0000 (00:34 +0000)]
BugFix: schedule the Stc instruction
[r20071]
Michael Beck [Thu, 12 Jun 2008 00:19:42 +0000 (00:19 +0000)]
- removed critical exception edges, so perm code can be placed at landing pads
[r20070]
Michael Beck [Thu, 12 Jun 2008 00:12:14 +0000 (00:12 +0000)]
- BugFix: fixed ia32_transform_sub_to_neg_add() with used flags case
[r20069]
Michael Beck [Wed, 11 Jun 2008 23:56:29 +0000 (23:56 +0000)]
- add support for Bound
- improve gen_Proj()
- simplified gen_IJmp()
- some docu added
[r20068]
Michael Beck [Wed, 11 Jun 2008 23:54:59 +0000 (23:54 +0000)]
- relax partBlock check in phase_backend
[r20067]
Michael Beck [Wed, 11 Jun 2008 23:52:42 +0000 (23:52 +0000)]
- BugFix: get_pnc_string() can only handle default pn_Cmp_* numbers
[r20066]
Michael Beck [Wed, 11 Jun 2008 23:50:31 +0000 (23:50 +0000)]
- add a version of remove_critical_edges() that handles exception
edges
[r20065]
Michael Beck [Wed, 11 Jun 2008 21:26:48 +0000 (21:26 +0000)]
- do not use C++ keyword class as variable name
[r20063]
Michael Beck [Wed, 11 Jun 2008 21:25:10 +0000 (21:25 +0000)]
- do not use C++ keyword class as variable name
[r20062]
Sebastian Buchwald [Wed, 11 Jun 2008 17:36:00 +0000 (17:36 +0000)]
added non-const getter for ia32_immediate
[r20061]
Michael Beck [Mon, 9 Jun 2008 10:58:40 +0000 (10:58 +0000)]
- BugFix: fixed the part-block list splicing, inlining works now again for Java
[r20034]
Michael Beck [Sat, 7 Jun 2008 23:49:05 +0000 (23:49 +0000)]
test for 64bit rot
[r20029]
Michael Beck [Sat, 7 Jun 2008 23:30:26 +0000 (23:30 +0000)]
- fixed lowering of Rotl
[r20026]
Michael Beck [Sat, 7 Jun 2008 23:28:14 +0000 (23:28 +0000)]
- split the old constant_folding flag into constant_folding and algebraic_simplification
[r20025]
Michael Beck [Sat, 7 Jun 2008 18:04:36 +0000 (18:04 +0000)]
- make the dot at the start of debugger commands optional
[r20023]
Michael Beck [Sat, 7 Jun 2008 17:55:13 +0000 (17:55 +0000)]
add missing include (although not needed, but API used)
[r20022]
Michael Beck [Sat, 7 Jun 2008 17:53:48 +0000 (17:53 +0000)]
- BugFix: the mode of the lower part of a DW lowered pair must be mode_Iu, thsi fixes error113.c
[r20021]
Michael Beck [Sat, 7 Jun 2008 17:51:41 +0000 (17:51 +0000)]
demonstrates an error in ShrsLs lowering
[r20020]
Michael Beck [Fri, 6 Jun 2008 16:52:11 +0000 (16:52 +0000)]
renamed node type Rot to Rotl to make clear that this is a LEFT rotation
[r20010]
Michael Beck [Fri, 6 Jun 2008 16:44:53 +0000 (16:44 +0000)]
updated to current version
[r20009]
Michael Beck [Fri, 6 Jun 2008 11:45:48 +0000 (11:45 +0000)]
updated
[r20000]
Michael Beck [Fri, 6 Jun 2008 07:59:14 +0000 (07:59 +0000)]
updated
[r19993]
Michael Beck [Fri, 6 Jun 2008 06:03:52 +0000 (06:03 +0000)]
enhanced version
[r19992]
Michael Beck [Fri, 6 Jun 2008 05:57:53 +0000 (05:57 +0000)]
- better detection of local addresses
- malloced data is "local" in this context
- check for calls inside: non self recursive calls might access non-local memory
- fixes enhanced fehler110.c
[r19991]
Michael Beck [Fri, 6 Jun 2008 05:54:23 +0000 (05:54 +0000)]
- export classify_pointer()
- add ir_ prefix to some irmemory types and enum values
[r19990]
Michael Beck [Fri, 6 Jun 2008 05:53:02 +0000 (05:53 +0000)]
is_self_recursive_Call() added
[r19989]
Michael Beck [Thu, 5 Jun 2008 19:41:37 +0000 (19:41 +0000)]
- BugFix: do NOT do the copy-return optimization if there might be access to the destination. This fixed fehler110.c
[r19988]
Michael Beck [Wed, 4 Jun 2008 21:09:26 +0000 (21:09 +0000)]
current version
[r19983]
Matthias Braun [Wed, 4 Jun 2008 14:00:41 +0000 (14:00 +0000)]
old fehler 110...
[r19978]
Matthias Braun [Wed, 4 Jun 2008 13:57:52 +0000 (13:57 +0000)]
compound return problems
[r19977]
Matthias Braun [Tue, 3 Jun 2008 14:27:21 +0000 (14:27 +0000)]
switch projs have long pnc not pn_Cmp
[r19955]
Matthias Braun [Tue, 3 Jun 2008 14:05:21 +0000 (14:05 +0000)]
we do need conv/cast skipping
[r19953]
Matthias Braun [Mon, 2 Jun 2008 16:57:41 +0000 (16:57 +0000)]
handle Bads more gracefully
[r19945]
Michael Beck [Mon, 2 Jun 2008 15:05:44 +0000 (15:05 +0000)]
add missing condition
[r19942]
Matthias Braun [Mon, 2 Jun 2008 14:27:59 +0000 (14:27 +0000)]
only skip float->float convs
[r19939]
Michael Beck [Mon, 2 Jun 2008 13:29:06 +0000 (13:29 +0000)]
- added option -b omitleaffp, omitting the frame pointer in leaf routines only (allow better debugging the -b omitfp)
[r19928]
Michael Beck [Mon, 2 Jun 2008 13:08:04 +0000 (13:08 +0000)]
- better handling for strictConv's, optimized conv_orgie.c now
[r19927]