llvm-6502/test
Hal Finkel 0541722de4 PPC: Add base-pointer support to builtin setjmp/longjmp
First, this changes the base-pointer implementation to remove an unnecessary
complication (and one that is incompatible with how builtin SjLj is
implemented): instead of using r31 as the base pointer when it is not needed as
a frame pointer, now the base pointer will always be r30 when needed.

Second, we introduce another pseudo register, BP, which is used just like the FP
pseudo register to refer to the base register before we know for certain what
register it will be.

Third, we now save BP into the jmp_buf, and restore r30 from that slot in
longjmp.  If the function that called setjmp did not use a base pointer, then
r30 will be overwritten by the setjmp-calling-function's restore code. FP
restoration (which is restored into r31) works the same way.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186545 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-17 23:50:51 +00:00
..
Analysis
Assembler
Bindings/Ocaml
Bitcode Add some uncovered attribute tests 2013-07-17 22:13:44 +00:00
BugPoint
CodeGen PPC: Add base-pointer support to builtin setjmp/longjmp 2013-07-17 23:50:51 +00:00
DebugInfo
ExecutionEngine
Feature
FileCheck
Instrumentation
Integer
JitListener
Linker
MC Implement eret and deret(return from exception) instructions for Mips. Test examples are given. 2013-07-17 14:05:19 +00:00
Object Split openFileForRead into Windows and Unix versions. 2013-07-17 14:58:25 +00:00
Other
TableGen
tools
Transforms Restore r181216, which was partially reverted in r182499. 2013-07-17 20:06:03 +00:00
Unit
Verifier
YAMLParser
CMakeLists.txt
lit.cfg
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh