llvm-6502/unittests/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
..
APFloatTest.cpp Implement APFloat::isDenormal() 2013-01-07 18:59:35 +00:00
APIntTest.cpp Sort the #include lines for unittest/... 2012-12-04 10:23:08 +00:00
BitVectorTest.cpp Fix a bug in the set(I,E)/reset(I,E) methods that I recently added. The boundary condition for checking if I and E were in the same word were incorrect, and, beyond that, the mask computation was not using a wide enough constant. 2012-10-16 06:04:27 +00:00
CMakeLists.txt Introduce a new data structure, the SparseMultiSet, and changes to the MI scheduler to use it. 2013-01-21 18:18:53 +00:00
DAGDeltaAlgorithmTest.cpp
DeltaAlgorithmTest.cpp
DenseMapTest.cpp Fixed bug in SmallDenseMap where it wouldn't leave enough space for an empty bucket if the number of values was exactly equal to the small capacity. This led to an infinite loop when finding a non-existent element 2012-10-23 18:47:35 +00:00
DenseSetTest.cpp Fix includes of llvm files that used angle brackets. 2012-09-15 18:45:38 +00:00
FoldingSet.cpp
HashingTest.cpp Fix typos found by http://github.com/lyda/misspell-check 2012-06-02 10:20:22 +00:00
ilistTest.cpp Add an iplist::clearAndLeakNodesUnsafely() function. 2013-01-04 22:35:42 +00:00
ImmutableMapTest.cpp Fix a typo that made ImmutableMap::getMaxElement() useless. 2012-10-14 15:56:39 +00:00
ImmutableSetTest.cpp
IntEqClassesTest.cpp
IntervalMapTest.cpp
IntrusiveRefCntPtrTest.cpp RefCountedBaseVPTR needs the IntrusiveRefCntPtrInfo as friend, 2012-01-31 19:58:34 +00:00
Makefile
PackedVectorTest.cpp
SCCIteratorTest.cpp Sort the #include lines for unittest/... 2012-12-04 10:23:08 +00:00
SmallPtrSetTest.cpp SmallPtrSet: Provide a more efficient implementation of swap than the default triple-copy std::swap. 2012-03-06 20:40:02 +00:00
SmallStringTest.cpp Sort the #include lines for unittest/... 2012-12-04 10:23:08 +00:00
SmallVectorTest.cpp Sort the #include lines for unittest/... 2012-12-04 10:23:08 +00:00
SparseBitVectorTest.cpp
SparseMultiSetTest.cpp Introduce a new data structure, the SparseMultiSet, and changes to the MI scheduler to use it. 2013-01-21 18:18:53 +00:00
SparseSetTest.cpp SparseSet: Add support for key-derived indexes and arbitrary key types. 2012-04-20 20:05:28 +00:00
StringMapTest.cpp Fix PR13148, an inf-loop in StringMap. 2012-06-19 17:40:35 +00:00
StringRefTest.cpp Sort the #include lines for unittest/... 2012-12-04 10:23:08 +00:00
TinyPtrVectorTest.cpp Sort the #include lines for unittest/... 2012-12-04 10:23:08 +00:00
TripleTest.cpp Add powerpc-ibm-aix to Triple. Patch by Kai. 2012-10-12 11:08:57 +00:00
TwineTest.cpp Sort the #include lines for unittest/... 2012-12-04 10:23:08 +00:00
VariadicFunctionTest.cpp