- 13 Oct, 2016 3 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
'movq' is not accepted by older assemblers, but 'movd' works for both older and newer ones. objdump always disassembles to 'movd' anyway.
-
Christoph Mallon authored
-
- 12 Oct, 2016 2 commits
-
-
Christoph Mallon authored
The number is small and never a bitmask, so decimal is more readable in this case.
-
Christoph Mallon authored
-
- 11 Oct, 2016 4 commits
-
-
Christoph Mallon authored
This avoids code duplication and actually works correctly. This fixes opt/convs.c.
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
- 10 Oct, 2016 1 commit
-
-
Christoph Mallon authored
-
- 09 Oct, 2016 2 commits
-
-
Christoph Mallon authored
Computing (post)dominators removes tuples, which in turn invalidates out edges, if any tuples were removed.
-
Christoph Mallon authored
It currently uses dominance checks, though the use looks questionable. backend/lower_call4.c is the only test case which triggers this check. The check was added in bd1b1f0e. Though later in 5f4cf6e0 another check was added, which would also handle this case for different reasons (target is not on the frame). So at least the test case needs to be updated validate the dominance check. Maybe the dominance check should be replaced by a dependence check.
-
- 08 Oct, 2016 4 commits
-
-
Christoph Mallon authored
This should fix opt/jumpthreading4.c and opt/place.c when debug (in particular verification) is off.
-
Christoph Mallon authored
The dominator calculation assures the same. This fixes the optimize build for several test cases.
-
Christoph Mallon authored
Before it always said 8, because it took the callee perspective, which adds the artificial parameters. This caused calls to variadic functions to get 8 passed in %eax, which is unnecessary for most calls.
-
Christoph Mallon authored
-
- 07 Oct, 2016 2 commits
- 06 Oct, 2016 6 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
'ia32_create_address_mode()' (actually 'x86_create_address_mode()') sets the variant already.
-
Christoph Mallon authored
-
Christoph Mallon authored
-
- 04 Oct, 2016 2 commits
- 02 Oct, 2016 1 commit
-
-
Christoph Mallon authored
-
- 30 Sep, 2016 2 commits
-
-
Christoph Mallon authored
This ensures that blocks with a label get their label printed. In particular this fixes computed goto on arm.
-
Christoph Mallon authored
This fixes C/gnu99/combo_load_mode.c, C/gnu99/computed_goto.c, C/gnu99/ijmp.c, C/gnu99/vlabel2.c and C/gnu99/vlabel3.c.
-
- 29 Sep, 2016 5 commits
-
-
Christoph Mallon authored
This fixes C/gnu99/combo_load_mode.c, C/gnu99/computed_goto.c, C/gnu99/ijmp.c, C/gnu99/vlabel2.c and C/gnu99/vlabel3.c.
-
Christoph Mallon authored
-
Christoph Mallon authored
The verifier checks this already.
-
Christoph Mallon authored
-
Christoph Mallon authored
-
- 27 Sep, 2016 3 commits
-
-
Christoph Mallon authored
When compound types are passed as pointer, then not only the mode, but also the type, needs to be adjusted to a pointer.
-
Christoph Mallon authored
They are passed as a pointer, not the value itself, so an extra load is needed.
-
Christoph Mallon authored
-
- 24 Sep, 2016 1 commit
-
-
Christoph Mallon authored
This was broken when rewriting stack frame handling. (b6787e36) Though the below test case did not work before either, because the correct code path was not entered due to inspecting the wrong type. The latter was accidentally corrected while getting rid of higher types. (ae42d217) This fixes gcc/va-arg-12.c.
-
- 23 Sep, 2016 2 commits