libfirm
16 years agoDirectly tie the ConvI2I8Bit node to the ConvI2I emitter instead of using an intermed...
Christoph Mallon [Wed, 3 Oct 2007 07:27:37 +0000 (07:27 +0000)]
Directly tie the ConvI2I8Bit node to the ConvI2I emitter instead of using an intermediate function.

[r16041]

16 years agoFix typo in comment.
Christoph Mallon [Wed, 3 Oct 2007 07:25:36 +0000 (07:25 +0000)]
Fix typo in comment.

[r16040]

17 years agowe still need an esp keep for allocas
Matthias Braun [Tue, 2 Oct 2007 18:34:23 +0000 (18:34 +0000)]
we still need an esp keep for allocas

[r16037]

17 years agofix cmov emitter
Matthias Braun [Tue, 2 Oct 2007 15:04:49 +0000 (15:04 +0000)]
fix cmov emitter

[r16036]

17 years agoavoid an extra keep for the Call esp projs
Matthias Braun [Tue, 2 Oct 2007 14:28:03 +0000 (14:28 +0000)]
avoid an extra keep for the Call esp projs

[r16035]

17 years ago- Route esp through calls
Matthias Braun [Tue, 2 Oct 2007 14:05:27 +0000 (14:05 +0000)]
- Route esp through calls
- Mark struct returning calls as modify_stack
- Cleanup benode a bit

[r16034]

17 years agoonly set compound_ret flag if it was really a ret and not a parameter
Matthias Braun [Tue, 2 Oct 2007 14:04:43 +0000 (14:04 +0000)]
only set compound_ret flag if it was really a ret and not a parameter

[r16033]

17 years agoreally fix convert problems/truncate committ
Matthias Braun [Tue, 2 Oct 2007 12:20:23 +0000 (12:20 +0000)]
really fix convert problems/truncate committ

[r16032]

17 years agofix tarval convert from pointer to signed int
Matthias Braun [Tue, 2 Oct 2007 11:54:16 +0000 (11:54 +0000)]
fix tarval convert from pointer to signed int

[r16031]

17 years ago- workaround and document ShrD/ShlD problems correctly this time
Matthias Braun [Tue, 2 Oct 2007 07:50:01 +0000 (07:50 +0000)]
- workaround and document ShrD/ShlD problems correctly this time
- some cleanups

[r16030]

17 years agoworkaround lowering problems
Matthias Braun [Tue, 2 Oct 2007 07:49:09 +0000 (07:49 +0000)]
workaround lowering problems

[r16029]

17 years agofix fehler89 by correctly truncating tarvals (wrote a new sc_truncate function)
Matthias Braun [Tue, 2 Oct 2007 07:46:21 +0000 (07:46 +0000)]
fix fehler89 by correctly truncating tarvals (wrote a new sc_truncate function)

[r16028]

17 years agofehler89
Matthias Braun [Mon, 1 Oct 2007 23:16:15 +0000 (23:16 +0000)]
fehler89

[r16027]

17 years agoAdd a should_be_same constraint for the second input of CMov.
Christoph Mallon [Mon, 1 Oct 2007 16:37:46 +0000 (16:37 +0000)]
Add a should_be_same constraint for the second input of CMov.

[r16026]

17 years agofix cmov AM bug, avoid some verify warning in beflags code
Matthias Braun [Mon, 1 Oct 2007 16:31:11 +0000 (16:31 +0000)]
fix cmov AM bug, avoid some verify warning in beflags code

[r16025]

17 years agolowering is allowed for unsigned types < 32bits
Matthias Braun [Mon, 1 Oct 2007 16:30:37 +0000 (16:30 +0000)]
lowering is allowed for unsigned types < 32bits

[r16024]

17 years agoAdd a missing Conv in the 64bit lowerer.
Christoph Mallon [Mon, 1 Oct 2007 13:32:41 +0000 (13:32 +0000)]
Add a missing Conv in the 64bit lowerer.

[r16023]

17 years agoFix fehler88: incorrect mode_b lowering of unsigned comparisons.
Christoph Mallon [Mon, 1 Oct 2007 13:08:48 +0000 (13:08 +0000)]
Fix fehler88: incorrect mode_b lowering of unsigned comparisons.

[r16022]

17 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]

17 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]

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

[r16019]

17 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]

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

[r16017]

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

[r16016]

17 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]

17 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]

17 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]

17 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]

17 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]

17 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]

17 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]

17 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]

17 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]

17 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]

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

[r16005]

17 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]

17 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]

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

[r16002]

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

[r16001]

17 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]

17 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]

17 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]

17 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]

17 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]

17 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]

17 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]

17 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]

17 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]

17 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]

17 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]

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

[r15986]

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

[r15985]

17 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]

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

[r15979]

17 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]

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

[r15977]

17 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]

17 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]

17 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]

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

[r15973]

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

[r15972]

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

[r15971]

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

[r15970]

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

[r15969]

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

[r15968]

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

[r15967]

17 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]

17 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]

17 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]

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

[r15963]

17 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]

17 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]

17 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]

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

[r15959]

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

[r15958]

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

[r15957]

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

[r15956]

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

[r15955]

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

[r15954]

17 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]

17 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]

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

[r15948]

17 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]

17 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]

17 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]

17 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]

17 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]

17 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]

17 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]

17 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]

17 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]

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

[r15931]

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

[r15930]

17 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]

17 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]

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

[r15921]

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

[r15919]

17 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]

17 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]

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

[r15907]