1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 12:33:33 +02:00
llvm-mirror/unittests/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
..
AsmWriterTest.cpp
AttributesTest.cpp Fix non-determinism in order of LLVM attributes 2016-04-04 23:06:05 +00:00
CMakeLists.txt ADT: Split out simple_ilist, a simple intrusive list 2016-08-30 16:23:55 +00:00
ConstantRangeTest.cpp Introduce ConstantRange.addWithNoSignedWrap 2016-10-19 14:44:23 +00:00
ConstantsTest.cpp Fix constant folding of addrspacecast of null 2016-05-21 00:14:04 +00:00
DebugInfoTest.cpp Formatting with clang-format patch r280700 2016-09-06 17:03:02 +00:00
DebugTypeODRUniquingTest.cpp Formatting with clang-format patch r280700 2016-09-06 17:03:02 +00:00
DominatorTreeTest.cpp [StructurizeCfg] Update dominator info. 2017-01-10 02:50:47 +00:00
FunctionTest.cpp Fix warnings in FunctionTest.cpp. 2016-07-13 18:17:46 +00:00
InstructionsTest.cpp Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
IntrinsicsTest.cpp Handle more edge cases in intrinsic name binary search 2016-01-26 22:33:19 +00:00
IRBuilderTest.cpp Fix some -Wsign-compare warnings by making some integer literals explicitly unsigned 2017-01-12 17:44:32 +00:00
LegacyPassManagerTest.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
MDBuilderTest.cpp
MetadataTest.cpp [DebugInfo] Added support for Checksum debug info feature. 2016-12-25 10:12:09 +00:00
ModuleTest.cpp Avoid unnecessary constexpr to appease MSVC 2013 2016-10-11 18:35:13 +00:00
PassManagerTest.cpp [PM] Introduce the facilities for registering cross-IR-unit dependencies 2016-12-27 08:40:39 +00:00
PatternMatch.cpp Add support to paternmatch for simple const Value cases. 2016-08-12 22:16:05 +00:00
TypeBuilderTest.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
TypesTest.cpp
UserTest.cpp [IR] Adding const_value_op_iterator for IR/User.h 2017-01-09 14:00:57 +00:00
UseTest.cpp
ValueHandleTest.cpp [PM] Introduce a PoisoningVH as a (more expensive) alternative to 2017-01-24 12:34:47 +00:00
ValueMapTest.cpp Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
ValueTest.cpp Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
VerifierTest.cpp [DebugInfo] Changed DIBuilder::createCompileUnit() to take DIFile instead of FileName and Directory. 2016-12-14 20:24:54 +00:00
WaymarkTest.cpp Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00