libfirm
18 years ago- oops
Matthias Braun [Mon, 3 Jul 2006 12:30:45 +0000 (12:30 +0000)]
- oops

18 years ago- placing be_copies is now an extra spill phase (to avoid problems in morgan spiller...
Matthias Braun [Mon, 3 Jul 2006 10:52:56 +0000 (10:52 +0000)]
- placing be_copies is now an extra spill phase (to avoid problems in morgan spiller as instantly placing them will make liveness data invalid)

18 years ago- no phase data needed
Matthias Braun [Mon, 3 Jul 2006 10:48:54 +0000 (10:48 +0000)]
- no phase data needed
- only spill around loops if it is really needed

18 years agoset AM support for MulS correct (None or Source)
Christian Würdig [Mon, 3 Jul 2006 08:53:49 +0000 (08:53 +0000)]
set AM support for MulS correct (None or Source)

18 years agofixed Mulh/MulS emitter (support AM source)
Christian Würdig [Mon, 3 Jul 2006 08:52:04 +0000 (08:52 +0000)]
fixed Mulh/MulS emitter (support AM source)

18 years agoFixed warning
Michael Beck [Sun, 2 Jul 2006 16:31:40 +0000 (16:31 +0000)]
Fixed warning

18 years agoused new timer push/pop
Michael Beck [Sat, 1 Jul 2006 16:30:25 +0000 (16:30 +0000)]
used new timer push/pop
removed code that supress functions with supress inline body: It is not yet guaranteed that all
function can be inlined.

18 years agoBugFix: needed function must be called outside assert() ;-)
Michael Beck [Sat, 1 Jul 2006 16:24:02 +0000 (16:24 +0000)]
BugFix: needed function must be called outside assert() ;-)
 - fix release mode

18 years agoFixed indentation
Michael Beck [Sat, 1 Jul 2006 16:22:55 +0000 (16:22 +0000)]
Fixed indentation

18 years agoKahanSum example
Michael Beck [Sat, 1 Jul 2006 16:21:11 +0000 (16:21 +0000)]
KahanSum example

18 years agoprint integer tarvals always decimal
Christian Würdig [Fri, 30 Jun 2006 13:28:04 +0000 (13:28 +0000)]
print integer tarvals always decimal

18 years agoBugFix: variable was used before initialized
Christian Würdig [Fri, 30 Jun 2006 13:27:39 +0000 (13:27 +0000)]
BugFix: variable was used before initialized

18 years agomade a local function static
Christian Würdig [Fri, 30 Jun 2006 13:26:52 +0000 (13:26 +0000)]
made a local function static

18 years agoDo NOT emit code for graphs with the supress body flag set
Michael Beck [Fri, 30 Jun 2006 13:03:25 +0000 (13:03 +0000)]
Do NOT emit code for graphs with the supress body flag set

18 years agoBugFix: create_push: sync memories of IncSP and Store
Christian Würdig [Thu, 29 Jun 2006 12:34:44 +0000 (12:34 +0000)]
BugFix: create_push: sync memories of IncSP and Store

18 years agofixed CopyB emitter
Christian Würdig [Thu, 29 Jun 2006 12:04:28 +0000 (12:04 +0000)]
fixed CopyB emitter
fixed CRLF

18 years agofixed perm emitter for XMM registers
Christian Würdig [Thu, 29 Jun 2006 09:53:36 +0000 (09:53 +0000)]
fixed perm emitter for XMM registers

18 years agoadded function for setting spill context
Adam Szalkowski [Wed, 28 Jun 2006 15:22:16 +0000 (15:22 +0000)]
added function for setting spill context

18 years agoadded fuction for setting spill context
Adam Szalkowski [Wed, 28 Jun 2006 15:21:22 +0000 (15:21 +0000)]
added fuction for setting spill context

18 years agofixed options for spill selector
Christian Würdig [Wed, 28 Jun 2006 15:12:29 +0000 (15:12 +0000)]
fixed options for spill selector

18 years agogammlich
Adam Szalkowski [Wed, 28 Jun 2006 14:39:46 +0000 (14:39 +0000)]
gammlich

18 years agocommented out some asserts
Christian Würdig [Wed, 28 Jun 2006 14:36:26 +0000 (14:36 +0000)]
commented out some asserts

18 years agoadded some special cases for addrmode optimizer
Christian Würdig [Wed, 28 Jun 2006 14:35:48 +0000 (14:35 +0000)]
added some special cases for addrmode optimizer

18 years agoadded missing "call" statement
Christian Würdig [Wed, 28 Jun 2006 14:35:25 +0000 (14:35 +0000)]
added missing "call" statement
fixed indent

18 years agohm, I'm quite happy with this
Adam Szalkowski [Wed, 28 Jun 2006 11:32:39 +0000 (11:32 +0000)]
hm, I'm quite happy with this

18 years agoPerhaps some things work better when the first node has the time step 0
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

18 years agoAdded a view initializations
Johannes Spallek [Tue, 27 Jun 2006 11:32:55 +0000 (11:32 +0000)]
Added a view initializations

18 years agovalues may die at every use
Adam Szalkowski [Tue, 27 Jun 2006 11:24:31 +0000 (11:24 +0000)]
values may die at every use

18 years agoChanged the use of list_map to an array to allow nested iteration over the nodes...
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.

18 years agoMoved the bitsets to the iterator-structs to allow nested iterations about all neighb...
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.

18 years agoAdded be_ifg_check_sorted_to_file().
Johannes Spallek [Mon, 26 Jun 2006 13:35:10 +0000 (13:35 +0000)]
Added be_ifg_check_sorted_to_file().

18 years ago* Added more debug output for interfering values during the checker
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

18 years agoMoved the bitsets to the iterator-structs to allow nested iterations about all neighb...
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.

18 years agofixed compare with symconsts
Christian Würdig [Mon, 26 Jun 2006 13:26:30 +0000 (13:26 +0000)]
fixed compare with symconsts

18 years agoadded phase: remove unused loads and all unnecessary operations from schedule
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

18 years agofixed handling of unused load results
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

18 years agoadded function to retrieve number of reachable nodes in an irg
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

18 years agorespect chordal settings for dumping
Christian Würdig [Fri, 23 Jun 2006 10:37:11 +0000 (10:37 +0000)]
respect chordal settings for dumping

18 years agochanged to_appear_in_schedule: 1 - yes, 0 - no, -1 - don't know
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

18 years agoadded backend timing facility
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

18 years agomoved some macros from bemain to here
Christian Würdig [Fri, 23 Jun 2006 10:34:44 +0000 (10:34 +0000)]
moved some macros from bemain to here
fixed indents

18 years agoadded timer convenience macro
Christian Würdig [Fri, 23 Jun 2006 10:34:13 +0000 (10:34 +0000)]
added timer convenience macro

18 years agoFixed a memory leak
Sebastian Hack [Thu, 22 Jun 2006 13:19:52 +0000 (13:19 +0000)]
Fixed a memory leak

18 years agomake sure a '\0' is at the end of an snprintf'ed string
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

18 years agosimple TLS example
Michael Beck [Wed, 21 Jun 2006 17:48:59 +0000 (17:48 +0000)]
simple TLS example

18 years agoupdated for gcc version
Michael Beck [Wed, 21 Jun 2006 17:47:40 +0000 (17:47 +0000)]
updated for gcc version

18 years agomake sure a '\0' is at the end of an snprintf'ed string
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

18 years agoWe might have Phi-Arguments that should not be consider in register allocation (like...
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

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