diff options
author | Chris Lattner <sabre@nondot.org> | 2003-09-08 18:27:49 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-09-08 18:27:49 +0000 |
commit | f065107bacd3045ba238f15e70b5c6a2915efe0f (patch) | |
tree | e3a6afd7694bd52d73d23d774fe87189b4f9cd08 /docs/LangRef.html | |
parent | 15c9c0352edd1e970f48f4afe99b2829af581916 (diff) | |
download | external_llvm-f065107bacd3045ba238f15e70b5c6a2915efe0f.zip external_llvm-f065107bacd3045ba238f15e70b5c6a2915efe0f.tar.gz external_llvm-f065107bacd3045ba238f15e70b5c6a2915efe0f.tar.bz2 |
Add info about volatile loads/stores
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8403 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/LangRef.html')
-rw-r--r-- | docs/LangRef.html | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/docs/LangRef.html b/docs/LangRef.html index 02b7640..06cb68d 100644 --- a/docs/LangRef.html +++ b/docs/LangRef.html @@ -1405,6 +1405,7 @@ instructions), the memory is reclaimed.<p> <h5>Syntax:</h5> <pre> <result> = load <ty>* <pointer> + <result> = volatile load <ty>* <pointer> </pre> <h5>Overview:</h5> @@ -1412,7 +1413,12 @@ The '<tt>load</tt>' instruction is used to read from memory.<p> <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 @@ The location of memory pointed to is loaded. <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 @@ The '<tt>store</tt>' instruction is used to write to memory.<p> 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 @@ arbitrarily complex and require memory allocation, for example.<p> <address><a href="mailto:sabre@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> |