Michael Beck [Wed, 3 Oct 2007 12:33:43 +0000 (12:33 +0000)]
removed GNU extension: void * are not allowed in arithmetic
[r16052]
Michael Beck [Wed, 3 Oct 2007 12:18:42 +0000 (12:18 +0000)]
use is_Psi()
[r16051]
Christoph Mallon [Wed, 3 Oct 2007 10:22:34 +0000 (10:22 +0000)]
Replace the parameter int commutative of gen_binop(), gen_binop_sse_float() and gen_binop_x87_float() by match_flags_t flags for clarity and flexibility.
[r16050]
Christoph Mallon [Wed, 3 Oct 2007 08:52:45 +0000 (08:52 +0000)]
Remove the node type ia32_int. It is unused and its specification is wrong (it always has an immediate operand, never a register).
[r16049]
Christoph Mallon [Wed, 3 Oct 2007 08:29:44 +0000 (08:29 +0000)]
Remove wrong AM specification from several nodes.
[r16048]
Christoph Mallon [Wed, 3 Oct 2007 08:11:19 +0000 (08:11 +0000)]
vfprem is not capable of address mode.
[r16047]
Christoph Mallon [Wed, 3 Oct 2007 08:08:02 +0000 (08:08 +0000)]
Remove stale comments about the transformation environment parameter.
[r16046]
Christoph Mallon [Wed, 3 Oct 2007 08:06:37 +0000 (08:06 +0000)]
Remove the unused node type ia32_l_Sar.
[r16045]
Christoph Mallon [Wed, 3 Oct 2007 08:03:07 +0000 (08:03 +0000)]
Remove the unused nodes ia32_l_vfdiv, ia32_l_vfmul, ia32_l_vfprem, ia32_l_vfsub.
[r16044]
Christoph Mallon [Wed, 3 Oct 2007 07:32:50 +0000 (07:32 +0000)]
Annotate nodes with their AM capabilities.
[r16043]
Christoph Mallon [Wed, 3 Oct 2007 07:30:01 +0000 (07:30 +0000)]
Replace a magic number by an enum. Turn two if cascades into switches.
[r16042]
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]
Christoph Mallon [Wed, 3 Oct 2007 07:25:36 +0000 (07:25 +0000)]
Fix typo in comment.
[r16040]
Matthias Braun [Tue, 2 Oct 2007 18:34:23 +0000 (18:34 +0000)]
we still need an esp keep for allocas
[r16037]
Matthias Braun [Tue, 2 Oct 2007 15:04:49 +0000 (15:04 +0000)]
fix cmov emitter
[r16036]
Matthias Braun [Tue, 2 Oct 2007 14:28:03 +0000 (14:28 +0000)]
avoid an extra keep for the Call esp projs
[r16035]
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]
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]
Matthias Braun [Tue, 2 Oct 2007 12:20:23 +0000 (12:20 +0000)]
really fix convert problems/truncate committ
[r16032]
Matthias Braun [Tue, 2 Oct 2007 11:54:16 +0000 (11:54 +0000)]
fix tarval convert from pointer to signed int
[r16031]
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]
Matthias Braun [Tue, 2 Oct 2007 07:49:09 +0000 (07:49 +0000)]
workaround lowering problems
[r16029]
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]
Matthias Braun [Mon, 1 Oct 2007 23:16:15 +0000 (23:16 +0000)]
fehler89
[r16027]
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]
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]
Matthias Braun [Mon, 1 Oct 2007 16:30:37 +0000 (16:30 +0000)]
lowering is allowed for unsigned types < 32bits
[r16024]
Christoph Mallon [Mon, 1 Oct 2007 13:32:41 +0000 (13:32 +0000)]
Add a missing Conv in the 64bit lowerer.
[r16023]
Christoph Mallon [Mon, 1 Oct 2007 13:08:48 +0000 (13:08 +0000)]
Fix fehler88: incorrect mode_b lowering of unsigned comparisons.
[r16022]
Christoph Mallon [Mon, 1 Oct 2007 13:07:49 +0000 (13:07 +0000)]
fehler88: wrong mode_b lowering of unsigned comparisons.
[r16021]
Matthias Braun [Mon, 1 Oct 2007 11:21:53 +0000 (11:21 +0000)]
AM for CMov, SSE floats, SubSP, AddSP
[r16020]
Matthias Braun [Mon, 1 Oct 2007 11:19:05 +0000 (11:19 +0000)]
cmov AM test added
[r16019]
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]
Matthias Braun [Sun, 30 Sep 2007 20:38:48 +0000 (20:38 +0000)]
Improved docu
[r16017]
Matthias Braun [Sun, 30 Sep 2007 17:48:29 +0000 (17:48 +0000)]
more outreg query fixes
[r16016]
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]
Matthias Braun [Sun, 30 Sep 2007 15:38:27 +0000 (15:38 +0000)]
support for fucom(p)i
[r16014]
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]
Matthias Braun [Sun, 30 Sep 2007 12:33:07 +0000 (12:33 +0000)]
started working on a peephole phase
[r16012]
Matthias Braun [Sun, 30 Sep 2007 12:32:01 +0000 (12:32 +0000)]
- support for Ftst instruction, AM support for x87 float
[r16011]
Matthias Braun [Sun, 30 Sep 2007 12:30:19 +0000 (12:30 +0000)]
add index to register classes, change some fields to unsigned
[r16010]
Matthias Braun [Sun, 30 Sep 2007 12:30:08 +0000 (12:30 +0000)]
add index to register classes, change some fields to unsigned
[r16009]
Matthias Braun [Sun, 30 Sep 2007 12:28:47 +0000 (12:28 +0000)]
don't reload before anchor node
[r16008]
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]
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]
Christoph Mallon [Sat, 29 Sep 2007 15:48:33 +0000 (15:48 +0000)]
Fix r16004.
[r16005]
Christoph Mallon [Sat, 29 Sep 2007 15:36:14 +0000 (15:36 +0000)]
Inline gen_Minus_ex() into its only caller gen_Minus().
[r16004]
Christoph Mallon [Sat, 29 Sep 2007 14:47:51 +0000 (14:47 +0000)]
Fix wrong emitter specifications of CvtSI2SS and CvtSI2SD.
[r16003]
Christoph Mallon [Sat, 29 Sep 2007 14:44:43 +0000 (14:44 +0000)]
Remove unused operand specifications.
[r16002]
Christoph Mallon [Sat, 29 Sep 2007 14:44:08 +0000 (14:44 +0000)]
Remove unused operand specifications.
[r16001]
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]
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]
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]
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]
Matthias Braun [Sat, 29 Sep 2007 12:09:59 +0000 (12:09 +0000)]
correct should_be fields in boolopts testapp
[r15996]
Matthias Braun [Sat, 29 Sep 2007 12:05:04 +0000 (12:05 +0000)]
improve a X 0 lowering a bit
[r15995]
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]
Christoph Mallon [Sat, 29 Sep 2007 11:50:30 +0000 (11:50 +0000)]
Tell heur1 about the second should_be_same.
[r15993]
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]
Christoph Mallon [Fri, 28 Sep 2007 21:34:25 +0000 (21:34 +0000)]
Remove ia32_Sub64Bit. Replace it by Sub and Sbb.
[r15990]
Michael Beck [Fri, 28 Sep 2007 21:34:00 +0000 (21:34 +0000)]
set current_ir_graph while reassoc runs
[r15989]
Matthias Braun [Fri, 28 Sep 2007 14:33:41 +0000 (14:33 +0000)]
fix for fehler87
[r15986]
Matthias Braun [Fri, 28 Sep 2007 14:31:56 +0000 (14:31 +0000)]
fehler87
[r15985]
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]
Matthias Braun [Thu, 27 Sep 2007 18:56:27 +0000 (18:56 +0000)]
fehler85
[r15979]
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]
Matthias Braun [Thu, 27 Sep 2007 18:08:08 +0000 (18:08 +0000)]
fehler84
[r15977]
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]
Michael Beck [Thu, 27 Sep 2007 16:24:49 +0000 (16:24 +0000)]
do NOT ignore exception edges anymore when removing critcal edges
[r15975]
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]
Matthias Braun [Thu, 27 Sep 2007 16:17:46 +0000 (16:17 +0000)]
jetzt cooler?
[r15973]
Matthias Braun [Thu, 27 Sep 2007 16:14:52 +0000 (16:14 +0000)]
teeest
[r15972]
Michael Beck [Thu, 27 Sep 2007 15:36:39 +0000 (15:36 +0000)]
latest version
[r15971]
Michael Beck [Thu, 27 Sep 2007 15:36:12 +0000 (15:36 +0000)]
fixed indentation
[r15970]
Christoph Mallon [Thu, 27 Sep 2007 15:34:58 +0000 (15:34 +0000)]
Fix warning in r15953.
[r15969]
Matthias Braun [Thu, 27 Sep 2007 15:32:51 +0000 (15:32 +0000)]
test
[r15968]
Michael Beck [Thu, 27 Sep 2007 15:32:52 +0000 (15:32 +0000)]
latest version
[r15967]
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]
Michael Beck [Thu, 27 Sep 2007 15:31:25 +0000 (15:31 +0000)]
do not schedule nodes only hold by the anchor
[r15965]
Michael Beck [Thu, 27 Sep 2007 15:30:12 +0000 (15:30 +0000)]
add assert to get_Block_MacroBlock()
[r15964]
Matthias Braun [Thu, 27 Sep 2007 15:28:29 +0000 (15:28 +0000)]
test agauin
[r15963]
Michael Beck [Thu, 27 Sep 2007 15:29:34 +0000 (15:29 +0000)]
let dead node elimination copy the MacroBlock header
[r15962]
Michael Beck [Thu, 27 Sep 2007 15:28:46 +0000 (15:28 +0000)]
fixed is_exception_flow(), add assert to get_Block_MacroBlock()
[r15961]
Michael Beck [Thu, 27 Sep 2007 15:27:58 +0000 (15:27 +0000)]
can now dump new out edges
[r15960]
Michael Beck [Thu, 27 Sep 2007 15:26:33 +0000 (15:26 +0000)]
little progress ...
[r15959]
Matthias Braun [Thu, 27 Sep 2007 15:24:27 +0000 (15:24 +0000)]
more tests
[r15958]
Matthias Braun [Thu, 27 Sep 2007 15:19:37 +0000 (15:19 +0000)]
test
[r15957]
Matthias Braun [Thu, 27 Sep 2007 15:16:10 +0000 (15:16 +0000)]
test
[r15956]
Matthias Braun [Thu, 27 Sep 2007 15:09:47 +0000 (15:09 +0000)]
test
[r15955]
Matthias Braun [Thu, 27 Sep 2007 15:08:45 +0000 (15:08 +0000)]
test
[r15954]
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]
Matthias Braun [Thu, 27 Sep 2007 15:06:58 +0000 (15:06 +0000)]
remove add64 (mereley a test commit for the rss feed)
[r15952]
Michael Beck [Thu, 27 Sep 2007 14:21:55 +0000 (14:21 +0000)]
removed unneccessary constraints
[r15948]
Michael Beck [Thu, 27 Sep 2007 13:53:55 +0000 (13:53 +0000)]
fixed skipping of Pin Nodes before Mod/Div/DivMod
[r15947]
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]
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]
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]
Matthias Braun [Thu, 27 Sep 2007 11:43:39 +0000 (11:43 +0000)]
hack to allow using different eccps
[r15941]
Christoph Mallon [Thu, 27 Sep 2007 10:08:37 +0000 (10:08 +0000)]
Restructure to make the assembler easier to read.
[r15936]
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]