libfirm
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

18 years agomris must be enabled explicitly now
Christian Würdig [Tue, 30 May 2006 12:10:10 +0000 (12:10 +0000)]
mris must be enabled explicitly now

18 years agoadded option for verifier
Christian Würdig [Tue, 30 May 2006 12:09:49 +0000 (12:09 +0000)]
added option for verifier
mris is now disabled by default

18 years agoadded option for verifier
Christian Würdig [Tue, 30 May 2006 12:08:59 +0000 (12:08 +0000)]
added option for verifier

18 years agoadded cvs id
Christian Würdig [Tue, 30 May 2006 09:05:36 +0000 (09:05 +0000)]
added cvs id
updated comments

18 years agoadded comments
Christian Würdig [Tue, 30 May 2006 09:02:35 +0000 (09:02 +0000)]
added comments
fixed indents
fixed CRLF

18 years ago* changed verfier to handle delay_slots (theoretically...)
Matthias Braun [Mon, 29 May 2006 15:46:38 +0000 (15:46 +0000)]
* changed verfier to handle delay_slots (theoretically...)
* verify functions don"t assert anymore but return int

18 years agofixed asserting on modes
Christian Würdig [Mon, 29 May 2006 14:22:18 +0000 (14:22 +0000)]
fixed asserting on modes

18 years agoadded check for some virtual fp loads
Christian Würdig [Mon, 29 May 2006 14:10:11 +0000 (14:10 +0000)]
added check for some virtual fp loads

18 years agoadded lowering for lowered intrinsic operations
Christian Würdig [Mon, 29 May 2006 14:09:47 +0000 (14:09 +0000)]
added lowering for lowered intrinsic operations

18 years agoadded nodes for intrinsic lowering
Christian Würdig [Mon, 29 May 2006 14:09:28 +0000 (14:09 +0000)]
added nodes for intrinsic lowering

18 years agoadded Div, Mod and Conv mapping
Christian Würdig [Mon, 29 May 2006 14:08:51 +0000 (14:08 +0000)]
added Div, Mod and Conv mapping

18 years agoadded new environment for intrinsic lowering
Christian Würdig [Mon, 29 May 2006 14:08:13 +0000 (14:08 +0000)]
added new environment for intrinsic lowering
fixed indents

18 years agoenable sse and x87 at the same time
Christian Würdig [Mon, 29 May 2006 14:07:36 +0000 (14:07 +0000)]
enable sse and x87 at the same time

18 years agouses bitsets to determine already visited phi nodes while spilling
Christian Würdig [Mon, 29 May 2006 14:05:34 +0000 (14:05 +0000)]
uses bitsets to determine already visited phi nodes while spilling

18 years agoswitch off firm optimization setting for certain backend phases
Christian Würdig [Mon, 29 May 2006 14:04:22 +0000 (14:04 +0000)]
switch off firm optimization setting for certain backend phases

18 years agorenamed symconst_size to symconst_type_size
Michael Beck [Mon, 29 May 2006 13:40:20 +0000 (13:40 +0000)]
renamed symconst_size to symconst_type_size
added symconst_type_align