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]
Sebastian Buchwald [Mon, 7 Sep 2009 07:37:04 +0000 (07:37 +0000)]
Added missing declaration.
[r26500]
Sebastian Buchwald [Sun, 6 Sep 2009 21:31:36 +0000 (21:31 +0000)]
Use module mechanism to register copy minimization algorithms.
[r26498]
Michael Beck [Sun, 6 Sep 2009 09:16:52 +0000 (09:16 +0000)]
- removed C99 features
[r26496]
Matthias Braun [Sat, 5 Sep 2009 15:54:04 +0000 (15:54 +0000)]
allow final_cost pointer to be NULL
[r26495]
Matthias Braun [Sat, 5 Sep 2009 15:53:20 +0000 (15:53 +0000)]
avoid putting interfering stuff into the same congruence class
[r26494]
Sebastian Buchwald [Fri, 4 Sep 2009 21:49:26 +0000 (21:49 +0000)]
- removed remnant of copyheur3
- use name copyopt instead of copycoal
[r26493]
Sebastian Buchwald [Fri, 4 Sep 2009 21:20:37 +0000 (21:20 +0000)]
Added some comments.
[r26492]
Sebastian Buchwald [Fri, 4 Sep 2009 18:15:54 +0000 (18:15 +0000)]
We have already asserted the condition.
[r26491]
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]
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]
Matthias Braun [Fri, 4 Sep 2009 13:18:57 +0000 (13:18 +0000)]
only compile pbqp stuff if pbqp defines are enabled
[r26487]
Thomas Bersch [Fri, 4 Sep 2009 10:52:06 +0000 (10:52 +0000)]
- added assert for correct PBQP solution
- removed printf
[r26485]
Thomas Bersch [Fri, 4 Sep 2009 10:44:26 +0000 (10:44 +0000)]
Initial version of PBQP copy minimization.
[r26484]
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]
Matthias Braun [Thu, 3 Sep 2009 16:32:03 +0000 (16:32 +0000)]
align stackframe to 4 bytes to avoid bad esp alignments
[r26480]
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]
Matthias Braun [Thu, 3 Sep 2009 14:33:31 +0000 (14:33 +0000)]
don't optimistically split these strange msut_be_different copies
[r26477]
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]
Matthias Braun [Thu, 3 Sep 2009 10:37:47 +0000 (10:37 +0000)]
fix (nearly) endless loops in some cases of propagate_phi
[r26475]
Christoph Mallon [Thu, 3 Sep 2009 05:13:03 +0000 (05:13 +0000)]
Sort file lists in Makefile.am.
[r26473]
Christoph Mallon [Thu, 3 Sep 2009 05:06:19 +0000 (05:06 +0000)]
Add missing files to Makefile.am.
[r26472]
Christoph Mallon [Wed, 2 Sep 2009 19:09:04 +0000 (19:09 +0000)]
Remove removed files from Makefile.am.
[r26471]
Matthias Braun [Wed, 2 Sep 2009 16:57:04 +0000 (16:57 +0000)]
merge preferences along congruence classes
[r26470]
Christoph Mallon [Wed, 2 Sep 2009 10:40:20 +0000 (10:40 +0000)]
Add OALLOC*() to make allocating from obstacks a bit nicer.
[r26468]
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]
Christoph Mallon [Wed, 2 Sep 2009 06:18:48 +0000 (06:18 +0000)]
Reuse already fetched values.
[r26465]
Christoph Mallon [Wed, 2 Sep 2009 06:18:16 +0000 (06:18 +0000)]
Correct typo in comment.
[r26464]
Matthias Braun [Tue, 1 Sep 2009 20:16:48 +0000 (20:16 +0000)]
old and never used files
[r26461]
Matthias Braun [Tue, 1 Sep 2009 20:15:08 +0000 (20:15 +0000)]
old and nowaday useless tool stuff
[r26460]
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]
Matthias Braun [Tue, 1 Sep 2009 19:04:59 +0000 (19:04 +0000)]
improv execfreq estimation if a loop outedge leaves multiple loops
[r26458]
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]
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]
Michael Beck [Fri, 28 Aug 2009 22:46:21 +0000 (22:46 +0000)]
- removed C99 features
[r26444]
Matthias Braun [Fri, 28 Aug 2009 09:26:27 +0000 (09:26 +0000)]
clarify comment
[r26440]
Christoph Mallon [Thu, 27 Aug 2009 13:26:53 +0000 (13:26 +0000)]
Correct typos in comments.
[r26438]
Matthias Braun [Thu, 27 Aug 2009 13:04:30 +0000 (13:04 +0000)]
improve phi propagation
[r26437]
Sebastian Buchwald [Wed, 26 Aug 2009 11:05:13 +0000 (11:05 +0000)]
typo
[r26429]
Michael Beck [Wed, 26 Aug 2009 06:49:25 +0000 (06:49 +0000)]
- fixed r26421
[r26427]
Sebastian Buchwald [Tue, 25 Aug 2009 12:57:29 +0000 (12:57 +0000)]
Added missing parameter documentation.
[r26424]
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]
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]
Sebastian Buchwald [Mon, 24 Aug 2009 20:15:41 +0000 (20:15 +0000)]
Fixed more doxygen warnings.
[r26421]
Matthias Braun [Mon, 24 Aug 2009 19:19:25 +0000 (19:19 +0000)]
fix optimistical split
[r26420]
Sebastian Buchwald [Mon, 24 Aug 2009 19:17:56 +0000 (19:17 +0000)]
Fixed more doxygen warnings and typos.
[r26419]
Sebastian Buchwald [Mon, 24 Aug 2009 16:50:07 +0000 (16:50 +0000)]
Added missing parameter documentation.
[r26416]
Sebastian Buchwald [Mon, 24 Aug 2009 15:15:36 +0000 (15:15 +0000)]
Use @version tag
[r26415]
Sebastian Buchwald [Mon, 24 Aug 2009 15:06:31 +0000 (15:06 +0000)]
@note instead of @Note
[r26414]
Sebastian Buchwald [Mon, 24 Aug 2009 14:55:12 +0000 (14:55 +0000)]
Use @p to refer parameters.
[r26413]
Matthias Braun [Mon, 24 Aug 2009 14:54:01 +0000 (14:54 +0000)]
add missing NL to generated file
[r26412]
Matthias Braun [Mon, 24 Aug 2009 14:53:32 +0000 (14:53 +0000)]
fix comment
[r26411]
Sebastian Buchwald [Mon, 24 Aug 2009 14:48:54 +0000 (14:48 +0000)]
Removed superfluous comment.
[r26410]
Sebastian Buchwald [Mon, 24 Aug 2009 14:43:32 +0000 (14:43 +0000)]
Moved file description.
[r26409]
Sebastian Buchwald [Mon, 24 Aug 2009 14:32:39 +0000 (14:32 +0000)]
Summary is not a doxygen tag
[r26408]
Sebastian Buchwald [Mon, 24 Aug 2009 14:31:26 +0000 (14:31 +0000)]
Summary is not a doxygen tag
[r26407]
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]
Matthias Braun [Mon, 24 Aug 2009 14:16:25 +0000 (14:16 +0000)]
fix daemel spiller accessing flags of Proj nodes
[r26405]
Sebastian Buchwald [Mon, 24 Aug 2009 14:14:46 +0000 (14:14 +0000)]
typo
[r26404]
Sebastian Buchwald [Mon, 24 Aug 2009 14:03:39 +0000 (14:03 +0000)]
typo
[r26402]
Sebastian Buchwald [Mon, 24 Aug 2009 13:23:31 +0000 (13:23 +0000)]
typo
[r26401]
Michael Beck [Sun, 23 Aug 2009 02:59:08 +0000 (02:59 +0000)]
- add missing prototype
- fixed pass number
[r26397]
Michael Beck [Sun, 23 Aug 2009 02:27:49 +0000 (02:27 +0000)]
- fixed typo
[r26396]
Michael Beck [Sun, 23 Aug 2009 01:59:23 +0000 (01:59 +0000)]
- fixed pass manager
- add more passes
[r26395]
Matthias Braun [Thu, 20 Aug 2009 13:34:44 +0000 (13:34 +0000)]
a first try to propagate phi preferences upwards
[r26388]
Michael Beck [Thu, 20 Aug 2009 06:43:03 +0000 (06:43 +0000)]
Add passes for inlining, private methods.
[r26387]
Christoph Mallon [Wed, 19 Aug 2009 08:48:15 +0000 (08:48 +0000)]
Next iteration for resolving warnings.
[r26385]
Christoph Mallon [Wed, 19 Aug 2009 08:41:05 +0000 (08:41 +0000)]
Remove ununsed parameter.
[r26384]
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]
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]
Christoph Mallon [Wed, 19 Aug 2009 08:18:50 +0000 (08:18 +0000)]
Restore comment, which was lost in r26362.
[r26380]
Christoph Mallon [Wed, 19 Aug 2009 08:03:06 +0000 (08:03 +0000)]
Correct comments (indentation, typos).
[r26379]
Christoph Mallon [Wed, 19 Aug 2009 08:02:02 +0000 (08:02 +0000)]
Use correct return type (void) for pass wrapper callbacks.
[r26378]
Sebastian Buchwald [Tue, 18 Aug 2009 13:58:48 +0000 (13:58 +0000)]
typos
[r26377]
Michael Beck [Mon, 17 Aug 2009 22:58:24 +0000 (22:58 +0000)]
- add more pass constructors
[r26376]
Michael Beck [Mon, 17 Aug 2009 21:57:39 +0000 (21:57 +0000)]
- properties changed
[r26375]
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]
Matthias Braun [Mon, 17 Aug 2009 08:23:02 +0000 (08:23 +0000)]
benewalloc: more special casing of unknowns as phi-inputs needed
[r26371]
Matthias Braun [Mon, 17 Aug 2009 08:17:54 +0000 (08:17 +0000)]
benewalloc: fix unknowns being used at phi inputs
[r26370]
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]
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]
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]
Michael Beck [Mon, 17 Aug 2009 00:19:59 +0000 (00:19 +0000)]
- removed verify and dump parameters from passes
- add more passes
[r26366]
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]
Matthias Braun [Sun, 16 Aug 2009 20:15:09 +0000 (20:15 +0000)]
fix output constraints not always being respected
[r26364]
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]
Matthias Braun [Sun, 16 Aug 2009 17:31:05 +0000 (17:31 +0000)]
fix double typedef of ir_prog
[r26362]
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]
Michael Beck [Sun, 16 Aug 2009 03:48:44 +0000 (03:48 +0000)]
- add more passes
[r26351]
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]
Michael Beck [Sun, 16 Aug 2009 02:06:00 +0000 (02:06 +0000)]
- removed C99 features
- typos fixed
[r26349]
Michael Beck [Sun, 16 Aug 2009 01:47:41 +0000 (01:47 +0000)]
- add pass for optimize_graph_df()
[r26348]
Michael Beck [Sun, 16 Aug 2009 01:34:39 +0000 (01:34 +0000)]
- removed useless spaces
[r26347]
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]
Michael Beck [Sun, 16 Aug 2009 01:09:11 +0000 (01:09 +0000)]
- add pass for lower_intrinsics()
[r26345]
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]
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]
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]
Matthias Braun [Fri, 14 Aug 2009 20:31:52 +0000 (20:31 +0000)]
fix more bugs in new allocator
[r26341]
Matthias Braun [Fri, 14 Aug 2009 20:31:15 +0000 (20:31 +0000)]
fix block message in register allocator verifier
[r26340]