1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-25 05:52:53 +02:00
llvm-mirror/include/llvm/IR
Duncan P. N. Exon Smith d8033eebd6 IR: Create SymbolTableList wrapper around iplist, NFC
Create `SymbolTableList`, a wrapper around `iplist` for lists that
automatically manage a symbol table.  This commit reduces a ton of code
duplication between the six traits classes that were used previously.

As a drive by, reduce the number of template parameters from 2 to 1 by
using a SymbolTableListParentType metafunction (I originally had this as
a separate commit, but it touched most of the same lines so I squashed
them).

I'm in the process of trying to remove the UB in `createSentinel()` (see
the FIXMEs I added for `ilist_embedded_sentinel_traits` and
`ilist_half_embedded_sentinel_traits`).  My eventual goal is to separate
the list logic into a base class layer that knows nothing about (and
isn't templated on) the downcasted nodes -- removing the need to invoke
UB -- but for now I'm just trying to get a handle on all the current use
cases (and cleaning things up as I see them).

Besides these six SymbolTable lists, there are two others that use the
addNode/removeNode/transferNodes() hooks: the `MachineInstruction` and
`MachineBasicBlock` lists.  Ideally there'll be a way to factor these
hooks out of the low-level API entirely, but I'm not quite there yet.

llvm-svn: 249602
2015-10-07 20:05:10 +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 Prune trailing whitespaces. 2015-09-22 11:19:03 +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 IR: Create SymbolTableList wrapper around iplist, NFC 2015-10-07 20:05:10 +00:00
CallingConv.h HHVM calling conventions. 2015-09-29 22:09:16 +00:00
CallSite.h [OperandBundles] Add an accessor to get an operand bundle by tag 2015-10-07 02:39:24 +00:00
CFG.h Move BB succ_iterator to be inside TerminatorInst. NFC. 2015-08-05 17:43:01 +00:00
CMakeLists.txt
Comdat.h AsmWriter: Print the argument names in declarations while debugging 2015-09-27 22:38:50 +00:00
Constant.h Reformat blank lines. 2015-09-22 11:14:39 +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 Reformat blank lines. 2015-09-22 11:14:39 +00:00
Constants.h [opaque pointer type]: Pass explicit pointee type when building a constant GEP. 2015-08-21 20:16:51 +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: Remove dead code: getDICompositeType() 2015-07-24 20:46:46 +00:00
DebugInfoFlags.def Debug Info: Add basic support for external types references. 2015-07-15 17:01:41 +00:00
DebugInfoMetadata.h IR: Add a setDWOId() method to DICompileUnit. 2015-09-22 23:21:06 +00:00
DebugLoc.h
DerivedTypes.h Prune trailing whitespaces. 2015-09-22 11:19:03 +00:00
DiagnosticInfo.h Print vectorization analysis when loop hint is specified. 2015-08-11 01:09:15 +00:00
DiagnosticPrinter.h Fix -Wextra-semi warnings. 2015-07-22 20:46:11 +00:00
DIBuilder.h DI: Rewrite the DIBuilder local variable API 2015-07-31 17:55:53 +00:00
Dominators.h [docs] Update DominatorTree docs to clarify expectations around unreachable blocks 2015-09-23 18:39:37 +00:00
Function.h IR: Create SymbolTableList wrapper around iplist, NFC 2015-10-07 20:05:10 +00:00
FunctionInfo.h Support for function summary index bitcode sections and files. 2015-10-04 14:33:43 +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] Add an accessor to get an operand bundle by tag 2015-10-07 02:39:24 +00:00
Instruction.def Reformat blank lines. 2015-09-22 11:14:39 +00:00
Instruction.h IR: Create SymbolTableList wrapper around iplist, NFC 2015-10-07 20:05:10 +00:00
Instructions.h [IR] Add operand bundles to CallInst and InvokeInst. 2015-09-24 19:14:18 +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 [SEH] Add llvm.eh.exceptioncode intrinsic 2015-10-07 00:27:33 +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
IntrinsicsHexagon.td
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
IntrinsicsWebAssembly.td [WebAssembly] Add a resize_memory intrinsic. 2015-10-02 20:10:26 +00:00
IntrinsicsX86.td AVX512: Implemented encoding and intrinsics for VPERMILPS/PD instructions. 2015-10-04 07:20:41 +00:00
IntrinsicsXCore.td
IRBuilder.h [IRBuilder] Add gc.statepoint related methods to IRBuilder 2015-10-07 19:52:12 +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 !align metadata for load instruction 2015-09-28 17:41:08 +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 IR: Create SymbolTableList wrapper around iplist, NFC 2015-10-07 20:05:10 +00:00
MetadataTracking.h
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 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] Optimize icmp slt signum(x), 1 --> icmp slt x, 1 2015-09-16 20:41:29 +00:00
PredIteratorCache.h
Statepoint.h [Statepoints] Make operator bool() explicit. 2015-07-02 18:15:18 +00:00
SymbolTableListTraits.h IR: Create SymbolTableList wrapper around iplist, NFC 2015-10-07 20:05:10 +00:00
TrackingMDRef.h
Type.h AsmWriter: Print the argument names in declarations while debugging 2015-09-27 22:38:50 +00:00
TypeBuilder.h
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 [IR] Teach llvm::User to co-allocate a descriptor. 2015-09-24 01:00:49 +00:00
Value.def Create Value.def helper. NFC. 2015-06-22 23:48:35 +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