diff options
Diffstat (limited to 'docs/LangRef.html')
-rw-r--r-- | docs/LangRef.html | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/docs/LangRef.html b/docs/LangRef.html index 32441cc..f0a171be 100644 --- a/docs/LangRef.html +++ b/docs/LangRef.html @@ -2403,9 +2403,10 @@ cleanup is performed in the case of either a <tt>longjmp</tt> or a thrown 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 @@ may be used as the label arguments.</p> 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 @@ -7104,7 +7110,7 @@ declare void @llvm.stackprotector( i8* <guard>, i8** <slot> ) <a href="mailto:sabre@nondot.org">Chris Lattner</a><br> <a href="http://llvm.org">The LLVM Compiler Infrastructure</a><br> - Last modified: $Date: 2009-05-30 18:08:30 +0200 (Sat, 30 May 2009) $ + Last modified: $Date: 2009-06-03 12:20:10 +0200 (Wed, 03 Jun 2009) $ </address> </body> |