Matthias Braun [Tue, 29 May 2007 14:50:47 +0000 (14:50 +0000)]
ia32 was missing spill cost estimates
[r14110]
Christoph Mallon [Mon, 28 May 2007 10:15:40 +0000 (10:15 +0000)]
Constify.
[r14066]
Christoph Mallon [Mon, 28 May 2007 10:06:34 +0000 (10:06 +0000)]
Remove unused variables.
[r14065]
Christoph Mallon [Sun, 27 May 2007 10:12:47 +0000 (10:12 +0000)]
Make the conv opt analysis and transformation code symmetrical.
[r14051]
Christoph Mallon [Sat, 26 May 2007 17:45:57 +0000 (17:45 +0000)]
- Push Convs through Phis
- Fix an off by one error which made the decision to do the Conv transformation too conservative
- Iterate Conv opt and local opt till the fix point is reached
[r14049]
Christoph Mallon [Sat, 26 May 2007 10:43:19 +0000 (10:43 +0000)]
Add the -f{,no-}deconv switches do {en,dis}able the conv node optimization.
[r14048]
Michael Beck [Fri, 25 May 2007 16:46:23 +0000 (16:46 +0000)]
BugFix: type conversion must signed extend for the destination mode
[r14042]
Michael Beck [Fri, 25 May 2007 16:37:55 +0000 (16:37 +0000)]
BugFix: _divmod() returned wrong result for -x/x : fixed
Indentation changed
[r14041]
Michael Beck [Fri, 25 May 2007 14:42:59 +0000 (14:42 +0000)]
int instruction added
[r14039]
Michael Beck [Fri, 25 May 2007 14:36:44 +0000 (14:36 +0000)]
Use new result mode and updated X_regular for the runtime call mapper
[r14037]
Michael Beck [Fri, 25 May 2007 14:35:51 +0000 (14:35 +0000)]
handle the new X_regular Proj's
add support for mode_T nodes with a result mode (currently Load and Div like)
[r14036]
Michael Beck [Fri, 25 May 2007 14:34:54 +0000 (14:34 +0000)]
add_hidden_param() handle the new X_regular Proj
[r14035]
Christoph Mallon [Thu, 24 May 2007 13:36:03 +0000 (13:36 +0000)]
Add missing break in a switch which caused an incorrect assertion.
[r14025]
Michael Beck [Thu, 24 May 2007 13:34:00 +0000 (13:34 +0000)]
turn_into_tuple() should use get_irn_n(..., -1) instead of get_nodes_block()
some reformatting
[r14024]
Michael Beck [Thu, 24 May 2007 13:00:43 +0000 (13:00 +0000)]
Do not add Bad nodes to the keep-alive
Removed old (and wrong) comment
[r14022]
Michael Beck [Thu, 24 May 2007 12:40:00 +0000 (12:40 +0000)]
fixed verify for new X_regular Proj's
fixed Bound, CopyB node verifier
changed indentation
[r14021]
Michael Beck [Wed, 23 May 2007 23:54:06 +0000 (23:54 +0000)]
removed impossible address modes
convert Lea's into Shl if possible
[r14015]
Michael Beck [Wed, 23 May 2007 23:53:03 +0000 (23:53 +0000)]
some doxygen comments added
removed impossible address modes
[r14014]
Michael Beck [Wed, 23 May 2007 23:52:15 +0000 (23:52 +0000)]
Fixed the (meanwhile wrong) turn_into_tuple(...,4), so inlining works again.
[r14013]
Christoph Mallon [Wed, 23 May 2007 21:00:07 +0000 (21:00 +0000)]
Cond nodes are a kind of cf node, too. Therefore also ignore them when copying block contents during condeval. Otherwise this leads to fake users during repeated condeval and somehow to a violation of the def-use-dominance.
[r14012]
Matthias Braun [Wed, 23 May 2007 20:18:10 +0000 (20:18 +0000)]
emit .skip if a string initializer is shorter than the entity
[r14011]
Matthias Braun [Wed, 23 May 2007 20:11:24 +0000 (20:11 +0000)]
fehler 16, found in 255.vortex
[r14010]
Matthias Braun [Wed, 23 May 2007 18:43:07 +0000 (18:43 +0000)]
fix height computation for phi nodes
[r14009]
Michael Beck [Wed, 23 May 2007 15:52:30 +0000 (15:52 +0000)]
Added new Proj_X_regular for all nodes producing a Proj_X_exc to support the new macro blocks
[r14008]
Michael Beck [Wed, 23 May 2007 15:47:08 +0000 (15:47 +0000)]
missing include added
[r14007]
Michael Beck [Wed, 23 May 2007 15:07:28 +0000 (15:07 +0000)]
added a callback function to check whether a given entity is a allocation call
[r14006]
Michael Beck [Wed, 23 May 2007 13:56:17 +0000 (13:56 +0000)]
add_irn_keepalive()
- only Phi, Block and Keep nodes can be kept alive!
Workaround for beabi:
- beabi needs to keep a Proj(M) :-(
[r14005]
Michael Beck [Wed, 23 May 2007 13:15:57 +0000 (13:15 +0000)]
- changed Phi0 attribute to be a struct
- Phi0 attribute is only available onb Phi0 nodes
This should now allow CSE on Phi nodes!
[r14002]
Christian Würdig [Wed, 23 May 2007 11:31:45 +0000 (11:31 +0000)]
added some comments
removed unused code
added some optimizations
[r14001]
Michael Beck [Wed, 23 May 2007 10:03:32 +0000 (10:03 +0000)]
Used new Div result mode
[r13999]
Michael Beck [Wed, 23 May 2007 10:02:13 +0000 (10:02 +0000)]
Verify new result mode
[r13997]
Michael Beck [Wed, 23 May 2007 09:49:24 +0000 (09:49 +0000)]
Add result mode to Division operations.
[r13995]
Christoph Mallon [Wed, 23 May 2007 09:03:09 +0000 (09:03 +0000)]
Use the more verbose comment on the edges-execfreq workaround matze originally wrote.
[r13994]
Matthias Braun [Wed, 23 May 2007 08:53:32 +0000 (08:53 +0000)]
fix uninitialized variables
[r13993]
Christoph Mallon [Tue, 22 May 2007 18:46:05 +0000 (18:46 +0000)]
Loads do not remove any nodes from the exec after sets. Also fix a 'node leak'.
[r13991]
Christoph Mallon [Tue, 22 May 2007 18:36:04 +0000 (18:36 +0000)]
Fix constness.
[r13990]
Matthias Braun [Tue, 22 May 2007 15:23:39 +0000 (15:23 +0000)]
workaround
[r13985]
Matthias Braun [Tue, 22 May 2007 14:39:38 +0000 (14:39 +0000)]
liveness variants with ir_nodeset_t
[r13983]
Matthias Braun [Tue, 22 May 2007 14:37:08 +0000 (14:37 +0000)]
fix my last committ
[r13982]
Matthias Braun [Tue, 22 May 2007 14:24:31 +0000 (14:24 +0000)]
correct usage of get_irn_generic_attr
[r13981]
Matthias Braun [Tue, 22 May 2007 14:19:01 +0000 (14:19 +0000)]
fix
[r13980]
Matthias Braun [Tue, 22 May 2007 14:11:43 +0000 (14:11 +0000)]
add get_irn_generic_attr_const
[r13979]
Christian Würdig [Tue, 22 May 2007 13:33:03 +0000 (13:33 +0000)]
BugFix: the order of the coloring is important!
[r13975]
Matthias Braun [Mon, 21 May 2007 20:27:59 +0000 (20:27 +0000)]
simplify testcase
[r13973]
Matthias Braun [Mon, 21 May 2007 20:25:23 +0000 (20:25 +0000)]
demonstrate another frontend bug
[r13972]
Matthias Braun [Mon, 21 May 2007 20:02:47 +0000 (20:02 +0000)]
be a bit less exact with float results so we don't get wrong error reports because of spilling
[r13971]
Matthias Braun [Mon, 21 May 2007 19:17:22 +0000 (19:17 +0000)]
testcase for conv optimisation bugs
[r13970]
Matthias Braun [Mon, 21 May 2007 19:09:25 +0000 (19:09 +0000)]
fix conv optimisation, remove wrong asserts
[r13969]
Matthias Braun [Mon, 21 May 2007 19:04:39 +0000 (19:04 +0000)]
don't do the tests twice
[r13968]
Matthias Braun [Mon, 21 May 2007 18:18:46 +0000 (18:18 +0000)]
made testcase smaller
[r13964]
Matthias Braun [Mon, 21 May 2007 18:16:28 +0000 (18:16 +0000)]
made testcase smaller
[r13963]
Matthias Braun [Mon, 21 May 2007 17:55:58 +0000 (17:55 +0000)]
next bug found in 179.parser
[r13962]
Matthias Braun [Mon, 21 May 2007 17:29:18 +0000 (17:29 +0000)]
only use addressmode for 32 bit modes
[r13961]
Matthias Braun [Mon, 21 May 2007 15:13:35 +0000 (15:13 +0000)]
fix it in a more ugly way
[r13960]
Matthias Braun [Mon, 21 May 2007 15:10:17 +0000 (15:10 +0000)]
disable locale
[r13959]
Michael Beck [Mon, 21 May 2007 15:05:14 +0000 (15:05 +0000)]
Add code to kill dead kept Phi nodes
[r13958]
Michael Beck [Mon, 21 May 2007 14:22:44 +0000 (14:22 +0000)]
BugFix:
- pred was used to store two values :-(
[r13957]
Matthias Braun [Mon, 21 May 2007 14:21:23 +0000 (14:21 +0000)]
add TODO items
[r13956]
Matthias Braun [Mon, 21 May 2007 14:19:57 +0000 (14:19 +0000)]
committ the conv optimisation
[r13955]
Matthias Braun [Mon, 21 May 2007 13:39:47 +0000 (13:39 +0000)]
sort reports differently
[r13954]
Michael Beck [Mon, 21 May 2007 13:26:36 +0000 (13:26 +0000)]
Fixed an assert
[r13953]
Michael Beck [Mon, 21 May 2007 13:07:55 +0000 (13:07 +0000)]
optimize_graph_df() now removes superfluous keep-alive edges
[r13951]
Michael Beck [Mon, 21 May 2007 13:05:37 +0000 (13:05 +0000)]
get_irn_generic_attr() cannot have a const argument
__get_irn_generic_attr() added to speed up backend
[r13950]
Michael Beck [Mon, 21 May 2007 13:03:39 +0000 (13:03 +0000)]
Hash() should return an unsigned
[r13949]
Michael Beck [Sun, 20 May 2007 12:52:24 +0000 (12:52 +0000)]
Fixed the last fix again:
- we cannot remove keep-alives here because only blocks are visited, removing KA requires node visiting
- now its clear why always moving Phis from pred block was a bad idea (and was fixed with the strange replace). It must be only done if pred dominated the current block.
[r13930]
Michael Beck [Sun, 20 May 2007 03:10:27 +0000 (03:10 +0000)]
BugFix for the cfoptbug.c:
Removed the old "defer" code, this code was wrong (and the old replacement code as well). After that, the original code was revived.
However, now ALL Phi nodes are copied even those unused.
Added keep-alive optimizer killing useless keep-alives.
This kills some created useless nodes.
It does not help with endless loops :-(
Possible fix: use back edges to check if there are users ...
[r13929]
Michael Beck [Sun, 20 May 2007 01:13:24 +0000 (01:13 +0000)]
C99 construct removed
[r13927]
Michael Beck [Sun, 20 May 2007 01:11:58 +0000 (01:11 +0000)]
lower_hl.h added
[r13926]
Michael Beck [Fri, 18 May 2007 15:52:18 +0000 (15:52 +0000)]
[r13918]
Matthias Braun [Fri, 18 May 2007 13:40:42 +0000 (13:40 +0000)]
include lower_hl.h in complete header
[r13916]
Matthias Braun [Fri, 18 May 2007 13:03:37 +0000 (13:03 +0000)]
emit execfreqs for all blocks. ignore the am_flavour setting and look at the actual values of the AM variables
[r13915]
Matthias Braun [Fri, 18 May 2007 12:53:18 +0000 (12:53 +0000)]
backends can specify costs for spill and reload
[r13914]
Matthias Braun [Fri, 18 May 2007 12:48:56 +0000 (12:48 +0000)]
rework rematerialisation code to look at execution frequencies
[r13913]
Christoph Mallon [Fri, 18 May 2007 11:21:38 +0000 (11:21 +0000)]
Loads shall only remove stores from the exec after sets.
[r13912]
Matthias Braun [Thu, 17 May 2007 10:45:35 +0000 (10:45 +0000)]
fixed the 'reformatting' of the last committ which made everything really kaputt...
[r13911]
Christoph Mallon [Thu, 17 May 2007 06:39:30 +0000 (06:39 +0000)]
Use the proper magic word (get_Block_n_cfgpreds()) to get the number of cf predecessors of a block instead of the generic get_irn_arity().
[r13910]
Matthias Braun [Wed, 16 May 2007 17:22:01 +0000 (17:22 +0000)]
we should normalize to multiple returns (it's not working though)
[r13909]
Matthias Braun [Wed, 16 May 2007 17:18:10 +0000 (17:18 +0000)]
get_irn_generic_attr supports const ir_node* now
[r13908]
Matthias Braun [Wed, 16 May 2007 17:17:30 +0000 (17:17 +0000)]
support for custom attribute types on nodes
[r13907]
Matthias Braun [Wed, 16 May 2007 17:17:05 +0000 (17:17 +0000)]
adjust schedule verifier
[r13906]
Matthias Braun [Wed, 16 May 2007 14:51:32 +0000 (14:51 +0000)]
more asserts
[r13901]
Matthias Braun [Wed, 16 May 2007 14:51:16 +0000 (14:51 +0000)]
set remat flag for be_StackParam
[r13900]
Matthias Braun [Wed, 16 May 2007 14:51:00 +0000 (14:51 +0000)]
simplify remat test
[r13899]
Michael Beck [Wed, 16 May 2007 14:17:36 +0000 (14:17 +0000)]
ldst2 added
[r13896]
Michael Beck [Wed, 16 May 2007 14:16:46 +0000 (14:16 +0000)]
add missing include
[r13895]
Matthias Braun [Wed, 16 May 2007 09:06:03 +0000 (09:06 +0000)]
fix
[r13890]
Matthias Braun [Wed, 16 May 2007 09:00:18 +0000 (09:00 +0000)]
fix typo so that irnodeset really uses node numbers and not pointers in debug mode
[r13889]
Christian Würdig [Tue, 15 May 2007 16:04:33 +0000 (16:04 +0000)]
removed color map (just skip ignore colors in main loop now)
cache interfering neighbours of chunk nodes in chunk itself (interference checks should be faster now)
[r13885]
Christian Würdig [Tue, 15 May 2007 15:28:57 +0000 (15:28 +0000)]
bitset_popcnt returns number of set bits as unsigned
[r13884]
Christian Würdig [Tue, 15 May 2007 15:28:22 +0000 (15:28 +0000)]
be_abi_put_ignore_regs returns now number of ignore registers as unsigned
[r13883]
Christoph Mallon [Tue, 15 May 2007 15:11:33 +0000 (15:11 +0000)]
Constify.
[r13882]
Christoph Mallon [Tue, 15 May 2007 14:57:27 +0000 (14:57 +0000)]
Remove unused variable.
[r13881]
Matthias Braun [Tue, 15 May 2007 14:56:50 +0000 (14:56 +0000)]
make lots of irn functions accept const ir_node
[r13880]
Christian Würdig [Tue, 15 May 2007 13:47:48 +0000 (13:47 +0000)]
fixed strange obstack usage
changed indent
[r13877]
Christian Würdig [Mon, 14 May 2007 15:41:30 +0000 (15:41 +0000)]
fixed handling of other_same/other_different constraint handling
[r13871]
Christian Würdig [Mon, 14 May 2007 15:41:00 +0000 (15:41 +0000)]
removed unused function
fixed other_same constraint handling
[r13870]
Christian Würdig [Mon, 14 May 2007 15:40:19 +0000 (15:40 +0000)]
revert iteration direction over interfering neighbours
[r13869]
Andreas Schösser [Mon, 14 May 2007 15:24:42 +0000 (15:24 +0000)]
BugFix: skip_Proj when asking for should_be_same requirement node
[r13868]
Matthias Braun [Mon, 14 May 2007 15:18:10 +0000 (15:18 +0000)]
reuse old proj numbers for projs where only the mode is changes
[r13867]
Christian Würdig [Mon, 14 May 2007 13:38:02 +0000 (13:38 +0000)]
partly reverted and reimplemented the changes from tweo revisions before (something broke the implementation, right now it should be safe)
[r13861]