summaryrefslogtreecommitdiff
path: root/docs
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
commitb532816ac9702d0c852e8d3b1a4a9041bc3c72f4 (patch)
tree0dd009a56f2a5633095730d1718a104273036683 /docs
parent855abed3cbf1a6c732fab5ae85bad7bbadc35789 (diff)
downloadllvm-b532816ac9702d0c852e8d3b1a4a9041bc3c72f4.tar.gz
llvm-b532816ac9702d0c852e8d3b1a4a9041bc3c72f4.tar.bz2
llvm-b532816ac9702d0c852e8d3b1a4a9041bc3c72f4.tar.xz
Describe invoke instruction dependencies. Generalize the text for
terminator instructions so that it applies to all terminators with multiple successors, including invoke. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102909 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r--docs/LangRef.html19
1 files changed, 10 insertions, 9 deletions
diff --git a/docs/LangRef.html b/docs/LangRef.html
index 982614f3dd..4904fd9155 100644
--- a/docs/LangRef.html
+++ b/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>