; RUN: llvm-as < %s | opt -lowerinvoke -disable-output && ; RUN: llvm-as < %s | opt -lowerinvoke -disable-output -enable-correct-eh-support implementation int %foo() { invoke int %foo() to label %Ok unwind label %Crap Ok: invoke int %foo() to label %Ok2 unwind label %Crap Ok2: ret int 2 Crap: ret int 1 } int %bar(int %blah) { br label %doit doit: ;; Value live across an unwind edge. %B2 = add int %blah, 1 invoke int %foo() to label %Ok unwind label %Crap Ok: invoke int %foo() to label %Ok2 unwind label %Crap Ok2: ret int 2 Crap: ret int %B2 }