summaryrefslogtreecommitdiff
path: root/docs/ProgrammersManual.rst
diff options
context:
space:
mode:
authorMichael Ilseman <milseman@apple.com>2013-01-21 21:46:32 +0000
committerMichael Ilseman <milseman@apple.com>2013-01-21 21:46:32 +0000
commite4b1efef8aa51c7ac768f96e77af49622d9e85b9 (patch)
treecb60b10cf262ad52708433fc0b3ce67f91137ae3 /docs/ProgrammersManual.rst
parent923cc3ebb06768bee730789a6cb44b9e8c6576bf (diff)
downloadllvm-e4b1efef8aa51c7ac768f96e77af49622d9e85b9.tar.gz
llvm-e4b1efef8aa51c7ac768f96e77af49622d9e85b9.tar.bz2
llvm-e4b1efef8aa51c7ac768f96e77af49622d9e85b9.tar.xz
Docs for SparseMultiSet
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173092 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/ProgrammersManual.rst')
-rw-r--r--docs/ProgrammersManual.rst16
1 files changed, 16 insertions, 0 deletions
diff --git a/docs/ProgrammersManual.rst b/docs/ProgrammersManual.rst
index 8fbd2e142b..4fc4597933 100644
--- a/docs/ProgrammersManual.rst
+++ b/docs/ProgrammersManual.rst
@@ -1052,6 +1052,22 @@ SparseSet is useful for algorithms that need very fast clear/find/insert/erase
and fast iteration over small sets. It is not intended for building composite
data structures.
+.. _dss_sparsemultiset:
+
+llvm/ADT/SparseMultiSet.h
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+SparseMultiSet adds multiset behavior to SparseSet, while retaining SparseSet's
+desirable attributes. Like SparseSet, it typically uses a lot of memory, but
+provides operations that are almost as fast as a vector. Typical keys are
+physical registers, virtual registers, or numbered basic blocks.
+
+SparseMultiSet is useful for algorithms that need very fast
+clear/find/insert/erase of the entire collection, and iteration over sets of
+elements sharing a key. It is often a more efficient choice than using composite
+data structures (e.g. vector-of-vectors, map-of-vectors). It is not intended for
+building composite data structures.
+
.. _dss_FoldingSet:
llvm/ADT/FoldingSet.h