Use the libanalysis 'ConstantFoldLoadFromConstPtr' function
[oota-llvm.git] / test / Transforms / SCCP / 2008-01-27-UndefCorrelate.ll
1 ; RUN: opt < %s -sccp -S | grep undef | count 1
2 ; PR1938
3
4 define i32 @main() {
5 entry:
6         br label %bb
7
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
12
13 cond_true:
14         %tmp97 = icmp slt i32 %k, 10
15         br i1 %tmp97, label %bb.backedge, label %bb12
16
17 bb.backedge:
18         br label %bb
19
20 cond_false:
21         %tmp9 = icmp slt i32 %k, 10
22         br i1 %tmp9, label %bb.backedge, label %bb12
23
24 bb12:
25         %tmp14 = icmp eq i32 %k, 10
26         br i1 %tmp14, label %cond_next18, label %cond_true17
27
28 cond_true17:
29         tail call void @abort( )
30         unreachable
31
32 cond_next18:
33         ret i32 0
34 }
35
36 declare void @abort()