- 17 Apr, 2016 3 commits
-
-
Matthias Braun authored
Nearly all structs derived from amd64_attr_t has a size member anyway. Simplify the code and move it to the base amd64_attr_t.
-
Matthias Braun authored
-
Christoph Mallon authored
iropt: Implement 'computed_value_Proj_Builtin' for 'ir_bk_clz', 'ir_bk_ctz', 'ir_bk_ffs', 'ir_bk_parity' and 'ir_bk_popcount'.
-
- 07 Apr, 2016 2 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
Either the conv is used as the new result or it has further users. In either case it is used afterwards and cannot be removed.
-
- 06 Apr, 2016 1 commit
-
-
Christoph Mallon authored
The mode of both nodes is the mode for the GP register class already.
-
- 05 Apr, 2016 13 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
'match_immediate_32()' in the meantime got a parameter 'must_match_ip_relative'.
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
The documented variable was removed in 2011.
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
-
- 04 Apr, 2016 21 commits
-
-
yb9976 authored
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
This meant initializing the address mode variant all over the ia32 backend, on the other hand this will be useful if we ever switch the ia32 backend to a style without NoReg nodes (like amd64).
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
We only use the immediate and scale yet on ia32.
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
After a SubSP the top end of the stack is used and not just unused alignment padding anymore.
-
Matthias Braun authored
-
Matthias Braun authored
Only the backends know how memperm are implementd and whether they use sp- or fp-relative addressing. This should fix sparc memperm problems. Long-term I'd like to remove the memperm node and use a callback that creates a sequence of target specific nodes instead (similar to how spills and reloads are created).
-
Matthias Braun authored
-
Matthias Braun authored
This is a bigger rewrite of stack frame handling in the backend: - Do the stack frame type layout late, after all the spill slots have been created. This way we can avoid (and remove) the brittle frame_alloc_area(). - Standardize the meaning of stack entity offsets. After stack frame type layout they are relative to the stack pointer position at the beginning of the function. It is all in one type now, no splitting into "arg", "between" and "stack_frame" type anymore. - Generalize the stack pointer simulation code to work with a single callback. Represent stack state as current offset and align_padding number. Now that callbacks can access and modify them both we do not need custom code in the sparc backend anymore. - Remove alignment specification on IncSP, only keep a ignore_align flag used for the last IncSP that has to remove all existing sp adjustments and may end up on a misaligned SP on ia32/amd64. - Align stack by default on ia32+amd64 backends.
-
Matthias Braun authored
They are not used yet as we need an adapted layout algorithm for them.
-
Matthias Braun authored
-