Go to file
Michael Ilseman 3e3194f4ec 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.

llvm-svn: 173064
2013-01-21 18:18:53 +00:00
clang Revert r173056; it breaks one of the CodeGen-with-PCH tests. 2013-01-21 16:52:34 +00:00
clang-tools-extra these need the bitcode reader as well. 2013-01-19 18:45:35 +00:00
compiler-rt [asan] fix linux build 2013-01-21 15:04:36 +00:00
debuginfo-tests Harden this test a bit to work on the mac with ancient gdbs. 2013-01-17 20:09:50 +00:00
libclc Update the copyright coredits -- Happy new year 2013! 2013-01-01 10:00:19 +00:00
libcxx Donated anonymously: This enables GCC 4.8.0 to build libc++. 2013-01-21 17:26:55 +00:00
libcxxabi Update the copyright coredits -- Happy new year 2013! 2013-01-01 10:00:19 +00:00
lld [Core] Use LLVM's ErrorOr<T>. 2013-01-20 21:27:05 +00:00
lldb <rdar://problem/12350715> 2013-01-19 03:53:42 +00:00
llvm Introduce a new data structure, the SparseMultiSet, and changes to the MI scheduler to use it. 2013-01-21 18:18:53 +00:00
polly cmake: Install all polly include files 2013-01-19 14:17:52 +00:00