- 29 Jul, 2016 1 commit
-
-
Christoph Mallon authored
This fixes opt/fehler070.c on ARM.
-
- 26 Jul, 2016 1 commit
-
-
Christoph Mallon authored
They just use a 12 bit offset, not an immediate shifter operand. This fixes the regression in ack/str.c.
-
- 24 Jul, 2016 1 commit
-
-
Christoph Mallon authored
-
- 12 May, 2016 1 commit
-
-
yb9976 authored
-
- 04 Apr, 2016 2 commits
-
-
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.
-
- 15 Mar, 2016 1 commit
-
-
Christoph Mallon authored
-
- 14 Mar, 2016 1 commit
-
-
Christoph Mallon authored
The verifiers for the checked nodes are at least as strict as these assert()s.
-
- 14 Feb, 2016 1 commit
-
-
Matthias Braun authored
-
- 03 Dec, 2015 1 commit
-
-
Christoph Mallon authored
-
- 15 Sep, 2015 1 commit
-
-
Andreas Fried authored
-
- 10 Sep, 2015 1 commit
-
-
Matthias Braun authored
-
- 09 Sep, 2015 1 commit
-
-
Christoph Mallon authored
This resolves problems with hidden dependencies during code selection, which cause dependency cycles and therefore fixes backend/scheduled.c. Also it grants the code selection slightly more freedom by not arbitrarily restricting the order by stack dependencies.
-
- 08 Sep, 2015 1 commit
-
-
Christoph Mallon authored
be: Pass the input requirements directly to the constructors of nodes, which have a variable number of arguments.
-
- 20 Aug, 2015 1 commit
-
-
Matthias Braun authored
Properly use get_irn_pinned/set_irn_pinned as bool value instead of comparing setting the ir_op enum values.
-
- 14 Aug, 2015 1 commit
-
-
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.
-
- 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 1 commit
-
-
Christoph Mallon authored
-
- 29 Jul, 2015 1 commit
-
-
Christoph Mallon authored
Duplicate Projs are a problem when CSE is off, e.g. -O0.
-
- 28 Jul, 2015 1 commit
-
-
Christoph Mallon authored
It is like new_r_Proj(), but the mode is determined automatically from the out requirement of the predecessor. This probably resolves some mode mismatches in untested code paths -- AMD64 backend and SPARC hard float, I'm looking at you!
-
- 27 Jul, 2015 1 commit
-
-
Christoph Mallon authored
-
- 23 Jul, 2015 1 commit
-
-
Matthias Braun authored
We use lower_CopyB anyway so there are no copybs left when lowering. They are all lowered to load/store sequences or memcpy calls.
-
- 21 Jul, 2015 3 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
- 08 Jul, 2015 1 commit
-
-
Christoph Mallon authored
This is simpler, removes some code duplication and makes the backends more robust against duplicate Projs of Start, which can happen if optimisations are disabled.
-
- 01 Jul, 2015 2 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
We can easily identify the outputs producing a stack pointer by looking if the stack pointer register is assigned. Unfortunately this also needed a new mechanism to tell the verifier that some registers are not in SSA form (all the time) which needs a few extra lines in each backend.
-
- 26 Jun, 2015 2 commits
-
-
Christoph Mallon authored
Get the obstack from the given start node.
-
Christoph Mallon authored
-
- 20 Jun, 2015 2 commits
-
-
Christoph Mallon authored
Instead of mvn + and we get a single bic now.
-
Christoph Mallon authored
The case for <= 255 just below includes 0 and gives the same result.
-
- 12 Jun, 2015 1 commit
-
-
Christoph Mallon authored
-
- 19 Apr, 2015 2 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
-
- 28 Jan, 2015 2 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
-
- 25 Jan, 2015 1 commit
-
-
Christoph Mallon authored
-
- 14 Jan, 2015 2 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
-