1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 21:13:02 +02:00
llvm-mirror/include/llvm/ADT
David Blaikie fac608f99b 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)

llvm-svn: 208748
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 [C++11] Remove the R-value reference #if usage from the ADT and Support 2014-03-01 09:27:28 +00:00
APSInt.h Give APInt move semantics. 2014-03-02 20:56:28 +00:00
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 Remove unnecessary copy ctors. 2014-03-02 21:24:52 +00:00
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 [C++11] Replace llvm::next and llvm::prior with std::next and std::prev. 2014-03-02 12:27:27 +00:00
None.h
Optional.h [C++11] Remove the R-value reference #if usage from the ADT and Support 2014-03-01 09:27:28 +00:00
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 [C++11] Remove the completely unnecessary requirement on SetVector's 2014-03-03 19:28:52 +00:00
SmallBitVector.h [C++11] Remove the R-value reference #if usage from the ADT and Support 2014-03-01 09:27:28 +00:00
SmallPtrSet.h [C++11] Remove the R-value reference #if usage from the ADT and Support 2014-03-01 09:27:28 +00:00
SmallSet.h The count() function for STL datatypes returns unsigned, even 2013-12-22 12:04:23 +00:00
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 Correct word hyphenations 2013-12-05 05:44:44 +00:00
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