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
    - - - - -

    - 'unwind' Instruction -

    - -
    - -
    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: