xref: /aosp_15_r20/external/llvm/test/Transforms/IndVarSimplify/2006-09-20-LFTR-Crash.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -indvars -disable-output
2*9880d681SAndroid Build Coastguard Worker; ModuleID = '2006-09-20-LFTR-Crash.ll'
3*9880d681SAndroid Build Coastguard Worker	%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]] }
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Workerdefine void @P7DefaultPrior() {
6*9880d681SAndroid Build Coastguard Workerentry:
7*9880d681SAndroid Build Coastguard Worker	switch i32 0, label %UnifiedReturnBlock [
8*9880d681SAndroid Build Coastguard Worker		 i32 2, label %bb160
9*9880d681SAndroid Build Coastguard Worker		 i32 3, label %bb
10*9880d681SAndroid Build Coastguard Worker	]
11*9880d681SAndroid Build Coastguard Worker
12*9880d681SAndroid Build Coastguard Workerbb:		; preds = %entry
13*9880d681SAndroid Build Coastguard Worker	br i1 false, label %cond_true.i, label %sre_malloc.exit
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Workercond_true.i:		; preds = %bb
16*9880d681SAndroid Build Coastguard Worker	unreachable
17*9880d681SAndroid Build Coastguard Worker
18*9880d681SAndroid Build Coastguard Workersre_malloc.exit:		; preds = %bb
19*9880d681SAndroid Build Coastguard Worker	br label %cond_true
20*9880d681SAndroid Build Coastguard Worker
21*9880d681SAndroid Build Coastguard Workercond_true:		; preds = %cond_true66, %cond_true, %sre_malloc.exit
22*9880d681SAndroid Build Coastguard Worker	%tmp59 = phi i32 [ 1, %sre_malloc.exit ], [ %phitmp, %cond_true66 ], [ %tmp59, %cond_true ]		; <i32> [#uses=2]
23*9880d681SAndroid Build Coastguard Worker	%indvar245.0.ph = phi i32 [ 0, %sre_malloc.exit ], [ %indvar.next246, %cond_true66 ], [ %indvar245.0.ph, %cond_true ]		; <i32> [#uses=2]
24*9880d681SAndroid Build Coastguard Worker	br i1 false, label %bb57, label %cond_true
25*9880d681SAndroid Build Coastguard Worker
26*9880d681SAndroid Build Coastguard Workerbb57:		; preds = %cond_true
27*9880d681SAndroid Build Coastguard Worker	%tmp65 = icmp sgt i32 0, %tmp59		; <i1> [#uses=1]
28*9880d681SAndroid Build Coastguard Worker	%indvar.next246 = add i32 %indvar245.0.ph, 1		; <i32> [#uses=2]
29*9880d681SAndroid Build Coastguard Worker	br i1 %tmp65, label %cond_true66, label %bb69
30*9880d681SAndroid Build Coastguard Worker
31*9880d681SAndroid Build Coastguard Workercond_true66:		; preds = %bb57
32*9880d681SAndroid Build Coastguard Worker	%q.1.0 = bitcast i32 %indvar.next246 to i32		; <i32> [#uses=1]
33*9880d681SAndroid Build Coastguard Worker	%phitmp = add i32 %q.1.0, 1		; <i32> [#uses=1]
34*9880d681SAndroid Build Coastguard Worker	br label %cond_true
35*9880d681SAndroid Build Coastguard Worker
36*9880d681SAndroid Build Coastguard Workerbb69:		; preds = %bb57
37*9880d681SAndroid Build Coastguard Worker	ret void
38*9880d681SAndroid Build Coastguard Worker
39*9880d681SAndroid Build Coastguard Workerbb160:		; preds = %entry
40*9880d681SAndroid Build Coastguard Worker	ret void
41*9880d681SAndroid Build Coastguard Worker
42*9880d681SAndroid Build Coastguard WorkerUnifiedReturnBlock:		; preds = %entry
43*9880d681SAndroid Build Coastguard Worker	ret void
44*9880d681SAndroid Build Coastguard Worker}
45