From b532816ac9702d0c852e8d3b1a4a9041bc3c72f4 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Mon, 3 May 2010 14:55:22 +0000 Subject: 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 --- docs/LangRef.html | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'docs') 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.

ret instructions that dynamically transfer control back to them. +
  • Invoke instructions depend on the + ret, unwind, + or exception-throwing call instructions that dynamically transfer control + back to them.
  • +
  • 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.

    recent preceding instruction with externally visible side effects, following the order in the IR. (This includes volatile loads and stores.)
  • -
  • An instruction control-depends on a br, - switch, or - indirectbr if the br, - switch, or indirectbr 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.
  • - - +
  • An instruction control-depends on a + terminator instruction + 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.
  • Dependence is transitive.
  • -- cgit v1.2.3