summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2010-08-03 16:19:16 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2010-08-03 16:19:16 +0000
commit3bababf880bfeaf1bcda7e4f808007621b6bfac8 (patch)
treeb196a4e4cd842b2ce6feb36357edbdc4adfdf9aa /docs
parent795e70e4319bb38eb92701c2a463eeb7584a9b25 (diff)
downloadllvm-3bababf880bfeaf1bcda7e4f808007621b6bfac8.tar.gz
llvm-3bababf880bfeaf1bcda7e4f808007621b6bfac8.tar.bz2
llvm-3bababf880bfeaf1bcda7e4f808007621b6bfac8.tar.xz
Add an atomic lowering pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110113 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r--docs/Passes.html19
1 files changed, 19 insertions, 0 deletions
diff --git a/docs/Passes.html b/docs/Passes.html
index 12a936ad8d..cafa99cf2c 100644
--- a/docs/Passes.html
+++ b/docs/Passes.html
@@ -167,6 +167,7 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
<tr><td><a href="#loop-unroll">-loop-unroll</a></td><td>Unroll loops</td></tr>
<tr><td><a href="#loop-unswitch">-loop-unswitch</a></td><td>Unswitch loops</td></tr>
<tr><td><a href="#loopsimplify">-loopsimplify</a></td><td>Canonicalize natural loops</td></tr>
+<tr><td><a href="#loweratomic">-loweratomic</a></td><td>Lower atomic intrinsics</td></tr>
<tr><td><a href="#lowerinvoke">-lowerinvoke</a></td><td>Lower invoke and unwind, for unwindless code generators</td></tr>
<tr><td><a href="#lowersetjmp">-lowersetjmp</a></td><td>Lower Set Jump</td></tr>
<tr><td><a href="#lowerswitch">-lowerswitch</a></td><td>Lower SwitchInst's to branches</td></tr>
@@ -1549,6 +1550,24 @@ if (X &lt; 3) {</pre>
<!-------------------------------------------------------------------------- -->
<div class="doc_subsection">
+ <a name="loweratomic">-loweratomic: Lower atomic intrinsics
+</div>
+<div class="doc_text">
+ <p>
+ This pass lowers atomic intrinsics to non-atomic form for use in a known
+ non-preemptible environment.
+ </p>
+
+ <p>
+ The pass does not verify that the environment is non-preemptible (in
+ general this would require knowledge of the entire call graph of the
+ program including any libraries which may not be available in bitcode form);
+ it simply lowers every atomic intrinsic.
+ </p>
+</div>
+
+<!-------------------------------------------------------------------------- -->
+<div class="doc_subsection">
<a name="lowerinvoke">-lowerinvoke: Lower invoke and unwind, for unwindless code generators</a>
</div>
<div class="doc_text">