- 18 Nov, 2011 1 commit
-
-
Matthias Braun authored
this is part of the initiative to move object-orientation support stuff out of libfirm into liboo
-
- 17 Nov, 2011 1 commit
-
-
Matthias Braun authored
-
- 16 Nov, 2011 1 commit
-
-
Matthias Braun authored
-
- 14 Nov, 2011 2 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
-
- 10 Nov, 2011 1 commit
-
-
Matthias Braun authored
-
- 09 Nov, 2011 1 commit
-
-
Andreas Seltenreich authored
-
- 07 Nov, 2011 5 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
We missed the case where transform_node created a node that computed_value or equivalent_node would catch
-
Matthias Braun authored
It was a strange feature only inspired by the lazyness of some frontend developer (=me)
-
Matthias Braun authored
they were in lower_mode_b but just generically apply to all Mux(c, 0, 1)
-
Matthias Braun authored
-
- 04 Nov, 2011 3 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
Add op(op(x, c0), c1) => op(x, op(c0, c1)) as localopt rule. This is an very usual and often encountered case so it makes sense to have this working without explicitely invoking the associativity optimisation phase.
-
Matthias Braun authored
when bits are flipped for a bittest we can just as well negate the pnc and don't flip the bits
-
- 02 Nov, 2011 1 commit
-
-
Matthias Braun authored
This is the new way of handling switch-jumps. The node contains a table which maps (ranges of) input values to proj numbers. Compared to a Cond-node this results in a clean consecutive sequence of Proj numbers (no searching for a free number for the default_pn anymore) and allows factoring multiple cases jumping to the same block in a single Proj (though we still need the optimisation in cfopt for that).
-
- 27 Oct, 2011 3 commits
-
-
Matthias Braun authored
The main change here is splitting new_ir_mode into new_int_mode, new_reference_mode and new_float_mode. You can now specify mantissa+exponent size in new_float_mode. This also changes: - x86 80bit-FP mode is NOT a ieee754 don't put "ieee754" into functions names that can also handle x86 80bit fps - Move ieee_descriptor_t from tarval module into ir_mode struct (and rename to float_descriptor_t) - Introduce mode_Q which represents binary128 from ieee754 - You can ask float modes for mantissa/exponent sizes now - Fix endianess when emitting big float values in begnuas - A bunch of long double fixes in ia32: the mode there has 10bytes (80bit) but the variables typically are 12 or 16 byte big - This fixes some problems of sparc binary128 handling
-
Matthias Braun authored
If vrp can prove that both operand of an Or/Eor/Add never a bit set in common then we can match them as each of these opcodes.
-
Matthias Braun authored
They're adding more noise than they provide gain in readability. They also make extra work to keep up to date.
-
- 20 Oct, 2011 3 commits
-
-
Matthias Braun authored
The new interface uses no complicated callbacks anymore, but is a simple ir_node* -> void* nodemap. Adapted all users of ir_phase for this.
-
Matthias Braun authored
-
Matthias Braun authored
-
- 28 Sep, 2011 1 commit
-
-
yb9976 authored
The transformation (a << c1) | c2 => (a | (c2 >> c1)) << c1 is only valid if the lower bits of c2 are clean. This fixes opt/pr37102.c.
-
- 23 Sep, 2011 1 commit
-
-
yb9976 authored
-
- 22 Sep, 2011 2 commits
-
-
Matthias Braun authored
backends can use this to allow all mux nodes which get optimized away by the middleend anyway. This fixes abs handling on sparc.
-
Matthias Braun authored
-
- 21 Sep, 2011 1 commit
-
-
yb9976 authored
-
- 20 Sep, 2011 5 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
-
- 16 Sep, 2011 1 commit
-
-
Christoph Mallon authored
-
- 15 Sep, 2011 1 commit
-
-
Matthias Braun authored
- Make API private as it should only be called by backends - Let ia32 backend create special ia32_Set nodes instead of relying on muxes which must not be touched anymore - Does not create ConvB nodes anymore but instead produces the Cmp directly. (All backends did this anyway during code-selection so I was able to leave this case out code-selection) - First collect nodes to lower, then lower them. This avoids robustness problems when transforming the graph while at the same time walking it.
-
- 14 Sep, 2011 2 commits
-
-
Andreas Zwinkau authored
-
Andreas Zwinkau authored
-
- 18 Aug, 2011 1 commit
-
-
yb9976 authored
-
- 17 Aug, 2011 1 commit
-
-
yb9976 authored
We have to convert the values the same way the program does.
-
- 27 Jul, 2011 1 commit
-
-
Christoph Mallon authored
-
- 26 Jul, 2011 1 commit
-
-
yb9976 authored
This fixes opt/fehler194.c.
-