- 11 Jul, 2016 2 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
-
- 22 May, 2016 1 commit
-
-
Christoph Mallon authored
-
- 15 Mar, 2016 1 commit
-
-
Christoph Mallon authored
-
- 14 Mar, 2016 1 commit
-
-
Christoph Mallon authored
-
- 15 Feb, 2016 1 commit
-
-
Matthias Braun authored
They previously used be_stack_layout but that structure will be remove soon.
-
- 30 Jan, 2016 1 commit
-
-
Matthias Braun authored
This allows us to properly implement the OS X calling conventions.
-
- 30 Dec, 2015 1 commit
-
-
Matthias Braun authored
This plugs a memory leak.
-
- 07 Dec, 2015 1 commit
-
-
Christoph Mallon authored
In particular remove the unnecessary 'sparc_is_valid_clobber()'. The wrapper 'be_is_valid_clobber()' already handles 'memory' and 'cc'.
-
- 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.
-
- 04 Aug, 2015 1 commit
-
-
Christoph Mallon authored
-
- 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!
-
- 20 Jul, 2015 1 commit
-
-
Christoph Mallon authored
Simplify the creation of instrinsic/runtime function entities a bit and avoid creating duplicate types.
-
- 01 Jul, 2015 1 commit
-
-
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.
-
- 19 Jun, 2015 2 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
-
- 24 May, 2015 1 commit
-
-
Matthias Braun authored
Instead of having a generaic main loop in be_main with several callbacks into the targets, split the code in be_main up into a set of convenience functions and let the targets implement the main loop itself. This is nicer because: - The control flow into and out of the functions in the target becomes obvious as no external party is using callbacks anymore. - Targets can insert custom code at any place between the generic passes. - In the future we can parameterize the generic backend passes directly instead of stuffing info into generic isa_if structures.
-
- 18 Jan, 2015 4 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
This removes the last attributes from struct arch_env_t.
-
Christoph Mallon authored
be: Move the info about the register classes and registers struct the arch_env_t into struct arch_isa_if_t.
-
Christoph Mallon authored
Just use the selected isa interface directly.
-
- 31 Dec, 2014 1 commit
-
-
Christoph Mallon authored
-
- 29 Dec, 2014 2 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
-
- 25 Dec, 2014 1 commit
-
-
Matthias Braun authored
-
- 25 Nov, 2014 2 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
Add callbacks on functions that really need them instead.
-
- 22 Nov, 2014 1 commit
-
-
Matthias Braun authored
-
- 13 Nov, 2014 2 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
-
- 22 Oct, 2014 1 commit
-
-
Christoph Mallon authored
-
- 18 Oct, 2014 2 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
-
- 07 Oct, 2014 1 commit
-
-
Matthias Braun authored
- alignment is set on each single IncSP now instead of a global arch_env setting - fixed ia32 not requesting any alignment anymore (even on darwin where we need it) - fixed amd64 creating IncSP nodes without flag_modifies_flags set
-
- 02 Oct, 2014 1 commit
-
-
Matthias Braun authored
We now add missing keeps exactly before register allocation where we actually need them (so that unused outputs which still need registers assigned are not missed by the register allocation).
-
- 30 Sep, 2014 4 commits
-
-
Matthias Braun authored
This removes functions from the public API which are pointless outside localopt rules, and also avoids another struct in the public API.
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
-
- 19 Sep, 2014 1 commit
-
-
Matthias Braun authored
- It was only available in the ia32 backend and broken there. As the feature is rarely used, I remove it for now instead of going through the trouble of fixing it.
-