llvm-6502/include/llvm
Reid Kleckner 34c6bb0ef0 [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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241125 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-30 22:46:59 +00:00
..
ADT Drop the OS from the WebAssembly target triple for now. 2015-06-30 03:52:25 +00:00
Analysis Move delinearization from SCEVAddRecExpr to ScalarEvolution 2015-06-29 14:42:48 +00:00
AsmParser AsmParser: Extend the API to make the global value and metadata node slot mappings publicly accessible. 2015-06-23 17:10:10 +00:00
Bitcode Add a DIModule metadata node to the IR. 2015-06-29 23:03:47 +00:00
CodeGen MIR Serialization: Serialize MBB successors. 2015-06-30 18:16:42 +00:00
Config [autoconf] Detect OLE32 for mingw. 2015-06-18 04:16:05 +00:00
DebugInfo Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
ExecutionEngine [ORC] Add ObjectTransformLayer 2015-06-25 13:35:22 +00:00
IR [SEH] Add new intrinsics for recovering and restoring parent frames 2015-06-30 22:46:59 +00:00
IRReader Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
LibDriver ArrayRef-ify libDriverMain 2015-06-21 06:31:56 +00:00
LineEditor Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Linker Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
LTO Teach LTOModule to emit linker flags for dllexported symbols, plus interface cleanup. 2015-06-29 22:04:09 +00:00
MC Pack MCSymbol::HasName in to a spare bit in the section/fragment union. 2015-06-30 20:54:21 +00:00
Object Use ErrorOr in getRelocationAdress. 2015-06-30 20:32:26 +00:00
Option Add Arg::getValues method with const 'this' and const result 2015-06-25 18:48:26 +00:00
Passes Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
ProfileData Re-apply "InstrProf: When reading, copy the data instead of taking a reference. NFC" 2015-06-22 23:58:05 +00:00
Support Debug info: Add dwarf backend support for DIModule. 2015-06-30 02:13:04 +00:00
TableGen [TableGen] Restore the use of the TheInit field in Record to cache the Record's DefInit. I broke this when I fixed memory leaks recently. Remove the DenseMap that mapped Record's to DefInit. 2015-06-24 06:19:19 +00:00
Target Teach LTOModule to emit linker flags for dllexported symbols, plus interface cleanup. 2015-06-29 22:04:09 +00:00
Transforms Move VectorUtils from Transforms to Analysis to correct layering violation 2015-06-26 18:02:52 +00:00
CMakeLists.txt
InitializePasses.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
LinkAllIR.h
LinkAllPasses.h Revert r240271 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 10:48:35 +00:00
module.modulemap Add Value.def to the list of textual includes, excluding it from the modules build. 2015-06-26 20:16:44 +00:00
module.modulemap.build
Pass.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
PassAnalysisSupport.h Doxygen-ify a few comments. NFC 2015-06-25 15:06:47 +00:00
PassInfo.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
PassRegistry.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
PassSupport.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00