fix PR4963: folding insertvalue would sometimes turn a packed struct into
[llvm/avr.git] / test / Transforms / SCCP / ipsccp-conditional.ll
blob07a427ea91f1de6554ac0c5a25f3b43a1a2dc191
1 ; RUN: opt < %s -ipsccp -S | \
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