diff options
author | Roman Divacky <rdivacky@FreeBSD.org> | 2010-01-23 11:09:33 +0000 |
---|---|---|
committer | Roman Divacky <rdivacky@FreeBSD.org> | 2010-01-23 11:09:33 +0000 |
commit | 989df958a10f0beb90b89ccadd8351cbe51d90b1 (patch) | |
tree | 74eecbae571601ec6a626a53374b1eddc7b164a5 /docs | |
parent | 829000e035f46f2a227a5466e4e427a2f3cc00a9 (diff) | |
download | src-989df958a10f0beb90b89ccadd8351cbe51d90b1.tar.gz src-989df958a10f0beb90b89ccadd8351cbe51d90b1.zip |
Notes
Diffstat (limited to 'docs')
-rw-r--r-- | docs/BitCodeFormat.html | 5 | ||||
-rw-r--r-- | docs/LangRef.html | 83 | ||||
-rw-r--r-- | docs/ReleaseNotes.html | 3 |
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> |