llvm-project/llvm/test
Martin Storsjo d6218cc385 [ARM] Restore the right frame pointer register in Int_eh_sjlj_longjmp
In setupEntryBlockAndCallSites in CodeGen/SjLjEHPrepare.cpp,
we fetch and store the actual frame pointer, but on return via
the longjmp intrinsic, it always was restored into the r7 variable.

On windows, the frame pointer should be restored into r11 instead of r7.

On Darwin (where sjlj exception handling is used by default), the frame
pointer is always r7, both in arm and thumb mode, and likewise, on
windows, the frame pointer always is r11.

On linux however, if sjlj exception handling is enabled (which it isn't
by default), libcxxabi and the user code can be built in differing modes
using different registers as frame pointer. Therefore, when restoring
registers on a platform where we don't always use the same register
depending on code mode, restore both r7 and r11.

Differential Revision: https://reviews.llvm.org/D38253

llvm-svn: 314451
2017-09-28 19:04:30 +00:00
..
Analysis [JumpThreading] Preserve DT and LVI across the pass 2017-09-28 17:24:40 +00:00
Assembler Parse and print DIExpressions inline to ease IR and MIR testing 2017-08-23 20:31:27 +00:00
Bindings
Bitcode Fix a bug in a historic bitcode testcase. 2017-09-21 23:14:55 +00:00
BugPoint
CodeGen [ARM] Restore the right frame pointer register in Int_eh_sjlj_longjmp 2017-09-28 19:04:30 +00:00
DebugInfo [DebugInfo] Do not extend range for physreg in LiveDebugVariables 2017-09-28 13:10:06 +00:00
DllTool
Examples
ExecutionEngine Revert "Revert "ExecutionEngine: add R_AARCH64_ABS{16,32}"" 2017-09-20 21:32:44 +00:00
Feature Add ‘llvm.experimental.constrained.fma‘ Intrinsic. 2017-08-24 04:18:24 +00:00
FileCheck
Instrumentation [MSan] Disable sanitization for __sanitizer_dtor_callback. 2017-09-20 22:53:08 +00:00
Integer
JitListener
LTO Reland r313157, "ThinLTO: Correctly follow aliasee references when dead stripping." which was reverted in r313222. 2017-09-14 05:02:59 +00:00
LibDriver
Linker llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
MC [mips] Remove codegen support for branch likely instructions. 2017-09-28 15:24:07 +00:00
Object llvm-ar: align the first archive member consistently. 2017-09-22 18:36:00 +00:00
ObjectYAML [WebAssembly] Update relocation names to match spec 2017-09-01 17:32:01 +00:00
Other [PM/CGSCC] Teach the CGSCC pass manager components to gracefully handle 2017-09-14 08:33:57 +00:00
SafepointIRVerifier
SymbolRewriter
TableGen TableGen support for parameterized register class information 2017-09-14 16:56:21 +00:00
ThinLTO/X86 ModuleSummaryAnalysis: Correctly handle all function operand references. 2017-09-07 05:35:35 +00:00
Transforms Use a BumpPtrAllocator for Loop objects 2017-09-28 02:45:42 +00:00
Unit [lit] Make lit support config files with .py extension. 2017-09-21 00:24:52 +00:00
Verifier Revert "Revert r312139 "Verifier: Verify the correctness of fragment expressions attached to globals."" 2017-08-31 00:07:33 +00:00
YAMLParser
tools llvm-dwarfdump: implement --find for .apple_names 2017-09-28 18:10:52 +00:00
.clang-format
CMakeLists.txt [lit] Make lit support config files with .py extension. 2017-09-21 00:24:52 +00:00
TestRunner.sh
lit.cfg.py Resubmit "[lit] Refactor out some more common lit configuration code." 2017-09-21 22:16:40 +00:00
lit.site.cfg.py.in [lit] Make lit support config files with .py extension. 2017-09-21 00:24:52 +00:00