libfirm
17 years agoadded ilp scheduler
Christian Würdig [Tue, 24 Oct 2006 12:23:44 +0000 (12:23 +0000)]
added ilp scheduler

17 years agoinitial checkin of abstract machine interface
Christian Würdig [Tue, 24 Oct 2006 12:22:19 +0000 (12:22 +0000)]
initial checkin of abstract machine interface

17 years agoinitial checkin of ILP scheduler, NOT FULLY IMPLEMENTED YET (but it compiles)
Christian Würdig [Tue, 24 Oct 2006 12:21:53 +0000 (12:21 +0000)]
initial checkin of ILP scheduler, NOT FULLY IMPLEMENTED YET (but it compiles)

17 years agoadded option to select between schedulers (list or ilp)
Christian Würdig [Tue, 24 Oct 2006 12:20:52 +0000 (12:20 +0000)]
added option to select between schedulers (list or ilp)

17 years agomoved options fomr group "sched" to group "listsched"
Christian Würdig [Tue, 24 Oct 2006 12:20:17 +0000 (12:20 +0000)]
moved options fomr group "sched" to group "listsched"

17 years agoadded assertin to check out edges
Christian Würdig [Tue, 24 Oct 2006 12:19:48 +0000 (12:19 +0000)]
added assertin to check out edges

17 years agoadd dependency from be_RegParam to Start node
Christian Würdig [Tue, 24 Oct 2006 12:19:24 +0000 (12:19 +0000)]
add dependency from be_RegParam to Start node

17 years agoadded scheduler as backend option
Christian Würdig [Tue, 24 Oct 2006 12:15:25 +0000 (12:15 +0000)]
added scheduler as backend option

17 years agomade variable const
Christian Würdig [Tue, 24 Oct 2006 12:14:59 +0000 (12:14 +0000)]
made variable const

17 years agooops
Matthias Braun [Tue, 24 Oct 2006 12:10:51 +0000 (12:10 +0000)]
oops

17 years agomake statfile available to the whole backend, output timing results to statfile
Matthias Braun [Tue, 24 Oct 2006 12:08:02 +0000 (12:08 +0000)]
make statfile available to the whole backend, output timing results to statfile

17 years agowarnign fixes
Matthias Braun [Tue, 24 Oct 2006 12:03:05 +0000 (12:03 +0000)]
warnign fixes

17 years agowarnign fixes
Matthias Braun [Tue, 24 Oct 2006 12:02:18 +0000 (12:02 +0000)]
warnign fixes

17 years agowarning fix
Matthias Braun [Tue, 24 Oct 2006 12:01:21 +0000 (12:01 +0000)]
warning fix

17 years agostart block is allowed to have no cfop as last command
Matthias Braun [Fri, 20 Oct 2006 09:29:04 +0000 (09:29 +0000)]
start block is allowed to have no cfop as last command

17 years agodo only 1024 iterations
Christian Würdig [Thu, 19 Oct 2006 10:59:56 +0000 (10:59 +0000)]
do only 1024 iterations

17 years agoadded additional directory
Christian Würdig [Thu, 19 Oct 2006 09:45:58 +0000 (09:45 +0000)]
added additional directory

17 years agodo not omit compare for PsiCondSet, some note scheduled in between could destroy...
Christian Würdig [Wed, 18 Oct 2006 10:54:52 +0000 (10:54 +0000)]
do not omit compare for PsiCondSet, some note scheduled in between could destroy flags

17 years agoChange the if conversion backend hook
Christoph Mallon [Wed, 18 Oct 2006 09:06:35 +0000 (09:06 +0000)]
Change the if conversion backend hook

17 years agoadded ir/opt include
Christian Würdig [Tue, 17 Oct 2006 15:43:43 +0000 (15:43 +0000)]
added ir/opt include

17 years agoadded #ifdef __GNUC__
Christian Würdig [Tue, 17 Oct 2006 09:06:58 +0000 (09:06 +0000)]
added #ifdef __GNUC__

17 years agoremoved some #if 0
Christian Würdig [Tue, 17 Oct 2006 09:06:35 +0000 (09:06 +0000)]
removed some #if 0

17 years agoBugFix: return gcc-like names for st0-st7: %st, %st(1) - %st(7)
Christian Würdig [Tue, 17 Oct 2006 09:04:56 +0000 (09:04 +0000)]
BugFix: return gcc-like names for st0-st7: %st, %st(1) - %st(7)
BugFix: test for parity on unordered compares

17 years agoPhi as consumer of normal node is out edge
Christian Würdig [Tue, 17 Oct 2006 09:03:22 +0000 (09:03 +0000)]
Phi as consumer of normal node is out edge

17 years agofewer runs for max
Matthias Braun [Mon, 16 Oct 2006 12:24:50 +0000 (12:24 +0000)]
fewer runs for max

17 years agoBugFix: Phi as user of normal node is no descendant but an out-edge
Christian Würdig [Mon, 16 Oct 2006 12:20:34 +0000 (12:20 +0000)]
BugFix: Phi as user of normal node is no descendant but an out-edge

17 years agofixed transformation SSE2X87 nodes
Christian Würdig [Mon, 16 Oct 2006 11:59:32 +0000 (11:59 +0000)]
fixed transformation SSE2X87 nodes

17 years agofixed intrinsic mapping (wrong entities were used sometimes)
Christian Würdig [Mon, 16 Oct 2006 11:59:13 +0000 (11:59 +0000)]
fixed intrinsic mapping (wrong entities were used sometimes)

17 years agoonly create pushs if requested (default is on)
Christian Würdig [Mon, 16 Oct 2006 11:58:34 +0000 (11:58 +0000)]
only create pushs if requested (default is on)

17 years agoadded new option ia32-nopushargs
Christian Würdig [Mon, 16 Oct 2006 11:58:03 +0000 (11:58 +0000)]
added new option ia32-nopushargs

17 years agoadded compile only flag to eccp (-c)
Christian Würdig [Fri, 13 Oct 2006 12:53:01 +0000 (12:53 +0000)]
added compile only flag to eccp (-c)

17 years agofixed 64Bit intrinsic mapping
Christian Würdig [Fri, 13 Oct 2006 12:52:03 +0000 (12:52 +0000)]
fixed 64Bit intrinsic mapping

17 years agofixed emitter (call printf foreach . line)
Christian Würdig [Fri, 13 Oct 2006 12:51:24 +0000 (12:51 +0000)]
fixed emitter (call printf foreach . line)

17 years agofixed endless loop
Christian Würdig [Fri, 13 Oct 2006 12:50:50 +0000 (12:50 +0000)]
fixed endless loop
added cbc verifier

17 years agorecompute edges before scheduling
Christian Würdig [Fri, 13 Oct 2006 12:50:26 +0000 (12:50 +0000)]
recompute edges before scheduling

17 years agofixed constraint assurance
Christian Würdig [Fri, 13 Oct 2006 12:48:39 +0000 (12:48 +0000)]
fixed constraint assurance

17 years agoslightly extended test
Christian Würdig [Fri, 13 Oct 2006 12:47:47 +0000 (12:47 +0000)]
slightly extended test

17 years agoput bespill options into separate file
Matthias Braun [Thu, 12 Oct 2006 14:28:08 +0000 (14:28 +0000)]
put bespill options into separate file

17 years ago- Improved addressmode optimisation for conv nodes
Matthias Braun [Thu, 12 Oct 2006 11:31:51 +0000 (11:31 +0000)]
- Improved addressmode optimisation for conv nodes

17 years agowarning fixes
Matthias Braun [Wed, 11 Oct 2006 18:08:02 +0000 (18:08 +0000)]
warning fixes

17 years agowarning fixes
Matthias Braun [Wed, 11 Oct 2006 18:07:33 +0000 (18:07 +0000)]
warning fixes

17 years agoUpdated the x87 simulator:
Michael Beck [Wed, 11 Oct 2006 12:27:46 +0000 (12:27 +0000)]
Updated the x87 simulator:
- patching node inputs fool the register verifier, so fxch, fpop and fpush are now nodes
  without in- and output. They are keeped and hold in the schedule.
- handle all possible constants in sim_Copy()

17 years agoAllow empty requierements.
Michael Beck [Wed, 11 Oct 2006 12:25:11 +0000 (12:25 +0000)]
Allow empty requierements.
NEVER return st registers for a floating point node, or the x87 simulator fails

17 years agoAllow empty in and out requierements for nodes
Michael Beck [Wed, 11 Oct 2006 12:18:59 +0000 (12:18 +0000)]
Allow empty in and out requierements for nodes

17 years agoadded several bugfixed and code changes
Christian Würdig [Wed, 11 Oct 2006 08:57:27 +0000 (08:57 +0000)]
added several bugfixed and code changes

17 years agoBugFix: crashed when gen_imm_Sub got SymConst instead of Const (broken tarval)
Christian Würdig [Tue, 10 Oct 2006 20:44:34 +0000 (20:44 +0000)]
BugFix: crashed when gen_imm_Sub got SymConst instead of Const (broken tarval)

17 years agoBugfix: add eax resp. edx proj for MulS if missing
Christian Würdig [Tue, 10 Oct 2006 15:48:47 +0000 (15:48 +0000)]
Bugfix: add eax resp. edx proj for MulS if missing

17 years agofixed assertion in Const emitter (tarval mode_P and Const mode_Iu is allowed)
Christian Würdig [Tue, 10 Oct 2006 14:10:10 +0000 (14:10 +0000)]
fixed assertion in Const emitter (tarval mode_P and Const mode_Iu is allowed)
emit block labels for switchjmp targets

17 years agoBugFix: retrieve Proj-based out flags only for datab Projs
Christian Würdig [Tue, 10 Oct 2006 13:14:39 +0000 (13:14 +0000)]
BugFix: retrieve Proj-based out flags only for datab Projs

17 years agoBugFix:
Michael Beck [Mon, 9 Oct 2006 16:41:57 +0000 (16:41 +0000)]
BugFix:
 - use of wrong (uninitialized) variable
 - modes was fixed to mode_Iu, but must be the same mode as the other tarval

17 years agoadded printf for better debugging
Christian Würdig [Mon, 9 Oct 2006 15:42:20 +0000 (15:42 +0000)]
added printf for better debugging

17 years agoadded some testcases
Christian Würdig [Mon, 9 Oct 2006 15:40:16 +0000 (15:40 +0000)]
added some testcases

17 years agoadded another test case
Christian Würdig [Mon, 9 Oct 2006 13:43:38 +0000 (13:43 +0000)]
added another test case

17 years agoadd dependency to barrieri if load is in start block
Christian Würdig [Mon, 9 Oct 2006 13:38:32 +0000 (13:38 +0000)]
add dependency to barrieri if load is in start block

17 years agoremoved memory input from consts
Christian Würdig [Mon, 9 Oct 2006 13:26:27 +0000 (13:26 +0000)]
removed memory input from consts
const are now placed in smallest common dominator block of all it's users
constants have dependency to barrier

17 years agoadded attribute and function to retrieve barrier from start block
Christian Würdig [Mon, 9 Oct 2006 13:25:12 +0000 (13:25 +0000)]
added attribute and function to retrieve barrier from start block

17 years agodo not schedule node having no users
Christian Würdig [Mon, 9 Oct 2006 13:24:35 +0000 (13:24 +0000)]
do not schedule node having no users

17 years agofix blocksched for blocks with arity==0
Matthias Braun [Mon, 9 Oct 2006 12:15:39 +0000 (12:15 +0000)]
fix blocksched for blocks with arity==0

17 years agoomit copies from virtual registers
Christian Würdig [Mon, 9 Oct 2006 11:35:07 +0000 (11:35 +0000)]
omit copies from virtual registers

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