Christian Würdig [Wed, 24 Jan 2007 15:59:51 +0000 (15:59 +0000)]
set default register class of call address to SP class, but backend may provide another class or NULL
Matthias Braun [Wed, 24 Jan 2007 12:24:49 +0000 (12:24 +0000)]
make projs of calle/caller save register and call return values have the same mode as the used registers
Matthias Braun [Wed, 24 Jan 2007 12:23:32 +0000 (12:23 +0000)]
assure doms when calculating liveness
Christian Würdig [Fri, 19 Jan 2007 16:06:30 +0000 (16:06 +0000)]
Unknowns don't need to be scheduled
Christian Würdig [Fri, 19 Jan 2007 16:06:11 +0000 (16:06 +0000)]
added CVS id
Christian Würdig [Fri, 19 Jan 2007 16:06:00 +0000 (16:06 +0000)]
check constraints only for scheduled nodes
Christian Würdig [Fri, 19 Jan 2007 16:05:24 +0000 (16:05 +0000)]
fix Unknown handling
Christian Würdig [Fri, 19 Jan 2007 16:04:49 +0000 (16:04 +0000)]
added new abi callback (fix stack phis)
Christian Würdig [Tue, 16 Jan 2007 16:36:42 +0000 (16:36 +0000)]
added be_kill_node function
Michael Beck [Tue, 16 Jan 2007 15:47:29 +0000 (15:47 +0000)]
renamed type opcode to ir_opcode
Michael Beck [Tue, 16 Jan 2007 15:46:34 +0000 (15:46 +0000)]
Fixed output on different compilers
Christian Würdig [Mon, 15 Jan 2007 15:37:16 +0000 (15:37 +0000)]
removed debugging printf
Christian Würdig [Mon, 15 Jan 2007 15:30:39 +0000 (15:30 +0000)]
removed dependencies on chordal_env
Christian Würdig [Mon, 15 Jan 2007 15:30:10 +0000 (15:30 +0000)]
fixed wrong heights_recompute (block walk inside block walk)
Christian Würdig [Sat, 13 Jan 2007 22:57:34 +0000 (22:57 +0000)]
removed chordal_env from be lowering
Michael Beck [Fri, 12 Jan 2007 18:09:20 +0000 (18:09 +0000)]
Fixed for GCC and MS
Matthias Braun [Fri, 12 Jan 2007 15:38:10 +0000 (15:38 +0000)]
make spillremat independent from chordal_env
Christian Würdig [Fri, 12 Jan 2007 13:49:32 +0000 (13:49 +0000)]
special case handling for startblock succesor no longer necessary (there is an explicit jump in the start block now)
Christian Würdig [Fri, 12 Jan 2007 13:47:21 +0000 (13:47 +0000)]
place an explicit jump into the start block
Matthias Braun [Fri, 12 Jan 2007 12:48:30 +0000 (12:48 +0000)]
added some comments
Matthias Braun [Fri, 12 Jan 2007 12:44:26 +0000 (12:44 +0000)]
make belady and morgan spillers independent from chordal_env
Matthias Braun [Fri, 12 Jan 2007 12:43:54 +0000 (12:43 +0000)]
fix warnings
Matthias Braun [Fri, 12 Jan 2007 10:48:25 +0000 (10:48 +0000)]
reverted my last fix attempt and just commented out the failing assert
Matthias Braun [Thu, 11 Jan 2007 16:12:51 +0000 (16:12 +0000)]
try to fix remat spiller for cases where the inverse operation produces less than 2 values...
Christian Würdig [Thu, 11 Jan 2007 16:03:24 +0000 (16:03 +0000)]
added function to get frame offset
Christian Würdig [Thu, 11 Jan 2007 16:02:37 +0000 (16:02 +0000)]
removed empty line
Christian Würdig [Thu, 11 Jan 2007 16:02:24 +0000 (16:02 +0000)]
call can now produce ignore registers
Christian Würdig [Thu, 11 Jan 2007 16:02:08 +0000 (16:02 +0000)]
added comment
Matthias Braun [Thu, 11 Jan 2007 13:58:14 +0000 (13:58 +0000)]
no need for a custom put_ignore_regs in bechordal_main
Matthias Braun [Thu, 11 Jan 2007 13:48:35 +0000 (13:48 +0000)]
there is no be_chordal_open anymore, don't call init_arch_sta if WITH_STA is not defined
Matthias Braun [Thu, 11 Jan 2007 13:38:42 +0000 (13:38 +0000)]
some cleanups to ifg code, move ifg specific code to beifg.c
Matthias Braun [Thu, 11 Jan 2007 13:36:36 +0000 (13:36 +0000)]
sta is not there by default
Christian Würdig [Thu, 11 Jan 2007 13:31:05 +0000 (13:31 +0000)]
BugFix: callback must return true if everything was ok
Michael Beck [Wed, 10 Jan 2007 17:21:06 +0000 (17:21 +0000)]
Add missing $ for CVS keyword expansion
Matthias Braun [Wed, 10 Jan 2007 15:58:58 +0000 (15:58 +0000)]
fix my latest committ
Matthias Braun [Wed, 10 Jan 2007 15:58:32 +0000 (15:58 +0000)]
isas and spillers register themselfes in the module constructors now
Matthias Braun [Wed, 10 Jan 2007 15:36:53 +0000 (15:36 +0000)]
fix
Matthias Braun [Wed, 10 Jan 2007 15:36:25 +0000 (15:36 +0000)]
warning fix
Christian Würdig [Wed, 10 Jan 2007 15:29:21 +0000 (15:29 +0000)]
add nodes remated by backend into schedule
Matthias Braun [Wed, 10 Jan 2007 14:13:05 +0000 (14:13 +0000)]
added possibility to place explicitely rematted nodes instead of normal reloads in spillers
Christian Würdig [Wed, 10 Jan 2007 13:07:05 +0000 (13:07 +0000)]
consider node latency now when sorting nodes for scheduling
Christian Würdig [Wed, 10 Jan 2007 13:06:32 +0000 (13:06 +0000)]
added function declaration
Christian Würdig [Fri, 5 Jan 2007 15:15:38 +0000 (15:15 +0000)]
added missing include
Michael Beck [Fri, 22 Dec 2006 21:22:45 +0000 (21:22 +0000)]
added missing commend_string_end
Michael Beck [Fri, 22 Dec 2006 15:20:12 +0000 (15:20 +0000)]
removed deprecated function
Matthias Braun [Thu, 21 Dec 2006 15:14:06 +0000 (15:14 +0000)]
fix entity collector collecting loads without entities
Matthias Braun [Thu, 21 Dec 2006 15:09:29 +0000 (15:09 +0000)]
fix for scheduled nodes
Matthias Braun [Thu, 21 Dec 2006 15:07:03 +0000 (15:07 +0000)]
start register allocator again, fix typo
Matthias Braun [Thu, 21 Dec 2006 14:58:23 +0000 (14:58 +0000)]
don't forget to add bemodule to makefile
Matthias Braun [Thu, 21 Dec 2006 14:58:05 +0000 (14:58 +0000)]
old files
Matthias Braun [Thu, 21 Dec 2006 14:57:40 +0000 (14:57 +0000)]
fix things when WITH_JVM and WITH_ILP is defined
Matthias Braun [Thu, 21 Dec 2006 14:55:19 +0000 (14:55 +0000)]
forgot a file
Matthias Braun [Thu, 21 Dec 2006 14:55:08 +0000 (14:55 +0000)]
- All backend modules use module constructors for registering their options now
- New register allocator modules can register themselfes in a list now,
the same will be done for spillers, copy coalescers, architectures soon
Matthias Braun [Thu, 21 Dec 2006 14:36:27 +0000 (14:36 +0000)]
introduction of bemodule
Michael Beck [Wed, 20 Dec 2006 13:52:38 +0000 (13:52 +0000)]
Added new required comment_string_end
Christian Würdig [Tue, 19 Dec 2006 15:44:04 +0000 (15:44 +0000)]
added comment_string_end
Michael Beck [Mon, 18 Dec 2006 17:08:44 +0000 (17:08 +0000)]
removed two warnings
Michael Beck [Mon, 18 Dec 2006 17:03:28 +0000 (17:03 +0000)]
removed C99 features
Matthias Braun [Mon, 18 Dec 2006 15:59:41 +0000 (15:59 +0000)]
less output for gcd
Matthias Braun [Mon, 18 Dec 2006 14:25:54 +0000 (14:25 +0000)]
full blown version of convtest works again
Matthias Braun [Mon, 18 Dec 2006 14:24:23 +0000 (14:24 +0000)]
the spillslot coalescer is now a general frame entity coalescer for all nodes that don't have entities yet\n We use that for the lowered float->int and int->float convert nodes now
Matthias Braun [Mon, 18 Dec 2006 12:48:53 +0000 (12:48 +0000)]
new version of convtests that actually demonstrates the current conversion bugs
Matthias Braun [Mon, 18 Dec 2006 12:43:44 +0000 (12:43 +0000)]
- Use a default node compare attribute function for all nodes, except the ones
where CSE is explicitely forbidden. This fixes some bugs where a cmp
function was missing.
- Don't make all the nodes mode_T by default. They keep their normal mode
node and only get set to mode_T is we actually use am_Dest
- get rid of src_mode and tgt_mode node attribute, you can get the modes
by looking at the conv output mode and the arguments mode. This fixes
some bugs where the src_mode and tgt_mode attributes were wrong
- cleaned up and fixed some bugs in addressmode optimisation
Matthias Braun [Mon, 18 Dec 2006 12:39:21 +0000 (12:39 +0000)]
reindentation...
Matthias Braun [Mon, 18 Dec 2006 12:37:27 +0000 (12:37 +0000)]
add some consts to beirg functions
Matthias Braun [Mon, 18 Dec 2006 12:36:51 +0000 (12:36 +0000)]
fix for scheduling changes
Matthias Braun [Mon, 18 Dec 2006 12:36:41 +0000 (12:36 +0000)]
warning fix
Matthias Braun [Mon, 18 Dec 2006 12:36:19 +0000 (12:36 +0000)]
fix belistsched for new scheduling API
Matthias Braun [Mon, 18 Dec 2006 12:35:58 +0000 (12:35 +0000)]
- Added a few asserts to the besched API, so you can't schedule a node
that is already scheduled
Matthias Braun [Mon, 18 Dec 2006 12:35:15 +0000 (12:35 +0000)]
warning fixes
Matthias Braun [Mon, 18 Dec 2006 12:34:49 +0000 (12:34 +0000)]
Add a variant of the spillslot coalescing API where you can push the nodes
that need entities. (the old API that uses irn classification callbacks is
still available for now...)
Matthias Braun [Mon, 18 Dec 2006 10:20:46 +0000 (10:20 +0000)]
- indent generated code with tabs instead of spaces\n- allow specification of a default compare function for all nodes\n- allow specification of a default mode for a node
Matthias Braun [Fri, 15 Dec 2006 16:40:04 +0000 (16:40 +0000)]
warning fix
Matthias Braun [Fri, 15 Dec 2006 16:39:30 +0000 (16:39 +0000)]
- cleaned up spill/reload transform code a bit
- don't do address mode if spill size is bad (no addressmode for mode_E)
- don't do super exact spilling for now
- fixed bug where node compare didn't respect some node attributes
Matthias Braun [Fri, 15 Dec 2006 15:30:28 +0000 (15:30 +0000)]
fix warning
Christian Würdig [Fri, 15 Dec 2006 14:59:37 +0000 (14:59 +0000)]
added beirg stuff
Christian Würdig [Fri, 15 Dec 2006 14:53:57 +0000 (14:53 +0000)]
changed structure if interface
Matthias Braun [Fri, 15 Dec 2006 12:46:02 +0000 (12:46 +0000)]
fix bad format string for gendecls
Matthias Braun [Fri, 15 Dec 2006 10:42:04 +0000 (10:42 +0000)]
warning fixes
Christian Würdig [Fri, 15 Dec 2006 10:32:44 +0000 (10:32 +0000)]
moved beirg.h include from be.h to files which use it
Matthias Braun [Thu, 14 Dec 2006 15:29:05 +0000 (15:29 +0000)]
reloads only have 1 memory input now
Matthias Braun [Thu, 14 Dec 2006 15:26:40 +0000 (15:26 +0000)]
expecting string is wrong in test
Matthias Braun [Thu, 14 Dec 2006 15:25:22 +0000 (15:25 +0000)]
Several x87 fixes, cleanups:
- typedef unsigned char vfp_liveness, to make code easier understandable
- sim_binop:
- Add a few comments and move code around to make it easier to understand
- sim_store:
- Don't forget to create an fxch for mode_E fstp
- sim_fCondJmp
- Add a few comments and move code around to make it easier to understand
- comrs already reverse Jumps, no XCHG needed
- test for op == 0 not op1 == op2 after fxch
- assign results to the correct register slots!
- No need for block schedule anymore, fill worklist with successor blocks
- Get liveness from birg and don't recompute
Matthias Braun [Thu, 14 Dec 2006 15:24:10 +0000 (15:24 +0000)]
move birg to an own file, use more of the birg analysis data
Matthias Braun [Thu, 14 Dec 2006 15:23:25 +0000 (15:23 +0000)]
more warning fixes
Matthias Braun [Thu, 14 Dec 2006 14:43:04 +0000 (14:43 +0000)]
use skip_Proj_const to avoid warnings
Matthias Braun [Thu, 14 Dec 2006 14:42:10 +0000 (14:42 +0000)]
warning fixes
Matthias Braun [Thu, 14 Dec 2006 14:39:43 +0000 (14:39 +0000)]
warning fixes
Matthias Braun [Thu, 14 Dec 2006 14:32:42 +0000 (14:32 +0000)]
dump AM symconsts
Matthias Braun [Thu, 14 Dec 2006 13:45:45 +0000 (13:45 +0000)]
cvsignore update
Matthias Braun [Thu, 14 Dec 2006 13:45:37 +0000 (13:45 +0000)]
bitfields work like gcc now, we can output packing in our tests
Christian Würdig [Thu, 14 Dec 2006 13:42:17 +0000 (13:42 +0000)]
fixed for backend provided spiller (wrong chordal env passed)
Michael Beck [Wed, 13 Dec 2006 19:58:25 +0000 (19:58 +0000)]
rename type entity into ir_entity
Michael Beck [Wed, 13 Dec 2006 19:55:29 +0000 (19:55 +0000)]
rename type entity into ir_entity
Michael Beck [Wed, 13 Dec 2006 19:54:48 +0000 (19:54 +0000)]
rename type entity into ir_entity
Michael Beck [Wed, 13 Dec 2006 19:54:30 +0000 (19:54 +0000)]
rename type entity into ir_entity
Michael Beck [Wed, 13 Dec 2006 19:53:36 +0000 (19:53 +0000)]
rename type entity into ir_entity
Michael Beck [Wed, 13 Dec 2006 19:53:06 +0000 (19:53 +0000)]
rename type entity into ir_entity
Christian Würdig [Wed, 13 Dec 2006 15:05:17 +0000 (15:05 +0000)]
added copy attribute function (out_flags is a variable array on irg obstack)
Christian Würdig [Wed, 13 Dec 2006 15:00:58 +0000 (15:00 +0000)]
be_add_reload now takes reload register class as additional argument (needed for STA backend)