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

John Criswell criswell at cs.uiuc.edu
Fri Apr 9 11:44:01 PDT 2004


Changes in directory llvm/docs:

LangRef.html updated: 1.56 -> 1.57

---
Log message:

Modified the prototypes of the llvm.readport and llvm.writeport intrinsics
so that they do not specify specific integer sizes (as those are
constrained by the code generator, not the intrinsic itself).

Also put these intrinsics into their own "Operating System" section.



---
Diffs of the changes:  (+36 -29)

Index: llvm/docs/LangRef.html
diff -u llvm/docs/LangRef.html:1.56 llvm/docs/LangRef.html:1.57
--- llvm/docs/LangRef.html:1.56	Fri Apr  9 10:23:37 2004
+++ llvm/docs/LangRef.html	Fri Apr  9 11:43:20 2004
@@ -101,10 +101,13 @@
         <ol>
           <li><a href="#i_returnaddress">'<tt>llvm.returnaddress</tt>' Intrinsic</a></li>
           <li><a href="#i_frameaddress">'<tt>llvm.frameaddress</tt>'   Intrinsic</a></li>
+        </ol>
+      </li>
+      <li><a href="#int_os">Operating System Intrinsics</a>
+        <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>
         </ol>
-      </li>
       <li><a href="#int_libc">Standard C Library Intrinsics</a>
         <ol>
           <li><a href="#i_memcpy">'<tt>llvm.memcpy</tt>' Intrinsic</a></li>
@@ -1998,6 +2001,18 @@
 </p>
 </div>
 
+<!-- ======================================================================= -->
+<div class="doc_subsection">
+  <a name="int_os">Operating System Intrinsics</a>
+</div>
+
+<div class="doc_text">
+<p>
+These intrinsics are provided by LLVM to support the implementation of
+operating system level code.
+</p>
+
+</div>
 <!-- _______________________________________________________________________ -->
 <div class="doc_subsubsection">
   <a name="i_readport">'<tt>llvm.readport</tt>' Intrinsic</a>
@@ -2007,36 +2022,32 @@
 
 <h5>Syntax:</h5>
 <pre>
-  call sbyte  (ushort address)* %llvm.readport(ushort <address>)
-  call ubyte  (ushort address)* %llvm.readport(ushort <address>)
-  call short  (ushort address)* %llvm.readport(ushort <address>)
-  call ushort (ushort address)* %llvm.readport(ushort <address>)
-  call int    (ushort address)* %llvm.readport(ushort <address>)
-  call uint   (ushort address)* %llvm.readport(ushort <address>)
+  call <integer type> (<integer type>)* %llvm.readport (<integer type> <address>)
 </pre>
 
 <h5>Overview:</h5>
 
 <p>
-The '<tt>llvm.readport</tt>' intrinsic reads data from the specified I/O port.
+The '<tt>llvm.readport</tt>' intrinsic reads data from the specified hardware
+I/O port.
 </p>
 
 <h5>Arguments:</h5>
 
 <p>
-The argument to this intrinsic indicates the I/O address from which to read
-the data.  The address is in the I/O address namespace; it is not a memory
-location.
+The argument to this intrinsic indicates the hardware I/O address from which
+to read the data.  The address is in the hardware I/O address namespace (as
+opposed to being a memory location for memory mapped I/O).
 </p>
 
 <h5>Semantics:</h5>
 
 <p>
-The '<tt>llvm.readport</tt>' intrinsic reads data from the I/O port specified
-by <i>address</i> and returns the value.  The address and return value must
-be integers, but the size is dependent upon the platform upon which the
-program is code generated.  For example, on x86, the address must be a
-ushort, and the return value must be 8, 16, or 32 bits.
+The '<tt>llvm.readport</tt>' intrinsic reads data from the hardware I/O port
+specified by <i>address</i> and returns the value.  The address and return
+value must be integers, but the size is dependent upon the platform upon which
+the program is code generated.  For example, on x86, the address must be an
+unsigned 16 bit value, and the return value must be 8, 16, or 32 bits.
 </p>
 
 </div>
@@ -2050,26 +2061,22 @@
 
 <h5>Syntax:</h5>
 <pre>
-  call void (ushort address, sbyte value)* %llvm.writeport(ushort <address>, sbyte <value>)
-  call void (ushort address, ubyte value)* %llvm.writeport(ushort <address>, ubyte <value>)
-  call void (ushort address, short value)* %llvm.writeport(ushort <address>, short <value>)
-  call void (ushort address, ushort value)* %llvm.writeport(ushort <address>, ushort <value>)
-  call void (ushort address, int value)* %llvm.writeport(ushort <address>, int <value>)
-  call void (ushort address, uint value)* %llvm.writeport(ushort <address>, uint <value>)
+  call void (<integer type>, <integer type>)* %llvm.writeport (<integer type> <value>, <integer type> <address>)
 </pre>
 
 <h5>Overview:</h5>
 
 <p>
-The '<tt>llvm.writeport</tt>' intrinsic writes data to the specified I/O port.
+The '<tt>llvm.writeport</tt>' intrinsic writes data to the specified hardware
+I/O port.
 </p>
 
 <h5>Arguments:</h5>
 
 <p>
-The first argument to this intrinsic indicates the I/O address to which data
-should be written.  The address is in the I/O address namespace; it is not a
-memory location.
+The first argument to this intrinsic indicates the hardware I/O address to
+which data should be written.  The address is in the hardware I/O address
+namespace (as opposed to being a memory location for memory mapped I/O).
 </p>
 
 <p>
@@ -2082,8 +2089,8 @@
 The '<tt>llvm.writeport</tt>' intrinsic writes <i>value</i> to the I/O port
 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.
-For example, on x86, the address must be a ushort, and the value written must
-be 8, 16, or 32 bits in length.
+For example, on x86, the address must be an unsigned 16 bit value, and the
+value written must be 8, 16, or 32 bits in length.
 </p>
 
 </div>
@@ -2284,7 +2291,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 15:23:37 $
+  Last modified: $Date: 2004/04/09 16:43:20 $
 </address>
 </body>
 </html>





More information about the llvm-commits mailing list