Matthias Braun [Fri, 12 Oct 2007 23:18:47 +0000 (23:18 +0000)]
fehler94
[r16184]
Matthias Braun [Fri, 12 Oct 2007 20:40:45 +0000 (20:40 +0000)]
fixed/warnings make it possible to build without interprocedural view and enable that mode by default
[r16182]
Matthias Braun [Fri, 12 Oct 2007 20:40:03 +0000 (20:40 +0000)]
fixed a bunch of warnings
[r16181]
Matthias Braun [Fri, 12 Oct 2007 20:02:38 +0000 (20:02 +0000)]
don't worry about IP view in backend
[r16178]
Matthias Braun [Fri, 12 Oct 2007 20:02:24 +0000 (20:02 +0000)]
fix warnings
[r16177]
Matthias Braun [Fri, 12 Oct 2007 20:02:04 +0000 (20:02 +0000)]
reenable conv skipping in address mode code
[r16176]
Michael Beck [Thu, 11 Oct 2007 20:13:06 +0000 (20:13 +0000)]
allow get_mode_all_one() for mode_b
[r16157]
Matthias Braun [Thu, 11 Oct 2007 16:12:44 +0000 (16:12 +0000)]
Projs aren't scheduled anymore
[r16155]
Matthias Braun [Thu, 11 Oct 2007 16:12:24 +0000 (16:12 +0000)]
we can use a simpler test again with fixed smaller_mode
[r16154]
Matthias Braun [Thu, 11 Oct 2007 16:12:07 +0000 (16:12 +0000)]
fix smaller mode
[r16153]
Matthias Braun [Thu, 11 Oct 2007 15:58:11 +0000 (15:58 +0000)]
we can only remove Convs before Cmps if sign doesn't change
[r16152]
Matthias Braun [Thu, 11 Oct 2007 15:53:20 +0000 (15:53 +0000)]
fehler93
[r16151]
Matthias Braun [Thu, 11 Oct 2007 15:07:03 +0000 (15:07 +0000)]
move all constlike nodes to right for Cmps
[r16150]
Michael Beck [Thu, 11 Oct 2007 14:38:27 +0000 (14:38 +0000)]
remove Cast node
[r16148]
Michael Beck [Thu, 11 Oct 2007 10:05:18 +0000 (10:05 +0000)]
- fixed apply_binop_on_phi: need mode for Shift operations (fixes fehler92.c)
- added apply_conv_on_phi
- added transform_node_Rot: same as for other Shift operations
- added apply_unop_on_phi for Abs
-This line, and those below, will be ignored--
M iropt.c
[r16146]
Michael Beck [Wed, 10 Oct 2007 15:13:28 +0000 (15:13 +0000)]
count executed optimization
[r16145]
Matthias Braun [Wed, 10 Oct 2007 15:05:46 +0000 (15:05 +0000)]
fehler92
[r16144]
Matthias Braun [Wed, 10 Oct 2007 14:10:50 +0000 (14:10 +0000)]
ConvI2I8Bit is also a transformed Load
[r16143]
Matthias Braun [Wed, 10 Oct 2007 14:03:48 +0000 (14:03 +0000)]
avoid some of the mode_b lowering related out-edge warnings
[r16142]
Matthias Braun [Wed, 10 Oct 2007 13:44:54 +0000 (13:44 +0000)]
No need to calculate liveness of NoMem
[r16141]
Matthias Braun [Wed, 10 Oct 2007 13:44:32 +0000 (13:44 +0000)]
"empty" blocks might still contain Pin nodes
[r16140]
Michael Beck [Wed, 10 Oct 2007 13:38:37 +0000 (13:38 +0000)]
typos fixed
[r16139]
Michael Beck [Wed, 10 Oct 2007 13:38:05 +0000 (13:38 +0000)]
added statistic events for Cmp optimizations
[r16138]
Michael Beck [Wed, 10 Oct 2007 13:07:00 +0000 (13:07 +0000)]
typo fixed
[r16137]
Michael Beck [Wed, 10 Oct 2007 10:55:09 +0000 (10:55 +0000)]
more test added
[r16136]
Michael Beck [Wed, 10 Oct 2007 10:54:57 +0000 (10:54 +0000)]
added more cases for And/Or and Cmp, moved Const Upscale code to the right place
[r16135]
Michael Beck [Tue, 9 Oct 2007 16:31:37 +0000 (16:31 +0000)]
more test added
[r16134]
Michael Beck [Tue, 9 Oct 2007 16:29:25 +0000 (16:29 +0000)]
moved the cast removed upwards; added cases for Shr, Shrs, Shrl --> And
[r16133]
Michael Beck [Tue, 9 Oct 2007 11:57:23 +0000 (11:57 +0000)]
typo fixed
[r16131]
Matthias Braun [Mon, 8 Oct 2007 22:44:54 +0000 (22:44 +0000)]
fehler91
[r16130]
Matthias Braun [Mon, 8 Oct 2007 22:10:53 +0000 (22:10 +0000)]
improve mode/conv handling in backend (should result in less convs)
[r16129]
Sebastian Hack [Mon, 8 Oct 2007 20:32:27 +0000 (20:32 +0000)]
Trivial fix of the manifestation problem
[r16128]
Matthias Braun [Mon, 8 Oct 2007 18:09:33 +0000 (18:09 +0000)]
no need for (strict-)conv before store
[r16127]
Matthias Braun [Mon, 8 Oct 2007 16:58:18 +0000 (16:58 +0000)]
remove unused R flags, mark vfld as rematerialisable
[r16126]
Matthias Braun [Mon, 8 Oct 2007 16:36:29 +0000 (16:36 +0000)]
no strict conv necessary after load
[r16125]
Matthias Braun [Mon, 8 Oct 2007 13:12:46 +0000 (13:12 +0000)]
support AM in IJmp and IMul1OP
[r16124]
Matthias Braun [Mon, 8 Oct 2007 10:59:10 +0000 (10:59 +0000)]
cleaned up, fixed and commented daemelspiller a bit
[r16122]
Matthias Braun [Sun, 7 Oct 2007 18:11:11 +0000 (18:11 +0000)]
only set pinned state when not already pinned
[r16119]
Matthias Braun [Sun, 7 Oct 2007 17:43:58 +0000 (17:43 +0000)]
CF backedges are enough for us
[r16118]
Michael Beck [Sun, 7 Oct 2007 17:15:10 +0000 (17:15 +0000)]
add initialization to supress warning
typos fixed
[r16117]
Matthias Braun [Sun, 7 Oct 2007 17:06:50 +0000 (17:06 +0000)]
testcase for strange loop depths in loopana
[r16116]
Matthias Braun [Sun, 7 Oct 2007 17:05:12 +0000 (17:05 +0000)]
parameter loads are floating
[r16115]
Matthias Braun [Sun, 7 Oct 2007 17:00:34 +0000 (17:00 +0000)]
we have to use the pinned state from the load when using AM, mark all AM supporting ops als exc_pinned
[r16114]
Christoph Mallon [Sun, 7 Oct 2007 15:50:49 +0000 (15:50 +0000)]
Remove whitespace at EOL and empty lines at EOF.
[r16112]
Christoph Mallon [Sun, 7 Oct 2007 15:28:55 +0000 (15:28 +0000)]
Simplify consumer_dom_dca().
[r16111]
Christoph Mallon [Sun, 7 Oct 2007 15:25:43 +0000 (15:25 +0000)]
Cleanup: Remove trailing whitespace, get_irn_n(n, -1) -> get_nodes_block(n), get_irn_op(n) == op_FOO -> is_Foo(n).
[r16110]
Matthias Braun [Sat, 6 Oct 2007 19:31:27 +0000 (19:31 +0000)]
add an option to disable calling convention optimisation
[r16108]
Matthias Braun [Sat, 6 Oct 2007 19:31:08 +0000 (19:31 +0000)]
emit a Begin and End marker around functions (usefull for scripts modifying the .s file)
[r16107]
Matthias Braun [Sat, 6 Oct 2007 17:05:20 +0000 (17:05 +0000)]
use unknowns instead of Bads while constructing phis
[r16106]
Matthias Braun [Sat, 6 Oct 2007 13:40:34 +0000 (13:40 +0000)]
really disable CSE in backend, and add an assert about that in bespill.c
[r16105]
Michael Beck [Fri, 5 Oct 2007 22:42:00 +0000 (22:42 +0000)]
made parse_asm_constraint() static
[r16103]
Michael Beck [Fri, 5 Oct 2007 22:41:31 +0000 (22:41 +0000)]
doxygen comment added
[r16102]
Michael Beck [Fri, 5 Oct 2007 12:37:02 +0000 (12:37 +0000)]
preliminary added missing *stat_ev_int()
[r16099]
Sebastian Hack [Fri, 5 Oct 2007 11:19:40 +0000 (11:19 +0000)]
A small (very small) optimization
[r16097]
Sebastian Hack [Fri, 5 Oct 2007 11:19:02 +0000 (11:19 +0000)]
Cosmetics
[r16096]
Matthias Braun [Thu, 4 Oct 2007 19:24:57 +0000 (19:24 +0000)]
fix negated set pnc with float compare problem
[r16091]
Matthias Braun [Thu, 4 Oct 2007 19:18:05 +0000 (19:18 +0000)]
- introduce an "end-block" to the absgraph, so the irg_end_block is known in a
dfs even if the program contains just an endless loop
[r16090]
Matthias Braun [Thu, 4 Oct 2007 16:12:55 +0000 (16:12 +0000)]
correct register constraint for inb asm
[r16089]
Michael Beck [Thu, 4 Oct 2007 16:12:24 +0000 (16:12 +0000)]
suppress warnings
[r16087]
Matthias Braun [Thu, 4 Oct 2007 16:01:46 +0000 (16:01 +0000)]
fixed/improved assembler nodes
[r16086]
Matthias Braun [Thu, 4 Oct 2007 15:48:30 +0000 (15:48 +0000)]
more tricky asm tests
[r16085]
Michael Beck [Thu, 4 Oct 2007 14:55:23 +0000 (14:55 +0000)]
add the mode to the asm constraints
[r16081]
Christoph Mallon [Thu, 4 Oct 2007 14:40:05 +0000 (14:40 +0000)]
More signed/unsigned fixes for 64bit lowering.
[r16080]
Christoph Mallon [Thu, 4 Oct 2007 14:38:49 +0000 (14:38 +0000)]
Better detection of sign extension for generating 32x32=64bit multiplication.
[r16079]
Christoph Mallon [Thu, 4 Oct 2007 12:45:07 +0000 (12:45 +0000)]
Manual CSE.
[r16078]
Matthias Braun [Thu, 4 Oct 2007 12:26:34 +0000 (12:26 +0000)]
a testcase for the just fixed deconv problem
[r16077]
Matthias Braun [Thu, 4 Oct 2007 12:09:30 +0000 (12:09 +0000)]
firm revision and build changed to strings
[r16076]
Matthias Braun [Thu, 4 Oct 2007 11:35:21 +0000 (11:35 +0000)]
fixed deconv (always stop at nodes with multiple outs
[r16073]
Christoph Mallon [Thu, 4 Oct 2007 07:40:00 +0000 (07:40 +0000)]
Swap the esp and value inputs of ia32_Push (so esp is before val). This is more consistent because the source operand is last now. Further the AM specification is correct now.
[r16071]
Christoph Mallon [Wed, 3 Oct 2007 21:18:57 +0000 (21:18 +0000)]
Do not transform a Shl by 0-3 into a Lea. A Lea with only index and no base always has a 4 byte displacement, so the opcode is longer than a Mov + Shl.
[r16070]
Christoph Mallon [Wed, 3 Oct 2007 21:03:40 +0000 (21:03 +0000)]
In is_2addr_code() test whether the flag arch_register_req_type_should_be_same is set, not if the type is exactly arch_register_req_type_should_be_same. This glitch led to missing affinity edges/optimisation units for nodes which have other constraints, too.
[r16069]
Christoph Mallon [Wed, 3 Oct 2007 17:16:32 +0000 (17:16 +0000)]
Factorise the common code to transform binary operations which also consume the eflags (Adc and Sbb) into the new function gen_binop_flags().
[r16067]
Matthias Braun [Wed, 3 Oct 2007 17:10:41 +0000 (17:10 +0000)]
do NOT mirror pnc on swap_left_right anymore, as it isn't correct in the new flags models
[r16066]
Christoph Mallon [Wed, 3 Oct 2007 16:59:53 +0000 (16:59 +0000)]
Sbb is not commutative, so do not tell match_arguments() something different.
[r16065]
Matthias Braun [Wed, 3 Oct 2007 16:47:07 +0000 (16:47 +0000)]
rename another flipped to ins_permuted, ia32 transform phase is NOT safe for CSE
[r16064]
Michael Beck [Wed, 3 Oct 2007 16:24:15 +0000 (16:24 +0000)]
Better fix for the MacroBlock header
[r16063]
Christoph Mallon [Wed, 3 Oct 2007 15:20:06 +0000 (15:20 +0000)]
Match AM when transforming ia32_l_Mul and ia32_l_IMul.
[r16062]
Christoph Mallon [Wed, 3 Oct 2007 14:47:36 +0000 (14:47 +0000)]
When generating a ia32_Mul or ia32_IMul1OP mark them as commutative, not non-commutative.
[r16061]
Michael Beck [Wed, 3 Oct 2007 14:21:31 +0000 (14:21 +0000)]
added get_nodes_MacroBlock()
[r16060]
Matthias Braun [Wed, 3 Oct 2007 13:50:55 +0000 (13:50 +0000)]
rename pnc_flipped to ins_permuted and change back non-fix of cmov yesterday
[r16059]
Michael Beck [Wed, 3 Oct 2007 12:50:16 +0000 (12:50 +0000)]
renamed set_value/clear_value(): these names clash with the construction functions
[r16058]
Michael Beck [Wed, 3 Oct 2007 12:49:23 +0000 (12:49 +0000)]
add some more comments
rename peephole optimisation function
[r16057]
Michael Beck [Wed, 3 Oct 2007 12:37:03 +0000 (12:37 +0000)]
improved comments
[r16056]
Michael Beck [Wed, 3 Oct 2007 12:36:32 +0000 (12:36 +0000)]
made edges_node_deleted_kind() static
[r16055]
Michael Beck [Wed, 3 Oct 2007 12:35:45 +0000 (12:35 +0000)]
removed C99 features
[r16054]
Michael Beck [Wed, 3 Oct 2007 12:34:13 +0000 (12:34 +0000)]
removed C99 features
[r16053]
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]