summaryrefslogtreecommitdiffstats
path: root/llvm/docs/ProgrammersManual.html
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2012-02-22 00:56:08 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2012-02-22 00:56:08 +0000
commit3a0f01f734276661a0635c491a0f4d287fc336ef (patch)
tree2e2718e81319baa471f311abe5dedfc3108ea32d /llvm/docs/ProgrammersManual.html
parent877c0a27f8136de23bbc4a9bba8a412e80bb2e28 (diff)
downloadbcm5719-llvm-3a0f01f734276661a0635c491a0f4d287fc336ef.tar.gz
bcm5719-llvm-3a0f01f734276661a0635c491a0f4d287fc336ef.zip
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. llvm-svn: 151110
Diffstat (limited to 'llvm/docs/ProgrammersManual.html')
-rw-r--r--llvm/docs/ProgrammersManual.html19
1 files changed, 19 insertions, 0 deletions
diff --git a/llvm/docs/ProgrammersManual.html b/llvm/docs/ProgrammersManual.html
index 0b1a875da1a..f4c03222b20 100644
--- a/llvm/docs/ProgrammersManual.html
+++ b/llvm/docs/ProgrammersManual.html
@@ -81,6 +81,7 @@ option</a></li>
<li><a href="#dss_smallset">"llvm/ADT/SmallSet.h"</a></li>
<li><a href="#dss_smallptrset">"llvm/ADT/SmallPtrSet.h"</a></li>
<li><a href="#dss_denseset">"llvm/ADT/DenseSet.h"</a></li>
+ <li><a href="#dss_sparseset">"llvm/ADT/SparseSet.h"</a></li>
<li><a href="#dss_FoldingSet">"llvm/ADT/FoldingSet.h"</a></li>
<li><a href="#dss_set">&lt;set&gt;</a></li>
<li><a href="#dss_setvector">"llvm/ADT/SetVector.h"</a></li>
@@ -1490,6 +1491,24 @@ href="#dss_densemap">DenseMap</a> has.
<!-- _______________________________________________________________________ -->
<h4>
+ <a name="dss_sparseset">"llvm/ADT/SparseSet.h"</a>
+</h4>
+
+<div>
+
+<p>SparseSet holds a small number of objects identified by unsigned keys of
+moderate size. It 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.</p>
+
+<p>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.</p>
+
+</div>
+
+<!-- _______________________________________________________________________ -->
+<h4>
<a name="dss_FoldingSet">"llvm/ADT/FoldingSet.h"</a>
</h4>
OpenPOWER on IntegriCloud