llvm-6502/include/llvm/ADT
David Blaikie ee8af3e2a0 Recommit r208506: DebugInfo: Include lexical scopes in inlined subroutines.
This was reverted in r208642 due to regressions surrounding file changes
within lexical scopes causing inlining information to be lost.

The issue was in LexicalScopes::getOrCreateInlinedScope, where I was
previously testing "isLexicalBlock" which is false for
"DILexicalBlockFile" (a scope used to represent changes in the current
file name) and assuming it was then a function (breaking out of the
inlined scope path and reaching for the parent non-inlined scopes). By
inverting the condition and testing for "isSubprogram" the correct
behavior is attained.

(also found some weirdness in Clang, see r208742 when reducing this test
case - the resulting test case doesn't apply with the Clang fix, but
I've added a more realistic test case to inline-scopes.ll which does
reproduce the issue and demonstrate the fix)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208748 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-14 01:08:28 +00:00
..
APFloat.h [C++11] Make use of 'nullptr' in the Support library. 2014-04-07 04:17:22 +00:00
APInt.h
APSInt.h
ArrayRef.h Make the copy member of StringRef/ArrayRef generic wrt allocators. 2014-04-18 16:36:15 +00:00
BitVector.h [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-14 00:51:57 +00:00
DAGDeltaAlgorithm.h
DeltaAlgorithm.h
DenseMap.h [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr. 2014-04-09 06:08:46 +00:00
DenseMapInfo.h
DenseSet.h
DepthFirstIterator.h Implement depth_first and inverse_depth_first range factory functions. 2014-04-11 01:50:01 +00:00
edit_distance.h [C++11] Replace OwningPtr with std::unique_ptr in places where it doesn't break the API. 2014-04-21 09:34:48 +00:00
EquivalenceClasses.h [C++] Use 'nullptr'. 2014-04-28 04:05:08 +00:00
FoldingSet.h [C++11] Make use of 'nullptr' in the Support library. 2014-04-07 04:17:22 +00:00
GraphTraits.h
Hashing.h Remove unused field hash_state::seed. 2014-04-30 21:12:17 +00:00
ilist_node.h [C++] Use 'nullptr'. 2014-04-24 06:44:33 +00:00
ilist.h [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr. 2014-04-13 04:57:38 +00:00
ImmutableList.h
ImmutableMap.h [C++] Use 'nullptr'. 2014-04-24 06:44:33 +00:00
ImmutableSet.h [C++] Use 'nullptr'. 2014-04-24 06:44:33 +00:00
IndexedMap.h
IntEqClasses.h
IntervalMap.h [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-14 00:51:57 +00:00
IntrusiveRefCntPtr.h [C++11] Replace some comparisons with 'nullptr' with simple boolean checks to reduce verbosity. 2014-04-09 04:20:00 +00:00
iterator_range.h Simplify make_range by using move semantics 2014-04-10 22:03:48 +00:00
iterator.h [ADT] Provide some helpful static_asserts for using operations of the 2014-04-30 00:49:32 +00:00
MapVector.h
None.h
Optional.h
OwningPtr.h [C++] Use 'nullptr'. 2014-04-24 06:44:33 +00:00
PackedVector.h
PointerIntPair.h PointerIntPair: Avoid an (academic) case of undefined behavior in the DenseMapInfo specialization. 2014-03-15 18:10:49 +00:00
PointerUnion.h [ADT] Teach PointerUnion to support assignment directly from nullptr to 2014-04-29 00:14:27 +00:00
PostOrderIterator.h [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-14 00:51:57 +00:00
PriorityQueue.h
SCCIterator.h SCC: Use the reference typedef 2014-04-25 20:52:08 +00:00
ScopedHashTable.h Allocator: Remove ReferenceAdder hack. 2014-04-18 14:54:51 +00:00
SetOperations.h
SetVector.h
SmallBitVector.h
SmallPtrSet.h
SmallSet.h
SmallString.h Revert "Clean up SmallString a bit" 2014-03-09 06:22:58 +00:00
SmallVector.h Fix a use of uninitialized memory in SmallVector's move-assignment operator. 2014-04-30 15:49:06 +00:00
SparseBitVector.h
SparseMultiSet.h [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-14 00:51:57 +00:00
SparseSet.h [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-14 00:51:57 +00:00
Statistic.h Use 'false' for a bool instead of '0' 2014-04-07 06:59:39 +00:00
STLExtras.h Recommit r208506: DebugInfo: Include lexical scopes in inlined subroutines. 2014-05-14 01:08:28 +00:00
StringExtras.h Fix uint -> size_t conversion warning. 2014-04-18 18:08:31 +00:00
StringMap.h Missed formatting 2014-05-08 21:53:33 +00:00
StringRef.h Make the copy member of StringRef/ArrayRef generic wrt allocators. 2014-04-18 16:36:15 +00:00
StringSet.h
StringSwitch.h [C++11] Make use of 'nullptr' in the Support library. 2014-04-07 04:17:22 +00:00
TinyPtrVector.h Add back some typecasts I accidentally lost in r206142. 2014-04-14 01:11:34 +00:00
Triple.h Add isOSFreeBSD triple test 2014-05-08 13:00:15 +00:00
Twine.h [C++11] Make use of 'nullptr' in the Support library. 2014-04-07 04:17:22 +00:00
UniqueVector.h
VariadicFunction.h