llvm-project/llvm/unittests/IR
Duncan P. N. Exon Smith 264899823f Verifier: Check accessors of MDLocation
Check accessors of `MDLocation`, and change them to `cast<>` down to the
right types.  Also add type-safe factory functions.

All the callers that handle broken code need to use the new versions of
the accessors (`getRawScope()` instead of `getScope()`) that still
return `Metadata*`.  This is also necessary for things like
`MDNodeKeyImpl<MDLocation>` (in LLVMContextImpl.h) that need to unique
the nodes when their operands might still be forward references of the
wrong type.

In the `Value` hierarchy, consumers that handle broken code use
`getOperand()` directly.  However, debug info nodes have a ton of
operands, and their order (even their existence) isn't stable yet.  It's
safer and more maintainable to add an explicit "raw" accessor on the
class itself.

llvm-svn: 233322
2015-03-26 22:05:04 +00:00
..
AttributesTest.cpp Make one of the AttributeSet ctors maintain the invariant that the 2013-08-02 22:29:40 +00:00
CMakeLists.txt The leak detector is dead, long live asan and valgrind. 2014-12-22 13:00:36 +00:00
ConstantRangeTest.cpp [ConstantRange] Split makeICmpRegion in two. 2015-03-18 00:41:24 +00:00
ConstantsTest.cpp [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
DebugInfoTest.cpp Add missing includes. make_unique proliferated everywhere. 2015-03-01 21:28:53 +00:00
DominatorTreeTest.cpp [PM] Remove the old 'PassManager.h' header file at the top level of 2015-02-13 10:01:29 +00:00
IRBuilderTest.cpp DataLayout is mandatory, update the API to reflect it with references. 2015-03-10 02:37:25 +00:00
InstructionsTest.cpp [opaque pointer type] gep API migration 2015-03-14 21:40:10 +00:00
LegacyPassManagerTest.cpp Make DataLayout Non-Optional in the Module 2015-03-04 18:43:29 +00:00
MDBuilderTest.cpp IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
Makefile
MetadataTest.cpp Verifier: Check accessors of MDLocation 2015-03-26 22:05:04 +00:00
PassManagerTest.cpp [PM] Add names and debug logging for analysis passes to the new pass 2015-01-05 12:21:44 +00:00
PatternMatch.cpp [C++11] Use 'nullptr'. 2014-06-08 22:29:17 +00:00
TypeBuilderTest.cpp [C++11] Use 'nullptr'. 2014-06-08 22:29:17 +00:00
TypesTest.cpp
UseTest.cpp Format: Modernize using variadic templates. 2015-02-15 22:15:41 +00:00
UserTest.cpp [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
ValueHandleTest.cpp [C++11] Use 'nullptr'. 2014-06-08 22:29:17 +00:00
ValueMapTest.cpp Support: make LLVM Mutexes STL-compatible 2014-08-23 22:49:22 +00:00
ValueTest.cpp Add unittest for extreme alignments. 2014-10-23 14:45:19 +00:00
VerifierTest.cpp Allow aliases to be unnamed_addr. 2014-06-06 01:20:28 +00:00
WaymarkTest.cpp Fix a leak found by asan. 2014-12-23 17:20:23 +00:00