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

Chris Lattner lattner at cs.uiuc.edu
Thu Mar 2 16:07:32 PST 2006



Changes in directory llvm/docs:

LangRef.html updated: 1.135 -> 1.136
---
Log message:

Update the llvm.memset/memcpy/memmove intrinsics to reflect the recent split
into types.


---
Diffs of the changes:  (+33 -26)

 LangRef.html |   59 +++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 33 insertions(+), 26 deletions(-)


Index: llvm/docs/LangRef.html
diff -u llvm/docs/LangRef.html:1.135 llvm/docs/LangRef.html:1.136
--- llvm/docs/LangRef.html:1.135	Fri Feb 17 15:18:08 2006
+++ llvm/docs/LangRef.html	Thu Mar  2 18:07:20 2006
@@ -152,9 +152,9 @@
         </ol>
       <li><a href="#int_libc">Standard C Library Intrinsics</a>
         <ol>
-          <li><a href="#i_memcpy">'<tt>llvm.memcpy</tt>' Intrinsic</a></li>
-          <li><a href="#i_memmove">'<tt>llvm.memmove</tt>' Intrinsic</a></li>
-          <li><a href="#i_memset">'<tt>llvm.memset</tt>' Intrinsic</a></li>
+          <li><a href="#i_memcpy">'<tt>llvm.memcpy.*</tt>' Intrinsic</a></li>
+          <li><a href="#i_memmove">'<tt>llvm.memmove.*</tt>' Intrinsic</a></li>
+          <li><a href="#i_memset">'<tt>llvm.memset.*</tt>' Intrinsic</a></li>
           <li><a href="#i_isunordered">'<tt>llvm.isunordered.*</tt>' Intrinsic</a></li>
           <li><a href="#i_sqrt">'<tt>llvm.sqrt.*</tt>' Intrinsic</a></li>
 
@@ -3483,27 +3483,29 @@
 
 <h5>Syntax:</h5>
 <pre>
-  declare void %llvm.memcpy(sbyte* <dest>, sbyte* <src>,
-                            uint <len>, uint <align>)
+  declare void %llvm.memcpy.i32(sbyte* <dest>, sbyte* <src>,
+                                uint <len>, uint <align>)
+  declare void %llvm.memcpy.i64(sbyte* <dest>, sbyte* <src>,
+                                ulong <len>, uint <align>)
 </pre>
 
 <h5>Overview:</h5>
 
 <p>
-The '<tt>llvm.memcpy</tt>' intrinsic copies a block of memory from the source
+The '<tt>llvm.memcpy.*</tt>' intrinsics copy a block of memory from the source
 location to the destination location.
 </p>
 
 <p>
-Note that, unlike the standard libc function, the <tt>llvm.memcpy</tt> intrinsic
-does not return a value, and takes an extra alignment argument.
+Note that, unlike the standard libc function, the <tt>llvm.memcpy.*</tt> 
+intrinsics do not return a value, and takes an extra alignment argument.
 </p>
 
 <h5>Arguments:</h5>
 
 <p>
 The first argument is a pointer to the destination, the second is a pointer to
-the source.  The third argument is an (arbitrarily sized) integer argument
+the source.  The third argument is an integer argument
 specifying the number of bytes to copy, and the fourth argument is the alignment
 of the source and destination locations.
 </p>
@@ -3517,7 +3519,7 @@
 <h5>Semantics:</h5>
 
 <p>
-The '<tt>llvm.memcpy</tt>' intrinsic copies a block of memory from the source
+The '<tt>llvm.memcpy.*</tt>' intrinsics copy a block of memory from the source
 location to the destination location, which are not allowed to overlap.  It
 copies "len" bytes of memory over.  If the argument is known to be aligned to
 some boundary, this can be specified as the fourth argument, otherwise it should
@@ -3535,28 +3537,30 @@
 
 <h5>Syntax:</h5>
 <pre>
-  declare void %llvm.memmove(sbyte* <dest>, sbyte* <src>,
-                             uint <len>, uint <align>)
+  declare void %llvm.memmove.i32(sbyte* <dest>, sbyte* <src>,
+                                 uint <len>, uint <align>)
+  declare void %llvm.memmove.i64(sbyte* <dest>, sbyte* <src>,
+                                 ulong <len>, uint <align>)
 </pre>
 
 <h5>Overview:</h5>
 
 <p>
-The '<tt>llvm.memmove</tt>' intrinsic moves a block of memory from the source
-location to the destination location. It is similar to the '<tt>llvm.memcpy</tt>' 
-intrinsic but allows the two memory locations to overlap.
+The '<tt>llvm.memmove.*</tt>' intrinsics move a block of memory from the source
+location to the destination location. It is similar to the
+'<tt>llvm.memcmp</tt>' intrinsic but allows the two memory locations to overlap.
 </p>
 
 <p>
-Note that, unlike the standard libc function, the <tt>llvm.memmove</tt> intrinsic
-does not return a value, and takes an extra alignment argument.
+Note that, unlike the standard libc function, the <tt>llvm.memmove.*</tt> 
+intrinsics do not return a value, and takes an extra alignment argument.
 </p>
 
 <h5>Arguments:</h5>
 
 <p>
 The first argument is a pointer to the destination, the second is a pointer to
-the source.  The third argument is an (arbitrarily sized) integer argument
+the source.  The third argument is an integer argument
 specifying the number of bytes to copy, and the fourth argument is the alignment
 of the source and destination locations.
 </p>
@@ -3570,7 +3574,7 @@
 <h5>Semantics:</h5>
 
 <p>
-The '<tt>llvm.memmove</tt>' intrinsic copies a block of memory from the source
+The '<tt>llvm.memmove.*</tt>' intrinsics copy a block of memory from the source
 location to the destination location, which may overlap.  It
 copies "len" bytes of memory over.  If the argument is known to be aligned to
 some boundary, this can be specified as the fourth argument, otherwise it should
@@ -3581,21 +3585,23 @@
 
 <!-- _______________________________________________________________________ -->
 <div class="doc_subsubsection">
-  <a name="i_memset">'<tt>llvm.memset</tt>' Intrinsic</a>
+  <a name="i_memset">'<tt>llvm.memset.*</tt>' Intrinsics</a>
 </div>
 
 <div class="doc_text">
 
 <h5>Syntax:</h5>
 <pre>
-  declare void %llvm.memset(sbyte* <dest>, ubyte <val>,
-                            uint <len>, uint <align>)
+  declare void %llvm.memset.i32(sbyte* <dest>, ubyte <val>,
+                                uint <len>, uint <align>)
+  declare void %llvm.memset.i64(sbyte* <dest>, ubyte <val>,
+                                ulong <len>, uint <align>)
 </pre>
 
 <h5>Overview:</h5>
 
 <p>
-The '<tt>llvm.memset</tt>' intrinsic fills a block of memory with a particular
+The '<tt>llvm.memset.*</tt>' intrinsics fill a block of memory with a particular
 byte value.
 </p>
 
@@ -3608,7 +3614,7 @@
 
 <p>
 The first argument is a pointer to the destination to fill, the second is the
-byte value to fill it with, the third argument is an (arbitrarily sized) integer
+byte value to fill it with, the third argument is an integer
 argument specifying the number of bytes to fill, and the fourth argument is the
 known alignment of destination location.
 </p>
@@ -3622,7 +3628,8 @@
 <h5>Semantics:</h5>
 
 <p>
-The '<tt>llvm.memset</tt>' intrinsic fills "len" bytes of memory starting at the
+The '<tt>llvm.memset.*</tt>' intrinsics fill "len" bytes of memory starting at
+the
 destination location.  If the argument is known to be aligned to some boundary,
 this can be specified as the fourth argument, otherwise it should be set to 0 or
 1.
@@ -3888,7 +3895,7 @@
 
   <a href="mailto:sabre at nondot.org">Chris Lattner</a><br>
   <a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a><br>
-  Last modified: $Date: 2006/02/17 21:18:08 $
+  Last modified: $Date: 2006/03/03 00:07:20 $
 </address>
 </body>
 </html>






More information about the llvm-commits mailing list