Matthias Braun [Tue, 20 Mar 2007 10:23:45 +0000 (10:23 +0000)]
make the mips backend do some half-usefull things again
Matthias Braun [Tue, 20 Mar 2007 10:23:19 +0000 (10:23 +0000)]
reindent 2 lines...
Matthias Braun [Tue, 20 Mar 2007 10:18:42 +0000 (10:18 +0000)]
added cvsignore
Matthias Braun [Mon, 19 Mar 2007 17:05:21 +0000 (17:05 +0000)]
The big committ:
- Replace limit callback in register requirements with a simple bitset
- Fix backends, generators and the rest of the code for the change register
requirements structure
- Eliminated the custom register_requirement structures in the backend, they
are pointless now, use the normal arch_register_req_t
- Fix TEMPLATE backend
- Extract emitter framework from ia32 and provide generic header/code for it
- Port TEMPLATE backend to new emitter
- Extract gas specific emit stuff (declarations, sections) from ia32 backend
and provide it as generic header/code. Make TEMPLATE backend use that
- Remove several FIRM_DBG_REGISTERs from functions which are called very often.
Before we had millions of string hashtable lookups because of that. The
prefered way is to have 1 static debug module per file and initialize it in
the module constructor. No passing around in environment structs and in no
case should you dynamically register it in single functions.
Christian Würdig [Sun, 18 Mar 2007 17:35:17 +0000 (17:35 +0000)]
removed unused variable
Christian Würdig [Sun, 18 Mar 2007 17:33:20 +0000 (17:33 +0000)]
fixed precedence constraint
Christian Würdig [Fri, 16 Mar 2007 14:26:48 +0000 (14:26 +0000)]
added more statistics
Christian Würdig [Fri, 16 Mar 2007 12:38:51 +0000 (12:38 +0000)]
added sieve
Christian Würdig [Fri, 16 Mar 2007 09:47:18 +0000 (09:47 +0000)]
added missing include
Christian Würdig [Thu, 15 Mar 2007 17:29:37 +0000 (17:29 +0000)]
added some statistics
Christian Würdig [Thu, 15 Mar 2007 14:48:07 +0000 (14:48 +0000)]
fallback to list scheduler when ILP fails
Christian Würdig [Thu, 15 Mar 2007 14:47:17 +0000 (14:47 +0000)]
added function to schedule single block (needed as ILP fallback)
Christian Würdig [Thu, 15 Mar 2007 14:46:48 +0000 (14:46 +0000)]
pass be options to ILP scheduler
Matthias Braun [Thu, 15 Mar 2007 14:36:30 +0000 (14:36 +0000)]
cleaned up the vadd_store test
Andreas Schösser [Thu, 15 Mar 2007 14:18:31 +0000 (14:18 +0000)]
vector test
Christian Würdig [Thu, 15 Mar 2007 10:14:19 +0000 (10:14 +0000)]
removed dead node constraint
Christian Würdig [Thu, 15 Mar 2007 09:18:48 +0000 (09:18 +0000)]
fixed statistic envents for backend provided spiller
Christian Würdig [Wed, 14 Mar 2007 18:13:45 +0000 (18:13 +0000)]
removed some unused variables
changed fprintf into DBG
Christian Würdig [Wed, 14 Mar 2007 12:25:08 +0000 (12:25 +0000)]
added branch handling (schedule branches always last)
Christian Würdig [Tue, 13 Mar 2007 16:39:04 +0000 (16:39 +0000)]
added support of live-in variables
Christian Würdig [Tue, 13 Mar 2007 16:38:48 +0000 (16:38 +0000)]
added comments
fixed indent
Christian Würdig [Tue, 13 Mar 2007 16:38:25 +0000 (16:38 +0000)]
fixed comment
fixed options initializer
removed unused code
Christian Würdig [Tue, 13 Mar 2007 16:37:53 +0000 (16:37 +0000)]
fixed indent
Andreas Schösser [Mon, 12 Mar 2007 12:12:07 +0000 (12:12 +0000)]
Changed mode_DLu to mode_LLu
Andreas Schösser [Fri, 9 Mar 2007 11:16:56 +0000 (11:16 +0000)]
Added code to run some initialization routines only once, even if they were called several times.
Andreas Schösser [Fri, 9 Mar 2007 11:15:13 +0000 (11:15 +0000)]
Added code to run init_modules only once even if it is called several times.
Andreas Schösser [Fri, 9 Mar 2007 11:06:01 +0000 (11:06 +0000)]
Added possibility to include automatically generated simd nodes specification. Also Added code to Spill and Reload sse registers. SSE registers have mode_DLu now, which represents a 128 bit unsigned value.
Christoph Mallon [Wed, 7 Mar 2007 15:43:05 +0000 (15:43 +0000)]
Extend bitfield test
Matthias Braun [Fri, 2 Mar 2007 15:34:02 +0000 (15:34 +0000)]
- No #ifdef WITH_LIBCORE anymore in backend, compilation without libcore was broken anyway so we always require it now
- changed some #include "config.h" to the recommended #include <config.h>
Matthias Braun [Fri, 2 Mar 2007 14:17:36 +0000 (14:17 +0000)]
don't throw away memory input when transforming Frees in beabi
Matthias Braun [Fri, 2 Mar 2007 14:00:52 +0000 (14:00 +0000)]
changed vararray.c to demonstrate another bug
Matthias Braun [Thu, 1 Mar 2007 22:23:45 +0000 (22:23 +0000)]
fix output of static variables after .comm change
Matthias Braun [Thu, 1 Mar 2007 21:41:16 +0000 (21:41 +0000)]
fix dumping of thread local storage which was broken after the .comm change
Matthias Braun [Thu, 1 Mar 2007 21:35:01 +0000 (21:35 +0000)]
correctly handle calls in x87 simulator
Matthias Braun [Thu, 1 Mar 2007 21:17:13 +0000 (21:17 +0000)]
test float calls whose return is unused
Matthias Braun [Thu, 1 Mar 2007 21:16:53 +0000 (21:16 +0000)]
test float calls whose return is unused
Matthias Braun [Thu, 1 Mar 2007 21:08:27 +0000 (21:08 +0000)]
remove obsolete fldConst node
Matthias Braun [Thu, 1 Mar 2007 21:07:57 +0000 (21:07 +0000)]
remove old debug printf
Matthias Braun [Thu, 1 Mar 2007 21:07:15 +0000 (21:07 +0000)]
- we have to handle copies from Unknown nodes
- Precalculate liveness info again
Michael Beck [Thu, 1 Mar 2007 17:22:00 +0000 (17:22 +0000)]
- removed C99 features
- typo fixed
Matthias Braun [Thu, 1 Mar 2007 13:56:28 +0000 (13:56 +0000)]
- just to announce my last committ :) Make Barrier, RegParams and keep nodes
dynamically extensible
Matthias Braun [Thu, 1 Mar 2007 13:55:02 +0000 (13:55 +0000)]
- make spillslot coalescer pickup float-int convert loads which are folded
into other nodes
- correctly fix Copies in x87 simulator
Matthias Braun [Thu, 1 Mar 2007 12:40:51 +0000 (12:40 +0000)]
fix mixed reverse/normal comp in fCondJmp
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)