[llvm-commits] [llvm] r72762 - /llvm/trunk/docs/LangRef.html
Jay Foad
jay.foad at gmail.com
Wed Jun 3 03:20:12 PDT 2009
Author: foad
Date: Wed Jun 3 05:20:10 2009
New Revision: 72762
URL: http://llvm.org/viewvc/llvm-project?rev=72762&view=rev
Log:
Document how phi and invoke instructions interact with SSA form.
Modified:
llvm/trunk/docs/LangRef.html
Modified: llvm/trunk/docs/LangRef.html
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/LangRef.html?rev=72762&r1=72761&r2=72762&view=diff
==============================================================================
--- llvm/trunk/docs/LangRef.html (original)
+++ llvm/trunk/docs/LangRef.html Wed Jun 3 05:20:10 2009
@@ -2403,9 +2403,10 @@
exception. Additionally, this is important for implementation of
'<tt>catch</tt>' clauses in high-level languages that support them.</p>
-<p>It is not valid to reference the return value of an invoke call from
-anywhere not dominated by the normal label, since an unwind does not
-provide a return value.</p>
+<p>For the purposes of the SSA form, the definition of the value
+returned by the '<tt>invoke</tt>' instruction is deemed to occur on
+the edge from the current block to the "normal" label. If the callee
+unwinds then no return value is available.</p>
<h5>Example:</h5>
<pre>
@@ -4518,6 +4519,11 @@
block and the PHI instructions: i.e. PHI instructions must be first in
a basic block.</p>
+<p>For the purposes of the SSA form, the use of each incoming value is
+deemed to occur on the edge from the corresponding predecessor block
+to the current block (but after any definition of an '<tt>invoke</tt>'
+instruction's return value on the same edge).</p>
+
<h5>Semantics:</h5>
<p>At runtime, the '<tt>phi</tt>' instruction logically takes on the value
More information about the llvm-commits
mailing list