From 7b9e539268953d191a19090f67e559ac5b8df04b Mon Sep 17 00:00:00 2001
From: Bill Wendling
Date: Mon, 6 Feb 2012 21:57:33 +0000
Subject: [PATCH] [unwind removal] Remove any mention of the 'unwind'
instruction. What was that instruction anyway?!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149913 91177308-0d34-0410-b5e6-96231b3b80d8
---
docs/LangRef.html | 61 ++++++++---------------------------------------
1 file changed, 10 insertions(+), 51 deletions(-)
diff --git a/docs/LangRef.html b/docs/LangRef.html
index ee8eda49bf6..a71cbfc0927 100644
--- a/docs/LangRef.html
+++ b/docs/LangRef.html
@@ -128,7 +128,6 @@
'switch' Instruction
'indirectbr' Instruction
'invoke' Instruction
- 'unwind' Instruction
'resume' Instruction
'unreachable' Instruction
@@ -1206,8 +1205,7 @@ define void @f() optsize { ... }
It does not write through any pointer arguments
(including byval arguments) and never
changes any state visible to callers. This means that it cannot unwind
- exceptions by calling the C++ exception throwing methods, but
- could use the unwind instruction.
+ exceptions by calling the C++ exception throwing methods.
readonly
This attribute indicates that the function does not write through any
@@ -1217,8 +1215,7 @@ define void @f() optsize { ... }
and read state that may be set in the caller. A readonly function always
returns the same value (or unwinds an exception identically) when called
with the same set of arguments and global state. It cannot unwind an
- exception by calling the C++ exception throwing methods, but may
- use the unwind instruction.
+ exception by calling the C++ exception throwing methods.
returns_twice
This attribute indicates that this function can return twice. The
@@ -2543,7 +2540,7 @@ b: unreachable
control back to them.
Invoke instructions depend on the
- ret, unwind,
+ ret, resume,
or exception-throwing call instructions that dynamically transfer control
back to them.
@@ -3180,7 +3177,6 @@ cast formed of bitcast or getelementptr. For example, a legal use of it is:
'switch',
'indirectbr',
'invoke',
- 'unwind',
'resume', and
'unreachable'.
@@ -3400,9 +3396,9 @@ IfUnequal:
'normal' label or the 'exception' label. If the callee
function returns with the "ret" instruction,
control flow will return to the "normal" label. If the callee (or any
- indirect callees) returns with the "unwind"
- instruction, control is interrupted and continued at the dynamically nearest
- "exception" label.
+ indirect callees) returns via the "resume"
+ instruction or other exception handling mechanism, control is interrupted and
+ continued at the dynamically nearest "exception" label.
The 'exception' label is a
landing pad for the
@@ -3444,8 +3440,9 @@ IfUnequal:
'normal label': the label reached when the called function
executes a 'ret' instruction.
- 'exception label': the label reached when a callee returns with
- the unwind instruction.
+ 'exception label': the label reached when a callee returns via
+ the resume instruction or other exception
+ handling mechanism.
The optional function attributes list. Only
'noreturn', 'nounwind', 'readonly' and
@@ -3468,9 +3465,6 @@ IfUnequal:
block to the "normal" label. If the callee unwinds then no return value is
available.
-Note that the code generator does not yet completely support unwind, and
-that the invoke/unwind semantics are likely to change in future versions.
-
Example:
%retval = invoke i32 @Test(i32 15) to label %Continue
@@ -3479,41 +3473,6 @@ that the invoke/unwind semantics are likely to change in future versions.
unwind label %TestCleanup ; {i32}:retval set
-
-
-
-
-
-
-
-
-
Syntax:
-
- unwind
-
-
-
Overview:
-
N.B. The unwind instruction has been
- deprecated and is slated for removal.
-
-
The 'unwind' instruction unwinds the stack, continuing control flow
- at the first callee in the dynamic call stack which used
- an invoke instruction to perform the call.
- This is primarily used to implement exception handling.
-
-
Semantics:
-
The 'unwind' instruction causes execution of the current function to
- immediately halt. The dynamic call stack is then searched for the
- first invoke instruction on the call stack.
- Once found, execution continues at the "exceptional" destination block
- specified by the invoke instruction. If there is no invoke
- instruction in the dynamic call chain, undefined behavior results.
-
-
Note that the code generator does not yet completely support unwind, and
-that the invoke/unwind semantics are likely to change in future versions.
-
@@ -4700,7 +4659,7 @@ that the invoke/unwind semantics are likely to change in future versions.
'alloca' instruction is commonly used to represent automatic
variables that must have an address available. When the function returns
(either with the ret
- or unwind instructions), the memory is
+ or resume instructions), the memory is
reclaimed. Allocating zero bytes is legal, but the result is undefined.
Example: