summaryrefslogtreecommitdiffstats
path: root/llvm/docs/LangRef.html
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-05-03 14:55:22 +0000
committerDan Gohman <gohman@apple.com>2010-05-03 14:55:22 +0000
commit7292a759b4215bbf7e803e016ef6055bcf40cfda (patch)
tree09af3f20603a1d2b34f2650f22ae032d480ddb27 /llvm/docs/LangRef.html
parentac355aaf9e7f15abf11c1a3279786ff4b0252733 (diff)
downloadbcm5719-llvm-7292a759b4215bbf7e803e016ef6055bcf40cfda.tar.gz
bcm5719-llvm-7292a759b4215bbf7e803e016ef6055bcf40cfda.zip
Describe invoke instruction dependencies. Generalize the text for
terminator instructions so that it applies to all terminators with multiple successors, including invoke. llvm-svn: 102909
Diffstat (limited to 'llvm/docs/LangRef.html')
-rw-r--r--llvm/docs/LangRef.html19
1 files changed, 10 insertions, 9 deletions
diff --git a/llvm/docs/LangRef.html b/llvm/docs/LangRef.html
index 982614f3ddf..4904fd9155f 100644
--- a/llvm/docs/LangRef.html
+++ b/llvm/docs/LangRef.html
@@ -2357,6 +2357,11 @@ has undefined behavior.</p>
<a href="#i_ret"><tt>ret</tt></a> instructions that dynamically transfer
control back to them.</li>
+<li><a href="#i_invoke"><tt>Invoke</tt></a> instructions depend on the
+ <a href="#i_ret"><tt>ret</tt></a>, <a href="#i_unwind"><tt>unwind</tt></a>,
+ or exception-throwing call instructions that dynamically transfer control
+ back to them.</li>
+
<li>Non-volatile loads and stores depend on the most recent stores to all of the
referenced memory addresses, following the order in the IR
(including loads and stores implied by intrinsics such as
@@ -2374,15 +2379,11 @@ has undefined behavior.</p>
recent preceding instruction with externally visible side effects, following
the order in the IR. (This includes volatile loads and stores.)</li>
-<li>An instruction <i>control-depends</i> on a <a href="#i_br"><tt>br</tt></a>,
- <a href="#i_switch"><tt>switch</tt></a>, or
- <a href="#i_indirectbr"><tt>indirectbr</tt></a> if the <tt>br</tt>,
- <tt>switch</tt>, or <tt>indirectbr</tt> has multiple successors and the
- instruction is always executed when control transfers to one of the
- successors, and may not be executed when control is transfered to
- another.</li>
-
-<!-- FIXME: invoke, unwind, exceptions -->
+<li>An instruction <i>control-depends</i> on a
+ <a href="#terminators">terminator instruction</a>
+ if the terminator instruction has multiple successors and the instruction
+ is always executed when control transfers to one of the successors, and
+ may not be executed when control is transfered to another.</li>
<li>Dependence is transitive.</li>
OpenPOWER on IntegriCloud