llvm-6502/lib
Vasileios Kalintiris 330e5f16d1 [mips] Add support for dynamic stack realignment.
Summary:
With this change we are able to realign the stack dynamically, whenever it
contains objects with alignment requirements that are larger than the
alignment specified from the given ABI.

We have to use the $fp register as the frame pointer when we perform
dynamic stack realignment. In complex stack frames, with variably-sized
objects, we reserve additionally the callee-saved register $s7 as the
base pointer in order to reference locals.

Reviewers: dsanders

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D8633

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238829 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-02 13:14:46 +00:00
..
Analysis [PHITransAddr] Don't translate unreachable values 2015-06-01 00:15:08 +00:00
AsmParser
Bitcode
CodeGen Create a MCSymbolELF. 2015-06-02 00:25:12 +00:00
DebugInfo
ExecutionEngine Simplify now that we always use an alignment of 2 for ELF files. 2015-06-02 12:05:27 +00:00
Fuzzer
IR Move the name pointer out of Value into a map that lives on the 2015-06-01 22:24:01 +00:00
IRReader
LineEditor
Linker
LTO Make the C++ LTO API easier to use from C++ clients. 2015-06-01 20:08:30 +00:00
MC Create a MCSymbolELF. 2015-06-02 00:25:12 +00:00
Object Simplify now that we always use an alignment of 2 for ELF files. 2015-06-02 12:05:27 +00:00
Option
Passes
ProfileData
Support [Support] Simplify Triple::getOSVersion 2015-06-01 23:45:25 +00:00
TableGen [TableGen] Use range-based for loops. NFC 2015-06-02 06:19:28 +00:00
Target [mips] Add support for dynamic stack realignment. 2015-06-02 13:14:46 +00:00
Transforms Teach the IR Sink pass to (conservatively) respect convergent annotations. 2015-06-01 17:20:31 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile