fix PR4963: folding insertvalue would sometimes turn a packed struct into
[llvm/avr.git] / test / Transforms / SCCP / 2008-01-27-UndefCorrelate.ll
blobaa613dca5d11b849e756542e36e0dc7781fe7dec
1 ; RUN: opt < %s -sccp -S | grep undef | count 1
2 ; PR1938
4 define i32 @main() {
5 entry:
6         br label %bb
8 bb:
9         %indvar = phi i32 [ 0, %entry ], [ %k, %bb.backedge ]
10         %k = add i32 %indvar, 1
11         br i1 undef, label %cond_true, label %cond_false
13 cond_true:
14         %tmp97 = icmp slt i32 %k, 10
15         br i1 %tmp97, label %bb.backedge, label %bb12
17 bb.backedge:
18         br label %bb
20 cond_false:
21         %tmp9 = icmp slt i32 %k, 10
22         br i1 %tmp9, label %bb.backedge, label %bb12
24 bb12:
25         %tmp14 = icmp eq i32 %k, 10
26         br i1 %tmp14, label %cond_next18, label %cond_true17
28 cond_true17:
29         tail call void @abort( )
30         unreachable
32 cond_next18:
33         ret i32 0
36 declare void @abort()