; RUN: llvm-as < %s | opt -ipconstprop -instcombine | \ ; RUN: llvm-dis | grep {ret i1 true} | count 2 define internal i32 @foo(i1 %C) { br i1 %C, label %T, label %F T: ; preds = %0 ret i32 52 F: ; preds = %0 ret i32 52 } define i1 @caller(i1 %C) { %X = call i32 @foo( i1 %C ) ; [#uses=1] %Y = icmp ne i32 %X, 0 ; [#uses=1] ret i1 %Y } define i1 @invokecaller(i1 %C) { %X = invoke i32 @foo( i1 %C ) to label %OK unwind label %FAIL ; [#uses=1] OK: %Y = icmp ne i32 %X, 0 ; [#uses=1] ret i1 %Y FAIL: ret i1 false }