1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 04:22:57 +02:00
llvm-mirror/include/llvm/IR
Chandler Carruth 0dfd445805 [PM] Introduce a PoisoningVH as a (more expensive) alternative to
AssertingVH that delays any reported error until the handle is *used*.

This allows data structures to contain handles which become dangling
provided the data structure is cleaned up afterward rather than used for
anything interesting.

The implementation is moderately horrible in part because it works to
leave AssertingVH in place, undisturbed. If at some point there is
consensus that this is simply how AssertingVH should be used, it can be
substantially simplified.

This remains a boring pointer in a non-asserts build as you would
expect. The only place we pay cost is in asserts builds.

I plan to use this as a basis for replacing the asserting VHs that
currently dangle in the new PM until invalidation occurs in both LVI and
SCEV.

Differential Revision: https://reviews.llvm.org/D29061

llvm-svn: 292925
2017-01-24 12:34:47 +00:00
..
Argument.h Swift Calling Convention: add swifterror attribute. 2016-04-01 21:41:15 +00:00
AssemblyAnnotationWriter.h Prune trailing whitespaces. 2015-09-22 11:19:03 +00:00
Attributes.h Kill deprecated attribute API 2016-11-06 07:48:46 +00:00
Attributes.td Add writeonly IR attribute 2016-07-04 08:01:29 +00:00
AutoUpgrade.h Fix auto-upgrade of TBAA tags in Bitcode Reader 2016-09-14 22:29:59 +00:00
BasicBlock.h [IR] Add LLVM_READONLY to BasicBlock::getTerminator. 2017-01-22 06:53:07 +00:00
CallingConv.h [X86] Basic additions to support RegCall Calling Convention. 2016-10-13 07:53:43 +00:00
CallSite.h [IR] Fix some Clang-tidy modernize-use-default, modernize-use-equal-delete and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 22:25:16 +00:00
CFG.h [IR] Fix some Clang-tidy modernize-use-default, modernize-use-equal-delete and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 22:25:16 +00:00
CMakeLists.txt IR: Rename the tablegen'd Attributes file to .gen 2016-09-29 03:35:19 +00:00
Comdat.h [IR] Fix some Clang-tidy modernize-use-equals-delete and Include What You Use warnings; other minor fixes (NFC). 2016-12-06 22:00:57 +00:00
Constant.h [IR] Fix some Clang-tidy modernize-use-equals-delete and Include What You Use warnings; other minor fixes (NFC). 2016-12-02 22:00:59 +00:00
ConstantFolder.h [IR] Fix some Clang-tidy modernize-use-default, modernize-use-equal-delete and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 22:25:16 +00:00
ConstantRange.h Factor out common parts of LVI and Float2Int into ConstantRange [NFCI] 2016-12-01 20:08:47 +00:00
Constants.h [IR] Grammar police: "intact" is one word. NFC 2017-01-18 00:07:18 +00:00
DataLayout.h Correct PrivateLinkage for COFF 2016-10-13 00:55:24 +00:00
DebugInfo.h [IR] Remove the DIExpression field from DIGlobalVariable. 2016-12-20 02:09:43 +00:00
DebugInfoFlags.def [DebugInfo] Add support for DW_AT_main_subprogram on subprograms 2016-11-28 21:32:19 +00:00
DebugInfoMetadata.h [DebugInfo] Handle same locations in DILocation::getMergedLocation 2017-01-12 20:34:35 +00:00
DebugLoc.h Do a sweep over move ctors and remove those that are identical to the default. 2016-10-20 12:20:28 +00:00
DerivedTypes.h [IR] Fix some Clang-tidy modernize-use-equals-delete and Include What You Use warnings; other minor fixes (NFC). 2016-12-05 21:55:02 +00:00
DiagnosticInfo.h [GVN, OptDiag] Include the value that is forwarded in load elimination 2016-12-01 17:34:44 +00:00
DiagnosticPrinter.h [IR] Fix some Clang-tidy modernize-use-default, modernize-use-equal-delete and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 22:25:16 +00:00
DIBuilder.h [DebugInfo] Added DI macro creation API to DIBuilder. 2017-01-12 15:49:46 +00:00
Dominators.h [PM] Introduce an analysis set used to preserve all analyses over 2017-01-15 06:32:49 +00:00
Function.h Speed up Function::isIntrinsic() by adding a bit to GlobalValue. NFC 2016-12-28 22:59:45 +00:00
GetElementPtrTypeIterator.h Fix MSVC -Wmicrosoft-enum-value 'enumerator value is not representable' warning 2016-12-06 11:27:19 +00:00
GlobalAlias.h [IR] Fix some Clang-tidy modernize-use-equals-delete and Include What You Use warnings; other minor fixes (NFC). 2016-12-05 21:55:02 +00:00
GlobalIFunc.h [IR] Fix some Clang-tidy modernize-use-equals-delete and Include What You Use warnings; other minor fixes (NFC). 2016-12-05 21:55:02 +00:00
GlobalIndirectSymbol.h [IR] Fix some Clang-tidy modernize-use-equals-delete and Include What You Use warnings; other minor fixes (NFC). 2016-12-05 21:55:02 +00:00
GlobalObject.h Move the section name from GlobalObject to the LLVMContext 2017-01-10 23:23:58 +00:00
GlobalValue.h Fix mingw build by moving the static const data member before the bitfields 2016-12-29 01:14:41 +00:00
GlobalVariable.h [IR] Remove the DIExpression field from DIGlobalVariable. 2016-12-20 02:09:43 +00:00
GVMaterializer.h [IR] Fix some Clang-tidy modernize-use-default, modernize-use-equal-delete and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 22:25:16 +00:00
InlineAsm.h [IR] Fix some Clang-tidy modernize-use-equals-delete and Include What You Use warnings; other minor fixes (NFC). 2016-12-06 22:00:57 +00:00
InstIterator.h [IR] Fix some Clang-tidy modernize-use-default, modernize-use-equal-delete and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 22:25:16 +00:00
InstrTypes.h These two functions should be const. We often could detect it but this just makes it always true. 2017-01-15 07:40:51 +00:00
Instruction.def [IR] Remove terminatepad 2015-12-14 18:34:23 +00:00
Instruction.h Stop lying about pointers' required alignments. 2016-12-12 23:29:07 +00:00
Instructions.h [IR] Fix some Clang-tidy modernize-use-equals-delete and Include What You Use warnings; other minor fixes (NFC). 2016-12-05 21:55:02 +00:00
InstVisitor.h [IR] Remove terminatepad 2015-12-14 18:34:23 +00:00
IntrinsicInst.h [IR] Fix some Clang-tidy modernize-use-equals-delete and Include What You Use warnings; other minor fixes (NFC). 2016-12-06 22:00:57 +00:00
Intrinsics.h Expandload and Compressstore intrinsics 2016-11-03 03:23:55 +00:00
Intrinsics.td Remove unused CONVERT_RNDSAT intrinsics 2017-01-10 22:38:02 +00:00
IntrinsicsAArch64.td [AArch64] Add support for lowering bitreverse to the rbit instruction. 2017-01-10 17:20:33 +00:00
IntrinsicsAMDGPU.td AMDGPU: Add replacement export intrinsics 2017-01-17 07:26:53 +00:00
IntrinsicsARM.td [ARM] Remove rbit intrinsics and autoupgrade to generic bitreverse. 2017-01-10 19:23:51 +00:00
IntrinsicsBPF.td
IntrinsicsHexagon.td [Hexagon] Handle operand type differences for A2_tfrpi 2016-05-05 15:29:47 +00:00
IntrinsicsMips.td Split IntrReadArgMem into IntrReadMem and IntrArgMemOnly 2016-04-21 17:48:02 +00:00
IntrinsicsNVVM.td [NVPTX] Auto-upgrade some NVPTX intrinsics to LLVM target-generic code. 2017-01-21 01:00:32 +00:00
IntrinsicsPowerPC.td [PPC] Add intrinsics for vector extract word and vector insert word. 2016-12-09 17:21:42 +00:00
IntrinsicsSystemZ.td [SystemZ] Support floating-point control register instructions 2016-12-02 18:21:53 +00:00
IntrinsicsWebAssembly.td [WebAssembly] Update grow_memory's return type. 2017-01-18 01:02:45 +00:00
IntrinsicsX86.td [AVX-512] Remove vinsert intrinsics and autoupgrade to native shufflevectors. There are some codegen problems here that I'll try to fix in future commits. 2017-01-03 05:45:57 +00:00
IntrinsicsXCore.td
IRBuilder.h Apply clang-tidy's performance-unnecessary-value-param to LLVM. 2017-01-13 14:39:03 +00:00
IRPrintingPasses.h [PM] Re-instate r279227 and r279228 with a fix to the way the templating 2016-08-19 18:36:06 +00:00
LegacyPassManager.h
LegacyPassManagers.h Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
LegacyPassNameParser.h Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
LLVMContext.h IR, X86: Understand !absolute_symbol metadata on global variables. 2016-12-08 19:01:00 +00:00
Mangler.h Remove the default constructor and count variable from the Mangler since 2016-09-29 02:03:50 +00:00
MDBuilder.h Use profile info to set function section prefix to group hot/cold functions. 2016-10-18 20:42:47 +00:00
Metadata.def [IR] Remove the DIExpression field from DIGlobalVariable. 2016-12-20 02:09:43 +00:00
Metadata.h [IR] Fix some Clang-tidy modernize-use-equals-delete and Include What You Use warnings; other minor fixes (NFC). 2016-12-02 22:00:59 +00:00
Module.h Fix some bad indentation that I or another introduced somehow. 2016-12-26 01:20:59 +00:00
ModuleSlotTracker.h IR: Avoid mallocs in constructor of ModuleSlotTracker 2016-04-20 19:05:59 +00:00
ModuleSummaryIndex.h LowerTypeTests: Implement exporting of type identifiers. 2017-01-19 01:20:11 +00:00
ModuleSummaryIndexYAML.h LowerTypeTests: Represent the memory region size with the constant size-1. 2017-01-11 21:32:10 +00:00
NoFolder.h [IR] Fix some Clang-tidy modernize-use-default, modernize-use-equal-delete and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 22:25:16 +00:00
OperandTraits.h
Operator.h [IR] Fix some Clang-tidy modernize-use-equals-delete and Include What You Use warnings; other minor fixes (NFC). 2016-12-06 22:00:57 +00:00
OptBisect.h Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
PassManager.h [PM] Improve the debug logging to always include the IR unit's name when 2017-01-22 10:33:54 +00:00
PassManagerInternal.h [PM] Introduce the facilities for registering cross-IR-unit dependencies 2016-12-27 08:40:39 +00:00
PatternMatch.h SimplifyLibCalls: Replace fabs libcalls with intrinsics 2017-01-17 00:10:40 +00:00
PredIteratorCache.h
ProfileSummary.h Apply clang-tidy's misc-move-constructor-init throughout LLVM. 2016-05-27 14:27:24 +00:00
Statepoint.h [IR] Fix some Clang-tidy modernize-use-equals-delete and Include What You Use warnings; other minor fixes (NFC). 2016-12-06 22:00:57 +00:00
SymbolTableListTraits.h ADT: Split out iplist_impl from iplist, NFC 2016-09-03 02:07:45 +00:00
TrackingMDRef.h Remove some unneeded headers and replace some headers with forward class declarations (NFC) 2016-04-16 07:51:28 +00:00
Type.h Replace APFloatBase static fltSemantics data members with getter functions 2016-12-14 11:57:17 +00:00
TypeBuilder.h
TypeFinder.h Fix ThinLTO crash with debug info 2016-09-03 21:12:33 +00:00
Use.h Stop lying about pointers' required alignments. 2016-12-12 23:29:07 +00:00
UseListOrder.h Do a sweep over move ctors and remove those that are identical to the default. 2016-10-20 12:20:28 +00:00
User.h [IR] Adding const_value_op_iterator for IR/User.h 2017-01-09 14:00:57 +00:00
Value.def [GCC] Attribute ifunc support in llvm 2016-04-07 12:32:19 +00:00
Value.h [IR] Don't call assertModuleIsMaterialized in release builds 2017-01-13 06:26:18 +00:00
ValueHandle.h [PM] Introduce a PoisoningVH as a (more expensive) alternative to 2017-01-24 12:34:47 +00:00
ValueMap.h [IR] Fix some Clang-tidy modernize-use-equals-delete and Include What You Use warnings; other minor fixes (NFC). 2016-12-06 22:00:57 +00:00
ValueSymbolTable.h Remove some unneeded headers and replace some headers with forward class declarations (NFC) 2016-04-16 07:51:28 +00:00
Verifier.h [TBAAVerifier] Make things const-consistent; NFC 2016-12-29 15:47:01 +00:00