History log of /external/llvm/unittests/ADT/SparseSetTest.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c0ccb8bb17028fe0dda139c0972c0125d10e6053 20-Apr-2012 Andrew Trick <atrick@apple.com> SparseSet: Add support for key-derived indexes and arbitrary key types.

This nicely handles the most common case of virtual register sets, but
also handles anticipated cases where we will map pointers to IDs.

The goal is not to develop a completely generic SparseSet
template. Instead we want to handle the expected uses within llvm
without any template antics in the client code. I'm adding a bit of
template nastiness here, and some assumption about expected usage in
order to make the client code very clean.

The expected common uses cases I'm designing for:
- integer keys that need to be reindexed, and may map to additional
data
- densely numbered objects where we want pointer keys because no
number->object map exists.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155227 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/ADT/SparseSetTest.cpp
a3bf915888ba81c4f695ebc38e5d6ce0881ef354 22-Feb-2012 Jakob Stoklund Olesen <stoklund@2pi.dk> Fix typos.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151163 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/ADT/SparseSetTest.cpp
62588622d40f6c6f5508496db69e06593b615049 22-Feb-2012 Jakob Stoklund Olesen <stoklund@2pi.dk> Add a Briggs and Torczon sparse set implementation.

For objects that can be identified by small unsigned keys, SparseSet
provides constant time clear() and fast deterministic iteration. Insert,
erase, and find operations are typically faster than hash tables.

SparseSet is useful for keeping information about physical registers,
virtual registers, or numbered basic blocks.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151110 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/ADT/SparseSetTest.cpp