llvm-project/llvm/unittests/IR
Adrian Prantl 4ddd059635 Prevent DILocation::getMergedLocation() from creating invalid metadata.
The function's new implementation from r340583 had a bug in it that
could cause an invalid scope to be generated when merging two
DILocations with no common ancestor scope.

This patch detects this situation and picks the scope of the first
location. This is not perfect, because the scope is misleading, but on
the other hand, this will be a line 0 location.

rdar://problem/43687474

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

llvm-svn: 340672
2018-08-24 23:30:57 +00:00
..
AsmWriterTest.cpp [IR] Don't print "!DIExpression() = !DIExpression()" when dumping 2017-08-30 20:40:36 +00:00
AttributesTest.cpp [Attributes] Fix a bug in AttributeList::get so it can handle a mix of FunctionIndex and ReturnIndex/arg indices at the same time 2018-04-16 17:05:01 +00:00
BasicBlockTest.cpp [STLExtras] Add size() for ranges, and remove distance() 2018-05-16 23:20:42 +00:00
CFGBuilder.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
CFGBuilder.h [Dominators] Define Arc less-than operator inline. 2017-07-13 23:11:57 +00:00
CMakeLists.txt [Dominators] Remove the DeferredDominance class 2018-08-11 08:12:07 +00:00
ConstantRangeTest.cpp [ConstantRange] Add support of mul in makeGuaranteedNoWrapRegion. 2018-06-26 18:54:10 +00:00
ConstantsTest.cpp Fix a bunch of places where operator-> was used directly on the return from dyn_cast. 2018-05-05 01:57:00 +00:00
DebugInfoTest.cpp
DebugTypeODRUniquingTest.cpp Add DWARF for discriminated unions 2018-02-06 23:45:59 +00:00
DomTreeUpdaterTest.cpp [Dominators] Refine the logic of recalculate() in the DomTreeUpdater 2018-08-03 06:51:35 +00:00
DominatorTreeBatchUpdatesTest.cpp [DomTree] Cleanup Update and LegalizeUpdate API moved to Support header. 2018-08-14 17:12:30 +00:00
DominatorTreeTest.cpp [Dominators] Change getNode parameter type to const NodeT * (NFC). 2018-06-16 14:47:05 +00:00
FunctionTest.cpp
IRBuilderTest.cpp [DebugInfo] Refactoring DIType::setFlags to DIType::cloneWithFlags, NFC 2018-06-01 23:15:09 +00:00
InstructionsTest.cpp Rename skipDebugInfo -> skipDebugIntrinsics, NFC 2018-06-26 21:16:59 +00:00
IntrinsicsTest.cpp
LegacyPassManagerTest.cpp allow custom OptBisect classes set to LLVMContext 2018-04-05 10:29:37 +00:00
MDBuilderTest.cpp
ManglerTest.cpp [IR] Avoid the need to prefix MS C++ symbols with '\01' 2018-03-16 20:13:32 +00:00
MetadataTest.cpp Prevent DILocation::getMergedLocation() from creating invalid metadata. 2018-08-24 23:30:57 +00:00
ModuleTest.cpp Have Module::createRNG return a unique_ptr 2017-07-12 08:03:44 +00:00
PassBuilderCallbacksTest.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
PassManagerTest.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
PatternMatch.cpp [PatternMatch] Add m_Store pattern match helper 2018-06-20 07:27:45 +00:00
TypeBuilderTest.cpp Suppress all uses of LLVM_END_WITH_NULL. NFC. 2017-05-09 19:31:13 +00:00
TypesTest.cpp
UseTest.cpp Remove redundant includes from unittests. 2017-12-13 21:31:05 +00:00
UserTest.cpp Re-sort #include lines for unittests. This uses a slightly modified 2017-06-06 11:06:56 +00:00
ValueHandleTest.cpp Add a new WeakVH value handle; NFC 2017-05-01 17:07:54 +00:00
ValueMapTest.cpp s/LLVM_ON_WIN32/_WIN32/, llvm 2018-04-29 00:45:03 +00:00
ValueTest.cpp [MIR] Making MIR Printing, opt -dot-cfg, and -debug printing faster 2018-03-22 21:29:07 +00:00
VerifierTest.cpp Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
WaymarkTest.cpp