Adam Szalkowski [Wed, 28 Jun 2006 15:21:22 +0000 (15:21 +0000)]
added fuction for setting spill context
Christian Würdig [Wed, 28 Jun 2006 15:12:29 +0000 (15:12 +0000)]
fixed options for spill selector
Adam Szalkowski [Wed, 28 Jun 2006 14:39:46 +0000 (14:39 +0000)]
gammlich
Christian Würdig [Wed, 28 Jun 2006 14:36:26 +0000 (14:36 +0000)]
commented out some asserts
Christian Würdig [Wed, 28 Jun 2006 14:35:48 +0000 (14:35 +0000)]
added some special cases for addrmode optimizer
Christian Würdig [Wed, 28 Jun 2006 14:35:25 +0000 (14:35 +0000)]
added missing "call" statement
fixed indent
Adam Szalkowski [Wed, 28 Jun 2006 11:32:39 +0000 (11:32 +0000)]
hm, I'm quite happy with this
Sebastian Hack [Tue, 27 Jun 2006 13:34:45 +0000 (13:34 +0000)]
Perhaps some things work better when the first node has the time step 0
Johannes Spallek [Tue, 27 Jun 2006 11:32:55 +0000 (11:32 +0000)]
Added a view initializations
Adam Szalkowski [Tue, 27 Jun 2006 11:24:31 +0000 (11:24 +0000)]
values may die at every use
Johannes Spallek [Mon, 26 Jun 2006 15:49:18 +0000 (15:49 +0000)]
Changed the use of list_map to an array to allow nested iteration over the nodes of the ifg.
Johannes Spallek [Mon, 26 Jun 2006 13:43:29 +0000 (13:43 +0000)]
Moved the bitsets to the iterator-structs to allow nested iterations about all neighbours.
Johannes Spallek [Mon, 26 Jun 2006 13:35:10 +0000 (13:35 +0000)]
Added be_ifg_check_sorted_to_file().
Johannes Spallek [Mon, 26 Jun 2006 13:34:07 +0000 (13:34 +0000)]
* Added more debug output for interfering values during the checker
* Changed default value for copymin_heur zu co2
* Added more check functions for the ifg
Johannes Spallek [Mon, 26 Jun 2006 13:30:26 +0000 (13:30 +0000)]
Moved the bitsets to the iterator-structs to allow nested iterations about all neighbours.
Christian Würdig [Mon, 26 Jun 2006 13:26:30 +0000 (13:26 +0000)]
fixed compare with symconsts
Christian Würdig [Mon, 26 Jun 2006 13:25:58 +0000 (13:25 +0000)]
added phase: remove unused loads and all unnecessary operations from schedule
fixed indent
Christian Würdig [Fri, 23 Jun 2006 10:39:17 +0000 (10:39 +0000)]
fixed handling of unused load results
fixed indents
respect dump flag settings
Christian Würdig [Fri, 23 Jun 2006 10:37:32 +0000 (10:37 +0000)]
added function to retrieve number of reachable nodes in an irg
Christian Würdig [Fri, 23 Jun 2006 10:37:11 +0000 (10:37 +0000)]
respect chordal settings for dumping
Christian Würdig [Fri, 23 Jun 2006 10:36:24 +0000 (10:36 +0000)]
changed to_appear_in_schedule: 1 - yes, 0 - no, -1 - don't know
Christian Würdig [Fri, 23 Jun 2006 10:35:37 +0000 (10:35 +0000)]
added backend timing facility
register allocator returns now struct with times of single phases
Christian Würdig [Fri, 23 Jun 2006 10:34:44 +0000 (10:34 +0000)]
moved some macros from bemain to here
fixed indents
Christian Würdig [Fri, 23 Jun 2006 10:34:13 +0000 (10:34 +0000)]
added timer convenience macro
Sebastian Hack [Thu, 22 Jun 2006 13:19:52 +0000 (13:19 +0000)]
Fixed a memory leak
Michael Beck [Wed, 21 Jun 2006 17:50:45 +0000 (17:50 +0000)]
make sure a '\0' is at the end of an snprintf'ed string
typo fixed
Michael Beck [Wed, 21 Jun 2006 17:48:59 +0000 (17:48 +0000)]
simple TLS example
Michael Beck [Wed, 21 Jun 2006 17:47:40 +0000 (17:47 +0000)]
updated for gcc version
Michael Beck [Wed, 21 Jun 2006 17:46:15 +0000 (17:46 +0000)]
make sure a '\0' is at the end of an snprintf'ed string
Matthias Braun [Wed, 21 Jun 2006 12:03:14 +0000 (12:03 +0000)]
We might have Phi-Arguments that should not be consider in register allocation (like unknwons), don't try to place reloads for them
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.
Christian Würdig [Wed, 21 Jun 2006 09:17:38 +0000 (09:17 +0000)]
dump graph only if requested for chordal allocator
Sebastian Hack [Tue, 20 Jun 2006 12:16:51 +0000 (12:16 +0000)]
Fixed a bug in node iterator
Adam Szalkowski [Mon, 19 Jun 2006 11:25:06 +0000 (11:25 +0000)]
seems to work again and yields better objvals
Adam Szalkowski [Sun, 18 Jun 2006 21:39:24 +0000 (21:39 +0000)]
seems to spill again a bit
Adam Szalkowski [Sat, 17 Jun 2006 15:55:55 +0000 (15:55 +0000)]
memcopies/interference stuff now in ILP
Johannes Spallek [Fri, 16 Jun 2006 10:36:50 +0000 (10:36 +0000)]
Added include of malloc.h under __linux__
Johannes Spallek [Fri, 16 Jun 2006 10:33:55 +0000 (10:33 +0000)]
Commented check_ifg_implementations to provide functionality
Johannes Spallek [Fri, 16 Jun 2006 10:20:57 +0000 (10:20 +0000)]
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__
Johannes Spallek [Fri, 16 Jun 2006 10:04:08 +0000 (10:04 +0000)]
Added bitset_free functions.
Johannes Spallek [Fri, 16 Jun 2006 10:02:05 +0000 (10:02 +0000)]
added pointer to the chordal_env the ifg belongs to
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
Michael Beck [Wed, 14 Jun 2006 16:09:48 +0000 (16:09 +0000)]
added test for valist
Michael Beck [Wed, 14 Jun 2006 15:19:06 +0000 (15:19 +0000)]
speed up the FrameAddr attribute compare function
Michael Beck [Wed, 14 Jun 2006 15:12:38 +0000 (15:12 +0000)]
be_FrameAddr can now be CSE'd
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.
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.
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
Johannes Spallek [Wed, 14 Jun 2006 11:02:07 +0000 (11:02 +0000)]
moved the check_performance_test to beifg.c and beifg.h
Adam Szalkowski [Mon, 12 Jun 2006 17:48:08 +0000 (17:48 +0000)]
Spilling Unknowns is cheap now
Matthias Braun [Mon, 12 Jun 2006 13:56:26 +0000 (13:56 +0000)]
- don't place copies between proj cascades
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
Christian Würdig [Mon, 12 Jun 2006 11:58:54 +0000 (11:58 +0000)]
spill_env creation changed
removed const from struct member
Christian Würdig [Mon, 12 Jun 2006 11:57:43 +0000 (11:57 +0000)]
removed MAX macro, added irtools.h therefor
Matthias Braun [Mon, 12 Jun 2006 08:27:28 +0000 (08:27 +0000)]
fibonacci test program
Matthias Braun [Mon, 12 Jun 2006 08:25:49 +0000 (08:25 +0000)]
fixed bug where morgan spiller was spilling more values than needed
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
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
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)
Adam Szalkowski [Fri, 9 Jun 2006 09:06:18 +0000 (09:06 +0000)]
pressure stats
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
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)
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
Michael Beck [Thu, 8 Jun 2006 02:45:39 +0000 (02:45 +0000)]
Added code to support the value based type (compound parameter calls)
Michael Beck [Thu, 8 Jun 2006 02:36:19 +0000 (02:36 +0000)]
between type might be a struct, set the layout to fixed
Michael Beck [Thu, 8 Jun 2006 02:35:40 +0000 (02:35 +0000)]
BugFix: CLD was emitted twice
Michael Beck [Wed, 7 Jun 2006 23:03:10 +0000 (23:03 +0000)]
init_sp Unknown node constructed with CSE disabled
Michael Beck [Wed, 7 Jun 2006 23:01:10 +0000 (23:01 +0000)]
use save_optimization_state() restore_optimization_state()
doxygen docu added
Michael Beck [Wed, 7 Jun 2006 15:54:53 +0000 (15:54 +0000)]
test for compound call
Matthias Braun [Wed, 7 Jun 2006 15:36:55 +0000 (15:36 +0000)]
- removed some more obsolete code
Matthias Braun [Wed, 7 Jun 2006 15:34:06 +0000 (15:34 +0000)]
- removed now obsolete code
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
Matthias Braun [Wed, 7 Jun 2006 09:19:47 +0000 (09:19 +0000)]
fix a few memory leaks
Christian Würdig [Wed, 7 Jun 2006 08:52:32 +0000 (08:52 +0000)]
added space
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
Adam Szalkowski [Tue, 6 Jun 2006 16:53:01 +0000 (16:53 +0000)]
seems to work now (still spill slot splitting to be done)
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 :-(
Michael Beck [Tue, 6 Jun 2006 12:07:45 +0000 (12:07 +0000)]
use xmalloc instead of malloc
Adam Szalkowski [Tue, 6 Jun 2006 09:27:20 +0000 (09:27 +0000)]
goodwin gammlich
Adam Szalkowski [Mon, 5 Jun 2006 14:45:32 +0000 (14:45 +0000)]
restoring old version - changes were unnecessary
Adam Szalkowski [Mon, 5 Jun 2006 14:11:22 +0000 (14:11 +0000)]
computing execfreq from bb, just to be sure
Adam Szalkowski [Mon, 5 Jun 2006 14:00:05 +0000 (14:00 +0000)]
wrong irn number in ilp variable name
Adam Szalkowski [Sun, 4 Jun 2006 20:05:30 +0000 (20:05 +0000)]
not functional goodwin reduction
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
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
Christian Würdig [Sun, 4 Jun 2006 14:55:20 +0000 (14:55 +0000)]
fixed indent
Adam Szalkowski [Fri, 2 Jun 2006 15:48:33 +0000 (15:48 +0000)]
fixed inverse ops a little bit
Christian Würdig [Fri, 2 Jun 2006 12:19:45 +0000 (12:19 +0000)]
fixed Push optimizer
Christian Würdig [Fri, 2 Jun 2006 12:19:32 +0000 (12:19 +0000)]
added missing emitter for CopyKeep
Christian Würdig [Fri, 2 Jun 2006 12:19:16 +0000 (12:19 +0000)]
added get/set for CopyKeep operand
Christian Würdig [Fri, 2 Jun 2006 09:45:54 +0000 (09:45 +0000)]
fixed indent in comment
Christian Würdig [Fri, 2 Jun 2006 09:45:36 +0000 (09:45 +0000)]
slightly extended node dump
Christian Würdig [Fri, 2 Jun 2006 08:13:44 +0000 (08:13 +0000)]
fixed indent
added cvs id
Christian Würdig [Fri, 2 Jun 2006 08:13:31 +0000 (08:13 +0000)]
fixed indent
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
Christian Würdig [Fri, 2 Jun 2006 08:11:38 +0000 (08:11 +0000)]
don't compare EmptyFor
added result dir
Christian Würdig [Thu, 1 Jun 2006 15:34:29 +0000 (15:34 +0000)]
fixed address mode optimizer
Michael Beck [Thu, 1 Jun 2006 15:34:13 +0000 (15:34 +0000)]
Handle NULL mode_P tarvals
Matthias Braun [Thu, 1 Jun 2006 12:52:21 +0000 (12:52 +0000)]
oops