libfirm
17 years agoadded suppoprt for virtual registers
Christian Würdig [Mon, 9 Oct 2006 11:34:51 +0000 (11:34 +0000)]
added suppoprt for virtual registers
made UNKNW, NOREG and vfp registers virtual

17 years agoadded new register type "virtual"
Christian Würdig [Mon, 9 Oct 2006 11:34:06 +0000 (11:34 +0000)]
added new register type "virtual"

17 years agofixed gen_Load (add Proj for unused volatile Loads before renumbering)
Christian Würdig [Mon, 9 Oct 2006 09:07:46 +0000 (09:07 +0000)]
fixed gen_Load (add Proj for unused volatile Loads before renumbering)

17 years agofixed Proj renumbering
Christian Würdig [Mon, 9 Oct 2006 08:58:17 +0000 (08:58 +0000)]
fixed Proj renumbering

17 years agochanged printf to DBG output
Christian Würdig [Sat, 7 Oct 2006 10:41:21 +0000 (10:41 +0000)]
changed printf to DBG output
made code more firm style :)

17 years agofixed requirements for ShrD and ShlD
Christian Würdig [Fri, 6 Oct 2006 14:26:10 +0000 (14:26 +0000)]
fixed requirements for ShrD and ShlD

17 years agoadded support for requirements: different from all in
Christian Würdig [Fri, 6 Oct 2006 14:20:34 +0000 (14:20 +0000)]
added support for requirements: different from all in

17 years agofixed n_res calculation
Christian Würdig [Fri, 6 Oct 2006 12:22:40 +0000 (12:22 +0000)]
fixed n_res calculation

17 years agofixed main structure init
Christian Würdig [Fri, 6 Oct 2006 12:21:58 +0000 (12:21 +0000)]
fixed main structure init

17 years agofixed constraint insn walker
Christian Würdig [Fri, 6 Oct 2006 12:21:31 +0000 (12:21 +0000)]
fixed constraint insn walker

17 years agofixed sel entity collector
Christian Würdig [Fri, 6 Oct 2006 12:20:57 +0000 (12:20 +0000)]
fixed sel entity collector

17 years agoremoved redundant comment
Christian Würdig [Fri, 6 Oct 2006 10:45:00 +0000 (10:45 +0000)]
removed redundant comment

17 years agono need to recalculate liveness and loop tree for each morgan run
Matthias Braun [Fri, 6 Oct 2006 10:43:10 +0000 (10:43 +0000)]
no need to recalculate liveness and loop tree for each morgan run

17 years agofixed flags
Christian Würdig [Fri, 6 Oct 2006 10:41:49 +0000 (10:41 +0000)]
fixed flags

17 years agoadded support for separate outflags
Christian Würdig [Fri, 6 Oct 2006 08:45:19 +0000 (08:45 +0000)]
added support for separate outflags

17 years agofixed indent
Christian Würdig [Fri, 6 Oct 2006 08:43:05 +0000 (08:43 +0000)]
fixed indent

17 years agoDo not allow algorithms heur3 and ilp if not compiled in
Michael Beck [Thu, 5 Oct 2006 13:42:35 +0000 (13:42 +0000)]
Do not allow algorithms heur3 and ilp if not compiled in

17 years agoenumaration of possible enum values is now done by libcore
Adam Szalkowski [Thu, 5 Oct 2006 13:08:41 +0000 (13:08 +0000)]
enumaration of possible enum values is now done by libcore

17 years agofixed missing include
Christian Würdig [Thu, 5 Oct 2006 09:14:31 +0000 (09:14 +0000)]
fixed missing include
added comments (especially for endif)

17 years agofix
Matthias Braun [Wed, 4 Oct 2006 11:53:28 +0000 (11:53 +0000)]
fix

17 years agoforgot to add beblockschedule to makefile
Matthias Braun [Wed, 4 Oct 2006 11:11:56 +0000 (11:11 +0000)]
forgot to add beblockschedule to makefile

17 years agoreturn real x87 register (st0-st7) if node is patched to keep verifier happy
Christian Würdig [Tue, 3 Oct 2006 15:21:50 +0000 (15:21 +0000)]
return real x87 register (st0-st7) if node is patched to keep verifier happy

17 years agoremoved firm proj num translation function, existing projs are renumbered instead
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

17 years agoC99 feature removed
Michael Beck [Mon, 2 Oct 2006 09:09:09 +0000 (09:09 +0000)]
C99 feature removed
warning removed

17 years agofixes, use new blockscheduler
Matthias Braun [Sat, 30 Sep 2006 10:17:41 +0000 (10:17 +0000)]
fixes, use new blockscheduler

17 years ago- Added 2 new blockschedulers, a greedy algorithm and an "optimal" ILP that
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)

17 years agoInserting copies for constrained inputs which have ignore operands (uah, this is...
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!)

17 years agoadded support for joker register
Christian Würdig [Thu, 28 Sep 2006 07:54:16 +0000 (07:54 +0000)]
added support for joker register

17 years agofixed serialization: cfops are not allowed as serialization target
Christian Würdig [Thu, 28 Sep 2006 07:35:03 +0000 (07:35 +0000)]
fixed serialization: cfops are not allowed as serialization target

17 years agorenamed exec_freq_t to ir_exec_freq
Michael Beck [Wed, 27 Sep 2006 23:30:56 +0000 (23:30 +0000)]
renamed exec_freq_t to ir_exec_freq

17 years agofixed type name
Michael Beck [Wed, 27 Sep 2006 23:29:56 +0000 (23:29 +0000)]
fixed type name

17 years agorenamed exec_freq_t to ir_exec_freq
Michael Beck [Wed, 27 Sep 2006 23:28:16 +0000 (23:28 +0000)]
renamed exec_freq_t to ir_exec_freq

17 years agoallow register of type joker
Christian Würdig [Wed, 27 Sep 2006 13:57:30 +0000 (13:57 +0000)]
allow register of type joker

17 years agoadded register type joker
Christian Würdig [Wed, 27 Sep 2006 13:57:12 +0000 (13:57 +0000)]
added register type joker

17 years agomade unknown a joker register
Christian Würdig [Wed, 27 Sep 2006 13:56:37 +0000 (13:56 +0000)]
made unknown a joker register

17 years agodo not add dependency edges for Keeps and Barriers
Christian Würdig [Wed, 27 Sep 2006 11:59:06 +0000 (11:59 +0000)]
do not add dependency edges for Keeps and Barriers

17 years agodon't emit +0 offsets
Matthias Braun [Wed, 27 Sep 2006 11:03:40 +0000 (11:03 +0000)]
don't emit +0 offsets

17 years agodo not make memory operands dependend on number of reload user
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

17 years agocheck for BAD input
Christian Würdig [Tue, 26 Sep 2006 15:54:18 +0000 (15:54 +0000)]
check for BAD input

17 years agoset correct noreg register when assimilating loads
Christian Würdig [Tue, 26 Sep 2006 15:50:39 +0000 (15:50 +0000)]
set correct noreg register when assimilating loads

17 years agoremove keepalive edge
Christian Würdig [Tue, 26 Sep 2006 14:59:15 +0000 (14:59 +0000)]
remove keepalive edge

17 years agomore handoptimisation
Matthias Braun [Tue, 26 Sep 2006 13:14:01 +0000 (13:14 +0000)]
more handoptimisation

17 years agofixed descendant collector, causing an endless loop in SKS computation
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

17 years agofix regdiff
Matthias Braun [Tue, 26 Sep 2006 08:34:03 +0000 (08:34 +0000)]
fix regdiff

17 years agotweaked heuristic selector
Christian Würdig [Mon, 25 Sep 2006 16:09:49 +0000 (16:09 +0000)]
tweaked heuristic selector

17 years agomake memory nodes immediatly ready
Christian Würdig [Mon, 25 Sep 2006 16:08:40 +0000 (16:08 +0000)]
make memory nodes immediatly ready

17 years agofixed dvg update
Christian Würdig [Mon, 25 Sep 2006 13:41:49 +0000 (13:41 +0000)]
fixed dvg update

17 years agoset correct register for SetST0
Christian Würdig [Mon, 25 Sep 2006 13:41:02 +0000 (13:41 +0000)]
set correct register for SetST0

17 years agofixed SetST0 register settings
Christian Würdig [Mon, 25 Sep 2006 12:43:49 +0000 (12:43 +0000)]
fixed SetST0 register settings

17 years agofix bad modes for some Float2Int convs
Matthias Braun [Mon, 25 Sep 2006 12:43:14 +0000 (12:43 +0000)]
fix bad modes for some Float2Int convs

17 years agofixed bipartite decomposition
Christian Würdig [Mon, 25 Sep 2006 11:16:21 +0000 (11:16 +0000)]
fixed bipartite decomposition

17 years agoadded descendent walk visited flag, due to Phi loops
Christian Würdig [Mon, 25 Sep 2006 10:47:57 +0000 (10:47 +0000)]
added descendent walk visited flag, due to Phi loops

17 years agoadded options
Christian Würdig [Mon, 25 Sep 2006 09:23:40 +0000 (09:23 +0000)]
added options
fixed code

17 years agomoved scheduler options to scheduling module
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

17 years agofixed SSE returns
Christian Würdig [Fri, 22 Sep 2006 13:19:26 +0000 (13:19 +0000)]
fixed SSE returns

17 years agoset register for SetST0 on creation
Christian Würdig [Thu, 21 Sep 2006 14:18:41 +0000 (14:18 +0000)]
set register for SetST0 on creation

17 years agoremoved is_Start macro, there exists a firm function now
Christian Würdig [Thu, 21 Sep 2006 13:42:58 +0000 (13:42 +0000)]
removed is_Start macro, there exists a firm function now

17 years agoadded missing include
Christian Würdig [Thu, 21 Sep 2006 13:42:38 +0000 (13:42 +0000)]
added missing include

17 years agochanged behaviour, use real nodes instead of projs
Christian Würdig [Thu, 21 Sep 2006 13:40:05 +0000 (13:40 +0000)]
changed behaviour, use real nodes instead of projs

17 years agoinvalidate outs when removing empty blocks
Christian Würdig [Thu, 21 Sep 2006 12:16:22 +0000 (12:16 +0000)]
invalidate outs when removing empty blocks

17 years agoFixed warning
Michael Beck [Thu, 21 Sep 2006 08:52:30 +0000 (08:52 +0000)]
Fixed warning

17 years agomore tweaking...
Matthias Braun [Wed, 20 Sep 2006 15:40:33 +0000 (15:40 +0000)]
more tweaking...

17 years agoforgot to committ this
Matthias Braun [Wed, 20 Sep 2006 15:26:38 +0000 (15:26 +0000)]
forgot to committ this

17 years ago- Properly support AM for push and pop nodes
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

17 years agoextend verifier to check all register constraints
Matthias Braun [Wed, 20 Sep 2006 15:24:50 +0000 (15:24 +0000)]
extend verifier to check all register constraints

17 years agoremoved debug mask set
Christian Würdig [Wed, 20 Sep 2006 15:04:22 +0000 (15:04 +0000)]
removed debug mask set

17 years agoadded rss scheduling preparation
Christian Würdig [Wed, 20 Sep 2006 15:01:46 +0000 (15:01 +0000)]
added rss scheduling preparation

17 years agofinalized code
Christian Würdig [Wed, 20 Sep 2006 14:56:34 +0000 (14:56 +0000)]
finalized code

17 years agoadded scheduling preparation switch
Christian Würdig [Wed, 20 Sep 2006 14:56:03 +0000 (14:56 +0000)]
added scheduling preparation switch
added rss scheduling preparation

17 years agoadded macro to retirve register class name
Christian Würdig [Wed, 20 Sep 2006 14:54:38 +0000 (14:54 +0000)]
added macro to retirve register class name

17 years agoimprove alignment emitting for athlon
Matthias Braun [Wed, 20 Sep 2006 12:14:08 +0000 (12:14 +0000)]
improve alignment emitting for athlon

17 years agosmarter policy for emitting alignments
Matthias Braun [Wed, 20 Sep 2006 12:01:57 +0000 (12:01 +0000)]
smarter policy for emitting alignments

17 years agofix typo
Matthias Braun [Wed, 20 Sep 2006 12:01:05 +0000 (12:01 +0000)]
fix typo

17 years agosort spill candidates by spill costs in morgan spiller (to prefer rematerialisable...
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)

17 years agosort spill candidates by spill costs in morgan spiller (to prefer rematerialisable...
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)

17 years agospeed up a bit
Michael Beck [Wed, 20 Sep 2006 09:08:36 +0000 (09:08 +0000)]
speed up a bit

17 years agoremoved useless my_skip_Proj()
Michael Beck [Wed, 20 Sep 2006 09:08:18 +0000 (09:08 +0000)]
removed useless my_skip_Proj()
speed up a bit

17 years agoWhen the Pop instruction is handled, only change the bias if the frame pointer
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)

17 years agobe_abi_omit_fp() added
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

17 years agoFixed generation of Pop with frame pointer enabled
Michael Beck [Tue, 19 Sep 2006 15:30:55 +0000 (15:30 +0000)]
Fixed generation of Pop with frame pointer enabled

17 years agoxchg is slow on athlons, so use 3 xors instead
Matthias Braun [Tue, 19 Sep 2006 13:32:19 +0000 (13:32 +0000)]
xchg is slow on athlons, so use 3 xors instead

17 years agofix warnings
Matthias Braun [Mon, 18 Sep 2006 15:56:23 +0000 (15:56 +0000)]
fix warnings

17 years agodo aggressive addressmode optimisation
Matthias Braun [Mon, 18 Sep 2006 15:55:10 +0000 (15:55 +0000)]
do aggressive addressmode optimisation

17 years agoemit less alignment on athlon
Matthias Braun [Mon, 18 Sep 2006 15:53:41 +0000 (15:53 +0000)]
emit less alignment on athlon

17 years agoIA32: align the stack at 32bit
Michael Beck [Mon, 18 Sep 2006 15:22:00 +0000 (15:22 +0000)]
IA32: align the stack at 32bit
ABI: align stack parameters

17 years agofix
Matthias Braun [Mon, 18 Sep 2006 12:54:12 +0000 (12:54 +0000)]
fix

17 years agophis are really uses in the pred blocks and not in the blocks itself, fix the morgan...
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

17 years agodo not matrialize nodes with two results
Michael Beck [Mon, 18 Sep 2006 10:40:28 +0000 (10:40 +0000)]
do not matrialize nodes with two results

17 years agoAdded support for include files
Michael Beck [Mon, 18 Sep 2006 09:04:01 +0000 (09:04 +0000)]
Added support for include files

17 years agofixed type handling for circular dependencies
Michael Beck [Mon, 18 Sep 2006 09:03:26 +0000 (09:03 +0000)]
fixed type handling for circular dependencies
added support for include files

17 years agoAdded support for SymConst(ofs_ent)
Michael Beck [Sun, 17 Sep 2006 21:15:19 +0000 (21:15 +0000)]
Added support for SymConst(ofs_ent)

17 years agoAdded support for SymConst(ofs_ent)
Michael Beck [Sun, 17 Sep 2006 21:14:55 +0000 (21:14 +0000)]
Added support for SymConst(ofs_ent)

17 years agoAdded support for SymConst(ofs_ent)
Michael Beck [Sun, 17 Sep 2006 21:14:33 +0000 (21:14 +0000)]
Added support for SymConst(ofs_ent)

17 years agoAdded support for SymConst(ofs_ent)
Michael Beck [Sun, 17 Sep 2006 21:14:08 +0000 (21:14 +0000)]
Added support for SymConst(ofs_ent)

17 years agoAdded support for SymConst(ofs_ent)
Michael Beck [Sun, 17 Sep 2006 21:13:32 +0000 (21:13 +0000)]
Added support for SymConst(ofs_ent)

17 years agocompleted code, added tons of bugfixes but still not working, checkin to be on the...
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

17 years agoFixed build without libcore
Michael Beck [Fri, 15 Sep 2006 09:25:25 +0000 (09:25 +0000)]
Fixed build without libcore

17 years agoFixed be_ra_t structure if libcore is deactivated
Michael Beck [Fri, 15 Sep 2006 09:25:02 +0000 (09:25 +0000)]
Fixed be_ra_t structure if libcore is deactivated

17 years agofix unused loads removing, fix warning
Matthias Braun [Thu, 14 Sep 2006 16:44:12 +0000 (16:44 +0000)]
fix unused loads removing, fix warning

17 years agoPush/Pop/AddSP/SubSP always modify ESP
Michael Beck [Thu, 14 Sep 2006 14:14:46 +0000 (14:14 +0000)]
Push/Pop/AddSP/SubSP always modify ESP