llvm-6502/include/llvm/ADT
Michael Ilseman afe77f33b2 Introduce a new data structure, the SparseMultiSet, and changes to the MI scheduler to use it.
A SparseMultiSet adds multiset behavior to SparseSet, while retaining SparseSet's desirable properties. Essentially, SparseMultiSet provides multiset behavior by storing its dense data in doubly linked lists that are inlined into the dense vector. This allows it to provide good data locality as well as vector-like constant-time clear() and fast constant time find(), insert(), and erase(). It also allows SparseMultiSet to have a builtin recycler rather than keeping SparseSet's behavior of always swapping upon removal, which allows it to preserve more iterators. It's often a better alternative to a SparseSet of a growable container or vector-of-vector.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173064 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-21 18:18:53 +00:00
..
APFloat.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
APInt.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
APSInt.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ArrayRef.h Reduce alignment of SmallVector<T> to the required amount, rather than forcing 16-byte alignment. This fixes misaligned SmallVector accesses via ExtractValueInst's SmallVector data member. 2012-08-22 00:11:07 +00:00
BitVector.h Switch LLVM_USE_RVALUE_REFERENCES to LLVM_HAS_RVALUE_REFERENCES. 2012-11-30 11:45:22 +00:00
DAGDeltaAlgorithm.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
DeltaAlgorithm.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
DenseMap.h Fix DenseMap when LLVM_HAS_RVALUE_REFERENCES is defined but equals 0. 2013-01-14 19:37:42 +00:00
DenseMapInfo.h Fix integer undefined behavior due to signed left shift overflow in LLVM. 2012-08-24 23:29:28 +00:00
DenseSet.h Make comment a bit more clear. 2013-01-04 17:59:17 +00:00
DepthFirstIterator.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
edit_distance.h
EquivalenceClasses.h Fix Doxygen issues: wrap code examples in \code and use \p to refer to 2012-09-15 20:22:05 +00:00
FoldingSet.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
GraphTraits.h
Hashing.h Fix typo in comment. 2012-09-13 07:01:25 +00:00
ilist_node.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ilist.h Add an iplist::clearAndLeakNodesUnsafely() function. 2013-01-04 22:35:42 +00:00
ImmutableIntervalMap.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ImmutableList.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ImmutableMap.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ImmutableSet.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
IndexedMap.h
InMemoryStruct.h
IntEqClasses.h
IntervalMap.h Provide a common half-open interval map info implementation, and just 2012-12-27 11:29:17 +00:00
IntrusiveRefCntPtr.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
MapVector.h MapVector: Add lookup(). 2012-12-19 11:08:33 +00:00
NullablePtr.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Optional.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
OwningPtr.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
PackedVector.h PackedVector: Make the BitVector implementation configurable. 2012-09-28 16:40:29 +00:00
PointerIntPair.h Eliminate redundant bitwise operations when using a llvm/ADT/PointerUnion. 2012-12-03 19:59:23 +00:00
PointerUnion.h Eliminate redundant bitwise operations when using a llvm/ADT/PointerUnion. 2012-12-03 19:59:23 +00:00
PostOrderIterator.h Fix broken ipo_ext_iterator constructors. 2012-07-17 17:57:25 +00:00
PriorityQueue.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
SCCIterator.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
ScopedHashTable.h Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. 2012-09-17 06:31:17 +00:00
SetOperations.h
SetVector.h Third try at fixing this. ;] Go back to using std::remove_if, which has 2012-10-03 01:04:07 +00:00
SmallBitVector.h Switch LLVM_USE_RVALUE_REFERENCES to LLVM_HAS_RVALUE_REFERENCES. 2012-11-30 11:45:22 +00:00
SmallPtrSet.h Use LLVM_DELETED_FUNCTION for copy constructors and copy assignment operators that aren't implemented. 2012-09-16 21:37:56 +00:00
SmallSet.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
SmallString.h Fix Doxygen issues: 2012-09-13 12:34:29 +00:00
SmallVector.h Switch LLVM_USE_RVALUE_REFERENCES to LLVM_HAS_RVALUE_REFERENCES. 2012-11-30 11:45:22 +00:00
SparseBitVector.h Provide malloc-free sentinels for the SparseBitVector internals. 2012-09-28 15:36:41 +00:00
SparseMultiSet.h Introduce a new data structure, the SparseMultiSet, and changes to the MI scheduler to use it. 2013-01-21 18:18:53 +00:00
SparseSet.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
Statistic.h
STLExtras.h typo 2012-11-16 21:33:35 +00:00
StringExtras.h Add llvm::hexDigitValue to convert single characters to hex. 2013-01-18 21:45:30 +00:00
StringMap.h [ADT/StringMap] Follow-up to r172455, use the correct constructor for setting the InitialSize, 2013-01-15 01:58:45 +00:00
StringRef.h Remove redundant 'llvm::' qualifications 2013-01-13 16:01:15 +00:00
StringSet.h [Support/StringSet] Fix memory leak when inserted key already exists. 2012-10-23 22:55:54 +00:00
StringSwitch.h Fix shadowed variable warning 2012-08-01 01:43:10 +00:00
TinyPtrVector.h Switch LLVM_USE_RVALUE_REFERENCES to LLVM_HAS_RVALUE_REFERENCES. 2012-11-30 11:45:22 +00:00
Triple.h Add convenience accessor to Triple for OS == NaCl 2012-12-07 00:01:53 +00:00
Twine.h Fix Doxygen issues: 2012-09-13 12:34:29 +00:00
UniqueVector.h
ValueMap.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
VariadicFunction.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00