- 18 Aug, 2015 3 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
I can't explain why the copy was created there, the comment explaining it makes no sense.
-
Matthias Braun authored
This case cannot happen anymore nowadays, instead we have some code that turns CopyKeeps into Keeps after the SSA reconstruction there.
-
- 14 Aug, 2015 5 commits
-
-
Andreas Fried authored
-
Andreas Fried authored
-
Andreas Fried authored
This adds two builtin kinds, ir_bk_va_start and ir_bk_va_arg. va_arg Builtins are lowered in the lower_builtins pass with a function provided by the backend, whereby most architectures can use be_default_lower_va_args. va_start Builtins are lowered in the backend. Note: This commit breaks all backends except for IA32. SPARC and AMD64 are implemented in later commits. The ARM backend previously miscompiled variadic functions, and will now throw a proper error.
-
Andreas Fried authored
-
Andreas Fried authored
-
- 09 Aug, 2015 1 commit
-
-
Christoph Mallon authored
All backends have similar empty Start nodes, which just provide registers. So having one generic backend Start node to share some infrastructure is sensible.
-
- 07 Aug, 2015 6 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Andreas Fried authored
-
- 05 Aug, 2015 8 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
Do not derive another mode from the mode of the value -- they are the same anyway. I could trace this code back to when backend did not always use register wide modes for values.
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
It is now done generically in dump_backend_info_hook().
-
- 04 Aug, 2015 15 commits
-
-
Christoph Mallon authored
bescripts: Automatically determine the mode of nodes by default and add the option "first" to use the mode of the first output requirement.
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
They all have a single memory result.
-
Christoph Mallon authored
-
Christoph Mallon authored
They only have one result. This also resolves the harmless typo, that they used each others Proj enums.
-
Christoph Mallon authored
It pops a value from the stack, so this memory access should be represented in the graph.
-
Christoph Mallon authored
-
Christoph Mallon authored
The node must use the mode of the floating point register class, irrespective of the mode of the loaded constant.
-
Christoph Mallon authored
-
- 02 Aug, 2015 2 commits
-
-
Christoph Mallon authored
IncSP can only have %esp assigned.
-
Christoph Mallon authored
arm, be, ia32, sparc: Do not go on with peephole optimization of IncSP, when be_peephole_IncSP_IncSP() succeeded. The current IncSP was removed in this case and we now would operate on its predecessor IncSP. This is wrong, e.g. when asking for currently free registers. This corrects backend/incsp_pop.c, which was broken on ia32. It was wrongly assumed that a certain register was free and could be used to turn an IncSP into a Pop.
-