libfirm
14 years agoreturn 0 for number of outputs for nodes without backend info
Matthias Braun [Mon, 7 Sep 2009 14:28:40 +0000 (14:28 +0000)]
return 0 for number of outputs for nodes without backend info

[r26502]

14 years agogive fewer penalties to neighbors of uses with multiple allowed registers
Matthias Braun [Mon, 7 Sep 2009 14:00:04 +0000 (14:00 +0000)]
give fewer penalties to neighbors of uses with multiple allowed registers

[r26501]

14 years agoAdded missing declaration.
Sebastian Buchwald [Mon, 7 Sep 2009 07:37:04 +0000 (07:37 +0000)]
Added missing declaration.

[r26500]

14 years agoUse module mechanism to register copy minimization algorithms.
Sebastian Buchwald [Sun, 6 Sep 2009 21:31:36 +0000 (21:31 +0000)]
Use module mechanism to register copy minimization algorithms.

[r26498]

14 years ago- removed C99 features
Michael Beck [Sun, 6 Sep 2009 09:16:52 +0000 (09:16 +0000)]
- removed C99 features

[r26496]

14 years agoallow final_cost pointer to be NULL
Matthias Braun [Sat, 5 Sep 2009 15:54:04 +0000 (15:54 +0000)]
allow final_cost pointer to be NULL

[r26495]

14 years agoavoid putting interfering stuff into the same congruence class
Matthias Braun [Sat, 5 Sep 2009 15:53:20 +0000 (15:53 +0000)]
avoid putting interfering stuff into the same congruence class

[r26494]

14 years ago- removed remnant of copyheur3
Sebastian Buchwald [Fri, 4 Sep 2009 21:49:26 +0000 (21:49 +0000)]
- removed remnant of copyheur3
- use name copyopt instead of copycoal

[r26493]

14 years agoAdded some comments.
Sebastian Buchwald [Fri, 4 Sep 2009 21:20:37 +0000 (21:20 +0000)]
Added some comments.

[r26492]

14 years agoWe have already asserted the condition.
Sebastian Buchwald [Fri, 4 Sep 2009 18:15:54 +0000 (18:15 +0000)]
We have already asserted the condition.

[r26491]

14 years agoWe need config.h to know whether FIRM_KAPS is defined.
Sebastian Buchwald [Fri, 4 Sep 2009 14:26:42 +0000 (14:26 +0000)]
We need config.h to know whether FIRM_KAPS is defined.

[r26489]

14 years agonew heursitic for good coloring order; add utility function to generate a postorder
Matthias Braun [Fri, 4 Sep 2009 13:19:44 +0000 (13:19 +0000)]
new heursitic for good coloring order; add utility function to generate a postorder

[r26488]

14 years agoonly compile pbqp stuff if pbqp defines are enabled
Matthias Braun [Fri, 4 Sep 2009 13:18:57 +0000 (13:18 +0000)]
only compile pbqp stuff if pbqp defines are enabled

[r26487]

14 years ago- added assert for correct PBQP solution
Thomas Bersch [Fri, 4 Sep 2009 10:52:06 +0000 (10:52 +0000)]
- added assert for correct PBQP solution
- removed printf

[r26485]

14 years agoInitial version of PBQP copy minimization.
Thomas Bersch [Fri, 4 Sep 2009 10:44:26 +0000 (10:44 +0000)]
Initial version of PBQP copy minimization.

[r26484]

14 years agotweak optimistic split heuristic to take execfreq of the potential copy into account
Matthias Braun [Thu, 3 Sep 2009 16:51:37 +0000 (16:51 +0000)]
tweak optimistic split heuristic to take execfreq of the potential copy into account

[r26483]

14 years agoalign stackframe to 4 bytes to avoid bad esp alignments
Matthias Braun [Thu, 3 Sep 2009 16:32:03 +0000 (16:32 +0000)]
align stackframe to 4 bytes to avoid bad esp alignments

[r26480]

14 years agoimprove hack to also work when the value has been 'permed'
Matthias Braun [Thu, 3 Sep 2009 14:45:30 +0000 (14:45 +0000)]
improve hack to also work when the value has been 'permed'

[r26478]

14 years agodon't optimistically split these strange msut_be_different copies
Matthias Braun [Thu, 3 Sep 2009 14:33:31 +0000 (14:33 +0000)]
don't optimistically split these strange msut_be_different copies

[r26477]

14 years agoCopyKeeps have mostly Keep-like semantics too - make verifier/spill-node placement...
Matthias Braun [Thu, 3 Sep 2009 14:33:17 +0000 (14:33 +0000)]
CopyKeeps have mostly Keep-like semantics too - make verifier/spill-node placement respect that

[r26476]

14 years agofix (nearly) endless loops in some cases of propagate_phi
Matthias Braun [Thu, 3 Sep 2009 10:37:47 +0000 (10:37 +0000)]
fix (nearly) endless loops in some cases of propagate_phi

[r26475]

14 years agoSort file lists in Makefile.am.
Christoph Mallon [Thu, 3 Sep 2009 05:13:03 +0000 (05:13 +0000)]
Sort file lists in Makefile.am.

[r26473]

14 years agoAdd missing files to Makefile.am.
Christoph Mallon [Thu, 3 Sep 2009 05:06:19 +0000 (05:06 +0000)]
Add missing files to Makefile.am.

[r26472]

14 years agoRemove removed files from Makefile.am.
Christoph Mallon [Wed, 2 Sep 2009 19:09:04 +0000 (19:09 +0000)]
Remove removed files from Makefile.am.

[r26471]

14 years agomerge preferences along congruence classes
Matthias Braun [Wed, 2 Sep 2009 16:57:04 +0000 (16:57 +0000)]
merge preferences along congruence classes

[r26470]

14 years agoAdd OALLOC*() to make allocating from obstacks a bit nicer.
Christoph Mallon [Wed, 2 Sep 2009 10:40:20 +0000 (10:40 +0000)]
Add OALLOC*() to make allocating from obstacks a bit nicer.

[r26468]

14 years agoCreate clean register requirements for Phis, otherwise reg_reqs_equal() and maybe...
Christoph Mallon [Wed, 2 Sep 2009 07:28:03 +0000 (07:28 +0000)]
Create clean register requirements for Phis, otherwise reg_reqs_equal() and maybe others could get confused. It is unknown whether this caused any problems.

[r26467]

14 years agoReuse already fetched values.
Christoph Mallon [Wed, 2 Sep 2009 06:18:48 +0000 (06:18 +0000)]
Reuse already fetched values.

[r26465]

14 years agoCorrect typo in comment.
Christoph Mallon [Wed, 2 Sep 2009 06:18:16 +0000 (06:18 +0000)]
Correct typo in comment.

[r26464]

14 years agoold and never used files
Matthias Braun [Tue, 1 Sep 2009 20:16:48 +0000 (20:16 +0000)]
old and never used files

[r26461]

14 years agoold and nowaday useless tool stuff
Matthias Braun [Tue, 1 Sep 2009 20:15:08 +0000 (20:15 +0000)]
old and nowaday useless tool stuff

[r26460]

14 years ago- improve block scheduling heuristic by deciding a priori which edge is the fall...
Matthias Braun [Tue, 1 Sep 2009 19:06:25 +0000 (19:06 +0000)]
- improve block scheduling heuristic by deciding a priori which edge is the fall-through leaving a loop
- remove old extbb block scheduler

[r26459]

14 years agoimprov execfreq estimation if a loop outedge leaves multiple loops
Matthias Braun [Tue, 1 Sep 2009 19:04:59 +0000 (19:04 +0000)]
improv execfreq estimation if a loop outedge leaves multiple loops

[r26458]

14 years agofix rematerialisation code to not ask Proj nodes for properties of instructions
Matthias Braun [Mon, 31 Aug 2009 13:17:48 +0000 (13:17 +0000)]
fix rematerialisation code to not ask Proj nodes for properties of instructions

[r26453]

14 years agoChanged splitting of commutative nodes: Instead of touching only the
Michael Beck [Sun, 30 Aug 2009 14:37:05 +0000 (14:37 +0000)]
Changed splitting of commutative nodes: Instead of touching only the
first occuring class (op(a,a) or op(a,b)), touch all and split the
touched list into halfs.
This should fix fehler170.c and is more logical and simpler code.

[r26446]

14 years ago- removed C99 features
Michael Beck [Fri, 28 Aug 2009 22:46:21 +0000 (22:46 +0000)]
- removed C99 features

[r26444]

14 years agoclarify comment
Matthias Braun [Fri, 28 Aug 2009 09:26:27 +0000 (09:26 +0000)]
clarify comment

[r26440]

14 years agoCorrect typos in comments.
Christoph Mallon [Thu, 27 Aug 2009 13:26:53 +0000 (13:26 +0000)]
Correct typos in comments.

[r26438]

14 years agoimprove phi propagation
Matthias Braun [Thu, 27 Aug 2009 13:04:30 +0000 (13:04 +0000)]
improve phi propagation

[r26437]

14 years agotypo
Sebastian Buchwald [Wed, 26 Aug 2009 11:05:13 +0000 (11:05 +0000)]
typo

[r26429]

14 years ago- fixed r26421
Michael Beck [Wed, 26 Aug 2009 06:49:25 +0000 (06:49 +0000)]
- fixed r26421

[r26427]

14 years agoAdded missing parameter documentation.
Sebastian Buchwald [Tue, 25 Aug 2009 12:57:29 +0000 (12:57 +0000)]
Added missing parameter documentation.

[r26424]

14 years agobenewalloc: refactorign assignment_t struct is not needed anymore we can save ir_node...
Matthias Braun [Tue, 25 Aug 2009 12:15:47 +0000 (12:15 +0000)]
benewalloc: refactorign assignment_t struct is not needed anymore we can save ir_node* directly

[r26423]

14 years agoaddendum to the should_be_same fix: we also have to use the same rule for the dynamic...
Matthias Braun [Tue, 25 Aug 2009 11:03:22 +0000 (11:03 +0000)]
addendum to the should_be_same fix: we also have to use the same rule for the dynamic boni

[r26422]

14 years agoFixed more doxygen warnings.
Sebastian Buchwald [Mon, 24 Aug 2009 20:15:41 +0000 (20:15 +0000)]
Fixed more doxygen warnings.

[r26421]

14 years agofix optimistical split
Matthias Braun [Mon, 24 Aug 2009 19:19:25 +0000 (19:19 +0000)]
fix optimistical split

[r26420]

14 years agoFixed more doxygen warnings and typos.
Sebastian Buchwald [Mon, 24 Aug 2009 19:17:56 +0000 (19:17 +0000)]
Fixed more doxygen warnings and typos.

[r26419]

14 years agoAdded missing parameter documentation.
Sebastian Buchwald [Mon, 24 Aug 2009 16:50:07 +0000 (16:50 +0000)]
Added missing parameter documentation.

[r26416]

14 years agoUse @version tag
Sebastian Buchwald [Mon, 24 Aug 2009 15:15:36 +0000 (15:15 +0000)]
Use @version tag

[r26415]

14 years ago@note instead of @Note
Sebastian Buchwald [Mon, 24 Aug 2009 15:06:31 +0000 (15:06 +0000)]
@note instead of @Note

[r26414]

14 years agoUse @p to refer parameters.
Sebastian Buchwald [Mon, 24 Aug 2009 14:55:12 +0000 (14:55 +0000)]
Use @p to refer parameters.

[r26413]

14 years agoadd missing NL to generated file
Matthias Braun [Mon, 24 Aug 2009 14:54:01 +0000 (14:54 +0000)]
add missing NL to generated file

[r26412]

14 years agofix comment
Matthias Braun [Mon, 24 Aug 2009 14:53:32 +0000 (14:53 +0000)]
fix comment

[r26411]

14 years agoRemoved superfluous comment.
Sebastian Buchwald [Mon, 24 Aug 2009 14:48:54 +0000 (14:48 +0000)]
Removed superfluous comment.

[r26410]

14 years agoMoved file description.
Sebastian Buchwald [Mon, 24 Aug 2009 14:43:32 +0000 (14:43 +0000)]
Moved file description.

[r26409]

14 years agoSummary is not a doxygen tag
Sebastian Buchwald [Mon, 24 Aug 2009 14:32:39 +0000 (14:32 +0000)]
Summary is not a doxygen tag

[r26408]

14 years agoSummary is not a doxygen tag
Sebastian Buchwald [Mon, 24 Aug 2009 14:31:26 +0000 (14:31 +0000)]
Summary is not a doxygen tag

[r26407]

14 years ago- First version of optimistic splitting
Matthias Braun [Mon, 24 Aug 2009 14:18:03 +0000 (14:18 +0000)]
- First version of optimistic splitting
- Local rule to not propagate preferences on should_be_same for non-dying values
- Don't prefer phi-inputs for blocks which are not assigned yet

[r26406]

14 years agofix daemel spiller accessing flags of Proj nodes
Matthias Braun [Mon, 24 Aug 2009 14:16:25 +0000 (14:16 +0000)]
fix daemel spiller accessing flags of Proj nodes

[r26405]

14 years agotypo
Sebastian Buchwald [Mon, 24 Aug 2009 14:14:46 +0000 (14:14 +0000)]
typo

[r26404]

14 years agotypo
Sebastian Buchwald [Mon, 24 Aug 2009 14:03:39 +0000 (14:03 +0000)]
typo

[r26402]

14 years agotypo
Sebastian Buchwald [Mon, 24 Aug 2009 13:23:31 +0000 (13:23 +0000)]
typo

[r26401]

14 years ago- add missing prototype
Michael Beck [Sun, 23 Aug 2009 02:59:08 +0000 (02:59 +0000)]
- add missing prototype
- fixed pass number

[r26397]

14 years ago- fixed typo
Michael Beck [Sun, 23 Aug 2009 02:27:49 +0000 (02:27 +0000)]
- fixed typo

[r26396]

14 years ago- fixed pass manager
Michael Beck [Sun, 23 Aug 2009 01:59:23 +0000 (01:59 +0000)]
- fixed pass manager
- add more passes

[r26395]

14 years agoa first try to propagate phi preferences upwards
Matthias Braun [Thu, 20 Aug 2009 13:34:44 +0000 (13:34 +0000)]
a first try to propagate phi preferences upwards

[r26388]

14 years agoAdd passes for inlining, private methods.
Michael Beck [Thu, 20 Aug 2009 06:43:03 +0000 (06:43 +0000)]
Add passes for inlining, private methods.

[r26387]

14 years agoNext iteration for resolving warnings.
Christoph Mallon [Wed, 19 Aug 2009 08:48:15 +0000 (08:48 +0000)]
Next iteration for resolving warnings.

[r26385]

14 years agoRemove ununsed parameter.
Christoph Mallon [Wed, 19 Aug 2009 08:41:05 +0000 (08:41 +0000)]
Remove ununsed parameter.

[r26384]

14 years agoRemove the pointless function firm_init_hooks(). Its only purpose seems to be to...
Christoph Mallon [Wed, 19 Aug 2009 08:31:48 +0000 (08:31 +0000)]
Remove the pointless function firm_init_hooks(). Its only purpose seems to be to generate a warning on 64bit architectures.

[r26382]

14 years agoUndo r26380, another copy of the comment is still present where struct ir_prog is...
Christoph Mallon [Wed, 19 Aug 2009 08:22:51 +0000 (08:22 +0000)]
Undo r26380, another copy of the comment is still present where struct ir_prog is defined.

[r26381]

14 years agoRestore comment, which was lost in r26362.
Christoph Mallon [Wed, 19 Aug 2009 08:18:50 +0000 (08:18 +0000)]
Restore comment, which was lost in r26362.

[r26380]

14 years agoCorrect comments (indentation, typos).
Christoph Mallon [Wed, 19 Aug 2009 08:03:06 +0000 (08:03 +0000)]
Correct comments (indentation, typos).

[r26379]

14 years agoUse correct return type (void) for pass wrapper callbacks.
Christoph Mallon [Wed, 19 Aug 2009 08:02:02 +0000 (08:02 +0000)]
Use correct return type (void) for pass wrapper callbacks.

[r26378]

14 years agotypos
Sebastian Buchwald [Tue, 18 Aug 2009 13:58:48 +0000 (13:58 +0000)]
typos

[r26377]

14 years ago- add more pass constructors
Michael Beck [Mon, 17 Aug 2009 22:58:24 +0000 (22:58 +0000)]
- add more pass constructors

[r26376]

14 years ago- properties changed
Michael Beck [Mon, 17 Aug 2009 21:57:39 +0000 (21:57 +0000)]
- properties changed

[r26375]

14 years ago- moved pass constructors from irtools to irpass
Michael Beck [Mon, 17 Aug 2009 21:53:48 +0000 (21:53 +0000)]
- moved pass constructors from irtools to irpass
- add an irg_verify_pass()

[r26374]

14 years agobenewalloc: more special casing of unknowns as phi-inputs needed
Matthias Braun [Mon, 17 Aug 2009 08:23:02 +0000 (08:23 +0000)]
benewalloc: more special casing of unknowns as phi-inputs needed

[r26371]

14 years agobenewalloc: fix unknowns being used at phi inputs
Matthias Braun [Mon, 17 Aug 2009 08:17:54 +0000 (08:17 +0000)]
benewalloc: fix unknowns being used at phi inputs

[r26370]

14 years agobenewalloc: fix assert hitting when dying value was used at 2 inputs
Matthias Braun [Mon, 17 Aug 2009 08:11:04 +0000 (08:11 +0000)]
benewalloc: fix assert hitting when dying value was used at 2 inputs

[r26369]

14 years agogenerally rewire inputs before enforce_constraints, this fixes more bugs and makes...
Matthias Braun [Mon, 17 Aug 2009 08:06:08 +0000 (08:06 +0000)]
generally rewire inputs before enforce_constraints, this fixes more bugs and makes the fixes from last commit easier

[r26368]

14 years agofix a few errors and warnings in the new pass code; improve some comments
Matthias Braun [Mon, 17 Aug 2009 07:44:45 +0000 (07:44 +0000)]
fix a few errors and warnings in the new pass code; improve some comments

[r26367]

14 years ago- removed verify and dump parameters from passes
Michael Beck [Mon, 17 Aug 2009 00:19:59 +0000 (00:19 +0000)]
- removed verify and dump parameters from passes
- add more passes

[r26366]

14 years agobenewalloc: fix enforce_constraints sometimes looking at the original value instead...
Matthias Braun [Sun, 16 Aug 2009 22:23:59 +0000 (22:23 +0000)]
benewalloc: fix enforce_constraints sometimes looking at the original value instead of the current copy of a value

[r26365]

14 years agofix output constraints not always being respected
Matthias Braun [Sun, 16 Aug 2009 20:15:09 +0000 (20:15 +0000)]
fix output constraints not always being respected

[r26364]

14 years agocleanup and fix permutate_values (3-cycles and values being used 2 times with 1 being...
Matthias Braun [Sun, 16 Aug 2009 19:36:25 +0000 (19:36 +0000)]
cleanup and fix permutate_values (3-cycles and values being used 2 times with 1 being a fixpoint were broken)

[r26363]

14 years agofix double typedef of ir_prog
Matthias Braun [Sun, 16 Aug 2009 17:31:05 +0000 (17:31 +0000)]
fix double typedef of ir_prog

[r26362]

14 years ago- graph passes can be added to prog managers now
Michael Beck [Sun, 16 Aug 2009 13:19:09 +0000 (13:19 +0000)]
- graph passes can be added to prog managers now
- more passes implemented
- small fixes

[r26356]

14 years ago- add more passes
Michael Beck [Sun, 16 Aug 2009 03:48:44 +0000 (03:48 +0000)]
- add more passes

[r26351]

14 years ago- Put typical case of pass construction into irtools
Michael Beck [Sun, 16 Aug 2009 03:20:04 +0000 (03:20 +0000)]
- Put typical case of pass construction into irtools
- add more passes

[r26350]

14 years ago- removed C99 features
Michael Beck [Sun, 16 Aug 2009 02:06:00 +0000 (02:06 +0000)]
- removed C99 features
- typos fixed

[r26349]

14 years ago- add pass for optimize_graph_df()
Michael Beck [Sun, 16 Aug 2009 01:47:41 +0000 (01:47 +0000)]
- add pass for optimize_graph_df()

[r26348]

14 years ago- removed useless spaces
Michael Beck [Sun, 16 Aug 2009 01:34:39 +0000 (01:34 +0000)]
- removed useless spaces

[r26347]

14 years ago- add pass for combo()
Michael Beck [Sun, 16 Aug 2009 01:33:42 +0000 (01:33 +0000)]
- add pass for combo()
- fixed pass generator for lower_intrinsics
- add irpass.h to firm.h header

[r26346]

14 years ago- add pass for lower_intrinsics()
Michael Beck [Sun, 16 Aug 2009 01:09:11 +0000 (01:09 +0000)]
- add pass for lower_intrinsics()

[r26345]

14 years ago- implemented a pass manager, so optimizations could be added in advance to "a pass...
Michael Beck [Sun, 16 Aug 2009 01:06:37 +0000 (01:06 +0000)]
- implemented a pass manager, so optimizations could be added in advance to "a pass" and run an once as a pipeline
- two managers yet: graph manager runs passes on all graphs of an irp, prog manager runs passes on all irp's (currently only one)

[r26344]

14 years agofree values again if we know we don't need them anymore
Matthias Braun [Fri, 14 Aug 2009 21:15:29 +0000 (21:15 +0000)]
free values again if we know we don't need them anymore

[r26343]

14 years agobenewalloc: fix live-in values without phis not getting set to their copies
Matthias Braun [Fri, 14 Aug 2009 20:48:31 +0000 (20:48 +0000)]
benewalloc: fix live-in values without phis not getting set to their copies

[r26342]

14 years agofix more bugs in new allocator
Matthias Braun [Fri, 14 Aug 2009 20:31:52 +0000 (20:31 +0000)]
fix more bugs in new allocator

[r26341]