libfirm
17 years agoget_divop_resmod() added
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]

17 years agomake x87 float mode default
Matthias Braun [Wed, 30 May 2007 12:39:05 +0000 (12:39 +0000)]
make x87 float mode default

[r14177]

17 years agoplace spills after keeps
Matthias Braun [Wed, 30 May 2007 12:34:04 +0000 (12:34 +0000)]
place spills after keeps

[r14176]

17 years agofixed turn_into_tuple()
Michael Beck [Tue, 29 May 2007 16:07:45 +0000 (16:07 +0000)]
fixed turn_into_tuple()

[r14132]

17 years agocopy 'n' paste error fixed
Michael Beck [Tue, 29 May 2007 16:07:02 +0000 (16:07 +0000)]
copy 'n' paste error fixed

[r14131]

17 years agoconvopt.[ch] added
Michael Beck [Tue, 29 May 2007 15:23:46 +0000 (15:23 +0000)]
convopt.[ch] added

[r14124]

17 years agospill phis in daemel spiller
Matthias Braun [Tue, 29 May 2007 15:04:00 +0000 (15:04 +0000)]
spill phis in daemel spiller

[r14115]

17 years agoadded the daemel spiller(tm) :-), it should be similar to the stupid interference...
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]

17 years agocleanups in spill helper code
Matthias Braun [Tue, 29 May 2007 14:56:30 +0000 (14:56 +0000)]
cleanups in spill helper code

[r14112]

17 years agoia32 was missing spill cost estimates
Matthias Braun [Tue, 29 May 2007 14:50:47 +0000 (14:50 +0000)]
ia32 was missing spill cost estimates

[r14110]

17 years agoConstify.
Christoph Mallon [Mon, 28 May 2007 10:15:40 +0000 (10:15 +0000)]
Constify.

[r14066]

17 years agoRemove unused variables.
Christoph Mallon [Mon, 28 May 2007 10:06:34 +0000 (10:06 +0000)]
Remove unused variables.

[r14065]

17 years agoMake the conv opt analysis and transformation code symmetrical.
Christoph Mallon [Sun, 27 May 2007 10:12:47 +0000 (10:12 +0000)]
Make the conv opt analysis and transformation code symmetrical.

[r14051]

17 years ago- Push Convs through Phis
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]

17 years agoAdd the -f{,no-}deconv switches do {en,dis}able the conv node optimization.
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]

17 years agoBugFix: type conversion must signed extend for the destination mode
Michael Beck [Fri, 25 May 2007 16:46:23 +0000 (16:46 +0000)]
BugFix: type conversion must signed extend for the destination mode

[r14042]

17 years agoBugFix: _divmod() returned wrong result for -x/x : fixed
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]

17 years agoint instruction added
Michael Beck [Fri, 25 May 2007 14:42:59 +0000 (14:42 +0000)]
int instruction added

[r14039]

17 years agoUse new result mode and updated X_regular for the runtime call mapper
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]

17 years agohandle the new X_regular Proj's
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]

17 years agoadd_hidden_param() handle the new X_regular Proj
Michael Beck [Fri, 25 May 2007 14:34:54 +0000 (14:34 +0000)]
add_hidden_param() handle the new X_regular Proj

[r14035]

17 years agoAdd missing break in a switch which caused an incorrect assertion.
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]

17 years agoturn_into_tuple() should use get_irn_n(..., -1) instead of get_nodes_block()
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]

17 years agoDo not add Bad nodes to the keep-alive
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]

17 years agofixed verify for new X_regular Proj's
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]

17 years agoremoved impossible address modes
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]

17 years agosome doxygen comments added
Michael Beck [Wed, 23 May 2007 23:53:03 +0000 (23:53 +0000)]
some doxygen comments added
removed impossible address modes

[r14014]

17 years agoFixed the (meanwhile wrong) turn_into_tuple(...,4), so inlining works again.
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]

17 years agoCond nodes are a kind of cf node, too. Therefore also ignore them when copying block...
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]

17 years agoemit .skip if a string initializer is shorter than the entity
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]

17 years agofehler 16, found in 255.vortex
Matthias Braun [Wed, 23 May 2007 20:11:24 +0000 (20:11 +0000)]
fehler 16, found in 255.vortex

[r14010]

17 years agofix height computation for phi nodes
Matthias Braun [Wed, 23 May 2007 18:43:07 +0000 (18:43 +0000)]
fix height computation for phi nodes

[r14009]

17 years agoAdded new Proj_X_regular for all nodes producing a Proj_X_exc to support the new...
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]

17 years agomissing include added
Michael Beck [Wed, 23 May 2007 15:47:08 +0000 (15:47 +0000)]
missing include added

[r14007]

17 years agoadded a callback function to check whether a given entity is a allocation call
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]

17 years agoadd_irn_keepalive()
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]

17 years ago- changed Phi0 attribute to be a struct
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]

17 years agoadded some comments
Christian Würdig [Wed, 23 May 2007 11:31:45 +0000 (11:31 +0000)]
added some comments
removed unused code
added some optimizations

[r14001]

17 years agoUsed new Div result mode
Michael Beck [Wed, 23 May 2007 10:03:32 +0000 (10:03 +0000)]
Used new Div result mode

[r13999]

17 years agoVerify new result mode
Michael Beck [Wed, 23 May 2007 10:02:13 +0000 (10:02 +0000)]
Verify new result mode

[r13997]

17 years agoAdd result mode to Division operations.
Michael Beck [Wed, 23 May 2007 09:49:24 +0000 (09:49 +0000)]
Add result mode to Division operations.

[r13995]

17 years agoUse the more verbose comment on the edges-execfreq workaround matze originally wrote.
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]

17 years agofix uninitialized variables
Matthias Braun [Wed, 23 May 2007 08:53:32 +0000 (08:53 +0000)]
fix uninitialized variables

[r13993]

17 years agoLoads do not remove any nodes from the exec after sets. Also fix a 'node leak'.
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]

17 years agoFix constness.
Christoph Mallon [Tue, 22 May 2007 18:36:04 +0000 (18:36 +0000)]
Fix constness.

[r13990]

17 years agoworkaround
Matthias Braun [Tue, 22 May 2007 15:23:39 +0000 (15:23 +0000)]
workaround

[r13985]

17 years agoliveness variants with ir_nodeset_t
Matthias Braun [Tue, 22 May 2007 14:39:38 +0000 (14:39 +0000)]
liveness variants with ir_nodeset_t

[r13983]

17 years agofix my last committ
Matthias Braun [Tue, 22 May 2007 14:37:08 +0000 (14:37 +0000)]
fix my last committ

[r13982]

17 years agocorrect usage of get_irn_generic_attr
Matthias Braun [Tue, 22 May 2007 14:24:31 +0000 (14:24 +0000)]
correct usage of get_irn_generic_attr

[r13981]

17 years agofix
Matthias Braun [Tue, 22 May 2007 14:19:01 +0000 (14:19 +0000)]
fix

[r13980]

17 years agoadd get_irn_generic_attr_const
Matthias Braun [Tue, 22 May 2007 14:11:43 +0000 (14:11 +0000)]
add get_irn_generic_attr_const

[r13979]

17 years agoBugFix: the order of the coloring is important!
Christian Würdig [Tue, 22 May 2007 13:33:03 +0000 (13:33 +0000)]
BugFix: the order of the coloring is important!

[r13975]

17 years agosimplify testcase
Matthias Braun [Mon, 21 May 2007 20:27:59 +0000 (20:27 +0000)]
simplify testcase

[r13973]

17 years agodemonstrate another frontend bug
Matthias Braun [Mon, 21 May 2007 20:25:23 +0000 (20:25 +0000)]
demonstrate another frontend bug

[r13972]

17 years agobe a bit less exact with float results so we don't get wrong error reports because...
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]

17 years agotestcase for conv optimisation bugs
Matthias Braun [Mon, 21 May 2007 19:17:22 +0000 (19:17 +0000)]
testcase for conv optimisation bugs

[r13970]

17 years agofix conv optimisation, remove wrong asserts
Matthias Braun [Mon, 21 May 2007 19:09:25 +0000 (19:09 +0000)]
fix conv optimisation, remove wrong asserts

[r13969]

17 years agodon't do the tests twice
Matthias Braun [Mon, 21 May 2007 19:04:39 +0000 (19:04 +0000)]
don't do the tests twice

[r13968]

17 years agomade testcase smaller
Matthias Braun [Mon, 21 May 2007 18:18:46 +0000 (18:18 +0000)]
made testcase smaller

[r13964]

17 years agomade testcase smaller
Matthias Braun [Mon, 21 May 2007 18:16:28 +0000 (18:16 +0000)]
made testcase smaller

[r13963]

17 years agonext bug found in 179.parser
Matthias Braun [Mon, 21 May 2007 17:55:58 +0000 (17:55 +0000)]
next bug found in 179.parser

[r13962]

17 years agoonly use addressmode for 32 bit modes
Matthias Braun [Mon, 21 May 2007 17:29:18 +0000 (17:29 +0000)]
only use addressmode for 32 bit modes

[r13961]

17 years agofix it in a more ugly way
Matthias Braun [Mon, 21 May 2007 15:13:35 +0000 (15:13 +0000)]
fix it in a more ugly way

[r13960]

17 years agodisable locale
Matthias Braun [Mon, 21 May 2007 15:10:17 +0000 (15:10 +0000)]
disable locale

[r13959]

17 years agoAdd code to kill dead kept Phi nodes
Michael Beck [Mon, 21 May 2007 15:05:14 +0000 (15:05 +0000)]
Add code to kill  dead kept Phi nodes

[r13958]

17 years agoBugFix:
Michael Beck [Mon, 21 May 2007 14:22:44 +0000 (14:22 +0000)]
BugFix:
- pred was used to store two values :-(

[r13957]

17 years agoadd TODO items
Matthias Braun [Mon, 21 May 2007 14:21:23 +0000 (14:21 +0000)]
add TODO items

[r13956]

17 years agocommitt the conv optimisation
Matthias Braun [Mon, 21 May 2007 14:19:57 +0000 (14:19 +0000)]
committ the conv optimisation

[r13955]

17 years agosort reports differently
Matthias Braun [Mon, 21 May 2007 13:39:47 +0000 (13:39 +0000)]
sort reports differently

[r13954]

17 years agoFixed an assert
Michael Beck [Mon, 21 May 2007 13:26:36 +0000 (13:26 +0000)]
Fixed an assert

[r13953]

17 years agooptimize_graph_df() now removes superfluous keep-alive edges
Michael Beck [Mon, 21 May 2007 13:07:55 +0000 (13:07 +0000)]
optimize_graph_df() now removes superfluous keep-alive edges

[r13951]

17 years agoget_irn_generic_attr() cannot have a const argument
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]

17 years agoHash() should return an unsigned
Michael Beck [Mon, 21 May 2007 13:03:39 +0000 (13:03 +0000)]
Hash() should return an unsigned

[r13949]

17 years agoFixed the last fix again:
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]

17 years agoBugFix for the cfoptbug.c:
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]

17 years agoC99 construct removed
Michael Beck [Sun, 20 May 2007 01:13:24 +0000 (01:13 +0000)]
C99 construct removed

[r13927]

17 years agolower_hl.h added
Michael Beck [Sun, 20 May 2007 01:11:58 +0000 (01:11 +0000)]
lower_hl.h added

[r13926]

17 years ago[r13918]
Michael Beck [Fri, 18 May 2007 15:52:18 +0000 (15:52 +0000)]
[r13918]

17 years agoinclude lower_hl.h in complete header
Matthias Braun [Fri, 18 May 2007 13:40:42 +0000 (13:40 +0000)]
include lower_hl.h in complete header

[r13916]

17 years agoemit execfreqs for all blocks. ignore the am_flavour setting and look at the actual...
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]

17 years agobackends can specify costs for spill and reload
Matthias Braun [Fri, 18 May 2007 12:53:18 +0000 (12:53 +0000)]
backends can specify costs for spill and reload

[r13914]

17 years agorework rematerialisation code to look at execution frequencies
Matthias Braun [Fri, 18 May 2007 12:48:56 +0000 (12:48 +0000)]
rework rematerialisation code to look at execution frequencies

[r13913]

17 years agoLoads shall only remove stores from the exec after sets.
Christoph Mallon [Fri, 18 May 2007 11:21:38 +0000 (11:21 +0000)]
Loads shall only remove stores from the exec after sets.

[r13912]

17 years agofixed the 'reformatting' of the last committ which made everything really kaputt...
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]

17 years agoUse the proper magic word (get_Block_n_cfgpreds()) to get the number of cf predecesso...
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]

17 years agowe should normalize to multiple returns (it's not working though)
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]

17 years agoget_irn_generic_attr supports const ir_node* now
Matthias Braun [Wed, 16 May 2007 17:18:10 +0000 (17:18 +0000)]
get_irn_generic_attr supports const ir_node* now

[r13908]

17 years agosupport for custom attribute types on nodes
Matthias Braun [Wed, 16 May 2007 17:17:30 +0000 (17:17 +0000)]
support for custom attribute types on nodes

[r13907]

17 years agoadjust schedule verifier
Matthias Braun [Wed, 16 May 2007 17:17:05 +0000 (17:17 +0000)]
adjust schedule verifier

[r13906]

17 years agomore asserts
Matthias Braun [Wed, 16 May 2007 14:51:32 +0000 (14:51 +0000)]
more asserts

[r13901]

17 years agoset remat flag for be_StackParam
Matthias Braun [Wed, 16 May 2007 14:51:16 +0000 (14:51 +0000)]
set remat flag for be_StackParam

[r13900]

17 years agosimplify remat test
Matthias Braun [Wed, 16 May 2007 14:51:00 +0000 (14:51 +0000)]
simplify remat test

[r13899]

17 years agoldst2 added
Michael Beck [Wed, 16 May 2007 14:17:36 +0000 (14:17 +0000)]
ldst2 added

[r13896]

17 years agoadd missing include
Michael Beck [Wed, 16 May 2007 14:16:46 +0000 (14:16 +0000)]
add missing include

[r13895]

17 years agofix
Matthias Braun [Wed, 16 May 2007 09:06:03 +0000 (09:06 +0000)]
fix

[r13890]

17 years agofix typo so that irnodeset really uses node numbers and not pointers in debug mode
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]

17 years agoremoved color map (just skip ignore colors in main loop now)
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]

17 years agobitset_popcnt returns number of set bits as unsigned
Christian Würdig [Tue, 15 May 2007 15:28:57 +0000 (15:28 +0000)]
bitset_popcnt returns number of set bits as unsigned

[r13884]

17 years agobe_abi_put_ignore_regs returns now number of ignore registers as unsigned
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]

17 years agoConstify.
Christoph Mallon [Tue, 15 May 2007 15:11:33 +0000 (15:11 +0000)]
Constify.

[r13882]