Christian Würdig [Tue, 3 Oct 2006 15:20:21 +0000 (15:20 +0000)]
removed firm proj num translation function, existing projs are renumbered instead
Michael Beck [Mon, 2 Oct 2006 09:09:09 +0000 (09:09 +0000)]
C99 feature removed
warning removed
Matthias Braun [Sat, 30 Sep 2006 10:17:41 +0000 (10:17 +0000)]
fixes, use new blockscheduler
Matthias Braun [Sat, 30 Sep 2006 10:16:53 +0000 (10:16 +0000)]
- Added 2 new blockschedulers, a greedy algorithm and an "optimal" ILP that
both try to transform as many jumps as possible to fallthroughs (weighted by
execution frequency). The results are most of the times better than the extbb
blockscheduler.
Though it seems like x86 branch prediction sees conditional backward
jumps as always taken, so we have to make sure that for 50/50 jumps we don't
create backward jumps. (nothing implemented for this yet)
Sebastian Hack [Thu, 28 Sep 2006 11:16:10 +0000 (11:16 +0000)]
Inserting copies for constrained inputs which have ignore operands (uah, this is scary!)
Christian Würdig [Thu, 28 Sep 2006 07:54:16 +0000 (07:54 +0000)]
added support for joker register
Christian Würdig [Thu, 28 Sep 2006 07:35:03 +0000 (07:35 +0000)]
fixed serialization: cfops are not allowed as serialization target
Michael Beck [Wed, 27 Sep 2006 23:30:56 +0000 (23:30 +0000)]
renamed exec_freq_t to ir_exec_freq
Michael Beck [Wed, 27 Sep 2006 23:29:56 +0000 (23:29 +0000)]
fixed type name
Michael Beck [Wed, 27 Sep 2006 23:28:16 +0000 (23:28 +0000)]
renamed exec_freq_t to ir_exec_freq
Christian Würdig [Wed, 27 Sep 2006 13:57:30 +0000 (13:57 +0000)]
allow register of type joker
Christian Würdig [Wed, 27 Sep 2006 13:57:12 +0000 (13:57 +0000)]
added register type joker
Christian Würdig [Wed, 27 Sep 2006 13:56:37 +0000 (13:56 +0000)]
made unknown a joker register
Christian Würdig [Wed, 27 Sep 2006 11:59:06 +0000 (11:59 +0000)]
do not add dependency edges for Keeps and Barriers
Matthias Braun [Wed, 27 Sep 2006 11:03:40 +0000 (11:03 +0000)]
don't emit +0 offsets
Christian Würdig [Tue, 26 Sep 2006 15:56:12 +0000 (15:56 +0000)]
do not make memory operands dependend on number of reload user
Christian Würdig [Tue, 26 Sep 2006 15:54:18 +0000 (15:54 +0000)]
check for BAD input
Christian Würdig [Tue, 26 Sep 2006 15:50:39 +0000 (15:50 +0000)]
set correct noreg register when assimilating loads
Christian Würdig [Tue, 26 Sep 2006 14:59:15 +0000 (14:59 +0000)]
remove keepalive edge
Matthias Braun [Tue, 26 Sep 2006 13:14:01 +0000 (13:14 +0000)]
more handoptimisation
Christian Würdig [Tue, 26 Sep 2006 11:48:20 +0000 (11:48 +0000)]
fixed descendant collector, causing an endless loop in SKS computation
fixed maxac creation (unknown if it has any effects)
removed unused code
Matthias Braun [Tue, 26 Sep 2006 08:34:03 +0000 (08:34 +0000)]
fix regdiff
Christian Würdig [Mon, 25 Sep 2006 16:09:49 +0000 (16:09 +0000)]
tweaked heuristic selector
Christian Würdig [Mon, 25 Sep 2006 16:08:40 +0000 (16:08 +0000)]
make memory nodes immediatly ready
Christian Würdig [Mon, 25 Sep 2006 13:41:49 +0000 (13:41 +0000)]
fixed dvg update
Christian Würdig [Mon, 25 Sep 2006 13:41:02 +0000 (13:41 +0000)]
set correct register for SetST0
Christian Würdig [Mon, 25 Sep 2006 12:43:49 +0000 (12:43 +0000)]
fixed SetST0 register settings
Matthias Braun [Mon, 25 Sep 2006 12:43:14 +0000 (12:43 +0000)]
fix bad modes for some Float2Int convs
Christian Würdig [Mon, 25 Sep 2006 11:16:21 +0000 (11:16 +0000)]
fixed bipartite decomposition
Christian Würdig [Mon, 25 Sep 2006 10:47:57 +0000 (10:47 +0000)]
added descendent walk visited flag, due to Phi loops
Christian Würdig [Mon, 25 Sep 2006 09:23:40 +0000 (09:23 +0000)]
added options
fixed code
Christian Würdig [Mon, 25 Sep 2006 09:23:24 +0000 (09:23 +0000)]
moved scheduler options to scheduling module
scheduler registers it's own options now
stabs debugging output is off by default
Christian Würdig [Fri, 22 Sep 2006 13:19:26 +0000 (13:19 +0000)]
fixed SSE returns
Christian Würdig [Thu, 21 Sep 2006 14:18:41 +0000 (14:18 +0000)]
set register for SetST0 on creation
Christian Würdig [Thu, 21 Sep 2006 13:42:58 +0000 (13:42 +0000)]
removed is_Start macro, there exists a firm function now
Christian Würdig [Thu, 21 Sep 2006 13:42:38 +0000 (13:42 +0000)]
added missing include
Christian Würdig [Thu, 21 Sep 2006 13:40:05 +0000 (13:40 +0000)]
changed behaviour, use real nodes instead of projs
Christian Würdig [Thu, 21 Sep 2006 12:16:22 +0000 (12:16 +0000)]
invalidate outs when removing empty blocks
Michael Beck [Thu, 21 Sep 2006 08:52:30 +0000 (08:52 +0000)]
Fixed warning
Matthias Braun [Wed, 20 Sep 2006 15:40:33 +0000 (15:40 +0000)]
more tweaking...
Matthias Braun [Wed, 20 Sep 2006 15:26:38 +0000 (15:26 +0000)]
forgot to committ this
Matthias Braun [Wed, 20 Sep 2006 15:26:26 +0000 (15:26 +0000)]
- Properly support AM for push and pop nodes
- Fix Projs returning wrong register requirements for in positions
Matthias Braun [Wed, 20 Sep 2006 15:24:50 +0000 (15:24 +0000)]
extend verifier to check all register constraints
Christian Würdig [Wed, 20 Sep 2006 15:04:22 +0000 (15:04 +0000)]
removed debug mask set
Christian Würdig [Wed, 20 Sep 2006 15:01:46 +0000 (15:01 +0000)]
added rss scheduling preparation
Christian Würdig [Wed, 20 Sep 2006 14:56:34 +0000 (14:56 +0000)]
finalized code
Christian Würdig [Wed, 20 Sep 2006 14:56:03 +0000 (14:56 +0000)]
added scheduling preparation switch
added rss scheduling preparation
Christian Würdig [Wed, 20 Sep 2006 14:54:38 +0000 (14:54 +0000)]
added macro to retirve register class name
Matthias Braun [Wed, 20 Sep 2006 12:14:08 +0000 (12:14 +0000)]
improve alignment emitting for athlon
Matthias Braun [Wed, 20 Sep 2006 12:01:57 +0000 (12:01 +0000)]
smarter policy for emitting alignments
Matthias Braun [Wed, 20 Sep 2006 12:01:05 +0000 (12:01 +0000)]
fix typo
Matthias Braun [Wed, 20 Sep 2006 11:59:50 +0000 (11:59 +0000)]
sort spill candidates by spill costs in morgan spiller (to prefer rematerialisable values)
Matthias Braun [Wed, 20 Sep 2006 11:59:42 +0000 (11:59 +0000)]
sort spill candidates by spill costs in morgan spiller (to prefer rematerialisable values)
Michael Beck [Wed, 20 Sep 2006 09:08:36 +0000 (09:08 +0000)]
speed up a bit
Michael Beck [Wed, 20 Sep 2006 09:08:18 +0000 (09:08 +0000)]
removed useless my_skip_Proj()
speed up a bit
Michael Beck [Wed, 20 Sep 2006 08:36:16 +0000 (08:36 +0000)]
When the Pop instruction is handled, only change the bias if the frame pointer
is omitted (and we use esp to address frame entities)
Michael Beck [Wed, 20 Sep 2006 08:35:01 +0000 (08:35 +0000)]
be_abi_omit_fp() added
clear the abi callback environment after done for safety
Michael Beck [Tue, 19 Sep 2006 15:30:55 +0000 (15:30 +0000)]
Fixed generation of Pop with frame pointer enabled
Matthias Braun [Tue, 19 Sep 2006 13:32:19 +0000 (13:32 +0000)]
xchg is slow on athlons, so use 3 xors instead
Matthias Braun [Mon, 18 Sep 2006 15:56:23 +0000 (15:56 +0000)]
fix warnings
Matthias Braun [Mon, 18 Sep 2006 15:55:10 +0000 (15:55 +0000)]
do aggressive addressmode optimisation
Matthias Braun [Mon, 18 Sep 2006 15:53:41 +0000 (15:53 +0000)]
emit less alignment on athlon
Michael Beck [Mon, 18 Sep 2006 15:22:00 +0000 (15:22 +0000)]
IA32: align the stack at 32bit
ABI: align stack parameters
Matthias Braun [Mon, 18 Sep 2006 12:54:12 +0000 (12:54 +0000)]
fix
Matthias Braun [Mon, 18 Sep 2006 12:49:56 +0000 (12:49 +0000)]
phis are really uses in the pred blocks and not in the blocks itself, fix the morgan spiller to respect this
Michael Beck [Mon, 18 Sep 2006 10:40:28 +0000 (10:40 +0000)]
do not matrialize nodes with two results
Michael Beck [Mon, 18 Sep 2006 09:04:01 +0000 (09:04 +0000)]
Added support for include files
Michael Beck [Mon, 18 Sep 2006 09:03:26 +0000 (09:03 +0000)]
fixed type handling for circular dependencies
added support for include files
Michael Beck [Sun, 17 Sep 2006 21:15:19 +0000 (21:15 +0000)]
Added support for SymConst(ofs_ent)
Michael Beck [Sun, 17 Sep 2006 21:14:55 +0000 (21:14 +0000)]
Added support for SymConst(ofs_ent)
Michael Beck [Sun, 17 Sep 2006 21:14:33 +0000 (21:14 +0000)]
Added support for SymConst(ofs_ent)
Michael Beck [Sun, 17 Sep 2006 21:14:08 +0000 (21:14 +0000)]
Added support for SymConst(ofs_ent)
Michael Beck [Sun, 17 Sep 2006 21:13:32 +0000 (21:13 +0000)]
Added support for SymConst(ofs_ent)
Christian Würdig [Fri, 15 Sep 2006 16:01:08 +0000 (16:01 +0000)]
completed code, added tons of bugfixes but still not working, checkin to be on the safe side
Michael Beck [Fri, 15 Sep 2006 09:25:25 +0000 (09:25 +0000)]
Fixed build without libcore
Michael Beck [Fri, 15 Sep 2006 09:25:02 +0000 (09:25 +0000)]
Fixed be_ra_t structure if libcore is deactivated
Matthias Braun [Thu, 14 Sep 2006 16:44:12 +0000 (16:44 +0000)]
fix unused loads removing, fix warning
Michael Beck [Thu, 14 Sep 2006 14:14:46 +0000 (14:14 +0000)]
Push/Pop/AddSP/SubSP always modify ESP
Michael Beck [Thu, 14 Sep 2006 12:50:34 +0000 (12:50 +0000)]
add code to handle character modes for Unknoen node
Matthias Braun [Thu, 14 Sep 2006 08:30:07 +0000 (08:30 +0000)]
warning fix
Matthias Braun [Wed, 13 Sep 2006 16:27:53 +0000 (16:27 +0000)]
fixes to compile with -O0
Matthias Braun [Wed, 13 Sep 2006 16:04:57 +0000 (16:04 +0000)]
fix typo
Michael Beck [Wed, 13 Sep 2006 15:04:04 +0000 (15:04 +0000)]
added support for static variables
Michael Beck [Wed, 13 Sep 2006 14:30:00 +0000 (14:30 +0000)]
Fixed order of function parameters, enabled stabs by default
Christian Würdig [Wed, 13 Sep 2006 14:18:29 +0000 (14:18 +0000)]
initial checkin of rss scheduler (still unfinished!)
Michael Beck [Wed, 13 Sep 2006 13:41:44 +0000 (13:41 +0000)]
updated debugging support
Michael Beck [Wed, 13 Sep 2006 13:41:20 +0000 (13:41 +0000)]
add local vars (crashes gdb yet :-(
Michael Beck [Wed, 13 Sep 2006 13:40:51 +0000 (13:40 +0000)]
add option to switch stabs support on/off
Matthias Braun [Wed, 13 Sep 2006 12:14:14 +0000 (12:14 +0000)]
store bug
Matthias Braun [Wed, 13 Sep 2006 09:20:18 +0000 (09:20 +0000)]
remove debug printf
Matthias Braun [Wed, 13 Sep 2006 09:19:49 +0000 (09:19 +0000)]
remove debug printf
Matthias Braun [Wed, 13 Sep 2006 09:19:11 +0000 (09:19 +0000)]
fix
Matthias Braun [Wed, 13 Sep 2006 09:14:20 +0000 (09:14 +0000)]
warning fix
Matthias Braun [Wed, 13 Sep 2006 09:11:14 +0000 (09:11 +0000)]
more warning fixes
Matthias Braun [Wed, 13 Sep 2006 09:06:38 +0000 (09:06 +0000)]
fix warning and potential bug
Matthias Braun [Wed, 13 Sep 2006 08:55:34 +0000 (08:55 +0000)]
warning fixes
Michael Beck [Tue, 12 Sep 2006 21:22:21 +0000 (21:22 +0000)]
fixed type of variable
Michael Beck [Tue, 12 Sep 2006 21:19:35 +0000 (21:19 +0000)]
renamed some firm enum types to have the ir_ prefix
Michael Beck [Tue, 12 Sep 2006 21:18:13 +0000 (21:18 +0000)]
renamed some firm enum types to have the ir_ prefix
Michael Beck [Tue, 12 Sep 2006 21:17:10 +0000 (21:17 +0000)]
renamed some firm enum types to have the ir_ prefix