libfirm
16 years agofix warning
Matthias Braun [Tue, 18 Sep 2007 15:14:10 +0000 (15:14 +0000)]
fix warning

[r15867]

16 years agofor now forbid rematerialisation of flag changing nodes
Matthias Braun [Tue, 18 Sep 2007 15:08:31 +0000 (15:08 +0000)]
for now forbid rematerialisation of flag changing nodes

[r15866]

16 years agouse register class flags to determine which classes don't need RA
Matthias Braun [Tue, 18 Sep 2007 15:07:26 +0000 (15:07 +0000)]
use register class flags to determine which classes don't need RA

[r15865]

16 years agonever move around flag mofying nodes
Matthias Braun [Tue, 18 Sep 2007 15:06:49 +0000 (15:06 +0000)]
never move around flag mofying nodes

[r15864]

16 years agouse register_class_types, remove flag definitions
Matthias Braun [Tue, 18 Sep 2007 15:06:16 +0000 (15:06 +0000)]
use register_class_types, remove flag definitions

[r15863]

16 years agoremove (probably accidently comitted) write_node/read_node function declaration
Matthias Braun [Tue, 18 Sep 2007 15:05:54 +0000 (15:05 +0000)]
remove (probably accidently comitted) write_node/read_node function declaration

[r15862]

16 years agofix warning, disable negative symconsts
Matthias Braun [Tue, 18 Sep 2007 15:02:23 +0000 (15:02 +0000)]
fix warning, disable negative symconsts

[r15861]

16 years agoflags for register classes
Matthias Braun [Tue, 18 Sep 2007 14:52:38 +0000 (14:52 +0000)]
flags for register classes

[r15860]

16 years agoremove old (nonfinished) flags handling, allow specification of flags for register...
Matthias Braun [Tue, 18 Sep 2007 14:52:13 +0000 (14:52 +0000)]
remove old (nonfinished) flags handling, allow specification of flags for register classes

[r15859]

16 years agorehash fixed loop nodes in betranshelp
Matthias Braun [Tue, 18 Sep 2007 11:38:25 +0000 (11:38 +0000)]
rehash fixed loop nodes in betranshelp

[r15858]

16 years agomake beflags work for cases where the flags are produced in a different block
Matthias Braun [Tue, 18 Sep 2007 09:23:32 +0000 (09:23 +0000)]
make beflags work for cases where the flags are produced in a different block

[r15857]

16 years agoadd midding modify_flags case
Matthias Braun [Tue, 18 Sep 2007 09:22:39 +0000 (09:22 +0000)]
add midding modify_flags case

[r15856]

16 years agofixed lots of syntax/semantic errors
Matthias Braun [Tue, 18 Sep 2007 09:10:05 +0000 (09:10 +0000)]
fixed lots of syntax/semantic errors

[r15855]

16 years agoinitial versions of new two complement code
Michael Beck [Tue, 18 Sep 2007 06:38:16 +0000 (06:38 +0000)]
initial versions of new two complement code

[r15853]

16 years agoDisabled matrix dumping.
Sebastian Hack [Mon, 17 Sep 2007 20:23:21 +0000 (20:23 +0000)]
Disabled matrix dumping.
Sorry folks, shame on me.

[r15852]

16 years agoRemove be_abi_get_start_barrier(). Nobody calls it anymore.
Christoph Mallon [Mon, 17 Sep 2007 19:38:14 +0000 (19:38 +0000)]
Remove be_abi_get_start_barrier(). Nobody calls it anymore.

[r15851]

16 years agoLet constants and simular things depend on the stack frame instead of the barrier.
Christoph Mallon [Mon, 17 Sep 2007 19:37:29 +0000 (19:37 +0000)]
Let constants and simular things depend on the stack frame instead of the barrier.

[r15850]

16 years agoRemove a write-only local variable.
Christoph Mallon [Mon, 17 Sep 2007 18:58:35 +0000 (18:58 +0000)]
Remove a write-only local variable.

[r15849]

16 years agoSimplify is_Const_Minus_1().
Christoph Mallon [Mon, 17 Sep 2007 16:38:59 +0000 (16:38 +0000)]
Simplify is_Const_Minus_1().

[r15847]

16 years agoUse is_Const_one() instead of tarval_is_one(get_Const_tarval()).
Christoph Mallon [Mon, 17 Sep 2007 16:36:14 +0000 (16:36 +0000)]
Use is_Const_one() instead of tarval_is_one(get_Const_tarval()).

[r15846]

16 years agoUse is_Const_all_one() instead of tarval_is_all_one(get_Const_tarval()).
Christoph Mallon [Mon, 17 Sep 2007 16:31:52 +0000 (16:31 +0000)]
Use is_Const_all_one() instead of tarval_is_all_one(get_Const_tarval()).

[r15845]

16 years agoRemove dead code: tarval_is_long() returns true for mode_P null constants.
Christoph Mallon [Mon, 17 Sep 2007 16:29:48 +0000 (16:29 +0000)]
Remove dead code: tarval_is_long() returns true for mode_P null constants.

[r15844]

16 years agoUse is_Const_null() instead of tarval_is_null(get_Const_tarval()).
Christoph Mallon [Mon, 17 Sep 2007 16:26:46 +0000 (16:26 +0000)]
Use is_Const_null() instead of tarval_is_null(get_Const_tarval()).

[r15843]

16 years agoRemove classify_Const() and replace it by is_Const_{null,one,all_one}().
Christoph Mallon [Mon, 17 Sep 2007 16:12:01 +0000 (16:12 +0000)]
Remove classify_Const() and replace it by is_Const_{null,one,all_one}().

[r15842]

16 years agoC99 features removed
Michael Beck [Mon, 17 Sep 2007 16:10:50 +0000 (16:10 +0000)]
C99 features removed

[r15841]

16 years agoWorks now with endless loops.
Sebastian Hack [Mon, 17 Sep 2007 15:18:56 +0000 (15:18 +0000)]
Works now with endless loops.
However, exec freq is 0.0 allover.
On the other hand, what is the execution frequency of an endless loop? infinity?

[r15840]

16 years agoRemove enum tarval_classification_t.
Christoph Mallon [Mon, 17 Sep 2007 15:11:26 +0000 (15:11 +0000)]
Remove enum tarval_classification_t.

[r15839]

16 years agoFix r15829.
Christoph Mallon [Mon, 17 Sep 2007 15:02:13 +0000 (15:02 +0000)]
Fix r15829.

[r15838]

16 years agoRemove classify_tarval(). Use tarval_is_null(), tarval_is_one() and tarval_is_all_one...
Christoph Mallon [Mon, 17 Sep 2007 14:51:21 +0000 (14:51 +0000)]
Remove classify_tarval(). Use tarval_is_null(), tarval_is_one() and tarval_is_all_one() instead.

[r15837]

16 years agofix
Matthias Braun [Mon, 17 Sep 2007 14:47:46 +0000 (14:47 +0000)]
fix

[r15836]

16 years agoAllow Convb in backend.
Christoph Mallon [Mon, 17 Sep 2007 14:38:36 +0000 (14:38 +0000)]
Allow Convb in backend.

[r15835]

16 years agodo sign extension for teo completent only
Michael Beck [Mon, 17 Sep 2007 14:34:39 +0000 (14:34 +0000)]
do sign extension for teo completent only

[r15834]

16 years agouse length parameter and not sc_get_buffer_length
Matthias Braun [Mon, 17 Sep 2007 14:07:23 +0000 (14:07 +0000)]
use length parameter and not sc_get_buffer_length

[r15833]

16 years agotest for CSE moving flags into different block
Matthias Braun [Mon, 17 Sep 2007 13:36:52 +0000 (13:36 +0000)]
test for CSE moving flags into different block

[r15832]

16 years agoAdd TODO.
Christoph Mallon [Mon, 17 Sep 2007 12:47:41 +0000 (12:47 +0000)]
Add TODO.

[r15831]

16 years agoAssert that static initialiser data does not overlap.
Christoph Mallon [Mon, 17 Sep 2007 12:47:24 +0000 (12:47 +0000)]
Assert that static initialiser data does not overlap.

[r15830]

16 years agoCmp(Conv(x), 0) -> Cmp(x, 0) if dest mode ist wider than source mode.
Christoph Mallon [Mon, 17 Sep 2007 12:31:16 +0000 (12:31 +0000)]
Cmp(Conv(x), 0) -> Cmp(x, 0) if dest mode ist wider than source mode.

[r15829]

16 years agoRemove unnecessary ValeCmp() macro for irnodeset.
Christoph Mallon [Mon, 17 Sep 2007 12:13:51 +0000 (12:13 +0000)]
Remove unnecessary ValeCmp() macro for irnodeset.

[r15828]

16 years agoAllow get_mode_null() for mode_b.
Christoph Mallon [Mon, 17 Sep 2007 12:11:18 +0000 (12:11 +0000)]
Allow get_mode_null() for mode_b.

[r15827]

16 years agoDisallow Convb.
Christoph Mallon [Mon, 17 Sep 2007 12:10:10 +0000 (12:10 +0000)]
Disallow Convb.

[r15826]

16 years agoUse prepared CMD.
Christoph Mallon [Mon, 17 Sep 2007 11:53:20 +0000 (11:53 +0000)]
Use prepared CMD.

[r15825]

16 years agoUse prepared CMD.
Christoph Mallon [Mon, 17 Sep 2007 11:50:55 +0000 (11:50 +0000)]
Use prepared CMD.

[r15824]

16 years agoMake warning about missing register assignment more verbose.
Christoph Mallon [Mon, 17 Sep 2007 11:33:46 +0000 (11:33 +0000)]
Make warning about missing register assignment more verbose.

[r15823]

16 years agotestcase where tarval problems manifestated
Matthias Braun [Sat, 15 Sep 2007 15:53:47 +0000 (15:53 +0000)]
testcase where tarval problems manifestated

[r15819]

16 years agoforgot to comitt 2 files
Matthias Braun [Sat, 15 Sep 2007 15:51:51 +0000 (15:51 +0000)]
forgot to comitt 2 files

[r15818]

16 years ago- always sign extend in get_tarval (this fixes results of tarval_and, tarval_or
Matthias Braun [Sat, 15 Sep 2007 15:51:30 +0000 (15:51 +0000)]
- always sign extend in get_tarval (this fixes results of tarval_and, tarval_or
  and tarval_eor not getting correctly hashed)
- tarval_null and tarval_one are defined for irms_reference now
- introduce get_tarvall_all_one and get_mode_all_one which returns the value
  where all bits are 1 (defined for int, boolean and reference modes)
- fix TARVAL_CLASSIFY_ALL_ONE with this

[r15817]

16 years agoAdded the fabulous Gauss-Seidel linear equation solver by Mr. Grund
Sebastian Hack [Sat, 15 Sep 2007 15:32:47 +0000 (15:32 +0000)]
Added the fabulous Gauss-Seidel linear equation solver by Mr. Grund
Adapted execfreqs
Now an order of magnitude faster... at least in c-lex.c

[r15816]

16 years agoFixed a "bug"
Sebastian Hack [Sat, 15 Sep 2007 15:31:20 +0000 (15:31 +0000)]
Fixed a "bug"

[r15815]

16 years agoextend am testapps to short and char types
Matthias Braun [Sat, 15 Sep 2007 13:06:42 +0000 (13:06 +0000)]
extend am testapps to short and char types

[r15813]

16 years agouse EMMS/FEMMS on AMD machines to clear x87 state
Michael Beck [Fri, 14 Sep 2007 14:31:31 +0000 (14:31 +0000)]
use EMMS/FEMMS on AMD machines to clear x87 state

[r15810]

16 years agouse ffreep st instead of fstp st on athlon
Michael Beck [Fri, 14 Sep 2007 13:42:59 +0000 (13:42 +0000)]
use ffreep st instead of fstp st on athlon

[r15809]

16 years agoffreep added
Michael Beck [Fri, 14 Sep 2007 13:42:17 +0000 (13:42 +0000)]
ffreep added

[r15808]

16 years agoARCH_ATHLON macro added
Michael Beck [Fri, 14 Sep 2007 13:41:51 +0000 (13:41 +0000)]
ARCH_ATHLON macro added

[r15807]

16 years agomake call arg/result verify a bit looser in backend (because we have half-fixed mode_...
Matthias Braun [Fri, 14 Sep 2007 11:56:07 +0000 (11:56 +0000)]
make call arg/result verify a bit looser in backend (because we have half-fixed mode_b irgs sometimes

[r15806]

16 years agopass op to custom init_attr function
Matthias Braun [Fri, 14 Sep 2007 11:55:08 +0000 (11:55 +0000)]
pass op to custom init_attr function

[r15805]

16 years agofix mode_b lowering for method parameters and return values (this fixes several fluff...
Matthias Braun [Fri, 14 Sep 2007 11:54:41 +0000 (11:54 +0000)]
fix mode_b lowering for method parameters and return values (this fixes several fluffy problems)

[r15804]

16 years agodo mode_b lowering before abi phase
Matthias Braun [Fri, 14 Sep 2007 11:53:42 +0000 (11:53 +0000)]
do mode_b lowering before abi phase

[r15803]

16 years agoadded eor test
Michael Beck [Fri, 14 Sep 2007 10:46:24 +0000 (10:46 +0000)]
added eor test

[r15802]

16 years agoFixed block of newly created node
Michael Beck [Fri, 14 Sep 2007 10:44:19 +0000 (10:44 +0000)]
Fixed block of newly created node

[r15801]

16 years agoa & (a ^ b) ==> a & ~b added
Michael Beck [Fri, 14 Sep 2007 10:40:10 +0000 (10:40 +0000)]
a & (a ^ b) ==> a & ~b added

[r15800]

16 years agotest local cse
Michael Beck [Fri, 14 Sep 2007 10:26:04 +0000 (10:26 +0000)]
test local cse

[r15799]

16 years ago- added DBG_OPT for various transformations
Michael Beck [Fri, 14 Sep 2007 10:17:08 +0000 (10:17 +0000)]
- added DBG_OPT for various transformations
- removed some set_*_left(), these are bad for CSE
- CSE BugFix: lookup did not normalize the nodes right!

[r15798]

16 years agoadd DeMorgan rules that reduce the number of instructions
Michael Beck [Thu, 13 Sep 2007 20:05:39 +0000 (20:05 +0000)]
add DeMorgan rules that reduce the number of instructions

[r15796]

16 years agoadded -(x >>u 31) and -(x >>s 31)
Michael Beck [Thu, 13 Sep 2007 19:03:25 +0000 (19:03 +0000)]
added -(x >>u 31) and -(x >>s 31)

[r15795]

16 years agomore tests added
Michael Beck [Thu, 13 Sep 2007 19:01:01 +0000 (19:01 +0000)]
more tests added

[r15794]

16 years agobugfix for x+~x
Michael Beck [Thu, 13 Sep 2007 17:03:32 +0000 (17:03 +0000)]
bugfix for x+~x

[r15793]

16 years agomore test added
Michael Beck [Thu, 13 Sep 2007 17:00:52 +0000 (17:00 +0000)]
more test added

[r15792]

16 years agoadd more algebraic optimizations
Michael Beck [Thu, 13 Sep 2007 16:36:06 +0000 (16:36 +0000)]
add more algebraic optimizations

[r15791]

16 years agoa cmp that can be CSEd (for the not yet comitted Cmp, Set falgs code
Matthias Braun [Thu, 13 Sep 2007 15:28:26 +0000 (15:28 +0000)]
a cmp that can be CSEd (for the not yet comitted Cmp, Set falgs code

[r15790]

16 years agofixed two bugs, ~a == C case added
Michael Beck [Thu, 13 Sep 2007 13:56:27 +0000 (13:56 +0000)]
fixed two bugs, ~a == C case added

[r15789]

16 years agomore cases added
Michael Beck [Thu, 13 Sep 2007 13:55:57 +0000 (13:55 +0000)]
more cases added

[r15788]

16 years ago- Remove stale comment.
Christoph Mallon [Thu, 13 Sep 2007 13:41:24 +0000 (13:41 +0000)]
- Remove stale comment.
- Do not generate dest am for 8bit operations, because the stricter register constraints are not handled yet.

[r15787]

16 years agomore cases added
Michael Beck [Thu, 13 Sep 2007 13:41:47 +0000 (13:41 +0000)]
more cases added

[r15786]

16 years agooptimize_preds() removed, op x CMP op y and X op a CMP X op b cases implemented
Michael Beck [Thu, 13 Sep 2007 13:35:09 +0000 (13:35 +0000)]
optimize_preds() removed, op x CMP op y and X op a CMP X op b cases implemented

[r15785]

16 years agoadded isa and bias to ia32_intrinsic_env_t, c99 feature removed
Michael Beck [Thu, 13 Sep 2007 13:33:04 +0000 (13:33 +0000)]
added isa and bias to ia32_intrinsic_env_t, c99 feature removed

[r15784]

16 years agois_Cast() added
Michael Beck [Thu, 13 Sep 2007 13:26:58 +0000 (13:26 +0000)]
is_Cast() added

[r15783]

16 years agoMore local optimisation tests.
Christoph Mallon [Thu, 13 Sep 2007 13:24:32 +0000 (13:24 +0000)]
More local optimisation tests.

[r15782]

16 years agoFix r15779 and generalise. Also implement
Christoph Mallon [Thu, 13 Sep 2007 13:22:04 +0000 (13:22 +0000)]
Fix r15779 and generalise. Also implement
- -a - b -> -(a + b)
- a - -b -> a + b

[r15781]

16 years agomore tests for localopts
Matthias Braun [Thu, 13 Sep 2007 12:23:41 +0000 (12:23 +0000)]
more tests for localopts

[r15780]

16 years agoAdd const_negate() which negates a Const node.
Christoph Mallon [Thu, 13 Sep 2007 12:22:55 +0000 (12:22 +0000)]
Add const_negate() which negates a Const node.
Implement
- const - (a - b) -> (b - a) + -const
- const1 - (a * const2) -> (a * -const2) + -const1

[r15779]

16 years agoImplement
Christoph Mallon [Thu, 13 Sep 2007 09:48:38 +0000 (09:48 +0000)]
Implement
- -a * const   -> a * -const
- -a * -b      -> a * b
- -a * (b - c) -> a * (c - b)
- (a - b) * -c -> (b - a) * c

[r15778]

16 years agoimproved test
Michael Beck [Thu, 13 Sep 2007 09:31:23 +0000 (09:31 +0000)]
improved test

[r15777]

16 years agoImproved 32x32=64bit multiplication
Michael Beck [Thu, 13 Sep 2007 09:28:08 +0000 (09:28 +0000)]
Improved 32x32=64bit multiplication

[r15776]

16 years agosome docu
Matthias Braun [Thu, 13 Sep 2007 09:03:45 +0000 (09:03 +0000)]
some docu

[r15775]

16 years agoadded check for Bad in Mul optimization
Michael Beck [Thu, 13 Sep 2007 08:52:00 +0000 (08:52 +0000)]
added check for Bad in Mul optimization

[r15774]

16 years agofix memory inputs of argument copyb (must be call memory, not NewMem)
Matthias Braun [Thu, 13 Sep 2007 08:51:04 +0000 (08:51 +0000)]
fix memory inputs of argument copyb (must be call memory, not NewMem)

[r15773]

16 years agofix warnings
Matthias Braun [Thu, 13 Sep 2007 08:33:24 +0000 (08:33 +0000)]
fix warnings

[r15772]

16 years agofix flags code for mem-input changes
Matthias Braun [Thu, 13 Sep 2007 08:32:13 +0000 (08:32 +0000)]
fix flags code for mem-input changes

[r15771]

16 years ago- first experimental approach of flag modeling in add/adc
Matthias Braun [Thu, 13 Sep 2007 08:11:29 +0000 (08:11 +0000)]
- first experimental approach of flag modeling in add/adc
- support SourceAM for convs
- allow Source/DestAM for 8/16bit modes where this is profitable

[r15770]

16 years agobetter handling of Mul nodes
Michael Beck [Thu, 13 Sep 2007 00:02:45 +0000 (00:02 +0000)]
better handling of Mul nodes

[r15767]

16 years agoConsistently place the mem in for AM directly after base and index.
Christoph Mallon [Wed, 12 Sep 2007 22:27:12 +0000 (22:27 +0000)]
Consistently place the mem in for AM directly after base and index.

[r15766]

16 years agoDeveloped further... might be unstable. so don't use for the moment.
Sebastian Hack [Wed, 12 Sep 2007 21:30:36 +0000 (21:30 +0000)]
Developed further... might be unstable. so don't use for the moment.
spill placement to be done.

[r15765]

16 years agoadd test for n*n=2n bits multiplication
Michael Beck [Wed, 12 Sep 2007 20:31:44 +0000 (20:31 +0000)]
add test for n*n=2n bits multiplication

[r15764]

16 years agoflags fixup phase
Matthias Braun [Wed, 12 Sep 2007 17:05:47 +0000 (17:05 +0000)]
flags fixup phase

[r15763]

16 years agoadd comment
Matthias Braun [Wed, 12 Sep 2007 17:05:30 +0000 (17:05 +0000)]
add comment

[r15762]

16 years agowe need the fix_start_block hack
Matthias Braun [Wed, 12 Sep 2007 17:04:21 +0000 (17:04 +0000)]
we need the fix_start_block hack

[r15761]

16 years agoadd a modify_flags flag
Matthias Braun [Wed, 12 Sep 2007 17:03:48 +0000 (17:03 +0000)]
add a modify_flags flag

[r15760]

16 years agofix warning
Matthias Braun [Wed, 12 Sep 2007 17:02:53 +0000 (17:02 +0000)]
fix warning

[r15759]

16 years agofixed testcase
Matthias Braun [Wed, 12 Sep 2007 17:02:29 +0000 (17:02 +0000)]
fixed testcase

[r15758]

16 years agoedge case for 64bit add where add with flag output is CSEd
Matthias Braun [Wed, 12 Sep 2007 16:53:28 +0000 (16:53 +0000)]
edge case for 64bit add where add with flag output is CSEd

[r15757]