| ; RUN: llvm-as < %s | opt -ipsccp | llvm-dis | \ | |
| ; RUN: grep -v {ret i32 0} | grep -v {ret i32 undef} | not grep ret | |
| define internal i32 @bar(i32 %A) { | |
| %C = icmp eq i32 %A, 0 ; <i1> [#uses=1] | |
| br i1 %C, label %T, label %F | |
| T: ; preds = %0 | |
| %B = call i32 @bar( i32 0 ) ; <i32> [#uses=0] | |
| ret i32 0 | |
| F: ; preds = %0 | |
| %C.upgrd.1 = call i32 @bar( i32 1 ) ; <i32> [#uses=1] | |
| ret i32 %C.upgrd.1 | |
| } | |
| define i32 @foo() { | |
| %X = call i32 @bar( i32 0 ) ; <i32> [#uses=1] | |
| ret i32 %X | |
| } | |