[InstCombine] Signed saturation tests. NFC
[llvm-complete.git] / test / Transforms / IndVarSimplify / 2006-09-20-LFTR-Crash.ll
blob787c9b07bdcd0c9660e69e74bc9ac02a6417d4c7
1 ; RUN: opt < %s -indvars -disable-output
2 ; ModuleID = '2006-09-20-LFTR-Crash.ll'
3         %struct.p7prior_s = type { i32, i32, [200 x float], [200 x [7 x float]], i32, [200 x float], [200 x [20 x float]], i32, [200 x float], [200 x [20 x float]] }
5 define void @P7DefaultPrior() {
6 entry:
7         switch i32 0, label %UnifiedReturnBlock [
8                  i32 2, label %bb160
9                  i32 3, label %bb
10         ]
12 bb:             ; preds = %entry
13         br i1 false, label %cond_true.i, label %sre_malloc.exit
15 cond_true.i:            ; preds = %bb
16         unreachable
18 sre_malloc.exit:                ; preds = %bb
19         br label %cond_true
21 cond_true:              ; preds = %cond_true66, %cond_true, %sre_malloc.exit
22         %tmp59 = phi i32 [ 1, %sre_malloc.exit ], [ %phitmp, %cond_true66 ], [ %tmp59, %cond_true ]             ; <i32> [#uses=2]
23         %indvar245.0.ph = phi i32 [ 0, %sre_malloc.exit ], [ %indvar.next246, %cond_true66 ], [ %indvar245.0.ph, %cond_true ]           ; <i32> [#uses=2]
24         br i1 false, label %bb57, label %cond_true
26 bb57:           ; preds = %cond_true
27         %tmp65 = icmp sgt i32 0, %tmp59         ; <i1> [#uses=1]
28         %indvar.next246 = add i32 %indvar245.0.ph, 1            ; <i32> [#uses=2]
29         br i1 %tmp65, label %cond_true66, label %bb69
31 cond_true66:            ; preds = %bb57
32         %q.1.0 = bitcast i32 %indvar.next246 to i32             ; <i32> [#uses=1]
33         %phitmp = add i32 %q.1.0, 1             ; <i32> [#uses=1]
34         br label %cond_true
36 bb69:           ; preds = %bb57
37         ret void
39 bb160:          ; preds = %entry
40         ret void
42 UnifiedReturnBlock:             ; preds = %entry
43         ret void