diff options
Diffstat (limited to 'test/Transforms/IndVarSimplify/2006-09-20-LFTR-Crash.ll')
-rw-r--r-- | test/Transforms/IndVarSimplify/2006-09-20-LFTR-Crash.ll | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/test/Transforms/IndVarSimplify/2006-09-20-LFTR-Crash.ll b/test/Transforms/IndVarSimplify/2006-09-20-LFTR-Crash.ll new file mode 100644 index 0000000..787c9b0 --- /dev/null +++ b/test/Transforms/IndVarSimplify/2006-09-20-LFTR-Crash.ll @@ -0,0 +1,44 @@ +; RUN: opt < %s -indvars -disable-output +; ModuleID = '2006-09-20-LFTR-Crash.ll' + %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]] } + +define void @P7DefaultPrior() { +entry: + switch i32 0, label %UnifiedReturnBlock [ + i32 2, label %bb160 + i32 3, label %bb + ] + +bb: ; preds = %entry + br i1 false, label %cond_true.i, label %sre_malloc.exit + +cond_true.i: ; preds = %bb + unreachable + +sre_malloc.exit: ; preds = %bb + br label %cond_true + +cond_true: ; preds = %cond_true66, %cond_true, %sre_malloc.exit + %tmp59 = phi i32 [ 1, %sre_malloc.exit ], [ %phitmp, %cond_true66 ], [ %tmp59, %cond_true ] ; <i32> [#uses=2] + %indvar245.0.ph = phi i32 [ 0, %sre_malloc.exit ], [ %indvar.next246, %cond_true66 ], [ %indvar245.0.ph, %cond_true ] ; <i32> [#uses=2] + br i1 false, label %bb57, label %cond_true + +bb57: ; preds = %cond_true + %tmp65 = icmp sgt i32 0, %tmp59 ; <i1> [#uses=1] + %indvar.next246 = add i32 %indvar245.0.ph, 1 ; <i32> [#uses=2] + br i1 %tmp65, label %cond_true66, label %bb69 + +cond_true66: ; preds = %bb57 + %q.1.0 = bitcast i32 %indvar.next246 to i32 ; <i32> [#uses=1] + %phitmp = add i32 %q.1.0, 1 ; <i32> [#uses=1] + br label %cond_true + +bb69: ; preds = %bb57 + ret void + +bb160: ; preds = %entry + ret void + +UnifiedReturnBlock: ; preds = %entry + ret void +} |