aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorRoman Divacky <rdivacky@FreeBSD.org>2010-01-23 11:09:33 +0000
committerRoman Divacky <rdivacky@FreeBSD.org>2010-01-23 11:09:33 +0000
commit989df958a10f0beb90b89ccadd8351cbe51d90b1 (patch)
tree74eecbae571601ec6a626a53374b1eddc7b164a5 /docs
parent829000e035f46f2a227a5466e4e427a2f3cc00a9 (diff)
downloadsrc-989df958a10f0beb90b89ccadd8351cbe51d90b1.tar.gz
src-989df958a10f0beb90b89ccadd8351cbe51d90b1.zip
Notes
Diffstat (limited to 'docs')
-rw-r--r--docs/BitCodeFormat.html5
-rw-r--r--docs/LangRef.html83
-rw-r--r--docs/ReleaseNotes.html3
3 files changed, 43 insertions, 48 deletions
diff --git a/docs/BitCodeFormat.html b/docs/BitCodeFormat.html
index 7a46d90dc927..7413752267d6 100644
--- a/docs/BitCodeFormat.html
+++ b/docs/BitCodeFormat.html
@@ -138,8 +138,7 @@ bitcode, while application-specific programs will want to look at all four.</p>
A bitstream literally consists of a stream of bits, which are read in order
starting with the least significant bit of each byte. The stream is made up of a
number of primitive values that encode a stream of unsigned integer values.
-These
-integers are are encoded in two ways: either as <a href="#fixedwidth">Fixed
+These integers are encoded in two ways: either as <a href="#fixedwidth">Fixed
Width Integers</a> or as <a href="#variablewidth">Variable Width
Integers</a>.
</p>
@@ -1158,7 +1157,7 @@ fields of <tt>FUNCTION</tt> records.</p>
src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"></a>
<a href="mailto:sabre@nondot.org">Chris Lattner</a><br>
<a href="http://llvm.org">The LLVM Compiler Infrastructure</a><br>
-Last modified: $Date: 2009-10-29 05:25:46 +0100 (Thu, 29 Oct 2009) $
+Last modified: $Date: 2010-01-20 18:53:51 +0100 (Wed, 20 Jan 2010) $
</address>
</body>
</html>
diff --git a/docs/LangRef.html b/docs/LangRef.html
index 6ea0ead48a7f..cbb7d568f289 100644
--- a/docs/LangRef.html
+++ b/docs/LangRef.html
@@ -924,9 +924,9 @@ define [<a href="#linkage">linkage</a>] [<a href="#visibility">visibility</a>]
<div class="doc_text">
-<p>Named metadata is a collection of metadata. <a href="#metadata"> Metadata </a>
- node and null are the only valid named metadata operands.
- Metadata strings are not allowed as an named metadata operand.</p>
+<p>Named metadata is a collection of metadata. <a href="#metadata">Metadata
+ nodes</a> (but not metadata strings) and null are the only valid operands for
+ a named metadata.</p>
<h5>Syntax:</h5>
<div class="doc_code">
@@ -1083,11 +1083,6 @@ define void @f() optsize { ... }
function into callers whenever possible, ignoring any active inlining size
threshold for this caller.</dd>
- <dt><tt><b>inlinehint</b></tt></dt>
- <dd>This attribute indicates that the source code contained a hint that inlining
- this function is desirable (such as the "inline" keyword in C/C++). It
- is just a hint; it imposes no requirements on the inliner.</dd>
-
<dt><tt><b>noinline</b></tt></dt>
<dd>This attribute indicates that the inliner should never inline this
function in any situation. This attribute may not be used together with
@@ -2340,41 +2335,6 @@ has undefined behavior.</p>
</div>
-<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="metadata">Metadata Nodes and Metadata Strings</a>
-</div>
-
-<div class="doc_text">
-
-<p>Metadata provides a way to attach arbitrary data to the instruction
- stream without affecting the behaviour of the program. There are two
- metadata primitives, strings and nodes. All metadata has the
- <tt>metadata</tt> type and is identified in syntax by a preceding exclamation
- point ('<tt>!</tt>').</p>
-
-<p>A metadata string is a string surrounded by double quotes. It can contain
- any character by escaping non-printable characters with "\xx" where "xx" is
- the two digit hex code. For example: "<tt>!"test\00"</tt>".</p>
-
-<p>Metadata nodes are represented with notation similar to structure constants
- (a comma separated list of elements, surrounded by braces and preceded by an
- exclamation point). For example: "<tt>!{ metadata !"test\00", i32
- 10}</tt>".</p>
-
-<p>A metadata node will attempt to track changes to the values it holds. In the
- event that a value is deleted, it will be replaced with a typeless
- "<tt>null</tt>", such as "<tt>metadata !{null, i32 10}</tt>".</p>
-
-<p>A <a href="#namedmetadatastructure">named metadata</a> is a collection of
- metadata nodes. For example: "<tt>!foo = metadata !{!4, !3}</tt>".
-
-<p>Optimizations may rely on metadata to provide additional information about
- the program that isn't available in the instructions, or that isn't easily
- computable. Similarly, the code generator may expect a certain metadata
- format to be used to express debugging information.</p>
-
-</div>
-
<!-- *********************************************************************** -->
<div class="doc_section"> <a name="othervalues">Other Values</a> </div>
<!-- *********************************************************************** -->
@@ -2444,6 +2404,35 @@ call void asm alignstack "eieio", ""()
</div>
+<!-- ======================================================================= -->
+<div class="doc_subsection"><a name="metadata">Metadata Nodes and Metadata
+ Strings</a>
+</div>
+
+<div class="doc_text">
+
+<p>LLVM IR allows metadata to be attached to instructions in the program that
+ can convey extra information about the code to the optimizers and code
+ generator. One example application of metadata is source-level debug
+ information. There are two metadata primitives: strings and nodes. All
+ metadata has the <tt>metadata</tt> type and is identified in syntax by a
+ preceding exclamation point ('<tt>!</tt>').</p>
+
+<p>A metadata string is a string surrounded by double quotes. It can contain
+ any character by escaping non-printable characters with "\xx" where "xx" is
+ the two digit hex code. For example: "<tt>!"test\00"</tt>".</p>
+
+<p>Metadata nodes are represented with notation similar to structure constants
+ (a comma separated list of elements, surrounded by braces and preceded by an
+ exclamation point). For example: "<tt>!{ metadata !"test\00", i32
+ 10}</tt>". Metadata nodes can have any values as their operand.</p>
+
+<p>A <a href="#namedmetadatastructure">named metadata</a> is a collection of
+ metadata nodes, which can be looked up in the module symbol table. For
+ example: "<tt>!foo = metadata !{!4, !3}</tt>".
+
+</div>
+
<!-- *********************************************************************** -->
<div class="doc_section">
@@ -2840,6 +2829,9 @@ IfUnequal:
block to the "normal" label. If the callee unwinds then no return value is
available.</p>
+<p>Note that the code generator does not yet completely support unwind, and
+that the invoke/unwind semantics are likely to change in future versions.</p>
+
<h5>Example:</h5>
<pre>
%retval = invoke i32 @Test(i32 15) to label %Continue
@@ -2876,6 +2868,9 @@ Instruction</a> </div>
specified by the <tt>invoke</tt> instruction. If there is no <tt>invoke</tt>
instruction in the dynamic call chain, undefined behavior results.</p>
+<p>Note that the code generator does not yet completely support unwind, and
+that the invoke/unwind semantics are likely to change in future versions.</p>
+
</div>
<!-- _______________________________________________________________________ -->
@@ -7350,7 +7345,7 @@ LLVM</a>.</p>
<a href="mailto:sabre@nondot.org">Chris Lattner</a><br>
<a href="http://llvm.org">The LLVM Compiler Infrastructure</a><br>
- Last modified: $Date: 2010-01-11 20:35:55 +0100 (Mon, 11 Jan 2010) $
+ Last modified: $Date: 2010-01-15 22:50:19 +0100 (Fri, 15 Jan 2010) $
</address>
</body>
diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html
index aff08367566a..03a3545ebdad 100644
--- a/docs/ReleaseNotes.html
+++ b/docs/ReleaseNotes.html
@@ -59,6 +59,7 @@ Almost dead code.
lib/Transforms/IPO/MergeFunctions.cpp => consider for 2.8.
llvm/Analysis/PointerTracking.h => Edwin wants this, consider for 2.8.
ABCD, SCCVN, GEPSplitterPass
+ MSIL backend?
-->
@@ -1349,7 +1350,7 @@ lists</a>.</p>
src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"></a>
<a href="http://llvm.org/">LLVM Compiler Infrastructure</a><br>
- Last modified: $Date: 2010-01-09 23:30:40 +0100 (Sat, 09 Jan 2010) $
+ Last modified: $Date: 2010-01-16 22:25:13 +0100 (Sat, 16 Jan 2010) $
</address>
</body>