libfirm
16 years agoFix typo in comment.
Christoph Mallon [Wed, 19 Sep 2007 19:24:56 +0000 (19:24 +0000)]
Fix typo in comment.

[r15885]

16 years agoImplement ~-x -> x + -1.
Christoph Mallon [Wed, 19 Sep 2007 19:09:26 +0000 (19:09 +0000)]
Implement ~-x -> x + -1.

[r15884]

16 years ago- Change ~(x - 1) -> -x to ~(x + -1) -> -x, because the former pattern is always...
Christoph Mallon [Wed, 19 Sep 2007 19:01:12 +0000 (19:01 +0000)]
- Change ~(x - 1) -> -x to ~(x + -1) -> -x, because the former pattern is always changed into the latter pattern.
 - Also only allow this transformation with two's complement arithmetics.

[r15883]

16 years agoGet rid of be_SetSP.
Christoph Mallon [Wed, 19 Sep 2007 16:55:19 +0000 (16:55 +0000)]
Get rid of be_SetSP.

[r15882]

16 years agoallow get_tarval_null for mode_b
Matthias Braun [Wed, 19 Sep 2007 16:32:42 +0000 (16:32 +0000)]
allow get_tarval_null for mode_b

[r15881]

16 years agotestcase for no yet comitted flags code
Matthias Braun [Wed, 19 Sep 2007 13:19:53 +0000 (13:19 +0000)]
testcase for no yet comitted flags code

[r15880]

16 years agoget_Const_tarval(x) == get_mode_null(get_irn_mode(x)) -> is_Const_null(x).
Christoph Mallon [Tue, 18 Sep 2007 20:51:38 +0000 (20:51 +0000)]
get_Const_tarval(x) == get_mode_null(get_irn_mode(x)) -> is_Const_null(x).

[r15879]

16 years agoRemove a redundant test: The mode of an operand of an Eor must match the mode of...
Christoph Mallon [Tue, 18 Sep 2007 20:40:12 +0000 (20:40 +0000)]
Remove a redundant test: The mode of an operand of an Eor must match the mode of the Eor.

[r15878]

16 years agoReplace get_irn_op(x) == op_FOO by is_FOO(x).
Christoph Mallon [Tue, 18 Sep 2007 20:37:46 +0000 (20:37 +0000)]
Replace get_irn_op(x) == op_FOO by is_FOO(x).

[r15877]

16 years agoRemove a redundant test: The mode of the op of a Not must match the mode of the Not.
Christoph Mallon [Tue, 18 Sep 2007 19:25:11 +0000 (19:25 +0000)]
Remove a redundant test: The mode of the op of a Not must match the mode of the Not.

[r15876]

16 years agodo optimize_graph after abi
Matthias Braun [Tue, 18 Sep 2007 19:02:37 +0000 (19:02 +0000)]
do optimize_graph after abi

[r15875]

16 years agoFix r15800: a & (a ^ b) is a & ~b, not a & -b.
Christoph Mallon [Tue, 18 Sep 2007 18:40:40 +0000 (18:40 +0000)]
Fix r15800: a & (a ^ b) is a & ~b, not a & -b.

[r15874]

16 years agodifferent test to catch the bug in the implementation...
Matthias Braun [Tue, 18 Sep 2007 18:38:01 +0000 (18:38 +0000)]
different test to catch the bug in the implementation...

[r15873]

16 years agoforgot to comitt benode for new perm_reduce semantics
Matthias Braun [Tue, 18 Sep 2007 18:02:55 +0000 (18:02 +0000)]
forgot to comitt benode for new perm_reduce semantics

[r15872]

16 years agoremove debug statements
Matthias Braun [Tue, 18 Sep 2007 18:01:49 +0000 (18:01 +0000)]
remove debug statements

[r15871]

16 years agoremove debug printf
Matthias Braun [Tue, 18 Sep 2007 16:32:36 +0000 (16:32 +0000)]
remove debug printf

[r15870]

16 years agorewrote be_lower to correctly respect schedule on push_through_perm
Matthias Braun [Tue, 18 Sep 2007 16:31:57 +0000 (16:31 +0000)]
rewrote be_lower to correctly respect schedule on push_through_perm

[r15869]

16 years agoTreat the lower word of lowered 64bit operations always as unsigned. Using the same...
Christoph Mallon [Tue, 18 Sep 2007 15:17:52 +0000 (15:17 +0000)]
Treat the lower word of lowered 64bit operations always as unsigned. Using the same signedness as the high word is wrong (for example x < 0).

[r15868]

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]