aboutsummaryrefslogtreecommitdiff
path: root/docs/ProgrammersManual.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/ProgrammersManual.html')
-rw-r--r--docs/ProgrammersManual.html111
1 files changed, 16 insertions, 95 deletions
diff --git a/docs/ProgrammersManual.html b/docs/ProgrammersManual.html
index e00dd4a66d..036c387d7a 100644
--- a/docs/ProgrammersManual.html
+++ b/docs/ProgrammersManual.html
@@ -95,9 +95,6 @@ option</a></li>
<li><a href="#dss_stringmap">"llvm/ADT/StringMap.h"</a></li>
<li><a href="#dss_indexedmap">"llvm/ADT/IndexedMap.h"</a></li>
<li><a href="#dss_densemap">"llvm/ADT/DenseMap.h"</a></li>
- <li><a href="#dss_multiimplmap">"llvm/ADT/MultiImplMap.h"</a></li>
- <li><a href="#dss_flatarraymap">"llvm/ADT/FlatArrayMap.h"</a></li>
- <li><a href="#dss_smallmap">"llvm/ADT/SmallMap.h"</a></li>
<li><a href="#dss_valuemap">"llvm/ADT/ValueMap.h"</a></li>
<li><a href="#dss_intervalmap">"llvm/ADT/IntervalMap.h"</a></li>
<li><a href="#dss_map">&lt;map&gt;</a></li>
@@ -510,8 +507,9 @@ small and pervasive enough in LLVM that it should always be passed by value.</p>
<div>
-<p>The <tt>Twine</tt> class is an efficient way for APIs to accept concatenated
-strings. For example, a common LLVM paradigm is to name one instruction based on
+<p>The <tt><a href="/doxygen/classllvm_1_1Twine.html">Twine</a></tt> class is an
+efficient way for APIs to accept concatenated strings. For example, a common
+LLVM paradigm is to name one instruction based on
the name of another instruction with a suffix, for example:</p>
<div class="doc_code">
@@ -520,17 +518,17 @@ the name of another instruction with a suffix, for example:</p>
</pre>
</div>
-<p>The <tt>Twine</tt> class is effectively a
-lightweight <a href="http://en.wikipedia.org/wiki/Rope_(computer_science)">rope</a>
+<p>The <tt>Twine</tt> class is effectively a lightweight
+<a href="http://en.wikipedia.org/wiki/Rope_(computer_science)">rope</a>
which points to temporary (stack allocated) objects. Twines can be implicitly
constructed as the result of the plus operator applied to strings (i.e., a C
-strings, an <tt>std::string</tt>, or a <tt>StringRef</tt>). The twine delays the
-actual concatenation of strings until it is actually required, at which point
-it can be efficiently rendered directly into a character array. This avoids
-unnecessary heap allocation involved in constructing the temporary results of
-string concatenation. See
-"<tt><a href="/doxygen/classllvm_1_1Twine_8h-source.html">llvm/ADT/Twine.h</a></tt>"
-for more information.</p>
+strings, an <tt>std::string</tt>, or a <tt>StringRef</tt>). The twine delays
+the actual concatenation of strings until it is actually required, at which
+point it can be efficiently rendered directly into a character array. This
+avoids unnecessary heap allocation involved in constructing the temporary
+results of string concatenation. See
+"<tt><a href="/doxygen/Twine_8h_source.html">llvm/ADT/Twine.h</a></tt>"
+and <a href="#dss_twine">here</a> for more information.</p>
<p>As with a <tt>StringRef</tt>, <tt>Twine</tt> objects point to external memory
and should almost never be stored or mentioned directly. They are intended
@@ -1815,84 +1813,6 @@ a <code>Config</code> parameter to the ValueMap template.</p>
<!-- _______________________________________________________________________ -->
<h4>
- <a name="dss_multiimplmap">"llvm/ADT/MultiImplMap.h"</a>
-</h4>
-
-<div>
-
-<p>
-MultiImplMap is map that has two modes, one for small amount of elements and
-one for big amount. User should set map implementation for both of them.
-User also should set the maximum possible number of elements for small mode.
-</p>
-
-<p>
-If user want to use MultiImplMap instead of
-<a href="#dss_densemap">DenseMap</a>, he should pass template parameter
-DenseMapCompatible = true. Note, that in this case map implementations
-should present additional DenseMap specific methods (see below):
-<code>isPointerIntoBucketsArray</code>, <code>getPointerIntoBucketsArray</code>
-and <code>FindAndConstruct</code>.
-</p>
-
-<p>
-Initially MultiImplMap uses small mode and small map implementation. It
-triggered to the big mode when the number of contained elements exceeds
-maximum possible elements for small mode.
-</p>
-
-</div>
-
-<!-- _______________________________________________________________________ -->
-<h4>
- <a name="dss_flatarraymap">"llvm/ADT/FlatArrayMap.h"</a>
-</h4>
-
-<div>
-
-<p>
-FlatArrayMap optimized for small amount of elements. It uses flat array
-implementation inside:
-</p>
-<pre>[ key0, value0, key1, value1, ... keyN, valueN ]</pre>
-
-
-<p>
-User should pass key type, mapped type (type of value), and maximum
-number of elements.
-</p>
-
-<p>
-After maximum number of elements is reached, map declines any further
-attempts to insert new elements ("insert" method returns &#60;end(),
-false&#62;).
-</p>
-
-<p>
-FlatArrayMap has interface that is compatible with
-<a href="#dss_densemap">DenseMap</a>, so user can replace it with DenseMap
-without any code changing and vice versa.
-</p>
-
-</div>
-
-<!-- _______________________________________________________________________ -->
-<h4>
- <a name="dss_smallmap">"llvm/ADT/SmallMap.h"</a>
-</h4>
-
-<div>
-
-<p>
-SmallMap is wrapper around <a href="#dss_multiimplmap">MultiImplMap</a>.
-It uses <a href="#dss_flatarraymap">FlatArrayMap</a> for small mode, and
-<a href="#dss_densemap">DenseMap</a> for big mode.
-</p>
-
-</div>
-
-<!-- _______________________________________________________________________ -->
-<h4>
<a name="dss_intervalmap">"llvm/ADT/IntervalMap.h"</a>
</h4>
@@ -3455,8 +3375,9 @@ provide a name for it (probably based on the name of the translation unit).</p>
<hr>
<ul>
- <li><tt><a href="#Function">Function</a> *getFunction(const std::string
- &amp;Name, const <a href="#FunctionType">FunctionType</a> *Ty)</tt>
+
+ <li><tt><a href="#Function">Function</a> *getFunction(StringRef Name) const
+ </tt>
<p>Look up the specified function in the <tt>Module</tt> <a
href="#SymbolTable"><tt>SymbolTable</tt></a>. If it does not exist, return
@@ -3944,7 +3865,7 @@ is its address (after linking) which is guaranteed to be constant.</p>
*Ty, LinkageTypes Linkage, const std::string &amp;N = "", Module* Parent = 0)</tt>
<p>Constructor used when you need to create new <tt>Function</tt>s to add
- the the program. The constructor must specify the type of the function to
+ the program. The constructor must specify the type of the function to
create and what type of linkage the function should have. The <a
href="#FunctionType"><tt>FunctionType</tt></a> argument
specifies the formal arguments and return value for the function. The same