libfirm
16 years ago- use flags handling code for ia32 Compares (including Cmov, Set, Jcc)
Matthias Braun [Thu, 20 Sep 2007 14:18:41 +0000 (14:18 +0000)]
- use flags handling code for ia32 Compares (including Cmov, Set, Jcc)
- Allow Source/DestAM with 8/16bit modes where this is profitable

[r15906]

16 years agofixed Push creation (use new constants for get_irn_n() calls)
Michael Beck [Thu, 20 Sep 2007 13:16:36 +0000 (13:16 +0000)]
fixed Push creation (use new constants for get_irn_n() calls)

[r15905]

16 years agoseveral fixes for the flags handler
Matthias Braun [Thu, 20 Sep 2007 12:25:25 +0000 (12:25 +0000)]
several fixes for the flags handler

[r15902]

16 years agoadd an be_node_add_flags function
Matthias Braun [Thu, 20 Sep 2007 12:25:07 +0000 (12:25 +0000)]
add an be_node_add_flags function

[r15901]

16 years agoextended and improved
Michael Beck [Thu, 20 Sep 2007 12:04:24 +0000 (12:04 +0000)]
extended and improved

[r15900]

16 years agodemonstrates a FE error
Michael Beck [Thu, 20 Sep 2007 11:46:02 +0000 (11:46 +0000)]
demonstrates a FE error

[r15899]

16 years agofixed double enum name
Michael Beck [Thu, 20 Sep 2007 10:03:13 +0000 (10:03 +0000)]
fixed double enum name

[r15898]

16 years agoImplement -(a * const) -> a * -const.
Christoph Mallon [Thu, 20 Sep 2007 09:56:06 +0000 (09:56 +0000)]
Implement -(a * const) -> a * -const.

[r15897]

16 years ago- introduced better running flags
Michael Beck [Thu, 20 Sep 2007 09:36:48 +0000 (09:36 +0000)]
- introduced better running flags
- fixed wrong condition in iropt.c

[r15896]

16 years agoAdd a reassoc_running flag used to disable some local optimizations only while reasso...
Michael Beck [Thu, 20 Sep 2007 09:02:45 +0000 (09:02 +0000)]
Add a reassoc_running flag used to disable some local optimizations only while reassoc is running (to prevent endless loops)

[r15895]

16 years agoC99 features removed
Michael Beck [Thu, 20 Sep 2007 09:01:38 +0000 (09:01 +0000)]
C99 features removed

[r15894]

16 years agoAdd a test for x + x + x + ...
Michael Beck [Thu, 20 Sep 2007 09:00:56 +0000 (09:00 +0000)]
Add a test for x + x + x + ...

[r15893]

16 years agoC99 features removed
Michael Beck [Thu, 20 Sep 2007 08:55:41 +0000 (08:55 +0000)]
C99 features removed

[r15891]

16 years agoAdd test for double call
Michael Beck [Thu, 20 Sep 2007 08:51:23 +0000 (08:51 +0000)]
Add test for double call

[r15890]

16 years agofehler80
Matthias Braun [Wed, 19 Sep 2007 21:20:37 +0000 (21:20 +0000)]
fehler80

[r15889]

16 years agoImplement ~x ^ const -> x ^ ~const and ~(x ^ const) -> x ^ ~const.
Christoph Mallon [Wed, 19 Sep 2007 20:29:40 +0000 (20:29 +0000)]
Implement ~x ^ const -> x ^ ~const and ~(x ^ const) -> x ^ ~const.

[r15888]

16 years agoUse already fetched value.
Christoph Mallon [Wed, 19 Sep 2007 20:09:40 +0000 (20:09 +0000)]
Use already fetched value.

[r15887]

16 years agoImplement x ^ 1...1 -> ~1 (This worked only for mode_b so far).
Christoph Mallon [Wed, 19 Sep 2007 20:05:03 +0000 (20:05 +0000)]
Implement x ^ 1...1 -> ~1 (This worked only for mode_b so far).

[r15886]

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]