From: Michael Ilseman Date: Mon, 21 Jan 2013 21:46:32 +0000 (+0000) Subject: Docs for SparseMultiSet X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=e4b1efef8aa51c7ac768f96e77af49622d9e85b9;p=oota-llvm.git Docs for SparseMultiSet git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173092 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/docs/ProgrammersManual.rst b/docs/ProgrammersManual.rst index 8fbd2e142b2..4fc45979330 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