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

John Criswell criswell at cs.uiuc.edu
Mon Apr 12 10:03:03 PDT 2004


Changes in directory llvm/docs:

LangRef.html updated: 1.58 -> 1.59

---
Log message:

Added initial design for the llvm.readio and llvm.writeio intrinsics.



---
Diffs of the changes:  (+97 -1)

Index: llvm/docs/LangRef.html
diff -u llvm/docs/LangRef.html:1.58 llvm/docs/LangRef.html:1.59
--- llvm/docs/LangRef.html:1.58	Fri Apr  9 11:48:45 2004
+++ llvm/docs/LangRef.html	Mon Apr 12 10:02:16 2004
@@ -107,6 +107,8 @@
         <ol>
           <li><a href="#i_readport">'<tt>llvm.readport</tt>'   Intrinsic</a></li>
           <li><a href="#i_writeport">'<tt>llvm.writeport</tt>'   Intrinsic</a></li>
+          <li><a href="#i_readio">'<tt>llvm.readio</tt>'   Intrinsic</a></li>
+          <li><a href="#i_writeio">'<tt>llvm.writeio</tt>'   Intrinsic</a></li>
         </ol>
       <li><a href="#int_libc">Standard C Library Intrinsics</a>
         <ol>
@@ -2013,6 +2015,7 @@
 </p>
 
 </div>
+
 <!-- _______________________________________________________________________ -->
 <div class="doc_subsubsection">
   <a name="i_readport">'<tt>llvm.readport</tt>' Intrinsic</a>
@@ -2095,6 +2098,99 @@
 
 </div>
 
+<!-- _______________________________________________________________________ -->
+<div class="doc_subsubsection">
+  <a name="i_readio">'<tt>llvm.readio</tt>' Intrinsic</a>
+</div>
+
+<div class="doc_text">
+
+<h5>Syntax:</h5>
+<pre>
+  call <integer type> (<integer type>)* %llvm.readio (<integer type> <address>)
+</pre>
+
+<h5>Overview:</h5>
+
+<p>
+The '<tt>llvm.readio</tt>' intrinsic reads data from a memory mapped I/O
+address.
+</p>
+
+<h5>Arguments:</h5>
+
+<p>
+The argument to this intrinsic indicates the memory address from which to read
+the data.
+</p>
+
+<h5>Semantics:</h5>
+
+<p>
+The '<tt>llvm.readio</tt>' intrinsic reads data from a memory mapped I/O
+location specified by <i>address</i> and returns the value.  The address and
+return value must be integers, but the size allowed for each is dependent upon
+the platform upon which the program is code generated.
+</p>
+
+<p>
+This intrinsic ensures that the I/O data read occurs in instruction order in
+relation to other I/O data reads and writes (as opposed to a normal load, where
+hardware scheduling can re-arrange the actual memory accesses to occur out of
+order).
+</p>
+
+</div>
+
+<!-- _______________________________________________________________________ -->
+<div class="doc_subsubsection">
+  <a name="i_writeio">'<tt>llvm.writeio</tt>' Intrinsic</a>
+</div>
+
+<div class="doc_text">
+
+<h5>Syntax:</h5>
+<pre>
+  call void (<integer type>, <integer type>)* %llvm.writeio (<integer type> <value>, <integer type> <address>)
+</pre>
+
+<h5>Overview:</h5>
+
+<p>
+The '<tt>llvm.writeio</tt>' intrinsic writes data to the specified memory
+mapped I/O address.
+</p>
+
+<h5>Arguments:</h5>
+
+<p>
+The first argument to this intrinsic indicates the memory address to which data
+should be written.
+</p>
+
+<p>
+The second argument is the value to write to the memory mapped I/O location.
+</p>
+
+<h5>Semantics:</h5>
+
+<p>
+The '<tt>llvm.writeio</tt>' intrinsic writes <i>value</i> to the memory mapped
+I/O address specified by <i>address</i>.  The address and value must be
+integers, but the size is dependent upon the platform upon which the program is
+code generated.
+</p>
+
+<p>
+This intrinsic ensures that the I/O data write occurs in instruction order in
+relation to other I/O data reads and writes (as opposed to a normal store,
+where hardware scheduling can re-arrange the actual memory accesses to occur
+out of order).
+</p>
+
+</div>
+
+
 <!-- ======================================================================= -->
 <div class="doc_subsection">
   <a name="int_libc">Standard C Library Intrinsics</a>
@@ -2291,7 +2387,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: 2004/04/09 16:48:45 $
+  Last modified: $Date: 2004/04/12 15:02:16 $
 </address>
 </body>
 </html>





More information about the llvm-commits mailing list