Merge branch 'master' into msp430
[llvm/msp430.git] / test / Transforms / SCCP / ipsccp-conditional.ll
blobb98bbf44be68db2e994a3efcd78b824d07df4ad6
1 ; RUN: llvm-as < %s | opt -ipsccp | llvm-dis | \
2 ; RUN:   grep -v {ret i32 0} | grep -v {ret i32 undef} | not grep ret
4 define internal i32 @bar(i32 %A) {
5         %C = icmp eq i32 %A, 0          ; <i1> [#uses=1]
6         br i1 %C, label %T, label %F
7 T:              ; preds = %0
8         %B = call i32 @bar( i32 0 )             ; <i32> [#uses=0]
9         ret i32 0
10 F:              ; preds = %0
11         %C.upgrd.1 = call i32 @bar( i32 1 )             ; <i32> [#uses=1]
12         ret i32 %C.upgrd.1
15 define i32 @foo() {
16         %X = call i32 @bar( i32 0 )             ; <i32> [#uses=1]
17         ret i32 %X