diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2007-03-28 02:46:29 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2007-03-28 02:46:29 +0000 |
commit | c10f0af135f9f60627d7cd48431dc7497e57e95b (patch) | |
tree | 64fe5230f6fef11f686f55c01a6aca79ed493972 /docs | |
parent | 5373b721c0c76c54f948b9097ba7f4737dbab730 (diff) |
Undocument the implementation keyword
Docuemnt the checkpoint keyword
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35413 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r-- | docs/LangRef.html | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/docs/LangRef.html b/docs/LangRef.html index e51618de18..11b43befdf 100644 --- a/docs/LangRef.html +++ b/docs/LangRef.html @@ -27,6 +27,7 @@ <li><a href="#paramattrs">Parameter Attributes</a></li> <li><a href="#moduleasm">Module-Level Inline Assembly</a></li> <li><a href="#datalayout">Data Layout</a></li> + <li><a href="#checkpoint">Check Points</a></li> </ol> </li> <li><a href="#typesystem">Type System</a> @@ -371,9 +372,6 @@ symbol table entries. Here is an example of the "hello world" module:</p> <i>; External declaration of the puts function</i> <a href="#functionstructure">declare</a> i32 %puts(i8 *) <i>; i32(i8 *)* </i> -<i>; Global variable / Function body section separator</i> -implementation - <i>; Definition of main function</i> define i32 %main() { <i>; i32()* </i> <i>; Convert [13x i8 ]* to i8 *...</i> @@ -397,13 +395,6 @@ represented by a pointer to a memory location (in this case, a pointer to an array of char, and a pointer to a function), and have one of the following <a href="#linkage">linkage types</a>.</p> -<p>Due to a limitation in the current LLVM assembly parser (it is limited by -one-token lookahead), modules are split into two pieces by the "implementation" -keyword. Global variable prototypes and definitions must occur before the -keyword, and function definitions must occur after it. Function prototypes may -occur either before or after it. In the future, the implementation keyword may -become a noop, if the parser gets smarter.</p> - </div> <!-- ======================================================================= --> @@ -856,6 +847,16 @@ following rules: terms of 64 <2 x double>, for example.</li> </ol> </div> +<!-- ======================================================================= --> +<div class="doc_subsection"> + <a name="datalayout">Data Layout</a> +</div> +<div class="doc_text"> + <p>At the top level, the keyword <tt>checkpoint</tt> may be used to force the + assembler to check point the types and values it has defined so far. Any + unresolved types or references will generate error messages. This is useful + as an assertion point or for debugging.</p> +</div> <!-- *********************************************************************** --> <div class="doc_section"> <a name="typesystem">Type System</a> </div> @@ -2719,8 +2720,6 @@ compiled to LLVM:</p> %RT = type { i8 , [10 x [20 x i32]], i8 } %ST = type { i32, double, %RT } - implementation - define i32* %foo(%ST* %s) { entry: %reg = getelementptr %ST* %s, i32 1, i32 2, i32 1, i32 5, i32 13 |