1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
llvm-mirror/include/llvm/IR
Reid Kleckner 00daa6cd20 [WinEH] Move WinEHFuncInfo from MachineModuleInfo to MachineFunction
Summary:
Now that there is a one-to-one mapping from MachineFunction to
WinEHFuncInfo, we don't need to use a DenseMap to select the right
WinEHFuncInfo for the current funclet.

The main challenge here is that X86WinEHStatePass is an IR pass that
doesn't have access to the MachineFunction. I gave it its own
WinEHFuncInfo object that it uses to calculate state numbers, which it
then throws away. As long as nobody creates or removes EH pads between
this pass and SDAG construction, we will get the same state numbers.

The other thing X86WinEHStatePass does is to mark the EH registration
node. Instead of communicating which alloca was the registration through
WinEHFuncInfo, I added the llvm.x86.seh.ehregnode intrinsic.  This
intrinsic generates no code and simply marks the alloca in use.

Reviewers: JCTremoulet

Subscribers: llvm-commits

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

llvm-svn: 253378
2015-11-17 21:10:25 +00:00
..
Argument.h IR: Create SymbolTableList wrapper around iplist, NFC 2015-10-07 20:05:10 +00:00
AssemblyAnnotationWriter.h Prune trailing whitespaces. 2015-09-22 11:19:03 +00:00
Attributes.h Revert r252990. 2015-11-13 01:44:32 +00:00
Attributes.td Revert r252990. 2015-11-13 01:44:32 +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 ADT: Avoid relying on UB in ilist_node::getNextNode() 2015-11-11 02:26:42 +00:00
CallingConv.h [IR] Limit bits used for CallingConv::ID, update tests 2015-10-27 21:17:06 +00:00
CallSite.h [OperandBundles] Identify operand bundles with both their names and IDs 2015-11-10 20:13:15 +00:00
CFG.h Move BB succ_iterator to be inside TerminatorInst. NFC. 2015-08-05 17:43:01 +00:00
CMakeLists.txt Move the enum attributes defined in Attributes.h to a table-gen file. 2015-11-11 20:35:42 +00:00
Comdat.h AsmWriter: Print the argument names in declarations while debugging 2015-09-27 22:38:50 +00:00
Constant.h Drop prelink support. 2015-11-17 00:51:23 +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 [IR] Add a makeNoWrapRegion method to ConstantRange 2015-10-22 03:12:57 +00:00
Constants.h [IR] Add support for empty tokens 2015-11-11 21:57:16 +00:00
DataLayout.h Revert "Add const to a bunch of Type* in DataLayout. NFC." 2015-07-27 17:15:28 +00:00
DebugInfo.h DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
DebugInfoFlags.def Debug Info: Add basic support for external types references. 2015-07-15 17:01:41 +00:00
DebugInfoMetadata.h DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
DebugLoc.h IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
DerivedTypes.h Prune trailing whitespaces. 2015-09-22 11:19:03 +00:00
DiagnosticInfo.h StringRef-ify DiagnosticInfoSampleProfile::Filename 2015-11-02 20:01:13 +00:00
DiagnosticPrinter.h Fix -Wextra-semi warnings. 2015-07-22 20:46:11 +00:00
DIBuilder.h [DIBuilder] Make createReferenceType take size and align 2015-11-16 07:57:32 +00:00
Dominators.h [docs] Update DominatorTree docs to clarify expectations around unreachable blocks 2015-09-23 18:39:37 +00:00
Function.h Add a new attribute: norecurse 2015-11-06 10:32:53 +00:00
FunctionInfo.h Restore "Support for ThinLTO function importing and symbol linking." 2015-11-03 00:14:15 +00:00
GetElementPtrTypeIterator.h Roll forward r243250 2015-07-26 19:10:03 +00:00
GlobalAlias.h IR: Create SymbolTableList wrapper around iplist, NFC 2015-10-07 20:05:10 +00:00
GlobalObject.h [opaque pointer types] Add an explicit value type to GlobalObject 2015-09-14 21:47:27 +00:00
GlobalValue.h [opaque pointer types] Add an explicit value type to GlobalObject 2015-09-14 21:47:27 +00:00
GlobalVariable.h IR: Create SymbolTableList wrapper around iplist, NFC 2015-10-07 20:05:10 +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 Prune trailing whitespaces. 2015-09-22 11:19:03 +00:00
InstIterator.h IR: Create SymbolTableList wrapper around iplist, NFC 2015-10-07 20:05:10 +00:00
InstrTypes.h [OperandBundles] Identify operand bundles with both their names and IDs 2015-11-10 20:13:15 +00:00
Instruction.def Reformat blank lines. 2015-09-22 11:14:39 +00:00
Instruction.h ADT: Avoid relying on UB in ilist_node::getNextNode() 2015-11-11 02:26:42 +00:00
Instructions.h Add 'notail' marker for call instructions. 2015-11-06 23:55:38 +00:00
InstVisitor.h [WinEH] Add cleanupendpad instruction 2015-09-03 09:09:43 +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 [TableGen] Allow TokenTy in intrinsic signatures 2015-09-02 13:36:25 +00:00
Intrinsics.td [SDAG] Introduce a new BITREVERSE node along with a corresponding LLVM intrinsic 2015-11-12 12:29:09 +00:00
IntrinsicsAArch64.td Implement __builtin_thread_pointer 2015-07-28 13:03:31 +00:00
IntrinsicsAMDGPU.td AMDGPU: Add MEM_RAT STORE_TYPED. 2015-10-01 17:51:34 +00:00
IntrinsicsARM.td [ARM][NEON] Use address space in vld([1234]|[234]lane) and vst([1234]|[234]lane) instructions 2015-09-30 10:56:37 +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
IntrinsicsNVVM.td
IntrinsicsPowerPC.td Addition of interfaces the BE to conform to Table A-2 of ELF V2 ABI V1.1 2015-09-29 17:41:53 +00:00
IntrinsicsSystemZ.td [SystemZ] Add vector intrinsics 2015-05-05 19:31:09 +00:00
IntrinsicsWebAssembly.td [WebAssembly] Change int_wasm_memory_size from IntrNoMem to IntrReadMem. 2015-11-14 23:02:31 +00:00
IntrinsicsX86.td [WinEH] Move WinEHFuncInfo from MachineModuleInfo to MachineFunction 2015-11-17 21:10:25 +00:00
IntrinsicsXCore.td
IRBuilder.h IR: Remove implicit iterator conversions from lib/IR, NFC 2015-10-08 23:49:46 +00:00
IRPrintingPasses.h IR: Extract a function 'printLLVMNameWithoutPrefix' from 'PrintLLVMName'. NFC. 2015-07-21 16:50:35 +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 Reformat blank lines. 2015-09-22 11:14:39 +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 Introduce deoptimization operand bundles 2015-11-11 21:38:02 +00:00
Mangler.h Remove unused arguments and move ManglerPrefixTy to the implementation. 2015-06-23 14:11:09 +00:00
MDBuilder.h add unpredictable metadata type for control flow 2015-09-02 19:06:43 +00:00
Metadata.def DI: Disallow uniquable DICompileUnits 2015-08-03 17:26:41 +00:00
Metadata.h Preserve load alignment and dereferenceable metadata during some transformations 2015-11-02 17:53:51 +00:00
MetadataTracking.h IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
Module.h IR: Create SymbolTableList wrapper around iplist, NFC 2015-10-07 20:05:10 +00:00
ModuleSlotTracker.h IR: Expose the method 'getLocalSlot' in the module slot tracker. 2015-07-27 22:31:04 +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 Add support for fast-math flags to the FCmp instruction. 2015-07-10 12:52:00 +00:00
PassManager.h PM: Print the IR unit's name in debug output. NFC 2015-10-30 22:58:15 +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 Revert "[PatternMatch] Switch to use ValueTracking::matchSelectPattern" 2015-11-04 08:36:53 +00:00
PredIteratorCache.h Revamp PredIteratorCache interface to be cleaner. 2015-04-21 21:11:50 +00:00
Statepoint.h [RS4GC] Refactoring to make a later change easier, NFCI 2015-10-08 23:18:38 +00:00
SymbolTableListTraits.h IR: Create SymbolTableList wrapper around iplist, NFC 2015-10-07 20:05:10 +00:00
TrackingMDRef.h Add a C++ marker to this header file. 2014-12-22 19:07:45 +00:00
Type.h AsmWriter: Print the argument names in declarations while debugging 2015-09-27 22:38:50 +00:00
TypeBuilder.h Update comment. NFC. 2015-04-21 21:15:35 +00:00
TypeFinder.h Reformat comment lines. 2015-09-22 11:14:12 +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 Fix Clang-tidy modernize-use-nullptr warnings in examples and include directories; other minor cleanups. 2015-09-29 18:02:48 +00:00
User.h Support, IR: silence -Wunused-parameter 2015-10-23 05:26:03 +00:00
Value.def [IR] Add support for empty tokens 2015-11-11 21:57:16 +00:00
Value.h AsmWriter: Print the argument names in declarations while debugging 2015-09-27 22:38:50 +00:00
ValueHandle.h Update/correct comment. 2015-08-03 22:33:50 +00:00
ValueMap.h -Wdeprecated-clean: Fix cases of violating the rule of 5 in ways that are deprecated in C++11 2015-08-03 22:30:24 +00:00
ValueSymbolTable.h IR: Create SymbolTableList wrapper around iplist, NFC 2015-10-07 20:05:10 +00:00
Verifier.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00