libfirm
17 years agouse ARR_LEN and don't save length of registers separate for benodes
Matthias Braun [Fri, 23 Feb 2007 16:25:23 +0000 (16:25 +0000)]
use ARR_LEN and don't save length of registers separate for benodes

17 years agothe delayed nodes are also counted in register pressure, subtract them form there
Matthias Braun [Fri, 23 Feb 2007 10:18:49 +0000 (10:18 +0000)]
the delayed nodes are also counted in register pressure, subtract them form there

17 years agoBugFix: allocate size for the structure, not for the pointer
Michael Beck [Thu, 22 Feb 2007 16:59:14 +0000 (16:59 +0000)]
BugFix: allocate size for the structure, not for the pointer

17 years ago- force liveness update in belady spiller, (someone doesn't seem to use
Matthias Braun [Thu, 22 Feb 2007 13:43:02 +0000 (13:43 +0000)]
- force liveness update in belady spiller, (someone doesn't seem to use
update/invalidate correctly...)
- fixed NoReg/Unknown creation

17 years agoreverting something I didn't want to committ yet
Matthias Braun [Thu, 22 Feb 2007 13:25:14 +0000 (13:25 +0000)]
reverting something I didn't want to committ yet

17 years agoaddes a comment around code that should be removed
Matthias Braun [Thu, 22 Feb 2007 13:22:44 +0000 (13:22 +0000)]
addes a comment around code that should be removed

17 years ago- change float nodes to mode_E
Matthias Braun [Thu, 22 Feb 2007 13:21:22 +0000 (13:21 +0000)]
- change float nodes to mode_E
- correctly capture spills and reloads in coalescer code

17 years agomore verification of the final graph, always kill nodes in be_remove_dead_nodes_from_...
Matthias Braun [Thu, 22 Feb 2007 13:18:39 +0000 (13:18 +0000)]
more verification of the final graph, always kill nodes in be_remove_dead_nodes_from_schedule

17 years agodisabled a verify warning which wasn't always correct
Matthias Braun [Thu, 22 Feb 2007 13:17:00 +0000 (13:17 +0000)]
disabled a verify warning which wasn't always correct

17 years agomake code a little bit nicer, don't create copies for joker registers in constraint...
Matthias Braun [Thu, 22 Feb 2007 13:14:07 +0000 (13:14 +0000)]
make code a little bit nicer, don't create copies for joker registers in constraint handling code

17 years agofixed out-flags parsing
Christian Würdig [Thu, 22 Feb 2007 11:03:54 +0000 (11:03 +0000)]
fixed out-flags parsing

17 years agofixed indenting and some comments
Christian Würdig [Thu, 22 Feb 2007 10:20:54 +0000 (10:20 +0000)]
fixed indenting and some comments

17 years agocheck register pressure in loops for variables, selected for spilling due to loop...
Christian Würdig [Wed, 21 Feb 2007 17:18:42 +0000 (17:18 +0000)]
check register pressure in loops for variables, selected for spilling due to loop structure

17 years agoadded USES_PENDING
Christian Würdig [Wed, 21 Feb 2007 17:01:12 +0000 (17:01 +0000)]
added USES_PENDING

17 years agoBugFix: set insert and find was broken
Christian Würdig [Wed, 21 Feb 2007 17:00:44 +0000 (17:00 +0000)]
BugFix: set insert and find was broken

17 years agofix ra_timers
Matthias Braun [Wed, 21 Feb 2007 10:48:19 +0000 (10:48 +0000)]
fix ra_timers

17 years agofixed typos
Christian Würdig [Wed, 21 Feb 2007 10:15:32 +0000 (10:15 +0000)]
fixed typos

17 years agoadded register pressure analysis in loops
Christian Würdig [Wed, 21 Feb 2007 10:14:05 +0000 (10:14 +0000)]
added register pressure analysis in loops

17 years agoimproved testapps
Matthias Braun [Wed, 21 Feb 2007 08:00:52 +0000 (08:00 +0000)]
improved testapps

17 years agokeep .s files
Matthias Braun [Wed, 21 Feb 2007 07:52:20 +0000 (07:52 +0000)]
keep .s files

17 years agoput timers in a global var for now, until this is solved cleaner
Matthias Braun [Wed, 21 Feb 2007 07:51:57 +0000 (07:51 +0000)]
put timers in a global var for now, until this is solved cleaner

17 years agoexchange Perm-Proj, instead of rerouting
Christian Würdig [Fri, 16 Feb 2007 16:55:18 +0000 (16:55 +0000)]
exchange Perm-Proj, instead of rerouting

17 years agoonly schedule syncs immediately, not all mode_M values
Matthias Braun [Fri, 16 Feb 2007 10:22:57 +0000 (10:22 +0000)]
only schedule syncs immediately, not all mode_M values

17 years agoanother fix :)
Matthias Braun [Fri, 16 Feb 2007 10:00:33 +0000 (10:00 +0000)]
another fix :)

17 years agoanother fix :)
Matthias Braun [Fri, 16 Feb 2007 09:59:12 +0000 (09:59 +0000)]
another fix :)

17 years agofix emitter perl script
Matthias Braun [Fri, 16 Feb 2007 09:47:46 +0000 (09:47 +0000)]
fix emitter perl script

17 years agodon't use enum as base type for bitfields
Matthias Braun [Fri, 16 Feb 2007 09:36:09 +0000 (09:36 +0000)]
don't use enum as base type for bitfields

17 years agoexperiment with new emitter style, change assembler syntax of ia32 backend to AT&T
Matthias Braun [Fri, 16 Feb 2007 09:34:29 +0000 (09:34 +0000)]
experiment with new emitter style, change assembler syntax of ia32 backend to AT&T

17 years agoimprove vararray test, make the array bigger so that the app crashs on wrong implemen...
Matthias Braun [Fri, 16 Feb 2007 09:29:20 +0000 (09:29 +0000)]
improve vararray test, make the array bigger so that the app crashs on wrong implementations :)

17 years agoremove old unused code from belady, improve schedule verifiy in beverify.c, removed...
Matthias Braun [Fri, 16 Feb 2007 08:56:04 +0000 (08:56 +0000)]
remove old unused code from belady, improve schedule verifiy in beverify.c, removed the other schedule verifier in besched.c

17 years agorebuild edges after backend transform phase
Christian Würdig [Thu, 15 Feb 2007 14:58:16 +0000 (14:58 +0000)]
rebuild edges after backend transform phase

17 years agodon't issue warnings for nodes that can still be reached through block out edges...
Matthias Braun [Thu, 15 Feb 2007 10:35:25 +0000 (10:35 +0000)]
don't issue warnings for nodes that can still be reached through block out edges (as it's nearly impossible to avoid this situation)

17 years agoadded assert (node to spill must be scheduled)
Christian Würdig [Wed, 14 Feb 2007 18:01:17 +0000 (18:01 +0000)]
added assert (node to spill must be scheduled)

17 years agoinvalidate liveness after ra
Christian Würdig [Wed, 14 Feb 2007 18:00:57 +0000 (18:00 +0000)]
invalidate liveness after ra

17 years agoadded function get nodes nodes live at another including the node inputs
Christian Würdig [Wed, 14 Feb 2007 18:00:41 +0000 (18:00 +0000)]
added function get nodes nodes live at another including the node inputs

17 years agofix alloc node in beabit, to calculate correct size, use be_kill_node
Matthias Braun [Wed, 14 Feb 2007 12:55:21 +0000 (12:55 +0000)]
fix alloc node in beabit, to calculate correct size, use be_kill_node

17 years agono need for kill_dead_nodes, use edges_deactivate; edges_activate if you need this...
Matthias Braun [Wed, 14 Feb 2007 12:52:48 +0000 (12:52 +0000)]
no need for kill_dead_nodes, use edges_deactivate; edges_activate if you need this functionality (but better fix your code)

17 years agono need for kill_dead_nodes, use edges_deactivate; edges_activate if you need this...
Matthias Braun [Wed, 14 Feb 2007 12:52:31 +0000 (12:52 +0000)]
no need for kill_dead_nodes, use edges_deactivate; edges_activate if you need this functionality (but better fix your code)

17 years agofix warning
Matthias Braun [Wed, 14 Feb 2007 12:51:25 +0000 (12:51 +0000)]
fix warning

17 years agouse edges_delete_node instead of setting edge inputs to Bad when killing a node
Matthias Braun [Wed, 14 Feb 2007 12:51:11 +0000 (12:51 +0000)]
use edges_delete_node instead of setting edge inputs to Bad when killing a node

17 years agoimprove out edges verifier
Matthias Braun [Wed, 14 Feb 2007 12:50:42 +0000 (12:50 +0000)]
improve out edges verifier

17 years agouse be_kill_node when removing nodes
Christian Würdig [Wed, 14 Feb 2007 10:17:02 +0000 (10:17 +0000)]
use be_kill_node when removing nodes

17 years agowalk over block outs when killing dead nodes
Christian Würdig [Wed, 14 Feb 2007 10:16:34 +0000 (10:16 +0000)]
walk over block outs when killing dead nodes

17 years agokill also block input when killing node
Christian Würdig [Wed, 14 Feb 2007 10:16:15 +0000 (10:16 +0000)]
kill also block input when killing node

17 years agoignore End as user when constructing SSA (it's a keep-alive edge)
Christian Würdig [Tue, 13 Feb 2007 18:05:31 +0000 (18:05 +0000)]
ignore End as user when constructing SSA (it's a keep-alive edge)
added comment

17 years agoverify edges internally as well when checking out edges
Christian Würdig [Tue, 13 Feb 2007 18:04:56 +0000 (18:04 +0000)]
verify edges internally as well when checking out edges

17 years agoremoved const from some function parameters
Christian Würdig [Mon, 12 Feb 2007 12:39:27 +0000 (12:39 +0000)]
removed const from some function parameters

17 years agomoved function to get PRoj for projnum to beutil
Christian Würdig [Mon, 12 Feb 2007 12:38:43 +0000 (12:38 +0000)]
moved function to get PRoj for projnum to beutil

17 years agoadded function to get a user Proj with a certain proj num from a mode_T node
Christian Würdig [Mon, 12 Feb 2007 12:35:54 +0000 (12:35 +0000)]
added function to get a user Proj with a certain proj num from a mode_T node

17 years agokill nodes only reachable via out edges after backend transformation
Christian Würdig [Sun, 11 Feb 2007 15:57:16 +0000 (15:57 +0000)]
kill nodes only reachable via out edges after backend transformation

17 years agoadded comment
Christian Würdig [Sun, 11 Feb 2007 15:56:45 +0000 (15:56 +0000)]
added comment
added simple dead node elimination

17 years agoextended debug output
Christian Würdig [Sun, 11 Feb 2007 15:56:21 +0000 (15:56 +0000)]
extended debug output
changed indent

17 years agophi class computation takes now an additional argument
Christian Würdig [Sun, 11 Feb 2007 15:54:07 +0000 (15:54 +0000)]
phi class computation takes now an additional argument

17 years agophiclass computation takes now an additional argument
Christian Würdig [Sun, 11 Feb 2007 15:52:16 +0000 (15:52 +0000)]
phiclass computation takes now an additional argument

17 years agochanged type for callback
Christian Würdig [Fri, 9 Feb 2007 19:06:32 +0000 (19:06 +0000)]
changed type for callback

17 years agoadded cast for get_phi_class
Christian Würdig [Fri, 9 Feb 2007 17:49:45 +0000 (17:49 +0000)]
added cast for get_phi_class

17 years agofixed DEL_ARR_F
Christian Würdig [Fri, 9 Feb 2007 17:48:53 +0000 (17:48 +0000)]
fixed DEL_ARR_F

17 years agoremoved C-99 stuff
Christian Würdig [Fri, 9 Feb 2007 16:47:28 +0000 (16:47 +0000)]
removed C-99 stuff

17 years agonew machine spec
Christian Würdig [Fri, 9 Feb 2007 16:47:09 +0000 (16:47 +0000)]
new machine spec

17 years agospeedup test app
Matthias Braun [Fri, 9 Feb 2007 15:01:52 +0000 (15:01 +0000)]
speedup test app

17 years agomake testapp deterministic
Matthias Braun [Fri, 9 Feb 2007 14:50:08 +0000 (14:50 +0000)]
make testapp deterministic

17 years agoset ESP register for AddSP and SubSP
Matthias Braun [Fri, 9 Feb 2007 14:37:21 +0000 (14:37 +0000)]
set ESP register for AddSP and SubSP

17 years agoadapted to new isa callback
Christian Würdig [Fri, 9 Feb 2007 14:20:52 +0000 (14:20 +0000)]
adapted to new isa callback

17 years agoadded isa-callback so backend can provide it's own sorted list of irgs to generate...
Christian Würdig [Fri, 9 Feb 2007 14:20:19 +0000 (14:20 +0000)]
added isa-callback so backend can provide it's own sorted list of irgs to generate code for

17 years agoadapted to new isa callback
Christian Würdig [Fri, 9 Feb 2007 14:19:29 +0000 (14:19 +0000)]
adapted to new isa callback

17 years agodo the unset correctly
Matthias Braun [Fri, 9 Feb 2007 14:18:46 +0000 (14:18 +0000)]
do the unset correctly

17 years agofix :)
Matthias Braun [Fri, 9 Feb 2007 14:15:06 +0000 (14:15 +0000)]
fix :)

17 years agofix
Matthias Braun [Fri, 9 Feb 2007 14:12:03 +0000 (14:12 +0000)]
fix

17 years agouse ecc for linking, unset language to give deterministic sort order
Matthias Braun [Fri, 9 Feb 2007 14:09:48 +0000 (14:09 +0000)]
use ecc for linking, unset language to give deterministic sort order

17 years ago- use mode_Iu for all nodes producing integer values (because registers are mode_Iu...
Matthias Braun [Fri, 9 Feb 2007 14:06:58 +0000 (14:06 +0000)]
- use mode_Iu for all nodes producing integer values (because registers are mode_Iu), this gives more possibilities for cse
- use mode_D for all nodes producing float values, this gives more possibilities for cse
- Introduce NoReg and Unknown nodes so we don't have strange projs from the start barrier
- Rewrite transform phase:
  - while transforming we now build a completely new graph on a new irg (while looking at the old graph)
  - no need to transform constants in advance anymore
  - several smaller fixes+cleanups

17 years agoset inputs of killed call ProjT to bad
Matthias Braun [Fri, 9 Feb 2007 14:01:46 +0000 (14:01 +0000)]
set inputs of killed call ProjT to bad

17 years agotest constant folding with bitset values
Matthias Braun [Fri, 9 Feb 2007 13:55:20 +0000 (13:55 +0000)]
test constant folding with bitset values

17 years agomake XXEndless only run endless when parameters are passed, cleanup some tests, add...
Matthias Braun [Fri, 9 Feb 2007 13:55:05 +0000 (13:55 +0000)]
make XXEndless only run endless when parameters are passed, cleanup some tests, add a new test

17 years agofixed wrong include
Christian Würdig [Fri, 9 Feb 2007 10:36:30 +0000 (10:36 +0000)]
fixed wrong include

17 years agoadapted to phiclass changes (is an ir_phase now based on ARR_F)
Christian Würdig [Fri, 9 Feb 2007 10:30:57 +0000 (10:30 +0000)]
adapted to phiclass changes (is an ir_phase now based on ARR_F)

17 years agoadapted to phiclass changes (is a phase now, based on ARR_F)
Christian Würdig [Fri, 9 Feb 2007 10:29:49 +0000 (10:29 +0000)]
adapted to phiclass changes (is a phase now, based on ARR_F)

17 years ago- avoid unnecessary edges recomputation
Matthias Braun [Thu, 8 Feb 2007 15:02:46 +0000 (15:02 +0000)]
- avoid unnecessary edges recomputation
- calculate execfreqs after the transform phase
- set irg phase state to phase_backend
- do more verification after the transform phase

17 years agodon't make ignore registers automatically callee-save, don't use mach_mode for consta...
Matthias Braun [Thu, 8 Feb 2007 15:00:36 +0000 (15:00 +0000)]
don't make ignore registers automatically callee-save, don't use mach_mode for constants if it is a reference mode

17 years agoreformatted/improved some testapps
Matthias Braun [Thu, 8 Feb 2007 11:45:40 +0000 (11:45 +0000)]
reformatted/improved some testapps

17 years agoalso walk dependencie edges in outedges verifier
Matthias Braun [Thu, 8 Feb 2007 11:44:17 +0000 (11:44 +0000)]
also walk dependencie edges in outedges verifier

17 years agoreformatted
Matthias Braun [Thu, 8 Feb 2007 11:43:14 +0000 (11:43 +0000)]
reformatted

17 years agoadd be_is_SubSP and fix some oparities
Matthias Braun [Thu, 8 Feb 2007 11:41:40 +0000 (11:41 +0000)]
add be_is_SubSP and fix some oparities

17 years agomake code a bit more readble
Matthias Braun [Thu, 8 Feb 2007 11:41:03 +0000 (11:41 +0000)]
make code a bit more readble

17 years agosupport empty emitter (in contrast to no emitter if you don't specify anything)
Matthias Braun [Thu, 8 Feb 2007 11:40:26 +0000 (11:40 +0000)]
support empty emitter (in contrast to no emitter if you don't specify anything)

17 years agoreturn 0
Matthias Braun [Wed, 7 Feb 2007 17:37:00 +0000 (17:37 +0000)]
return 0

17 years agoreturn 0
Matthias Braun [Wed, 7 Feb 2007 17:36:19 +0000 (17:36 +0000)]
return 0

17 years agoreturn 0
Matthias Braun [Wed, 7 Feb 2007 17:35:23 +0000 (17:35 +0000)]
return 0

17 years agovandrunen exmple
Michael Beck [Wed, 7 Feb 2007 17:18:18 +0000 (17:18 +0000)]
vandrunen exmple

17 years agofixed dump_compound_init again, still bitfield problems
Michael Beck [Wed, 7 Feb 2007 17:13:24 +0000 (17:13 +0000)]
fixed dump_compound_init again, still bitfield problems

17 years agoPhi example
Michael Beck [Wed, 7 Feb 2007 17:04:17 +0000 (17:04 +0000)]
Phi example

17 years agoUnknowns don't need a register assigned
Christian Würdig [Wed, 7 Feb 2007 17:00:56 +0000 (17:00 +0000)]
Unknowns don't need a register assigned

17 years agoconversion test
Michael Beck [Wed, 7 Feb 2007 17:00:45 +0000 (17:00 +0000)]
conversion test

17 years agoadded fix for be_dump (start with 1 when suffix is "-abi")
Christian Würdig [Wed, 7 Feb 2007 17:00:38 +0000 (17:00 +0000)]
added fix for be_dump (start with 1 when suffix is "-abi")

17 years agofixed dump_compound_init again
Michael Beck [Wed, 7 Feb 2007 15:38:10 +0000 (15:38 +0000)]
fixed dump_compound_init again

17 years agodump_compound_init(): can handle initialiezer bigger than the type size (last compoun...
Michael Beck [Wed, 7 Feb 2007 14:43:40 +0000 (14:43 +0000)]
dump_compound_init(): can handle initialiezer bigger than the type size (last compound field is an array)
more doxygen docu added

17 years agofix backend script generating wrong oparity
Matthias Braun [Wed, 7 Feb 2007 10:12:37 +0000 (10:12 +0000)]
fix backend script generating wrong oparity

17 years agorenamed type entity to new ir_entity
Michael Beck [Wed, 7 Feb 2007 01:53:36 +0000 (01:53 +0000)]
renamed type entity to new ir_entity

17 years agospeed up iteration
Michael Beck [Wed, 7 Feb 2007 01:53:18 +0000 (01:53 +0000)]
speed up iteration

17 years agofix testapp
Matthias Braun [Wed, 7 Feb 2007 00:08:38 +0000 (00:08 +0000)]
fix testapp

17 years agocompute_compound_graph_indices is no more
Matthias Braun [Tue, 6 Feb 2007 15:23:05 +0000 (15:23 +0000)]
compute_compound_graph_indices is no more