[llvm-commits] CVS: llvm/docs/LangRef.html

Reid Spencer reid at x10sys.com
Tue Mar 27 19:46:47 PDT 2007



Changes in directory llvm/docs:

LangRef.html updated: 1.216 -> 1.217
---
Log message:

Undocument the implementation keyword
Docuemnt the checkpoint keyword


---
Diffs of the changes:  (+12 -13)

 LangRef.html |   25 ++++++++++++-------------
 1 files changed, 12 insertions(+), 13 deletions(-)


Index: llvm/docs/LangRef.html
diff -u llvm/docs/LangRef.html:1.216 llvm/docs/LangRef.html:1.217
--- llvm/docs/LangRef.html:1.216	Sat Mar 24 17:40:44 2007
+++ llvm/docs/LangRef.html	Tue Mar 27 21:46:29 2007
@@ -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 @@
 <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 @@
 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 @@
   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 @@
   %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
@@ -4612,7 +4611,7 @@
 
   <a href="mailto:sabre at nondot.org">Chris Lattner</a><br>
   <a href="http://llvm.org">The LLVM Compiler Infrastructure</a><br>
-  Last modified: $Date: 2007/03/24 22:40:44 $
+  Last modified: $Date: 2007/03/28 02:46:29 $
 </address>
 </body>
 </html>






More information about the llvm-commits mailing list