[llvm-commits] [llvm] r91954 - /llvm/trunk/docs/LangRef.html

Eric Christopher echristo at apple.com
Tue Dec 22 16:29:50 PST 2009


Author: echristo
Date: Tue Dec 22 18:29:49 2009
New Revision: 91954

URL: http://llvm.org/viewvc/llvm-project?rev=91954&view=rev
Log:
Update docs for bitcode changes. For object size checking we won't
work with partial objects so just count the type as a boolean. Update
appropriately.

Modified:
    llvm/trunk/docs/LangRef.html

Modified: llvm/trunk/docs/LangRef.html
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/LangRef.html?rev=91954&r1=91953&r2=91954&view=diff

==============================================================================
--- llvm/trunk/docs/LangRef.html (original)
+++ llvm/trunk/docs/LangRef.html Tue Dec 22 18:29:49 2009
@@ -7257,8 +7257,8 @@
 
 <h5>Syntax:</h5>
 <pre>
-  declare i32 @llvm.objectsize.i32( i8* <ptr>, i32 <type> )
-  declare i64 @llvm.objectsize.i64( i8* <ptr>, i32 <type> )
+  declare i32 @llvm.objectsize.i32( i8* <object>, i1 <type> )
+  declare i64 @llvm.objectsize.i64( i8* <object>, i1 <type> )
 </pre>
 
 <h5>Overview:</h5>
@@ -7267,34 +7267,15 @@
    operation like memcpy will either overflow a buffer that corresponds to
    an object, or b) to determine that a runtime check for overflow isn't
    necessary. An object in this context means an allocation of a
-   specific <a href="#typesystem">type</a>.</p>
+   specific class, structure, array, or other object.</p>
 
 <h5>Arguments:</h5>
 <p>The <tt>llvm.objectsize</tt> intrinsic takes two arguments.  The first
-   argument is a pointer to the object <tt>ptr</tt>. The second argument
-   is an integer <tt>type</tt> which ranges from 0 to 3. The first bit in
-   the type corresponds to a return value based on whole objects,
-   and the second bit whether or not we return the maximum or minimum
-   remaining bytes computed.</p>
-<table class="layout">
-  <tr class="layout">
-    <td class="left"><tt>00</tt></td>
-    <td class="left">whole object, maximum number of bytes</td>
-  </tr>
-  <tr class="layout">
-    <td class="left"><tt>01</tt></td>
-    <td class="left">partial object, maximum number of bytes</td>
-  </tr>
-  <tr class="layout">
-    <td class="left"><tt>10</tt></td>
-    <td class="left">whole object, minimum number of bytes</td>
-  </tr>
-  <tr class="layout">
-    <td class="left"><tt>11</tt></td>
-    <td class="left">partial object, minimum number of bytes</td>
-  </tr>
-</table>
-
+   argument is a pointer to or into the <tt>object</tt>. The second argument
+   is a boolean 0 or 1.  This argument determines whether you want the 
+   maximum (0) or minimum (1) bytes remaining.  This needs to be a literal 0 or
+   1, variables are not allowed.</p>
+   
 <h5>Semantics:</h5>
 <p>The <tt>llvm.objectsize</tt> intrinsic is lowered to either a constant
    representing the size of the object concerned or <tt>i32/i64 -1 or 0</tt>





More information about the llvm-commits mailing list