; RUN: opt < %s -lowerinvoke -disable-output -enable-correct-eh-support define i32 @foo() { invoke i32 @foo( ) to label %Ok unwind label %Crap ; <i32>:1 [#uses=0] Ok: ; preds = %0 invoke i32 @foo( ) to label %Ok2 unwind label %Crap ; <i32>:2 [#uses=0] Ok2: ; preds = %Ok ret i32 2 Crap: ; preds = %Ok, %0 ret i32 1 } define i32 @bar(i32 %blah) { br label %doit doit: ; preds = %0 ;; Value live across an unwind edge. %B2 = add i32 %blah, 1 ; <i32> [#uses=1] invoke i32 @foo( ) to label %Ok unwind label %Crap ; <i32>:1 [#uses=0] Ok: ; preds = %doit invoke i32 @foo( ) to label %Ok2 unwind label %Crap ; <i32>:2 [#uses=0] Ok2: ; preds = %Ok ret i32 2 Crap: ; preds = %Ok, %doit ret i32 %B2 }