libfirm
15 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]

15 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]

15 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]

15 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]

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

[r26465]

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

[r26464]

15 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]

15 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]

15 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]

15 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]

15 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]

15 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]

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

[r26444]

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

[r26440]

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

[r26438]

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

[r26437]

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

[r26429]

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

[r26427]

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

[r26424]

15 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]

15 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]

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

[r26421]

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

[r26420]

15 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]

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

[r26416]

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

[r26415]

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

[r26414]

15 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]

15 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]

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

[r26411]

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

[r26410]

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

[r26409]

15 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]

15 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]

15 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]

15 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]

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

[r26404]

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

[r26402]

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

[r26401]

15 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]

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

[r26396]

15 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]

15 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]

15 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]

15 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]

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

[r26384]

15 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]

15 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]

15 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]

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

[r26379]

15 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]

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

[r26377]

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

[r26376]

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

[r26375]

15 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]

15 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]

15 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]

15 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]

15 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]

15 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]

15 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]

15 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]

15 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]

15 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]

15 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]

15 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]

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

[r26351]

15 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]

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

[r26349]

15 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]

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

[r26347]

15 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]

15 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]

15 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]

15 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]

15 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]

15 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]

15 years agofix block message in register allocator verifier
Matthias Braun [Fri, 14 Aug 2009 20:31:15 +0000 (20:31 +0000)]
fix block message in register allocator verifier

[r26340]

15 years agoDo not allocate backend info for Projs. Their tuple hold all info and asking the...
Christoph Mallon [Fri, 14 Aug 2009 18:13:07 +0000 (18:13 +0000)]
Do not allocate backend info for Projs. Their tuple hold all info and asking the Projs is plain wrong.

[r26337]

15 years agoSkip projs before getting backend flags.
Christoph Mallon [Fri, 14 Aug 2009 18:09:32 +0000 (18:09 +0000)]
Skip projs before getting backend flags.

[r26336]

15 years agofix a bug in constraint enforcement; improve phi handling and phi0 construction ...
Matthias Braun [Fri, 14 Aug 2009 13:16:29 +0000 (13:16 +0000)]
fix a bug in constraint enforcement; improve phi handling and phi0 construction (still not finished)

[r26335]

15 years agobenewalloc: cleanups; dump intermediate results; rework copy tracking logic; started...
Matthias Braun [Fri, 14 Aug 2009 08:39:05 +0000 (08:39 +0000)]
benewalloc: cleanups; dump intermediate results; rework copy tracking logic; started working on SSA construction

[r26334]

15 years ago- rework backend node dumping; add a dumper for Phi nodes
Matthias Braun [Thu, 13 Aug 2009 10:26:49 +0000 (10:26 +0000)]
- rework backend node dumping; add a dumper for Phi nodes
- make phi nodes use backend_info instead of phi_handler hashmaps

[r26332]

15 years agoMinor corrections.
Christoph Mallon [Wed, 12 Aug 2009 17:36:19 +0000 (17:36 +0000)]
Minor corrections.

[r26331]

15 years agoRemove unnecessary #include "phiclass.h".
Christoph Mallon [Wed, 12 Aug 2009 11:59:03 +0000 (11:59 +0000)]
Remove unnecessary #include "phiclass.h".

[r26330]

15 years agofix rbitset_is_empty; put opening brace of functions on an own line
Matthias Braun [Wed, 12 Aug 2009 09:14:55 +0000 (09:14 +0000)]
fix rbitset_is_empty; put opening brace of functions on an own line

[r26329]

15 years ago- implement output constraint enforcement for new register allocator
Matthias Braun [Tue, 11 Aug 2009 11:46:32 +0000 (11:46 +0000)]
- implement output constraint enforcement for new register allocator
- rename bespilloptions.* to bespill.* and bespill.* to bespillutil.*

[r26327]

15 years agoSwitchJmp doesn't have 1 'none' output
Matthias Braun [Tue, 11 Aug 2009 11:45:44 +0000 (11:45 +0000)]
SwitchJmp doesn't have 1 'none' output

[r26326]

15 years agoadd rbitsets_have_common function
Matthias Braun [Tue, 11 Aug 2009 11:45:18 +0000 (11:45 +0000)]
add rbitsets_have_common function

[r26325]

15 years agofix
Matthias Braun [Thu, 6 Aug 2009 16:36:43 +0000 (16:36 +0000)]
fix

[r26321]

15 years ago- Rewrite internal backend logic for querying register constraints.
Matthias Braun [Thu, 6 Aug 2009 14:49:04 +0000 (14:49 +0000)]
- Rewrite internal backend logic for querying register constraints.
  (We have a separate get_input, and get_output callback for now).
  This should make the code faster for now and is a first step towards
  changing the interface to query register constraints on the mode_T node
  itself instead of the Proj nodes.
- Handle middleend node constraints and stuff in benode.c instead of in each
  backend
- Remove irn_class_branch we already had is_cfop in the middleend
- Fix a bunch of bugs/problems in the process

[r26320]

15 years agofix read from uninitialized memory
Matthias Braun [Wed, 5 Aug 2009 15:16:07 +0000 (15:16 +0000)]
fix read from uninitialized memory

[r26318]

15 years agoreorganize backend headers (kill some _t variants in favor of a be_types.h)
Matthias Braun [Wed, 5 Aug 2009 10:53:46 +0000 (10:53 +0000)]
reorganize backend headers (kill some _t variants in favor of a be_types.h)

[r26317]

15 years agofix register allocation verifier not checking output constraints for mode_T nodes
Matthias Braun [Tue, 4 Aug 2009 11:36:09 +0000 (11:36 +0000)]
fix register allocation verifier not checking output constraints for mode_T nodes

[r26315]

15 years agoinitial work for phi-nodes (ifs should work, loops not yet)
Matthias Braun [Mon, 3 Aug 2009 17:26:53 +0000 (17:26 +0000)]
initial work for phi-nodes (ifs should work, loops not yet)

[r26314]

15 years agomore work on permutate values (not finished yet)
Matthias Braun [Mon, 3 Aug 2009 12:40:06 +0000 (12:40 +0000)]
more work on permutate values (not finished yet)

[r26313]

15 years agofix warning and compilation error in optimized mode
Matthias Braun [Sun, 2 Aug 2009 18:09:24 +0000 (18:09 +0000)]
fix warning and compilation error in optimized mode

[r26311]

15 years agofix a few bugs in benewalloc, split codegen timer in 2
Matthias Braun [Sun, 2 Aug 2009 18:09:07 +0000 (18:09 +0000)]
fix a few bugs in benewalloc, split codegen timer in 2

[r26310]

15 years agocleanup backend: make pre_spill_prepare_constraint independent of chordal allocator...
Matthias Braun [Fri, 31 Jul 2009 12:39:52 +0000 (12:39 +0000)]
cleanup backend: make pre_spill_prepare_constraint independent of chordal allocator structures (and rework it a bit in the process)

[r26304]

15 years agounnecessary include
Matthias Braun [Fri, 31 Jul 2009 12:39:14 +0000 (12:39 +0000)]
unnecessary include

[r26303]