libfirm
16 years agofehler88: wrong mode_b lowering of unsigned comparisons.
Christoph Mallon [Mon, 1 Oct 2007 13:07:49 +0000 (13:07 +0000)]
fehler88: wrong mode_b lowering of unsigned comparisons.

[r16021]

16 years agoAM for CMov, SSE floats, SubSP, AddSP
Matthias Braun [Mon, 1 Oct 2007 11:21:53 +0000 (11:21 +0000)]
AM for CMov, SSE floats, SubSP, AddSP

[r16020]

16 years agocmov AM test added
Matthias Braun [Mon, 1 Oct 2007 11:19:05 +0000 (11:19 +0000)]
cmov AM test added

[r16019]

16 years agomark methods with lowered struct params, correctly handle x86 abi for this case
Matthias Braun [Mon, 1 Oct 2007 11:11:30 +0000 (11:11 +0000)]
mark methods with lowered struct params, correctly handle x86 abi for this case

[r16018]

16 years agoImproved docu
Matthias Braun [Sun, 30 Sep 2007 20:38:48 +0000 (20:38 +0000)]
Improved docu

[r16017]

16 years agomore outreg query fixes
Matthias Braun [Sun, 30 Sep 2007 17:48:29 +0000 (17:48 +0000)]
more outreg query fixes

[r16016]

16 years agoadd assert for not getting bad out regs, and fix some bugs related to this
Matthias Braun [Sun, 30 Sep 2007 17:18:16 +0000 (17:18 +0000)]
add assert for not getting bad out regs, and fix some bugs related to this

[r16015]

16 years agosupport for fucom(p)i
Matthias Braun [Sun, 30 Sep 2007 15:38:27 +0000 (15:38 +0000)]
support for fucom(p)i

[r16014]

16 years ago- first real peephole optimisation mov 0, reg -> xor reg, reg when we don't
Matthias Braun [Sun, 30 Sep 2007 14:39:22 +0000 (14:39 +0000)]
- first real peephole optimisation mov 0, reg -> xor reg, reg when we don't
  care about flags
- fixed some bugs in bepeephole

[r16013]

16 years agostarted working on a peephole phase
Matthias Braun [Sun, 30 Sep 2007 12:33:07 +0000 (12:33 +0000)]
started working on a peephole phase

[r16012]

16 years ago- support for Ftst instruction, AM support for x87 float
Matthias Braun [Sun, 30 Sep 2007 12:32:01 +0000 (12:32 +0000)]
- support for Ftst instruction, AM support for x87 float

[r16011]

16 years agoadd index to register classes, change some fields to unsigned
Matthias Braun [Sun, 30 Sep 2007 12:30:19 +0000 (12:30 +0000)]
add index to register classes, change some fields to unsigned

[r16010]

16 years agoadd index to register classes, change some fields to unsigned
Matthias Braun [Sun, 30 Sep 2007 12:30:08 +0000 (12:30 +0000)]
add index to register classes, change some fields to unsigned

[r16009]

16 years agodon't reload before anchor node
Matthias Braun [Sun, 30 Sep 2007 12:28:47 +0000 (12:28 +0000)]
don't reload before anchor node

[r16008]

16 years agoGeneralise create_Immediate_from_int() to create_Immediate() to reduce code duplicati...
Christoph Mallon [Sat, 29 Sep 2007 16:09:03 +0000 (16:09 +0000)]
Generalise create_Immediate_from_int() to create_Immediate() to reduce code duplication a bit.

[r16007]

16 years agoRemove gen_bin_Not(). mode_b nots should be lowered already.
Christoph Mallon [Sat, 29 Sep 2007 15:49:54 +0000 (15:49 +0000)]
Remove gen_bin_Not(). mode_b nots should be lowered already.

[r16006]

16 years agoFix r16004.
Christoph Mallon [Sat, 29 Sep 2007 15:48:33 +0000 (15:48 +0000)]
Fix r16004.

[r16005]

16 years agoInline gen_Minus_ex() into its only caller gen_Minus().
Christoph Mallon [Sat, 29 Sep 2007 15:36:14 +0000 (15:36 +0000)]
Inline gen_Minus_ex() into its only caller gen_Minus().

[r16004]

16 years agoFix wrong emitter specifications of CvtSI2SS and CvtSI2SD.
Christoph Mallon [Sat, 29 Sep 2007 14:47:51 +0000 (14:47 +0000)]
Fix wrong emitter specifications of CvtSI2SS and CvtSI2SD.

[r16003]

16 years agoRemove unused operand specifications.
Christoph Mallon [Sat, 29 Sep 2007 14:44:43 +0000 (14:44 +0000)]
Remove unused operand specifications.

[r16002]

16 years agoRemove unused operand specifications.
Christoph Mallon [Sat, 29 Sep 2007 14:44:08 +0000 (14:44 +0000)]
Remove unused operand specifications.

[r16001]

16 years agoIn emit_ia32_Conv_with_FP() the operands were swapped in the source AM case.
Christoph Mallon [Sat, 29 Sep 2007 14:38:07 +0000 (14:38 +0000)]
In emit_ia32_Conv_with_FP() the operands were swapped in the source AM case.

[r16000]

16 years agoRemove the parameter produces_result from ia32_emit_binop(). It is only used for...
Christoph Mallon [Sat, 29 Sep 2007 14:34:13 +0000 (14:34 +0000)]
Remove the parameter produces_result from ia32_emit_binop(). It is only used for an assert.

[r15999]

16 years agoxZero produses its result in outreg 0, not in the non-existent outreg 1.
Christoph Mallon [Sat, 29 Sep 2007 14:26:30 +0000 (14:26 +0000)]
xZero produses its result in outreg 0, not in the non-existent outreg 1.

[r15998]

16 years agoIn get_out_reg() assert that the requested outreg position is 0 when the node is...
Christoph Mallon [Sat, 29 Sep 2007 14:26:01 +0000 (14:26 +0000)]
In get_out_reg() assert that the requested outreg position is 0 when the node is not mode_T.

[r15997]

16 years agocorrect should_be fields in boolopts testapp
Matthias Braun [Sat, 29 Sep 2007 12:09:59 +0000 (12:09 +0000)]
correct should_be fields in boolopts testapp

[r15996]

16 years agoimprove a X 0 lowering a bit
Matthias Braun [Sat, 29 Sep 2007 12:05:04 +0000 (12:05 +0000)]
improve a X 0 lowering a bit

[r15995]

16 years agoremove unnecessary (since lower_mode_b does it better) and wrong Mux optimisation...
Matthias Braun [Sat, 29 Sep 2007 12:04:39 +0000 (12:04 +0000)]
remove unnecessary (since lower_mode_b does it better) and wrong Mux optimisation, combine syncs with syncs

[r15994]

16 years agoTell heur1 about the second should_be_same.
Christoph Mallon [Sat, 29 Sep 2007 11:50:30 +0000 (11:50 +0000)]
Tell heur1 about the second should_be_same.

[r15993]

16 years agochanged the detection of exception flow for new regular/exception control flow
Michael Beck [Fri, 28 Sep 2007 21:34:48 +0000 (21:34 +0000)]
changed the detection of exception flow for new regular/exception control flow

[r15991]

16 years agoRemove ia32_Sub64Bit. Replace it by Sub and Sbb.
Christoph Mallon [Fri, 28 Sep 2007 21:34:25 +0000 (21:34 +0000)]
Remove ia32_Sub64Bit. Replace it by Sub and Sbb.

[r15990]

16 years agoset current_ir_graph while reassoc runs
Michael Beck [Fri, 28 Sep 2007 21:34:00 +0000 (21:34 +0000)]
set current_ir_graph while reassoc runs

[r15989]

16 years agofix for fehler87
Matthias Braun [Fri, 28 Sep 2007 14:33:41 +0000 (14:33 +0000)]
fix for fehler87

[r15986]

16 years agofehler87
Matthias Braun [Fri, 28 Sep 2007 14:31:56 +0000 (14:31 +0000)]
fehler87

[r15985]

16 years agofehler86: 64bit in 32bit address calculation. The frontend probably should generate...
Christoph Mallon [Thu, 27 Sep 2007 18:58:12 +0000 (18:58 +0000)]
fehler86: 64bit in 32bit address calculation. The frontend probably should generate a ConvIu.

[r15980]

16 years agofehler85
Matthias Braun [Thu, 27 Sep 2007 18:56:27 +0000 (18:56 +0000)]
fehler85

[r15979]

16 years agoFix some forgotten cases in the 64bit lowerer: The lower 32bits of a 64bit operation...
Christoph Mallon [Thu, 27 Sep 2007 18:24:08 +0000 (18:24 +0000)]
Fix some forgotten cases in the 64bit lowerer: The lower 32bits of a 64bit operation are always unsigned.

[r15978]

16 years agofehler84
Matthias Braun [Thu, 27 Sep 2007 18:08:08 +0000 (18:08 +0000)]
fehler84

[r15977]

16 years agobetter debug output when assembler constraints fail, don't create psis with 64bit...
Matthias Braun [Thu, 27 Sep 2007 17:41:20 +0000 (17:41 +0000)]
better debug output when assembler constraints fail, don't create psis with 64bit compares

[r15976]

16 years agodo NOT ignore exception edges anymore when removing critcal edges
Michael Beck [Thu, 27 Sep 2007 16:24:49 +0000 (16:24 +0000)]
do NOT ignore exception edges anymore when removing critcal edges

[r15975]

16 years agoAnother test of the rss feed generator (multi line log)
Matthias Braun [Thu, 27 Sep 2007 16:19:34 +0000 (16:19 +0000)]
Another test of the rss feed generator (multi line log)

with multiple lines log message

[r15974]

16 years agojetzt cooler?
Matthias Braun [Thu, 27 Sep 2007 16:17:46 +0000 (16:17 +0000)]
jetzt cooler?

[r15973]

16 years agoteeest
Matthias Braun [Thu, 27 Sep 2007 16:14:52 +0000 (16:14 +0000)]
teeest

[r15972]

16 years agolatest version
Michael Beck [Thu, 27 Sep 2007 15:36:39 +0000 (15:36 +0000)]
latest version

[r15971]

16 years agofixed indentation
Michael Beck [Thu, 27 Sep 2007 15:36:12 +0000 (15:36 +0000)]
fixed indentation

[r15970]

16 years agoFix warning in r15953.
Christoph Mallon [Thu, 27 Sep 2007 15:34:58 +0000 (15:34 +0000)]
Fix warning in r15953.

[r15969]

16 years agotest
Matthias Braun [Thu, 27 Sep 2007 15:32:51 +0000 (15:32 +0000)]
test

[r15968]

16 years agolatest version
Michael Beck [Thu, 27 Sep 2007 15:32:52 +0000 (15:32 +0000)]
latest version

[r15967]

16 years agoadd the "garbage collection" feature to the out edges, yet disabled
Michael Beck [Thu, 27 Sep 2007 15:32:18 +0000 (15:32 +0000)]
add the "garbage collection" feature to the out edges, yet disabled

[r15966]

16 years agodo not schedule nodes only hold by the anchor
Michael Beck [Thu, 27 Sep 2007 15:31:25 +0000 (15:31 +0000)]
do not schedule nodes only hold by the anchor

[r15965]

16 years agoadd assert to get_Block_MacroBlock()
Michael Beck [Thu, 27 Sep 2007 15:30:12 +0000 (15:30 +0000)]
add assert to get_Block_MacroBlock()

[r15964]

16 years agotest agauin
Matthias Braun [Thu, 27 Sep 2007 15:28:29 +0000 (15:28 +0000)]
test agauin

[r15963]

16 years agolet dead node elimination copy the MacroBlock header
Michael Beck [Thu, 27 Sep 2007 15:29:34 +0000 (15:29 +0000)]
let dead node elimination copy the MacroBlock header

[r15962]

16 years agofixed is_exception_flow(), add assert to get_Block_MacroBlock()
Michael Beck [Thu, 27 Sep 2007 15:28:46 +0000 (15:28 +0000)]
fixed is_exception_flow(), add assert to get_Block_MacroBlock()

[r15961]

16 years agocan now dump new out edges
Michael Beck [Thu, 27 Sep 2007 15:27:58 +0000 (15:27 +0000)]
can now dump new out edges

[r15960]

16 years agolittle progress ...
Michael Beck [Thu, 27 Sep 2007 15:26:33 +0000 (15:26 +0000)]
little progress ...

[r15959]

16 years agomore tests
Matthias Braun [Thu, 27 Sep 2007 15:24:27 +0000 (15:24 +0000)]
more tests

[r15958]

16 years agotest
Matthias Braun [Thu, 27 Sep 2007 15:19:37 +0000 (15:19 +0000)]
test

[r15957]

16 years agotest
Matthias Braun [Thu, 27 Sep 2007 15:16:10 +0000 (15:16 +0000)]
test

[r15956]

16 years agotest
Matthias Braun [Thu, 27 Sep 2007 15:09:47 +0000 (15:09 +0000)]
test

[r15955]

16 years agotest
Matthias Braun [Thu, 27 Sep 2007 15:08:45 +0000 (15:08 +0000)]
test

[r15954]

16 years agoAllow two should-be-same constraints for every out register. This is useful for commu...
Christoph Mallon [Thu, 27 Sep 2007 15:07:27 +0000 (15:07 +0000)]
Allow two should-be-same constraints for every out register. This is useful for commutative nodes on two address code machines (i.e. x86).

[r15953]

16 years agoremove add64 (mereley a test commit for the rss feed)
Matthias Braun [Thu, 27 Sep 2007 15:06:58 +0000 (15:06 +0000)]
remove add64 (mereley a test commit for the rss feed)

[r15952]

16 years agoremoved unneccessary constraints
Michael Beck [Thu, 27 Sep 2007 14:21:55 +0000 (14:21 +0000)]
removed unneccessary constraints

[r15948]

16 years agofixed skipping of Pin Nodes before Mod/Div/DivMod
Michael Beck [Thu, 27 Sep 2007 13:53:55 +0000 (13:53 +0000)]
fixed skipping of Pin Nodes before Mod/Div/DivMod

[r15947]

16 years agoextend the x % 2 CMP 0 into x % 2^n CMP 0
Michael Beck [Thu, 27 Sep 2007 13:19:07 +0000 (13:19 +0000)]
extend the x % 2 CMP 0 into x % 2^n CMP 0

[r15944]

16 years agoadd special case for (x % 2) ==|!= 0, speeds up fehler83.c
Michael Beck [Thu, 27 Sep 2007 12:39:48 +0000 (12:39 +0000)]
add special case for (x % 2) ==|!= 0, speeds up fehler83.c

[r15943]

16 years agoAdd the famous ENDOF() macro which calculates the address of the one past last elemen...
Christoph Mallon [Thu, 27 Sep 2007 12:08:12 +0000 (12:08 +0000)]
Add the famous ENDOF() macro which calculates the address of the one past last element of an array whose size is known statically.

[r15942]

16 years agohack to allow using different eccps
Matthias Braun [Thu, 27 Sep 2007 11:43:39 +0000 (11:43 +0000)]
hack to allow using different eccps

[r15941]

16 years agoRestructure to make the assembler easier to read.
Christoph Mallon [Thu, 27 Sep 2007 10:08:37 +0000 (10:08 +0000)]
Restructure to make the assembler easier to read.

[r15936]

16 years agoRemoved USE_FAST_PHI_CONSTRUCTION and USE_EXPLICIT_PHI_IN_STACK
Michael Beck [Thu, 27 Sep 2007 09:51:41 +0000 (09:51 +0000)]
Removed USE_FAST_PHI_CONSTRUCTION and USE_EXPLICIT_PHI_IN_STACK
options: This code is neither used nor usefull in current Firm

Fixed handling of exceptional memory.

[r15935]

16 years agoFix fehler83: The mode of the outer Sub in the transformation Sub(Sub(x, y), b) ...
Christoph Mallon [Thu, 27 Sep 2007 07:57:07 +0000 (07:57 +0000)]
Fix fehler83: The mode of the outer Sub in the transformation Sub(Sub(x, y), b) -> Sub(x, Add(y, b)) must not change.

[r15933]

16 years agodont push constrained nodes through perms (fixes fehler82)
Matthias Braun [Wed, 26 Sep 2007 19:48:22 +0000 (19:48 +0000)]
dont push constrained nodes through perms (fixes fehler82)

[r15932]

16 years agofehler83
Matthias Braun [Wed, 26 Sep 2007 19:23:57 +0000 (19:23 +0000)]
fehler83

[r15931]

16 years agofehler82
Matthias Braun [Wed, 26 Sep 2007 19:11:05 +0000 (19:11 +0000)]
fehler82

[r15930]

16 years agono environment anymore for emitters
Matthias Braun [Wed, 26 Sep 2007 15:33:09 +0000 (15:33 +0000)]
no environment anymore for emitters

[r15927]

16 years agoTeach FILd to use source AM.
Christoph Mallon [Wed, 26 Sep 2007 14:12:25 +0000 (14:12 +0000)]
Teach FILd to use source AM.

[r15925]

16 years agoFix grammo in comment.
Christoph Mallon [Tue, 25 Sep 2007 20:39:09 +0000 (20:39 +0000)]
Fix grammo in comment.

[r15921]

16 years agoC99 feature removed
Michael Beck [Tue, 25 Sep 2007 14:33:00 +0000 (14:33 +0000)]
C99 feature removed

[r15919]

16 years ago- never use (broken) sequential load/store in abi
Matthias Braun [Tue, 25 Sep 2007 13:57:17 +0000 (13:57 +0000)]
- never use (broken) sequential load/store in abi
- more sophisticated address mode code selection, brings huge speedups in
  164.gzip

[r15918]

16 years agoad-hoc fix for mul/add problem
Matthias Braun [Mon, 24 Sep 2007 16:16:24 +0000 (16:16 +0000)]
ad-hoc fix for mul/add problem

[r15914]

16 years agoFix r15888.
Christoph Mallon [Thu, 20 Sep 2007 17:58:14 +0000 (17:58 +0000)]
Fix r15888.

[r15907]

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]