Michael Beck [Wed, 30 May 2007 16:18:41 +0000 (16:18 +0000)]
renamed reserved word asm :-)
[r14190]
Michael Beck [Wed, 30 May 2007 16:16:06 +0000 (16:16 +0000)]
Added preliminary ASM node.
Fixed Proj(X_regular) node dumping.
[r14188]
Matthias Braun [Wed, 30 May 2007 14:08:38 +0000 (14:08 +0000)]
keep alive bugfixes for x87
[r14183]
Michael Beck [Wed, 30 May 2007 13:10:44 +0000 (13:10 +0000)]
Add missing keep bits to fld* instructions
[r14182]
Michael Beck [Wed, 30 May 2007 13:06:47 +0000 (13:06 +0000)]
Add constructors for PartBlock
renamed boolean attributes x into is_x
[r14181]
Matthias Braun [Wed, 30 May 2007 12:49:38 +0000 (12:49 +0000)]
fix xStoreSimple and SetST0
[r14179]
Michael Beck [Wed, 30 May 2007 12:41:44 +0000 (12:41 +0000)]
get_divop_resmod() added
PartBlock() constructors added
renamed boolean attributes x into is_x
[r14178]
Matthias Braun [Wed, 30 May 2007 12:39:05 +0000 (12:39 +0000)]
make x87 float mode default
[r14177]
Matthias Braun [Wed, 30 May 2007 12:34:04 +0000 (12:34 +0000)]
place spills after keeps
[r14176]
Michael Beck [Tue, 29 May 2007 16:07:45 +0000 (16:07 +0000)]
fixed turn_into_tuple()
[r14132]
Michael Beck [Tue, 29 May 2007 16:07:02 +0000 (16:07 +0000)]
copy 'n' paste error fixed
[r14131]
Michael Beck [Tue, 29 May 2007 15:23:46 +0000 (15:23 +0000)]
convopt.[ch] added
[r14124]
Matthias Braun [Tue, 29 May 2007 15:04:00 +0000 (15:04 +0000)]
spill phis in daemel spiller
[r14115]
Matthias Braun [Tue, 29 May 2007 14:57:17 +0000 (14:57 +0000)]
added the daemel spiller(tm) :-), it should be similar to the stupid interference graph based spilling most other register allocators do
[r14113]
Matthias Braun [Tue, 29 May 2007 14:56:30 +0000 (14:56 +0000)]
cleanups in spill helper code
[r14112]
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]