Matthias Braun [Thu, 1 Mar 2007 12:13:55 +0000 (12:13 +0000)]
- fix x87 simulator not killing float copies that only move registers around,
when the operand is a constant
- workaround gas bugs which swaps fsubp,subrp, fdivp, fdivrp
Matthias Braun [Thu, 1 Mar 2007 12:12:45 +0000 (12:12 +0000)]
add some more stuff to optest
Matthias Braun [Tue, 27 Feb 2007 16:59:50 +0000 (16:59 +0000)]
SSE consts for xorps need to be 128bit
Matthias Braun [Tue, 27 Feb 2007 15:47:56 +0000 (15:47 +0000)]
fix some ia32_finish routines not setting ls_mode for xmm nodes
Matthias Braun [Tue, 27 Feb 2007 15:32:28 +0000 (15:32 +0000)]
fix cvt emitter
Matthias Braun [Tue, 27 Feb 2007 15:25:29 +0000 (15:25 +0000)]
GetST0 and xLoad also need entities
Matthias Braun [Tue, 27 Feb 2007 15:23:35 +0000 (15:23 +0000)]
fix SSE2 float calls + returns
Matthias Braun [Tue, 27 Feb 2007 15:23:31 +0000 (15:23 +0000)]
fix SSE2 float calls + returns
Matthias Braun [Tue, 27 Feb 2007 11:14:56 +0000 (11:14 +0000)]
improved optest testapp to test more cases, added an optest_float testapp
Matthias Braun [Tue, 27 Feb 2007 11:12:56 +0000 (11:12 +0000)]
don't output .global for .comm variables
Matthias Braun [Tue, 27 Feb 2007 11:10:57 +0000 (11:10 +0000)]
fix Mulh, Div, IDiv handling
Matthias Braun [Tue, 27 Feb 2007 11:08:02 +0000 (11:08 +0000)]
leave result mode of calls untouched
Christian Würdig [Mon, 26 Feb 2007 17:37:59 +0000 (17:37 +0000)]
set mode of result Proj to result mode of function
Matthias Braun [Mon, 26 Feb 2007 13:30:53 +0000 (13:30 +0000)]
output unitialized data with .comm
Christian Würdig [Fri, 23 Feb 2007 17:47:02 +0000 (17:47 +0000)]
removed dependency on chordal_env
removed unused code
Christian Würdig [Fri, 23 Feb 2007 17:46:31 +0000 (17:46 +0000)]
fixed wrong assert
Christian Würdig [Fri, 23 Feb 2007 17:46:13 +0000 (17:46 +0000)]
do not free irg, STA needs it later on
removed unused code
Christian Würdig [Fri, 23 Feb 2007 17:45:41 +0000 (17:45 +0000)]
removed unused code
removed redundant irg-dump
Christian Würdig [Fri, 23 Feb 2007 17:45:15 +0000 (17:45 +0000)]
removed C99 style
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
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
Michael Beck [Thu, 22 Feb 2007 16:59:14 +0000 (16:59 +0000)]
BugFix: allocate size for the structure, not for the pointer
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
Matthias Braun [Thu, 22 Feb 2007 13:25:14 +0000 (13:25 +0000)]
reverting something I didn't want to committ yet
Matthias Braun [Thu, 22 Feb 2007 13:22:44 +0000 (13:22 +0000)]
addes a comment around code that should be removed
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
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
Matthias Braun [Thu, 22 Feb 2007 13:17:00 +0000 (13:17 +0000)]
disabled a verify warning which wasn't always correct
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
Christian Würdig [Thu, 22 Feb 2007 11:03:54 +0000 (11:03 +0000)]
fixed out-flags parsing
Christian Würdig [Thu, 22 Feb 2007 10:20:54 +0000 (10:20 +0000)]
fixed indenting and some comments
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
Christian Würdig [Wed, 21 Feb 2007 17:01:12 +0000 (17:01 +0000)]
added USES_PENDING
Christian Würdig [Wed, 21 Feb 2007 17:00:44 +0000 (17:00 +0000)]
BugFix: set insert and find was broken
Matthias Braun [Wed, 21 Feb 2007 10:48:19 +0000 (10:48 +0000)]
fix ra_timers
Christian Würdig [Wed, 21 Feb 2007 10:15:32 +0000 (10:15 +0000)]
fixed typos
Christian Würdig [Wed, 21 Feb 2007 10:14:05 +0000 (10:14 +0000)]
added register pressure analysis in loops
Matthias Braun [Wed, 21 Feb 2007 08:00:52 +0000 (08:00 +0000)]
improved testapps
Matthias Braun [Wed, 21 Feb 2007 07:52:20 +0000 (07:52 +0000)]
keep .s files
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
Christian Würdig [Fri, 16 Feb 2007 16:55:18 +0000 (16:55 +0000)]
exchange Perm-Proj, instead of rerouting
Matthias Braun [Fri, 16 Feb 2007 10:22:57 +0000 (10:22 +0000)]
only schedule syncs immediately, not all mode_M values
Matthias Braun [Fri, 16 Feb 2007 10:00:33 +0000 (10:00 +0000)]
another fix :)
Matthias Braun [Fri, 16 Feb 2007 09:59:12 +0000 (09:59 +0000)]
another fix :)
Matthias Braun [Fri, 16 Feb 2007 09:47:46 +0000 (09:47 +0000)]
fix emitter perl script
Matthias Braun [Fri, 16 Feb 2007 09:36:09 +0000 (09:36 +0000)]
don't use enum as base type for bitfields
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
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 :)
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
Christian Würdig [Thu, 15 Feb 2007 14:58:16 +0000 (14:58 +0000)]
rebuild edges after backend transform phase
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)
Christian Würdig [Wed, 14 Feb 2007 18:01:17 +0000 (18:01 +0000)]
added assert (node to spill must be scheduled)
Christian Würdig [Wed, 14 Feb 2007 18:00:57 +0000 (18:00 +0000)]
invalidate liveness after ra
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
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
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)
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)
Matthias Braun [Wed, 14 Feb 2007 12:51:25 +0000 (12:51 +0000)]
fix warning
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
Matthias Braun [Wed, 14 Feb 2007 12:50:42 +0000 (12:50 +0000)]
improve out edges verifier
Christian Würdig [Wed, 14 Feb 2007 10:17:02 +0000 (10:17 +0000)]
use be_kill_node when removing nodes
Christian Würdig [Wed, 14 Feb 2007 10:16:34 +0000 (10:16 +0000)]
walk over block outs when killing dead nodes
Christian Würdig [Wed, 14 Feb 2007 10:16:15 +0000 (10:16 +0000)]
kill also block input when killing node
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
Christian Würdig [Tue, 13 Feb 2007 18:04:56 +0000 (18:04 +0000)]
verify edges internally as well when checking out edges
Christian Würdig [Mon, 12 Feb 2007 12:39:27 +0000 (12:39 +0000)]
removed const from some function parameters
Christian Würdig [Mon, 12 Feb 2007 12:38:43 +0000 (12:38 +0000)]
moved function to get PRoj for projnum to beutil
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
Christian Würdig [Sun, 11 Feb 2007 15:57:16 +0000 (15:57 +0000)]
kill nodes only reachable via out edges after backend transformation
Christian Würdig [Sun, 11 Feb 2007 15:56:45 +0000 (15:56 +0000)]
added comment
added simple dead node elimination
Christian Würdig [Sun, 11 Feb 2007 15:56:21 +0000 (15:56 +0000)]
extended debug output
changed indent
Christian Würdig [Sun, 11 Feb 2007 15:54:07 +0000 (15:54 +0000)]
phi class 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
Christian Würdig [Fri, 9 Feb 2007 19:06:32 +0000 (19:06 +0000)]
changed type for callback
Christian Würdig [Fri, 9 Feb 2007 17:49:45 +0000 (17:49 +0000)]
added cast for get_phi_class
Christian Würdig [Fri, 9 Feb 2007 17:48:53 +0000 (17:48 +0000)]
fixed DEL_ARR_F
Christian Würdig [Fri, 9 Feb 2007 16:47:28 +0000 (16:47 +0000)]
removed C-99 stuff
Christian Würdig [Fri, 9 Feb 2007 16:47:09 +0000 (16:47 +0000)]
new machine spec
Matthias Braun [Fri, 9 Feb 2007 15:01:52 +0000 (15:01 +0000)]
speedup test app
Matthias Braun [Fri, 9 Feb 2007 14:50:08 +0000 (14:50 +0000)]
make testapp deterministic
Matthias Braun [Fri, 9 Feb 2007 14:37:21 +0000 (14:37 +0000)]
set ESP register for AddSP and SubSP
Christian Würdig [Fri, 9 Feb 2007 14:20:52 +0000 (14:20 +0000)]
adapted to new isa callback
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
Christian Würdig [Fri, 9 Feb 2007 14:19:29 +0000 (14:19 +0000)]
adapted to new isa callback
Matthias Braun [Fri, 9 Feb 2007 14:18:46 +0000 (14:18 +0000)]
do the unset correctly
Matthias Braun [Fri, 9 Feb 2007 14:15:06 +0000 (14:15 +0000)]
fix :)
Matthias Braun [Fri, 9 Feb 2007 14:12:03 +0000 (14:12 +0000)]
fix
Matthias Braun [Fri, 9 Feb 2007 14:09:48 +0000 (14:09 +0000)]
use ecc for linking, unset language to give deterministic sort order
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
Matthias Braun [Fri, 9 Feb 2007 14:01:46 +0000 (14:01 +0000)]
set inputs of killed call ProjT to bad
Matthias Braun [Fri, 9 Feb 2007 13:55:20 +0000 (13:55 +0000)]
test constant folding with bitset values
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
Christian Würdig [Fri, 9 Feb 2007 10:36:30 +0000 (10:36 +0000)]
fixed wrong include
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)
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)
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
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
Matthias Braun [Thu, 8 Feb 2007 11:45:40 +0000 (11:45 +0000)]
reformatted/improved some testapps
Matthias Braun [Thu, 8 Feb 2007 11:44:17 +0000 (11:44 +0000)]
also walk dependencie edges in outedges verifier
Matthias Braun [Thu, 8 Feb 2007 11:43:14 +0000 (11:43 +0000)]
reformatted