Christian Würdig [Wed, 28 Mar 2007 17:09:52 +0000 (17:09 +0000)]
BugFix: spill delayed phis which are not in start workset
Christian Würdig [Wed, 28 Mar 2007 17:09:16 +0000 (17:09 +0000)]
switched to ir_nodeset
Matthias Braun [Wed, 28 Mar 2007 10:39:57 +0000 (10:39 +0000)]
fix firm backend
Christian Würdig [Tue, 27 Mar 2007 15:17:47 +0000 (15:17 +0000)]
new register requirements
Christian Würdig [Tue, 27 Mar 2007 14:48:37 +0000 (14:48 +0000)]
added missing source
Matthias Braun [Mon, 26 Mar 2007 08:49:26 +0000 (08:49 +0000)]
rewritten be_ssa_constr which isn't using sets anymore, started working on a 'state' register type
Matthias Braun [Mon, 26 Mar 2007 08:48:15 +0000 (08:48 +0000)]
warning fix, documentation improvements
Matthias Braun [Mon, 26 Mar 2007 08:47:47 +0000 (08:47 +0000)]
use ir_nodeset in scheduler
Matthias Braun [Mon, 26 Mar 2007 08:47:21 +0000 (08:47 +0000)]
indentation fix
Matthias Braun [Mon, 26 Mar 2007 08:46:55 +0000 (08:46 +0000)]
move dominance frontiers code to own files
Matthias Braun [Fri, 23 Mar 2007 17:24:34 +0000 (17:24 +0000)]
allow explicit setting of phi register requirements
Christian Würdig [Fri, 23 Mar 2007 17:13:27 +0000 (17:13 +0000)]
Allow any class when there is no special register requirement
Christian Würdig [Fri, 23 Mar 2007 16:19:27 +0000 (16:19 +0000)]
switch on firm optimizations when creating spill nodes
Matthias Braun [Fri, 23 Mar 2007 14:49:22 +0000 (14:49 +0000)]
disable experimental code for now
Matthias Braun [Fri, 23 Mar 2007 13:44:12 +0000 (13:44 +0000)]
new declaration for state register type
Matthias Braun [Thu, 22 Mar 2007 15:03:49 +0000 (15:03 +0000)]
sieve is not needed anymore
Matthias Braun [Thu, 22 Mar 2007 15:02:44 +0000 (15:02 +0000)]
new register type
Matthias Braun [Thu, 22 Mar 2007 15:02:22 +0000 (15:02 +0000)]
fix wrong lea to add transformation
Matthias Braun [Thu, 22 Mar 2007 14:01:55 +0000 (14:01 +0000)]
make CondJmps and Switches pinned, now we can do code_placement in the backend again
Matthias Braun [Thu, 22 Mar 2007 13:42:16 +0000 (13:42 +0000)]
Replace leading spaces by tabs
Matthias Braun [Thu, 22 Mar 2007 13:37:44 +0000 (13:37 +0000)]
remove superfluous quotation marks
Andreas Schösser [Thu, 22 Mar 2007 13:35:08 +0000 (13:35 +0000)]
Resolved conflicts
Matthias Braun [Thu, 22 Mar 2007 10:39:48 +0000 (10:39 +0000)]
a bunch of fixes to make firm work with NDEBUG and without DEBUG_libfirm
Christoph Mallon [Wed, 21 Mar 2007 17:56:12 +0000 (17:56 +0000)]
Fixed Makefiles
Andreas Schösser [Tue, 20 Mar 2007 12:43:58 +0000 (12:43 +0000)]
Corrected wrong path name when calling ia32_simd_spec.pl
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