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

Chris Lattner lattner at cs.uiuc.edu
Mon Sep 8 13:29:02 PDT 2003


Changes in directory llvm/www/docs:

LangRef.html updated: 1.30 -> 1.31

---
Log message:

Add info about volatile loads/stores


---
Diffs of the changes:

Index: llvm/www/docs/LangRef.html
diff -u llvm/www/docs/LangRef.html:1.30 llvm/www/docs/LangRef.html:1.31
--- llvm/www/docs/LangRef.html:1.30	Tue Sep  2 23:20:13 2003
+++ llvm/www/docs/LangRef.html	Mon Sep  8 13:27:49 2003
@@ -1405,6 +1405,7 @@
 <h5>Syntax:</h5>
 <pre>
   <result> = load <ty>* <pointer>
+  <result> = volatile load <ty>* <pointer>
 </pre>
 
 <h5>Overview:</h5>
@@ -1412,7 +1413,12 @@
 
 <h5>Arguments:</h5>
 
-The argument to the '<tt>load</tt>' instruction specifies the memory address to load from.  The pointer must point to a <a href="t_firstclass">first class</a> type.<p>
+The argument to the '<tt>load</tt>' instruction specifies the memory address to
+load from.  The pointer must point to a <a href="t_firstclass">first class</a>
+type.  If the <tt>load</tt> is marked as <tt>volatile</tt> then the optimizer is
+not allowed to modify the number or order of execution of this <tt>load</tt>
+with other volatile <tt>load</tt> and <tt><a href="#i_store">store</a></tt>
+instructions. <p>
 
 <h5>Semantics:</h5>
 
@@ -1434,6 +1440,7 @@
 <h5>Syntax:</h5>
 <pre>
   store <ty> <value>, <ty>* <pointer>                   <i>; yields {void}</i>
+  volatile store <ty> <value>, <ty>* <pointer>                   <i>; yields {void}</i>
 </pre>
 
 <h5>Overview:</h5>
@@ -1443,8 +1450,11 @@
 
 There are two arguments to the '<tt>store</tt>' instruction: a value to store
 and an address to store it into.  The type of the '<tt><pointer></tt>'
-operand must be a pointer to the type of the '<tt><value></tt>'
-operand.<p>
+operand must be a pointer to the type of the '<tt><value></tt>' operand.
+If the <tt>store</tt> is marked as <tt>volatile</tt> then the optimizer is not
+allowed to modify the number or order of execution of this <tt>store</tt> with
+other volatile <tt>load</tt> and <tt><a href="#i_store">store</a></tt>
+instructions.<p>
 
 <h5>Semantics:</h5> The contents of memory are updated to contain
 '<tt><value></tt>' at the location specified by the
@@ -1895,7 +1905,7 @@
 <address><a href="mailto:sabre at nondot.org">Chris Lattner</a></address>
 <!-- Created: Tue Jan 23 15:19:28 CST 2001 -->
 <!-- hhmts start -->
-Last modified: Tue Sep  2 19:41:01 CDT 2003
+Last modified: Mon Sep  8 13:27:14 CDT 2003
 <!-- hhmts end -->
 </font>
 </body></html>





More information about the llvm-commits mailing list