libfirm
18 years agoChanged the #ifdef __linux__ parts to the use of the lc_get_heap_used_bytes() function.
Johannes Spallek [Wed, 21 Jun 2006 11:55:22 +0000 (11:55 +0000)]
Changed the #ifdef __linux__ parts to the use of the lc_get_heap_used_bytes() function.

18 years agodump graph only if requested for chordal allocator
Christian Würdig [Wed, 21 Jun 2006 09:17:38 +0000 (09:17 +0000)]
dump graph only if requested for chordal allocator

18 years agoFixed a bug in node iterator
Sebastian Hack [Tue, 20 Jun 2006 12:16:51 +0000 (12:16 +0000)]
Fixed a bug in node iterator

18 years agoseems to work again and yields better objvals
Adam Szalkowski [Mon, 19 Jun 2006 11:25:06 +0000 (11:25 +0000)]
seems to work again and yields better objvals

18 years agoseems to spill again a bit
Adam Szalkowski [Sun, 18 Jun 2006 21:39:24 +0000 (21:39 +0000)]
seems to spill again a bit

18 years agomemcopies/interference stuff now in ILP
Adam Szalkowski [Sat, 17 Jun 2006 15:55:55 +0000 (15:55 +0000)]
memcopies/interference stuff now in ILP

18 years agoAdded include of malloc.h under __linux__
Johannes Spallek [Fri, 16 Jun 2006 10:36:50 +0000 (10:36 +0000)]
Added include of malloc.h under __linux__

18 years agoCommented check_ifg_implementations to provide functionality
Johannes Spallek [Fri, 16 Jun 2006 10:33:55 +0000 (10:33 +0000)]
Commented check_ifg_implementations to provide functionality

18 years agoChanged output of be_ifg_check_sorted back to console
Johannes Spallek [Fri, 16 Jun 2006 10:20:57 +0000 (10:20 +0000)]
Changed output of be_ifg_check_sorted back to console

18 years ago* Changed Output of be_ifg_check_sorted back to console
Johannes Spallek [Fri, 16 Jun 2006 10:20:28 +0000 (10:20 +0000)]
* Changed Output of be_ifg_check_sorted back to console
* Added function to check if an ir_node of the ifg is also in the current irg
  (in be_ifg_check_sorted)
* Changed ifdefs linux to ifdefs __linux__

18 years agoAdded bitset_free functions.
Johannes Spallek [Fri, 16 Jun 2006 10:04:08 +0000 (10:04 +0000)]
Added bitset_free functions.

18 years agoadded pointer to the chordal_env the ifg belongs to
Johannes Spallek [Fri, 16 Jun 2006 10:02:05 +0000 (10:02 +0000)]
added pointer to the chordal_env the ifg belongs to

18 years agohopefully fixed a bug which caused too high register pressure when inserting remat2s
Adam Szalkowski [Thu, 15 Jun 2006 09:41:26 +0000 (09:41 +0000)]
hopefully fixed a bug which caused too high register pressure when inserting remat2s

18 years agoadded test for valist
Michael Beck [Wed, 14 Jun 2006 16:09:48 +0000 (16:09 +0000)]
added test for valist

18 years agospeed up the FrameAddr attribute compare function
Michael Beck [Wed, 14 Jun 2006 15:19:06 +0000 (15:19 +0000)]
speed up the FrameAddr attribute compare function

18 years agobe_FrameAddr can now be CSE'd
Michael Beck [Wed, 14 Jun 2006 15:12:38 +0000 (15:12 +0000)]
be_FrameAddr can now be CSE'd

18 years agoAdd code to handle parameters that using the value_base but are transmitted
Michael Beck [Wed, 14 Jun 2006 15:05:32 +0000 (15:05 +0000)]
Add code to handle parameters that using the value_base but are transmitted
in registers. For these backing stores are added.
Note that some architecture requiere additional code to place the backing store to the right place.

18 years agoin assign_entities(): do not increase the frame if no spill slots are needed.
Michael Beck [Wed, 14 Jun 2006 14:58:33 +0000 (14:58 +0000)]
in assign_entities(): do not increase the frame if no spill slots are needed.

18 years agoadded be_ifg_check_performance() to check speed and memory needed for the creation...
Johannes Spallek [Wed, 14 Jun 2006 11:30:53 +0000 (11:30 +0000)]
added be_ifg_check_performance() to check speed and memory needed for the creation and the usage of the four ifg variants std, list, clique and pointer

18 years agomoved the check_performance_test to beifg.c and beifg.h
Johannes Spallek [Wed, 14 Jun 2006 11:02:07 +0000 (11:02 +0000)]
moved the check_performance_test to beifg.c and beifg.h

18 years agoSpilling Unknowns is cheap now
Adam Szalkowski [Mon, 12 Jun 2006 17:48:08 +0000 (17:48 +0000)]
Spilling Unknowns is cheap now

18 years ago- don't place copies between proj cascades
Matthias Braun [Mon, 12 Jun 2006 13:56:26 +0000 (13:56 +0000)]
- don't place copies between proj cascades

18 years ago- place copies in a separate walk before the belady algorithm so that they get correc...
Matthias Braun [Mon, 12 Jun 2006 12:27:47 +0000 (12:27 +0000)]
- place copies in a separate walk before the belady algorithm so that they get correctly taken into account when spilling

18 years agospill_env creation changed
Christian Würdig [Mon, 12 Jun 2006 11:58:54 +0000 (11:58 +0000)]
spill_env creation changed
removed const from struct member

18 years agoremoved MAX macro, added irtools.h therefor
Christian Würdig [Mon, 12 Jun 2006 11:57:43 +0000 (11:57 +0000)]
removed MAX macro, added irtools.h therefor

18 years agofibonacci test program
Matthias Braun [Mon, 12 Jun 2006 08:27:28 +0000 (08:27 +0000)]
fibonacci test program

18 years agofixed bug where morgan spiller was spilling more values than needed
Matthias Braun [Mon, 12 Jun 2006 08:25:49 +0000 (08:25 +0000)]
fixed bug where morgan spiller was spilling more values than needed

18 years ago- fix belady bug: don't abort search for phis when we find 1 that is not our regclass
Matthias Braun [Fri, 9 Jun 2006 14:32:48 +0000 (14:32 +0000)]
- fix belady bug: don't abort search for phis when we find 1 that is not our regclass

18 years ago- call be_spill_phi if we remove phis from belady block startset
Matthias Braun [Fri, 9 Jun 2006 13:57:44 +0000 (13:57 +0000)]
- call be_spill_phi if we remove phis from belady block startset

18 years ago- There is a difference between spilling a whole phi or only spilling the result...
Matthias Braun [Fri, 9 Jun 2006 13:29:11 +0000 (13:29 +0000)]
- There is a difference between spilling a whole phi or only spilling the result of a phi. Change belady spiller to respect this (again)

18 years agopressure stats
Adam Szalkowski [Fri, 9 Jun 2006 09:06:18 +0000 (09:06 +0000)]
pressure stats

18 years ago- Fixed bug in spilling: phi nodes that depend on itself should generate loops in...
Matthias Braun [Thu, 8 Jun 2006 15:21:26 +0000 (15:21 +0000)]
- Fixed bug in spilling: phi nodes that depend on itself should generate loops in the mem-phi as well

18 years ago- make belady handle dont_spill nodes correctly again (was broken in my last commit)
Matthias Braun [Thu, 8 Jun 2006 13:08:49 +0000 (13:08 +0000)]
- make belady handle dont_spill nodes correctly again (was broken in my last commit)

18 years ago- fix wrong verify warnings about phi nodes using values before they are defined
Matthias Braun [Thu, 8 Jun 2006 12:12:26 +0000 (12:12 +0000)]
- fix wrong verify warnings about phi nodes using values before they are defined
- beladie spiller completely ignores ignore register now

18 years agoAdded code to support the value based type (compound parameter calls)
Michael Beck [Thu, 8 Jun 2006 02:45:39 +0000 (02:45 +0000)]
Added code to support the value based type (compound parameter calls)

18 years agobetween type might be a struct, set the layout to fixed
Michael Beck [Thu, 8 Jun 2006 02:36:19 +0000 (02:36 +0000)]
between type might be a struct, set the layout to fixed

18 years agoBugFix: CLD was emitted twice
Michael Beck [Thu, 8 Jun 2006 02:35:40 +0000 (02:35 +0000)]
BugFix: CLD was emitted twice

18 years agoinit_sp Unknown node constructed with CSE disabled
Michael Beck [Wed, 7 Jun 2006 23:03:10 +0000 (23:03 +0000)]
init_sp Unknown node constructed with CSE disabled

18 years agouse save_optimization_state() restore_optimization_state()
Michael Beck [Wed, 7 Jun 2006 23:01:10 +0000 (23:01 +0000)]
use save_optimization_state() restore_optimization_state()
doxygen docu added

18 years agotest for compound call
Michael Beck [Wed, 7 Jun 2006 15:54:53 +0000 (15:54 +0000)]
test for compound call

18 years ago- removed some more obsolete code
Matthias Braun [Wed, 7 Jun 2006 15:36:55 +0000 (15:36 +0000)]
- removed some more obsolete code

18 years ago- removed now obsolete code
Matthias Braun [Wed, 7 Jun 2006 15:34:06 +0000 (15:34 +0000)]
- removed now obsolete code

18 years ago- Don't use a callback for deciding whether to spill phi nodes
Matthias Braun [Wed, 7 Jun 2006 15:31:00 +0000 (15:31 +0000)]
- Don't use a callback for deciding whether to spill phi nodes
- Morgan now calls be_spill_phi when spilling phi nodes
- no need to use beinsn in morgan analysis phase, simple iterating over in_edges is enough
- fixed bug in morgan spiller that marked some values as livethrough unused which were not

18 years agofix a few memory leaks
Matthias Braun [Wed, 7 Jun 2006 09:19:47 +0000 (09:19 +0000)]
fix a few memory leaks

18 years agoadded space
Christian Würdig [Wed, 7 Jun 2006 08:52:32 +0000 (08:52 +0000)]
added space

18 years agoannotate mode to Store link field, to prevent loss of mode when optimizing fp converts
Christian Würdig [Wed, 7 Jun 2006 08:51:35 +0000 (08:51 +0000)]
annotate mode to Store link field, to prevent loss of mode when optimizing fp converts

18 years agoseems to work now (still spill slot splitting to be done)
Adam Szalkowski [Tue, 6 Jun 2006 16:53:01 +0000 (16:53 +0000)]
seems to work now (still spill slot splitting to be done)

18 years agoBugFix: ia32_finish_irg() uses height, that uses new block walks
Michael Beck [Tue, 6 Jun 2006 13:38:04 +0000 (13:38 +0000)]
BugFix: ia32_finish_irg() uses height, that uses new block walks
so we push all blocks on a waitq first :-(

18 years agouse xmalloc instead of malloc
Michael Beck [Tue, 6 Jun 2006 12:07:45 +0000 (12:07 +0000)]
use xmalloc instead of malloc

18 years agogoodwin gammlich
Adam Szalkowski [Tue, 6 Jun 2006 09:27:20 +0000 (09:27 +0000)]
goodwin gammlich

18 years agorestoring old version - changes were unnecessary
Adam Szalkowski [Mon, 5 Jun 2006 14:45:32 +0000 (14:45 +0000)]
restoring old version - changes were unnecessary

18 years agocomputing execfreq from bb, just to be sure
Adam Szalkowski [Mon, 5 Jun 2006 14:11:22 +0000 (14:11 +0000)]
computing execfreq from bb, just to be sure

18 years agowrong irn number in ilp variable name
Adam Szalkowski [Mon, 5 Jun 2006 14:00:05 +0000 (14:00 +0000)]
wrong irn number in ilp variable name

18 years agonot functional goodwin reduction
Adam Szalkowski [Sun, 4 Jun 2006 20:05:30 +0000 (20:05 +0000)]
not functional goodwin reduction

18 years agoimplemented solution for following problem: fst cannot store 80bit values
Christian Würdig [Sun, 4 Jun 2006 14:59:26 +0000 (14:59 +0000)]
implemented solution for following problem: fst cannot store 80bit values
BugFix: x87_create_fpush pushed the wrong register
extended x87_push: allow double push

18 years agoBugFix: do not schedule memory proj when creating store for spill
Christian Würdig [Sun, 4 Jun 2006 14:56:51 +0000 (14:56 +0000)]
BugFix: do not schedule memory proj when creating store for spill

18 years agofixed indent
Christian Würdig [Sun, 4 Jun 2006 14:55:20 +0000 (14:55 +0000)]
fixed indent

18 years agofixed inverse ops a little bit
Adam Szalkowski [Fri, 2 Jun 2006 15:48:33 +0000 (15:48 +0000)]
fixed inverse ops a little bit

18 years agofixed Push optimizer
Christian Würdig [Fri, 2 Jun 2006 12:19:45 +0000 (12:19 +0000)]
fixed Push optimizer

18 years agoadded missing emitter for CopyKeep
Christian Würdig [Fri, 2 Jun 2006 12:19:32 +0000 (12:19 +0000)]
added missing emitter for CopyKeep

18 years agoadded get/set for CopyKeep operand
Christian Würdig [Fri, 2 Jun 2006 12:19:16 +0000 (12:19 +0000)]
added get/set for CopyKeep operand

18 years agofixed indent in comment
Christian Würdig [Fri, 2 Jun 2006 09:45:54 +0000 (09:45 +0000)]
fixed indent in comment

18 years agoslightly extended node dump
Christian Würdig [Fri, 2 Jun 2006 09:45:36 +0000 (09:45 +0000)]
slightly extended node dump

18 years agofixed indent
Christian Würdig [Fri, 2 Jun 2006 08:13:44 +0000 (08:13 +0000)]
fixed indent
added cvs id

18 years agofixed indent
Christian Würdig [Fri, 2 Jun 2006 08:13:31 +0000 (08:13 +0000)]
fixed indent

18 years agoput results into separate result dir
Christian Würdig [Fri, 2 Jun 2006 08:12:21 +0000 (08:12 +0000)]
put results into separate result dir
all results are named xxx_failed.txt now

18 years agodon't compare EmptyFor
Christian Würdig [Fri, 2 Jun 2006 08:11:38 +0000 (08:11 +0000)]
don't compare EmptyFor
added result dir

18 years agofixed address mode optimizer
Christian Würdig [Thu, 1 Jun 2006 15:34:29 +0000 (15:34 +0000)]
fixed address mode optimizer

18 years agoHandle NULL mode_P tarvals
Michael Beck [Thu, 1 Jun 2006 15:34:13 +0000 (15:34 +0000)]
Handle NULL mode_P tarvals

18 years agooops
Matthias Braun [Thu, 1 Jun 2006 12:52:21 +0000 (12:52 +0000)]
oops

18 years agochanged ifg->nodes_interfere to values_interfere because the local ifg is out of...
Johannes Spallek [Thu, 1 Jun 2006 12:46:16 +0000 (12:46 +0000)]
changed ifg->nodes_interfere to values_interfere because the local ifg is out of date at this point

18 years agouse verify options from chordal env
Christian Würdig [Thu, 1 Jun 2006 12:21:51 +0000 (12:21 +0000)]
use verify options from chordal env

18 years agoadded convert to keep compiler happy
Johannes Spallek [Thu, 1 Jun 2006 12:15:24 +0000 (12:15 +0000)]
added convert to keep compiler happy

18 years agochanged assert caused by killed Conv signed <-> unsigned
Christian Würdig [Thu, 1 Jun 2006 11:59:58 +0000 (11:59 +0000)]
changed assert caused by killed Conv signed <-> unsigned
fixed indent and comments

18 years agoadded additional ifg flavour options
Christian Würdig [Thu, 1 Jun 2006 10:08:06 +0000 (10:08 +0000)]
added additional ifg flavour options

18 years agoadded ifg implementations
Christian Würdig [Thu, 1 Jun 2006 09:59:23 +0000 (09:59 +0000)]
added ifg implementations

18 years ago- use an external Makefile.config for the test/Makefile that is not comitted to cvs...
Matthias Braun [Thu, 1 Jun 2006 09:14:35 +0000 (09:14 +0000)]
- use an external Makefile.config for the test/Makefile that is not comitted to cvs so that everyone can have its personal settings/flags

18 years ago- belady spiller places its copy nodes smarter now
Matthias Braun [Thu, 1 Jun 2006 09:10:55 +0000 (09:10 +0000)]
- belady spiller places its copy nodes smarter now
- new verifier test, that values in a block aren't used before they are defined

18 years agousing execfreq as default
Adam Szalkowski [Wed, 31 May 2006 19:05:51 +0000 (19:05 +0000)]
using execfreq as default

18 years agoRemoved old and unneeded stuff
Sebastian Hack [Wed, 31 May 2006 17:19:47 +0000 (17:19 +0000)]
Removed old and unneeded stuff

18 years agoMade it compile under vc2005
Sebastian Hack [Wed, 31 May 2006 16:16:53 +0000 (16:16 +0000)]
Made it compile under vc2005

18 years agoimplemented a function to retrieve estimated costs of an op
Adam Szalkowski [Wed, 31 May 2006 15:33:47 +0000 (15:33 +0000)]
implemented a function to retrieve estimated costs of an op

18 years agoadded check functions for the creation of the ifg
Johannes Spallek [Wed, 31 May 2006 15:19:01 +0000 (15:19 +0000)]
added check functions for the creation of the ifg

18 years agoAdded new check functions to check the correctness of an previous created ifg
Johannes Spallek [Wed, 31 May 2006 15:16:01 +0000 (15:16 +0000)]
Added new check functions to check the correctness of an previous created ifg

18 years agoadded a checker for the implementations (creation of an ifg)
Johannes Spallek [Wed, 31 May 2006 15:14:27 +0000 (15:14 +0000)]
added a checker for the implementations (creation of an ifg)

18 years agoadded new implementations to create an ifg
Johannes Spallek [Wed, 31 May 2006 15:13:05 +0000 (15:13 +0000)]
added new implementations to create an ifg

18 years agodumping inverse remats in cyan color
Adam Szalkowski [Wed, 31 May 2006 15:09:36 +0000 (15:09 +0000)]
dumping inverse remats in cyan color
modified insertion of remat2s at top of blocks

18 years agoBugFix: copy mode when creating inverse operation
Christian Würdig [Wed, 31 May 2006 14:29:03 +0000 (14:29 +0000)]
BugFix: copy mode when creating inverse operation

18 years ago- oops, debug code was in cvs
Matthias Braun [Wed, 31 May 2006 12:59:04 +0000 (12:59 +0000)]
- oops, debug code was in cvs

18 years ago- use foreach_out_edge_safe in remove_copies
Matthias Braun [Wed, 31 May 2006 12:10:13 +0000 (12:10 +0000)]
- use foreach_out_edge_safe in remove_copies

18 years agofixed Psi generation (get inversed instead of negated compare condition)
Christian Würdig [Wed, 31 May 2006 09:18:39 +0000 (09:18 +0000)]
fixed Psi generation (get inversed instead of negated compare condition)

18 years agofixed struct initializer
Christian Würdig [Wed, 31 May 2006 08:59:20 +0000 (08:59 +0000)]
fixed struct initializer
removed unsused variable

18 years agouse loop depth for computing execution frequencies by default
Adam Szalkowski [Tue, 30 May 2006 15:35:43 +0000 (15:35 +0000)]
use loop depth for computing execution frequencies by default

18 years agofixed MulS/Mulh generation
Christian Würdig [Tue, 30 May 2006 14:52:37 +0000 (14:52 +0000)]
fixed MulS/Mulh generation

18 years agofixed MulS/Mulh requirements
Christian Würdig [Tue, 30 May 2006 14:52:24 +0000 (14:52 +0000)]
fixed MulS/Mulh requirements

18 years agoadded xCondJmp emitter
Christian Würdig [Tue, 30 May 2006 14:52:02 +0000 (14:52 +0000)]
added xCondJmp emitter
fixed MulS/Mulh emit

18 years agocommitting ilp based spilling
Adam Szalkowski [Tue, 30 May 2006 14:43:54 +0000 (14:43 +0000)]
committing ilp based spilling
bespillappel not yet functional, ssa destruction moved outside of beraextern for use in bespillappel

18 years agofixed fp modes for x87 converts
Christian Würdig [Tue, 30 May 2006 13:28:08 +0000 (13:28 +0000)]
fixed fp modes for x87 converts
fixed CRLF

18 years agoadded missing % for fucom instruction
Christian Würdig [Tue, 30 May 2006 13:27:24 +0000 (13:27 +0000)]
added missing % for fucom instruction

18 years agofixed proj num mapping
Christian Würdig [Tue, 30 May 2006 12:10:46 +0000 (12:10 +0000)]
fixed proj num mapping