llvm-project/llvm/test/CodeGen
Reid Kleckner 399a2fe400 [SEH] Add new intrinsics for recovering and restoring parent frames
The incoming EBP value established by the runtime is actually a pointer
to the end of the EH registration object, and not the true parent
function frame pointer. Clang doesn't need llvm.x86.seh.exceptioninfo
anymore because we know that the exception info pointer is at a fixed
offset from this incoming EBP.

The llvm.x86.seh.recoverfp intrinsic takes an EBP value provided by the
EH runtime and returns a pointer that is usable with llvm.framerecover.

The llvm.x86.seh.restoreframe intrinsic is inserted by the 32-bit
specific preparation pass in blocks targetted by the EH runtime. It
re-establishes any physical registers used by the parent function to
address the stack, such as the frame, base, and stack pointers.

Neither of these intrinsics correctly handle stack realignment prologues
yet, but it's possible to add that later.

Reviewers: majnemer

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

llvm-svn: 241125
2015-06-30 22:46:59 +00:00
..
AArch64 [AArch64] Lower interleaved memory accesses to ldN/stN intrinsics. This patch also adds a function to calculate the cost of interleaved memory accesses. 2015-06-26 02:32:07 +00:00
AMDGPU RegisterCoalescer: Cleanup empty subranges after shrinkToUses() 2015-06-30 00:33:44 +00:00
ARM ARM: add correct kill flags when combining stm instructions 2015-06-29 21:42:16 +00:00
BPF [bpf] rename triple names bpf_be -> bpfeb 2015-06-05 16:11:14 +00:00
CPP [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
Generic Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
Hexagon [Hexagon] Printing packet brackets when asm printing and adding a number of tests that test packet brackets. 2015-06-18 20:43:50 +00:00
Inputs IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
MIR MIR Serialization: Serialize MBB successors. 2015-06-30 18:16:42 +00:00
MSP430 [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
Mips Fix "the the" in comments. 2015-06-19 01:53:21 +00:00
NVPTX [NVPTX] Fix issue introduced in D10321 2015-06-30 18:59:19 +00:00
PowerPC Fixes a bug with __builtin_vsx_lxvdw4x on Little Endian systems 2015-06-30 19:45:45 +00:00
SPARC Revert r240302 ("Bring r240130 back."). 2015-06-23 11:31:32 +00:00
SystemZ [DAGCombiner] Account for getVectorIdxTy() when narrowing vector load 2015-05-05 19:34:10 +00:00
Thumb Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
Thumb2 ARMLoadStoreOptimizer: Fix errata 602117 handling and make testcase actually test for it 2015-06-24 20:03:27 +00:00
WinEH [Verifier] Verify invokes of intrinsics 2015-06-26 21:39:44 +00:00
X86 [SEH] Add new intrinsics for recovering and restoring parent frames 2015-06-30 22:46:59 +00:00
XCore Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00