1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 12:33:33 +02:00
llvm-mirror/include/llvm/IR
Reid Kleckner 8011644f25 [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
..
Argument.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
AssemblyAnnotationWriter.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Attributes.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
AutoUpgrade.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
BasicBlock.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
CallingConv.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
CallSite.h [Verifier] Follow on to 240836 2015-06-26 22:04:34 +00:00
CFG.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
CMakeLists.txt [CMake] intrinsics_gen: Use add_public_tablegen_target(). 2014-02-20 13:42:16 +00:00
Comdat.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Constant.h Devirtualize Constant::replaceUsesOfWithOnConstant. 2015-06-24 18:55:24 +00:00
ConstantFolder.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
ConstantRange.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Constants.h Devirtualize Constant::replaceUsesOfWithOnConstant. 2015-06-24 18:55:24 +00:00
DataLayout.h DataLayout now returns a const ref to its member string representation 2015-06-26 20:44:16 +00:00
DebugInfo.h IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
DebugInfoFlags.def IR: Move DebugInfo Flag* definitions to .def file, NFC 2015-02-21 00:37:53 +00:00
DebugInfoMetadata.h Add a DIModule metadata node to the IR. 2015-06-29 23:03:47 +00:00
DebugLoc.h IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
DerivedTypes.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
DiagnosticInfo.h MIR Serialization: Connect the machine function analysis pass to the MIR parser. 2015-06-15 20:30:22 +00:00
DiagnosticPrinter.h MIR Serialization: Connect the machine function analysis pass to the MIR parser. 2015-06-15 20:30:22 +00:00
DIBuilder.h Add a DIModule metadata node to the IR. 2015-06-29 23:03:47 +00:00
Dominators.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Function.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
GetElementPtrTypeIterator.h [opaque pointer type] Allow gep_type_iterator to work with the pointee type from the GEP instruction 2015-05-21 21:12:43 +00:00
GlobalAlias.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
GlobalObject.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
GlobalValue.h Devirtualize Constant::replaceUsesOfWithOnConstant. 2015-06-24 18:55:24 +00:00
GlobalVariable.h Devirtualize Constant::replaceUsesOfWithOnConstant. 2015-06-24 18:55:24 +00:00
GVMaterializer.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
InlineAsm.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
InstIterator.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
InstrTypes.h Devirtualize Instruction::clone_impl 2015-06-24 20:22:23 +00:00
Instruction.def Add addrspacecast instruction. 2013-11-15 01:34:59 +00:00
Instruction.h Devirtualize Instruction::clone_impl 2015-06-24 20:22:23 +00:00
Instructions.h Devirtualize Instruction::clone_impl 2015-06-24 20:22:23 +00:00
InstVisitor.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
IntrinsicInst.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Intrinsics.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Intrinsics.td AMDGPU: Fix some places missed in rename 2015-06-19 17:39:03 +00:00
IntrinsicsAArch64.td Port memory barriers intrinsics to AArch64 2014-07-17 10:50:20 +00:00
IntrinsicsAMDGPU.td AMDGPU: Fix filename in comment 2015-06-19 17:56:51 +00:00
IntrinsicsARM.td Do not treat ARM _MoveToCoprocessor* intrinsics as MSBuiltins. 2015-06-24 06:07:41 +00:00
IntrinsicsBPF.td [bpf] add support for bpf pseudo instruction 2015-03-27 18:51:42 +00:00
IntrinsicsHexagon.td [Hexagon] Intrinsics for circular and bit-reversed loads and stores 2015-03-18 16:23:44 +00:00
IntrinsicsMips.td [mips][msa] Add DLSA instruction. 2014-02-10 12:05:17 +00:00
IntrinsicsNVVM.td [NVPTX] Make the alignment an explicit argument to ldu/ldg 2014-08-29 15:30:20 +00:00
IntrinsicsPowerPC.td Add missing builtins to the PPC back end for ABI compliance (vol. 1) 2015-06-26 19:26:53 +00:00
IntrinsicsSystemZ.td [SystemZ] Add vector intrinsics 2015-05-05 19:31:09 +00:00
IntrinsicsX86.td [SEH] Add new intrinsics for recovering and restoring parent frames 2015-06-30 22:46:59 +00:00
IntrinsicsXCore.td [XCore] Add intrinsic for CLRPT (clear port time) instruction. 2014-02-25 17:31:15 +00:00
IRBuilder.h [IRBuilder] Delete unused constructor and SetInsertPoint overload. 2015-06-30 22:38:22 +00:00
IRPrintingPasses.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
LegacyPassManager.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
LegacyPassManagers.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
LegacyPassNameParser.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
LLVMContext.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Mangler.h Remove unused arguments and move ManglerPrefixTy to the implementation. 2015-06-23 14:11:09 +00:00
MDBuilder.h Add isConstant argument to MDBuilder::createTBAAStructTagNode 2015-06-01 14:53:55 +00:00
Metadata.def Add a DIModule metadata node to the IR. 2015-06-29 23:03:47 +00:00
Metadata.h Add a DIModule metadata node to the IR. 2015-06-29 23:03:47 +00:00
MetadataTracking.h IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
Module.h DataLayout now returns a const ref to its member string representation 2015-06-26 20:44:16 +00:00
ModuleSlotTracker.h CodeGen: Push the ModuleSlotTracker through Metadata 2015-06-26 22:28:47 +00:00
NoFolder.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
OperandTraits.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Operator.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
PassManager.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
PassManagerInternal.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
PatternMatch.h [InstCombine][CodeGenPrep] Create llvm.uadd.with.overflow in CGP. 2015-04-10 21:07:09 +00:00
PredIteratorCache.h Revamp PredIteratorCache interface to be cleaner. 2015-04-21 21:11:50 +00:00
Statepoint.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
SymbolTableListTraits.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
TrackingMDRef.h Add a C++ marker to this header file. 2014-12-22 19:07:45 +00:00
Type.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
TypeBuilder.h Update comment. NFC. 2015-04-21 21:15:35 +00:00
TypeFinder.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Use.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
UseListOrder.h uselistorder: Remove the global bits 2015-04-15 03:14:06 +00:00
User.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Value.def Create Value.def helper. NFC. 2015-06-22 23:48:35 +00:00
Value.h IR: Expose ModuleSlotTracker in Value::print() 2015-06-27 00:38:26 +00:00
ValueHandle.h Add simplify_type<const WeakVH>; simplify IndVarSimplify 2015-06-24 22:23:21 +00:00
ValueMap.h [Mips] Use unique_ptr to manage ownership. 2015-04-16 12:43:33 +00:00
ValueSymbolTable.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Verifier.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00