xref: /aosp_15_r20/external/llvm/test/Transforms/LoopStrengthReduce/2012-07-18-LimitReassociate.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: opt -loop-reduce -disable-output -debug-only=loop-reduce < %s 2>&1 | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker; REQUIRES: asserts
3*9880d681SAndroid Build Coastguard Worker;
4*9880d681SAndroid Build Coastguard Worker; PR13361: LSR + SCEV "hangs" on reasonably sized test with sequence of loops
5*9880d681SAndroid Build Coastguard Worker;
6*9880d681SAndroid Build Coastguard Worker; Without limits on CollectSubexpr, we have thousands of formulae for
7*9880d681SAndroid Build Coastguard Worker; the use that crosses loops. With limits we have five.
8*9880d681SAndroid Build Coastguard Worker; CHECK: LSR on loop %bb221:
9*9880d681SAndroid Build Coastguard Worker; CHECK: After generating reuse formulae:
10*9880d681SAndroid Build Coastguard Worker; CHECK: LSR is examining the following uses:
11*9880d681SAndroid Build Coastguard Worker; CHECK: LSR Use: Kind=Special
12*9880d681SAndroid Build Coastguard Worker; CHECK: {{.*reg\(\{.*\{.*\{.*\{.*\{.*\{.*\{.*\{.*\{}}
13*9880d681SAndroid Build Coastguard Worker; CHECK: {{.*reg\(\{.*\{.*\{.*\{.*\{.*\{.*\{.*\{.*\{}}
14*9880d681SAndroid Build Coastguard Worker; CHECK: {{.*reg\(\{.*\{.*\{.*\{.*\{.*\{.*\{.*\{.*\{}}
15*9880d681SAndroid Build Coastguard Worker; CHECK: {{.*reg\(\{.*\{.*\{.*\{.*\{.*\{.*\{.*\{.*\{}}
16*9880d681SAndroid Build Coastguard Worker; CHECK: {{.*reg\(\{.*\{.*\{.*\{.*\{.*\{.*\{.*\{.*\{}}
17*9880d681SAndroid Build Coastguard Worker; CHECK-NOT:reg
18*9880d681SAndroid Build Coastguard Worker; CHECK: Filtering for use
19*9880d681SAndroid Build Coastguard Worker
20*9880d681SAndroid Build Coastguard Worker; Provide legal integer types.
21*9880d681SAndroid Build Coastguard Workertarget datalayout = "n8:16:32:64"
22*9880d681SAndroid Build Coastguard Worker
23*9880d681SAndroid Build Coastguard Worker
24*9880d681SAndroid Build Coastguard Worker%struct.snork = type { %struct.fuga, i32, i32, i32, i32, i32, i32 }
25*9880d681SAndroid Build Coastguard Worker%struct.fuga = type { %struct.gork, i64 }
26*9880d681SAndroid Build Coastguard Worker%struct.gork = type { i8*, i32, i32, %struct.noot* }
27*9880d681SAndroid Build Coastguard Worker%struct.noot = type opaque
28*9880d681SAndroid Build Coastguard Worker%struct.jim = type { [5120 x i8], i32, i32, [2048 x i8], i32, [256 x i8] }
29*9880d681SAndroid Build Coastguard Worker
30*9880d681SAndroid Build Coastguard Worker@global = external global %struct.snork, align 8
31*9880d681SAndroid Build Coastguard Worker@global1 = external hidden unnamed_addr constant [52 x i8], align 1
32*9880d681SAndroid Build Coastguard Worker@global2 = external hidden unnamed_addr constant [18 x i8], align 1
33*9880d681SAndroid Build Coastguard Worker@global3 = external hidden global %struct.jim, align 32
34*9880d681SAndroid Build Coastguard Worker@global4 = external hidden unnamed_addr constant [40 x i8], align 1
35*9880d681SAndroid Build Coastguard Worker
36*9880d681SAndroid Build Coastguard Workerdeclare void @snork(...) nounwind
37*9880d681SAndroid Build Coastguard Worker
38*9880d681SAndroid Build Coastguard Workerdeclare fastcc void @blarg() nounwind uwtable readonly
39*9880d681SAndroid Build Coastguard Worker
40*9880d681SAndroid Build Coastguard Workerdefine hidden fastcc void @boogle() nounwind uwtable {
41*9880d681SAndroid Build Coastguard Workerbb:
42*9880d681SAndroid Build Coastguard Worker  %tmp = trunc i64 0 to i32
43*9880d681SAndroid Build Coastguard Worker  %tmp1 = icmp slt i32 %tmp, 2047
44*9880d681SAndroid Build Coastguard Worker  %tmp2 = add i32 0, -1
45*9880d681SAndroid Build Coastguard Worker  %tmp3 = icmp ult i32 %tmp2, 255
46*9880d681SAndroid Build Coastguard Worker  %tmp4 = and i1 %tmp1, %tmp3
47*9880d681SAndroid Build Coastguard Worker  br i1 %tmp4, label %bb6, label %bb5
48*9880d681SAndroid Build Coastguard Worker
49*9880d681SAndroid Build Coastguard Workerbb5:                                              ; preds = %bb
50*9880d681SAndroid Build Coastguard Worker  tail call void (...) @snork(i8* getelementptr inbounds ([52 x i8], [52 x i8]* @global1, i64 0, i64 0), i32 2021) nounwind
51*9880d681SAndroid Build Coastguard Worker  tail call void (...) @snork(i8* getelementptr inbounds (%struct.jim, %struct.jim* @global3, i64 0, i32 3, i64 1), i32 -2146631418) nounwind
52*9880d681SAndroid Build Coastguard Worker  unreachable
53*9880d681SAndroid Build Coastguard Worker
54*9880d681SAndroid Build Coastguard Workerbb6:                                              ; preds = %bb
55*9880d681SAndroid Build Coastguard Worker  tail call void @zot(i8* getelementptr inbounds (%struct.jim, %struct.jim* @global3, i64 0, i32 5, i64 0), i8* getelementptr inbounds (%struct.jim, %struct.jim* @global3, i64 0, i32 3, i64 1), i64 undef, i32 1, i1 false) nounwind
56*9880d681SAndroid Build Coastguard Worker  %tmp7 = getelementptr inbounds %struct.jim, %struct.jim* @global3, i64 0, i32 5, i64 undef
57*9880d681SAndroid Build Coastguard Worker  store i8 0, i8* %tmp7, align 1
58*9880d681SAndroid Build Coastguard Worker  %tmp8 = add nsw i32 0, 1
59*9880d681SAndroid Build Coastguard Worker  %tmp9 = sext i32 %tmp8 to i64
60*9880d681SAndroid Build Coastguard Worker  %tmp10 = add i64 %tmp9, 1
61*9880d681SAndroid Build Coastguard Worker  %tmp11 = getelementptr inbounds %struct.jim, %struct.jim* @global3, i64 0, i32 3, i64 %tmp10
62*9880d681SAndroid Build Coastguard Worker  %tmp12 = sub i64 2047, %tmp9
63*9880d681SAndroid Build Coastguard Worker  %tmp13 = icmp eq i32 undef, 1
64*9880d681SAndroid Build Coastguard Worker  br i1 %tmp13, label %bb14, label %bb15
65*9880d681SAndroid Build Coastguard Worker
66*9880d681SAndroid Build Coastguard Workerbb14:                                             ; preds = %bb6
67*9880d681SAndroid Build Coastguard Worker  tail call fastcc void @blarg()
68*9880d681SAndroid Build Coastguard Worker  unreachable
69*9880d681SAndroid Build Coastguard Worker
70*9880d681SAndroid Build Coastguard Workerbb15:                                             ; preds = %bb6
71*9880d681SAndroid Build Coastguard Worker  %tmp16 = trunc i64 %tmp12 to i32
72*9880d681SAndroid Build Coastguard Worker  br label %bb17
73*9880d681SAndroid Build Coastguard Worker
74*9880d681SAndroid Build Coastguard Workerbb17:                                             ; preds = %bb26, %bb15
75*9880d681SAndroid Build Coastguard Worker  %tmp18 = phi i64 [ %tmp28, %bb26 ], [ 0, %bb15 ]
76*9880d681SAndroid Build Coastguard Worker  %tmp19 = phi i32 [ %tmp29, %bb26 ], [ 0, %bb15 ]
77*9880d681SAndroid Build Coastguard Worker  %tmp20 = trunc i64 %tmp18 to i32
78*9880d681SAndroid Build Coastguard Worker  %tmp21 = icmp slt i32 %tmp20, %tmp16
79*9880d681SAndroid Build Coastguard Worker  br i1 %tmp21, label %bb22, label %bb32
80*9880d681SAndroid Build Coastguard Worker
81*9880d681SAndroid Build Coastguard Workerbb22:                                             ; preds = %bb17
82*9880d681SAndroid Build Coastguard Worker  %tmp23 = getelementptr inbounds %struct.jim, %struct.jim* @global3, i64 0, i32 3, i64 0
83*9880d681SAndroid Build Coastguard Worker  %tmp24 = load i8, i8* %tmp23, align 1
84*9880d681SAndroid Build Coastguard Worker  %tmp25 = icmp eq i8 %tmp24, 58
85*9880d681SAndroid Build Coastguard Worker  br i1 %tmp25, label %bb30, label %bb26
86*9880d681SAndroid Build Coastguard Worker
87*9880d681SAndroid Build Coastguard Workerbb26:                                             ; preds = %bb22
88*9880d681SAndroid Build Coastguard Worker  %tmp27 = icmp eq i8 %tmp24, 0
89*9880d681SAndroid Build Coastguard Worker  %tmp28 = add i64 %tmp18, 1
90*9880d681SAndroid Build Coastguard Worker  %tmp29 = add nsw i32 %tmp19, 1
91*9880d681SAndroid Build Coastguard Worker  br i1 %tmp27, label %bb32, label %bb17
92*9880d681SAndroid Build Coastguard Worker
93*9880d681SAndroid Build Coastguard Workerbb30:                                             ; preds = %bb22
94*9880d681SAndroid Build Coastguard Worker  %tmp31 = icmp ult i32 undef, 255
95*9880d681SAndroid Build Coastguard Worker  br i1 %tmp31, label %bb33, label %bb32
96*9880d681SAndroid Build Coastguard Worker
97*9880d681SAndroid Build Coastguard Workerbb32:                                             ; preds = %bb30, %bb26, %bb17
98*9880d681SAndroid Build Coastguard Worker  tail call void (...) @snork(i8* getelementptr inbounds ([52 x i8], [52 x i8]* @global1, i64 0, i64 0), i32 2038) nounwind
99*9880d681SAndroid Build Coastguard Worker  tail call void (...) @snork(i8* %tmp11, i32 -2146631418) nounwind
100*9880d681SAndroid Build Coastguard Worker  unreachable
101*9880d681SAndroid Build Coastguard Worker
102*9880d681SAndroid Build Coastguard Workerbb33:                                             ; preds = %bb30
103*9880d681SAndroid Build Coastguard Worker  tail call void @zot(i8* getelementptr inbounds (%struct.jim, %struct.jim* @global3, i64 0, i32 5, i64 0), i8* %tmp11, i64 undef, i32 1, i1 false) nounwind
104*9880d681SAndroid Build Coastguard Worker  %tmp34 = getelementptr inbounds %struct.jim, %struct.jim* @global3, i64 0, i32 5, i64 undef
105*9880d681SAndroid Build Coastguard Worker  store i8 0, i8* %tmp34, align 1
106*9880d681SAndroid Build Coastguard Worker  %tmp35 = add nsw i32 %tmp19, 1
107*9880d681SAndroid Build Coastguard Worker  %tmp36 = sext i32 %tmp35 to i64
108*9880d681SAndroid Build Coastguard Worker  %tmp37 = add i64 %tmp36, %tmp10
109*9880d681SAndroid Build Coastguard Worker  %tmp38 = getelementptr inbounds %struct.jim, %struct.jim* @global3, i64 0, i32 3, i64 %tmp37
110*9880d681SAndroid Build Coastguard Worker  %tmp39 = sub i64 %tmp12, %tmp36
111*9880d681SAndroid Build Coastguard Worker  br i1 false, label %bb40, label %bb41
112*9880d681SAndroid Build Coastguard Worker
113*9880d681SAndroid Build Coastguard Workerbb40:                                             ; preds = %bb33
114*9880d681SAndroid Build Coastguard Worker  br label %bb41
115*9880d681SAndroid Build Coastguard Worker
116*9880d681SAndroid Build Coastguard Workerbb41:                                             ; preds = %bb40, %bb33
117*9880d681SAndroid Build Coastguard Worker  %tmp42 = trunc i64 %tmp39 to i32
118*9880d681SAndroid Build Coastguard Worker  br label %bb43
119*9880d681SAndroid Build Coastguard Worker
120*9880d681SAndroid Build Coastguard Workerbb43:                                             ; preds = %bb52, %bb41
121*9880d681SAndroid Build Coastguard Worker  %tmp44 = phi i64 [ %tmp53, %bb52 ], [ 0, %bb41 ]
122*9880d681SAndroid Build Coastguard Worker  %tmp45 = phi i32 [ %tmp54, %bb52 ], [ 0, %bb41 ]
123*9880d681SAndroid Build Coastguard Worker  %tmp46 = trunc i64 %tmp44 to i32
124*9880d681SAndroid Build Coastguard Worker  %tmp47 = icmp slt i32 %tmp46, %tmp42
125*9880d681SAndroid Build Coastguard Worker  br i1 %tmp47, label %bb48, label %bb58
126*9880d681SAndroid Build Coastguard Worker
127*9880d681SAndroid Build Coastguard Workerbb48:                                             ; preds = %bb43
128*9880d681SAndroid Build Coastguard Worker  %tmp49 = add i64 %tmp44, %tmp37
129*9880d681SAndroid Build Coastguard Worker  %tmp50 = load i8, i8* undef, align 1
130*9880d681SAndroid Build Coastguard Worker  %tmp51 = icmp eq i8 %tmp50, 58
131*9880d681SAndroid Build Coastguard Worker  br i1 %tmp51, label %bb55, label %bb52
132*9880d681SAndroid Build Coastguard Worker
133*9880d681SAndroid Build Coastguard Workerbb52:                                             ; preds = %bb48
134*9880d681SAndroid Build Coastguard Worker  %tmp53 = add i64 %tmp44, 1
135*9880d681SAndroid Build Coastguard Worker  %tmp54 = add nsw i32 %tmp45, 1
136*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %bb58, label %bb43
137*9880d681SAndroid Build Coastguard Worker
138*9880d681SAndroid Build Coastguard Workerbb55:                                             ; preds = %bb48
139*9880d681SAndroid Build Coastguard Worker  %tmp56 = add i32 %tmp45, -1
140*9880d681SAndroid Build Coastguard Worker  %tmp57 = icmp ult i32 %tmp56, 255
141*9880d681SAndroid Build Coastguard Worker  br i1 %tmp57, label %bb59, label %bb58
142*9880d681SAndroid Build Coastguard Worker
143*9880d681SAndroid Build Coastguard Workerbb58:                                             ; preds = %bb55, %bb52, %bb43
144*9880d681SAndroid Build Coastguard Worker  tail call void (...) @snork(i8* getelementptr inbounds ([52 x i8], [52 x i8]* @global1, i64 0, i64 0), i32 2055) nounwind
145*9880d681SAndroid Build Coastguard Worker  tail call void (...) @snork(i8* %tmp38, i32 -2146631418) nounwind
146*9880d681SAndroid Build Coastguard Worker  br label %bb247
147*9880d681SAndroid Build Coastguard Worker
148*9880d681SAndroid Build Coastguard Workerbb59:                                             ; preds = %bb55
149*9880d681SAndroid Build Coastguard Worker  %tmp60 = sext i32 %tmp45 to i64
150*9880d681SAndroid Build Coastguard Worker  tail call void @zot(i8* getelementptr inbounds (%struct.jim, %struct.jim* @global3, i64 0, i32 5, i64 0), i8* %tmp38, i64 %tmp60, i32 1, i1 false) nounwind
151*9880d681SAndroid Build Coastguard Worker  %tmp61 = getelementptr inbounds %struct.jim, %struct.jim* @global3, i64 0, i32 5, i64 %tmp60
152*9880d681SAndroid Build Coastguard Worker  store i8 0, i8* %tmp61, align 1
153*9880d681SAndroid Build Coastguard Worker  %tmp62 = add nsw i32 %tmp45, 1
154*9880d681SAndroid Build Coastguard Worker  %tmp63 = sext i32 %tmp62 to i64
155*9880d681SAndroid Build Coastguard Worker  %tmp64 = add i64 %tmp63, %tmp37
156*9880d681SAndroid Build Coastguard Worker  %tmp65 = sub i64 %tmp39, %tmp63
157*9880d681SAndroid Build Coastguard Worker  %tmp66 = icmp eq i32 undef, 2
158*9880d681SAndroid Build Coastguard Worker  br i1 %tmp66, label %bb67, label %bb68
159*9880d681SAndroid Build Coastguard Worker
160*9880d681SAndroid Build Coastguard Workerbb67:                                             ; preds = %bb59
161*9880d681SAndroid Build Coastguard Worker  tail call fastcc void @blarg()
162*9880d681SAndroid Build Coastguard Worker  unreachable
163*9880d681SAndroid Build Coastguard Worker
164*9880d681SAndroid Build Coastguard Workerbb68:                                             ; preds = %bb59
165*9880d681SAndroid Build Coastguard Worker  switch i32 undef, label %bb71 [
166*9880d681SAndroid Build Coastguard Worker    i32 0, label %bb74
167*9880d681SAndroid Build Coastguard Worker    i32 -1, label %bb69
168*9880d681SAndroid Build Coastguard Worker  ]
169*9880d681SAndroid Build Coastguard Worker
170*9880d681SAndroid Build Coastguard Workerbb69:                                             ; preds = %bb68
171*9880d681SAndroid Build Coastguard Worker  tail call void (...) @snork(i8* getelementptr inbounds ([52 x i8], [52 x i8]* @global1, i64 0, i64 0), i32 2071) nounwind
172*9880d681SAndroid Build Coastguard Worker  %tmp70 = load i32, i32* getelementptr inbounds (%struct.snork, %struct.snork* @global, i64 0, i32 2), align 4
173*9880d681SAndroid Build Coastguard Worker  unreachable
174*9880d681SAndroid Build Coastguard Worker
175*9880d681SAndroid Build Coastguard Workerbb71:                                             ; preds = %bb68
176*9880d681SAndroid Build Coastguard Worker  %tmp72 = load i32, i32* getelementptr inbounds (%struct.snork, %struct.snork* @global, i64 0, i32 4), align 4
177*9880d681SAndroid Build Coastguard Worker  %tmp73 = icmp eq i32 undef, 0
178*9880d681SAndroid Build Coastguard Worker  br i1 %tmp73, label %bb247, label %bb74
179*9880d681SAndroid Build Coastguard Worker
180*9880d681SAndroid Build Coastguard Workerbb74:                                             ; preds = %bb71, %bb68
181*9880d681SAndroid Build Coastguard Worker  %tmp75 = trunc i64 %tmp65 to i32
182*9880d681SAndroid Build Coastguard Worker  br label %bb76
183*9880d681SAndroid Build Coastguard Worker
184*9880d681SAndroid Build Coastguard Workerbb76:                                             ; preds = %bb82, %bb74
185*9880d681SAndroid Build Coastguard Worker  %tmp77 = phi i64 [ %tmp84, %bb82 ], [ 0, %bb74 ]
186*9880d681SAndroid Build Coastguard Worker  %tmp78 = phi i32 [ %tmp85, %bb82 ], [ 0, %bb74 ]
187*9880d681SAndroid Build Coastguard Worker  %tmp79 = trunc i64 %tmp77 to i32
188*9880d681SAndroid Build Coastguard Worker  %tmp80 = icmp slt i32 %tmp79, %tmp75
189*9880d681SAndroid Build Coastguard Worker  br i1 %tmp80, label %bb81, label %bb87
190*9880d681SAndroid Build Coastguard Worker
191*9880d681SAndroid Build Coastguard Workerbb81:                                             ; preds = %bb76
192*9880d681SAndroid Build Coastguard Worker  br i1 false, label %bb86, label %bb82
193*9880d681SAndroid Build Coastguard Worker
194*9880d681SAndroid Build Coastguard Workerbb82:                                             ; preds = %bb81
195*9880d681SAndroid Build Coastguard Worker  %tmp83 = icmp eq i8 0, 0
196*9880d681SAndroid Build Coastguard Worker  %tmp84 = add i64 %tmp77, 1
197*9880d681SAndroid Build Coastguard Worker  %tmp85 = add nsw i32 %tmp78, 1
198*9880d681SAndroid Build Coastguard Worker  br i1 %tmp83, label %bb87, label %bb76
199*9880d681SAndroid Build Coastguard Worker
200*9880d681SAndroid Build Coastguard Workerbb86:                                             ; preds = %bb81
201*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %bb88, label %bb87
202*9880d681SAndroid Build Coastguard Worker
203*9880d681SAndroid Build Coastguard Workerbb87:                                             ; preds = %bb86, %bb82, %bb76
204*9880d681SAndroid Build Coastguard Worker  unreachable
205*9880d681SAndroid Build Coastguard Worker
206*9880d681SAndroid Build Coastguard Workerbb88:                                             ; preds = %bb86
207*9880d681SAndroid Build Coastguard Worker  %tmp89 = add nsw i32 %tmp78, 1
208*9880d681SAndroid Build Coastguard Worker  %tmp90 = sext i32 %tmp89 to i64
209*9880d681SAndroid Build Coastguard Worker  %tmp91 = add i64 %tmp90, %tmp64
210*9880d681SAndroid Build Coastguard Worker  %tmp92 = sub i64 %tmp65, %tmp90
211*9880d681SAndroid Build Coastguard Worker  br i1 false, label %bb93, label %bb94
212*9880d681SAndroid Build Coastguard Worker
213*9880d681SAndroid Build Coastguard Workerbb93:                                             ; preds = %bb88
214*9880d681SAndroid Build Coastguard Worker  unreachable
215*9880d681SAndroid Build Coastguard Worker
216*9880d681SAndroid Build Coastguard Workerbb94:                                             ; preds = %bb88
217*9880d681SAndroid Build Coastguard Worker  %tmp95 = trunc i64 %tmp92 to i32
218*9880d681SAndroid Build Coastguard Worker  br label %bb96
219*9880d681SAndroid Build Coastguard Worker
220*9880d681SAndroid Build Coastguard Workerbb96:                                             ; preds = %bb102, %bb94
221*9880d681SAndroid Build Coastguard Worker  %tmp97 = phi i64 [ %tmp103, %bb102 ], [ 0, %bb94 ]
222*9880d681SAndroid Build Coastguard Worker  %tmp98 = phi i32 [ %tmp104, %bb102 ], [ 0, %bb94 ]
223*9880d681SAndroid Build Coastguard Worker  %tmp99 = trunc i64 %tmp97 to i32
224*9880d681SAndroid Build Coastguard Worker  %tmp100 = icmp slt i32 %tmp99, %tmp95
225*9880d681SAndroid Build Coastguard Worker  br i1 %tmp100, label %bb101, label %bb106
226*9880d681SAndroid Build Coastguard Worker
227*9880d681SAndroid Build Coastguard Workerbb101:                                            ; preds = %bb96
228*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %bb105, label %bb102
229*9880d681SAndroid Build Coastguard Worker
230*9880d681SAndroid Build Coastguard Workerbb102:                                            ; preds = %bb101
231*9880d681SAndroid Build Coastguard Worker  %tmp103 = add i64 %tmp97, 1
232*9880d681SAndroid Build Coastguard Worker  %tmp104 = add nsw i32 %tmp98, 1
233*9880d681SAndroid Build Coastguard Worker  br i1 false, label %bb106, label %bb96
234*9880d681SAndroid Build Coastguard Worker
235*9880d681SAndroid Build Coastguard Workerbb105:                                            ; preds = %bb101
236*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %bb107, label %bb106
237*9880d681SAndroid Build Coastguard Worker
238*9880d681SAndroid Build Coastguard Workerbb106:                                            ; preds = %bb105, %bb102, %bb96
239*9880d681SAndroid Build Coastguard Worker  br label %bb247
240*9880d681SAndroid Build Coastguard Worker
241*9880d681SAndroid Build Coastguard Workerbb107:                                            ; preds = %bb105
242*9880d681SAndroid Build Coastguard Worker  %tmp108 = add nsw i32 %tmp98, 1
243*9880d681SAndroid Build Coastguard Worker  %tmp109 = sext i32 %tmp108 to i64
244*9880d681SAndroid Build Coastguard Worker  %tmp110 = add i64 %tmp109, %tmp91
245*9880d681SAndroid Build Coastguard Worker  %tmp111 = sub i64 %tmp92, %tmp109
246*9880d681SAndroid Build Coastguard Worker  br i1 false, label %bb112, label %bb113
247*9880d681SAndroid Build Coastguard Worker
248*9880d681SAndroid Build Coastguard Workerbb112:                                            ; preds = %bb107
249*9880d681SAndroid Build Coastguard Worker  unreachable
250*9880d681SAndroid Build Coastguard Worker
251*9880d681SAndroid Build Coastguard Workerbb113:                                            ; preds = %bb107
252*9880d681SAndroid Build Coastguard Worker  %tmp114 = trunc i64 %tmp111 to i32
253*9880d681SAndroid Build Coastguard Worker  br label %bb115
254*9880d681SAndroid Build Coastguard Worker
255*9880d681SAndroid Build Coastguard Workerbb115:                                            ; preds = %bb121, %bb113
256*9880d681SAndroid Build Coastguard Worker  %tmp116 = phi i64 [ %tmp122, %bb121 ], [ 0, %bb113 ]
257*9880d681SAndroid Build Coastguard Worker  %tmp117 = phi i32 [ %tmp123, %bb121 ], [ 0, %bb113 ]
258*9880d681SAndroid Build Coastguard Worker  %tmp118 = trunc i64 %tmp116 to i32
259*9880d681SAndroid Build Coastguard Worker  %tmp119 = icmp slt i32 %tmp118, %tmp114
260*9880d681SAndroid Build Coastguard Worker  br i1 %tmp119, label %bb120, label %bb125
261*9880d681SAndroid Build Coastguard Worker
262*9880d681SAndroid Build Coastguard Workerbb120:                                            ; preds = %bb115
263*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %bb124, label %bb121
264*9880d681SAndroid Build Coastguard Worker
265*9880d681SAndroid Build Coastguard Workerbb121:                                            ; preds = %bb120
266*9880d681SAndroid Build Coastguard Worker  %tmp122 = add i64 %tmp116, 1
267*9880d681SAndroid Build Coastguard Worker  %tmp123 = add nsw i32 %tmp117, 1
268*9880d681SAndroid Build Coastguard Worker  br i1 false, label %bb125, label %bb115
269*9880d681SAndroid Build Coastguard Worker
270*9880d681SAndroid Build Coastguard Workerbb124:                                            ; preds = %bb120
271*9880d681SAndroid Build Coastguard Worker  br i1 false, label %bb126, label %bb125
272*9880d681SAndroid Build Coastguard Worker
273*9880d681SAndroid Build Coastguard Workerbb125:                                            ; preds = %bb124, %bb121, %bb115
274*9880d681SAndroid Build Coastguard Worker  unreachable
275*9880d681SAndroid Build Coastguard Worker
276*9880d681SAndroid Build Coastguard Workerbb126:                                            ; preds = %bb124
277*9880d681SAndroid Build Coastguard Worker  %tmp127 = add nsw i32 %tmp117, 1
278*9880d681SAndroid Build Coastguard Worker  %tmp128 = sext i32 %tmp127 to i64
279*9880d681SAndroid Build Coastguard Worker  %tmp129 = add i64 %tmp128, %tmp110
280*9880d681SAndroid Build Coastguard Worker  %tmp130 = sub i64 %tmp111, %tmp128
281*9880d681SAndroid Build Coastguard Worker  tail call fastcc void @blarg()
282*9880d681SAndroid Build Coastguard Worker  br i1 false, label %bb132, label %bb131
283*9880d681SAndroid Build Coastguard Worker
284*9880d681SAndroid Build Coastguard Workerbb131:                                            ; preds = %bb126
285*9880d681SAndroid Build Coastguard Worker  unreachable
286*9880d681SAndroid Build Coastguard Worker
287*9880d681SAndroid Build Coastguard Workerbb132:                                            ; preds = %bb126
288*9880d681SAndroid Build Coastguard Worker  %tmp133 = trunc i64 %tmp130 to i32
289*9880d681SAndroid Build Coastguard Worker  br label %bb134
290*9880d681SAndroid Build Coastguard Worker
291*9880d681SAndroid Build Coastguard Workerbb134:                                            ; preds = %bb140, %bb132
292*9880d681SAndroid Build Coastguard Worker  %tmp135 = phi i64 [ %tmp141, %bb140 ], [ 0, %bb132 ]
293*9880d681SAndroid Build Coastguard Worker  %tmp136 = phi i32 [ %tmp142, %bb140 ], [ 0, %bb132 ]
294*9880d681SAndroid Build Coastguard Worker  %tmp137 = trunc i64 %tmp135 to i32
295*9880d681SAndroid Build Coastguard Worker  %tmp138 = icmp slt i32 %tmp137, %tmp133
296*9880d681SAndroid Build Coastguard Worker  br i1 %tmp138, label %bb139, label %bb144
297*9880d681SAndroid Build Coastguard Worker
298*9880d681SAndroid Build Coastguard Workerbb139:                                            ; preds = %bb134
299*9880d681SAndroid Build Coastguard Worker  br i1 false, label %bb143, label %bb140
300*9880d681SAndroid Build Coastguard Worker
301*9880d681SAndroid Build Coastguard Workerbb140:                                            ; preds = %bb139
302*9880d681SAndroid Build Coastguard Worker  %tmp141 = add i64 %tmp135, 1
303*9880d681SAndroid Build Coastguard Worker  %tmp142 = add nsw i32 %tmp136, 1
304*9880d681SAndroid Build Coastguard Worker  br i1 false, label %bb144, label %bb134
305*9880d681SAndroid Build Coastguard Worker
306*9880d681SAndroid Build Coastguard Workerbb143:                                            ; preds = %bb139
307*9880d681SAndroid Build Coastguard Worker  br i1 false, label %bb145, label %bb144
308*9880d681SAndroid Build Coastguard Worker
309*9880d681SAndroid Build Coastguard Workerbb144:                                            ; preds = %bb143, %bb140, %bb134
310*9880d681SAndroid Build Coastguard Worker  br label %bb247
311*9880d681SAndroid Build Coastguard Worker
312*9880d681SAndroid Build Coastguard Workerbb145:                                            ; preds = %bb143
313*9880d681SAndroid Build Coastguard Worker  %tmp146 = add nsw i32 %tmp136, 1
314*9880d681SAndroid Build Coastguard Worker  %tmp147 = sext i32 %tmp146 to i64
315*9880d681SAndroid Build Coastguard Worker  %tmp148 = add i64 %tmp147, %tmp129
316*9880d681SAndroid Build Coastguard Worker  %tmp149 = sub i64 %tmp130, %tmp147
317*9880d681SAndroid Build Coastguard Worker  switch i32 0, label %bb152 [
318*9880d681SAndroid Build Coastguard Worker    i32 0, label %bb150
319*9880d681SAndroid Build Coastguard Worker    i32 16, label %bb150
320*9880d681SAndroid Build Coastguard Worker    i32 32, label %bb150
321*9880d681SAndroid Build Coastguard Worker    i32 48, label %bb150
322*9880d681SAndroid Build Coastguard Worker    i32 64, label %bb150
323*9880d681SAndroid Build Coastguard Worker    i32 256, label %bb150
324*9880d681SAndroid Build Coastguard Worker    i32 4096, label %bb150
325*9880d681SAndroid Build Coastguard Worker  ]
326*9880d681SAndroid Build Coastguard Worker
327*9880d681SAndroid Build Coastguard Workerbb150:                                            ; preds = %bb145, %bb145, %bb145, %bb145, %bb145, %bb145, %bb145
328*9880d681SAndroid Build Coastguard Worker  %tmp151 = trunc i64 %tmp149 to i32
329*9880d681SAndroid Build Coastguard Worker  br label %bb153
330*9880d681SAndroid Build Coastguard Worker
331*9880d681SAndroid Build Coastguard Workerbb152:                                            ; preds = %bb145
332*9880d681SAndroid Build Coastguard Worker  unreachable
333*9880d681SAndroid Build Coastguard Worker
334*9880d681SAndroid Build Coastguard Workerbb153:                                            ; preds = %bb160, %bb150
335*9880d681SAndroid Build Coastguard Worker  %tmp154 = phi i64 [ %tmp161, %bb160 ], [ 0, %bb150 ]
336*9880d681SAndroid Build Coastguard Worker  %tmp155 = phi i32 [ %tmp162, %bb160 ], [ 0, %bb150 ]
337*9880d681SAndroid Build Coastguard Worker  %tmp156 = trunc i64 %tmp154 to i32
338*9880d681SAndroid Build Coastguard Worker  %tmp157 = icmp slt i32 %tmp156, %tmp151
339*9880d681SAndroid Build Coastguard Worker  br i1 %tmp157, label %bb158, label %bb166
340*9880d681SAndroid Build Coastguard Worker
341*9880d681SAndroid Build Coastguard Workerbb158:                                            ; preds = %bb153
342*9880d681SAndroid Build Coastguard Worker  %tmp159 = add i64 %tmp154, %tmp148
343*9880d681SAndroid Build Coastguard Worker  br i1 false, label %bb163, label %bb160
344*9880d681SAndroid Build Coastguard Worker
345*9880d681SAndroid Build Coastguard Workerbb160:                                            ; preds = %bb158
346*9880d681SAndroid Build Coastguard Worker  %tmp161 = add i64 %tmp154, 1
347*9880d681SAndroid Build Coastguard Worker  %tmp162 = add nsw i32 %tmp155, 1
348*9880d681SAndroid Build Coastguard Worker  br i1 false, label %bb166, label %bb153
349*9880d681SAndroid Build Coastguard Worker
350*9880d681SAndroid Build Coastguard Workerbb163:                                            ; preds = %bb158
351*9880d681SAndroid Build Coastguard Worker  %tmp164 = add i32 %tmp155, -1
352*9880d681SAndroid Build Coastguard Worker  %tmp165 = icmp ult i32 %tmp164, 255
353*9880d681SAndroid Build Coastguard Worker  br i1 %tmp165, label %bb167, label %bb166
354*9880d681SAndroid Build Coastguard Worker
355*9880d681SAndroid Build Coastguard Workerbb166:                                            ; preds = %bb163, %bb160, %bb153
356*9880d681SAndroid Build Coastguard Worker  unreachable
357*9880d681SAndroid Build Coastguard Worker
358*9880d681SAndroid Build Coastguard Workerbb167:                                            ; preds = %bb163
359*9880d681SAndroid Build Coastguard Worker  %tmp168 = add nsw i32 %tmp155, 1
360*9880d681SAndroid Build Coastguard Worker  %tmp169 = sext i32 %tmp168 to i64
361*9880d681SAndroid Build Coastguard Worker  %tmp170 = add i64 %tmp169, %tmp148
362*9880d681SAndroid Build Coastguard Worker  %tmp171 = sub i64 %tmp149, %tmp169
363*9880d681SAndroid Build Coastguard Worker  br i1 false, label %bb173, label %bb172
364*9880d681SAndroid Build Coastguard Worker
365*9880d681SAndroid Build Coastguard Workerbb172:                                            ; preds = %bb167
366*9880d681SAndroid Build Coastguard Worker  unreachable
367*9880d681SAndroid Build Coastguard Worker
368*9880d681SAndroid Build Coastguard Workerbb173:                                            ; preds = %bb167
369*9880d681SAndroid Build Coastguard Worker  %tmp174 = trunc i64 %tmp171 to i32
370*9880d681SAndroid Build Coastguard Worker  br label %bb175
371*9880d681SAndroid Build Coastguard Worker
372*9880d681SAndroid Build Coastguard Workerbb175:                                            ; preds = %bb181, %bb173
373*9880d681SAndroid Build Coastguard Worker  %tmp176 = phi i64 [ %tmp183, %bb181 ], [ 0, %bb173 ]
374*9880d681SAndroid Build Coastguard Worker  %tmp177 = phi i32 [ %tmp184, %bb181 ], [ 0, %bb173 ]
375*9880d681SAndroid Build Coastguard Worker  %tmp178 = trunc i64 %tmp176 to i32
376*9880d681SAndroid Build Coastguard Worker  %tmp179 = icmp slt i32 %tmp178, %tmp174
377*9880d681SAndroid Build Coastguard Worker  br i1 %tmp179, label %bb180, label %bb186
378*9880d681SAndroid Build Coastguard Worker
379*9880d681SAndroid Build Coastguard Workerbb180:                                            ; preds = %bb175
380*9880d681SAndroid Build Coastguard Worker  br i1 false, label %bb185, label %bb181
381*9880d681SAndroid Build Coastguard Worker
382*9880d681SAndroid Build Coastguard Workerbb181:                                            ; preds = %bb180
383*9880d681SAndroid Build Coastguard Worker  %tmp182 = icmp eq i8 0, 0
384*9880d681SAndroid Build Coastguard Worker  %tmp183 = add i64 %tmp176, 1
385*9880d681SAndroid Build Coastguard Worker  %tmp184 = add nsw i32 %tmp177, 1
386*9880d681SAndroid Build Coastguard Worker  br i1 %tmp182, label %bb186, label %bb175
387*9880d681SAndroid Build Coastguard Worker
388*9880d681SAndroid Build Coastguard Workerbb185:                                            ; preds = %bb180
389*9880d681SAndroid Build Coastguard Worker  br i1 false, label %bb187, label %bb186
390*9880d681SAndroid Build Coastguard Worker
391*9880d681SAndroid Build Coastguard Workerbb186:                                            ; preds = %bb185, %bb181, %bb175
392*9880d681SAndroid Build Coastguard Worker  unreachable
393*9880d681SAndroid Build Coastguard Worker
394*9880d681SAndroid Build Coastguard Workerbb187:                                            ; preds = %bb185
395*9880d681SAndroid Build Coastguard Worker  %tmp188 = add nsw i32 %tmp177, 1
396*9880d681SAndroid Build Coastguard Worker  %tmp189 = sext i32 %tmp188 to i64
397*9880d681SAndroid Build Coastguard Worker  %tmp190 = sub i64 %tmp171, %tmp189
398*9880d681SAndroid Build Coastguard Worker  br i1 false, label %bb192, label %bb191
399*9880d681SAndroid Build Coastguard Worker
400*9880d681SAndroid Build Coastguard Workerbb191:                                            ; preds = %bb187
401*9880d681SAndroid Build Coastguard Worker  unreachable
402*9880d681SAndroid Build Coastguard Worker
403*9880d681SAndroid Build Coastguard Workerbb192:                                            ; preds = %bb187
404*9880d681SAndroid Build Coastguard Worker  %tmp193 = trunc i64 %tmp190 to i32
405*9880d681SAndroid Build Coastguard Worker  br label %bb194
406*9880d681SAndroid Build Coastguard Worker
407*9880d681SAndroid Build Coastguard Workerbb194:                                            ; preds = %bb200, %bb192
408*9880d681SAndroid Build Coastguard Worker  %tmp195 = phi i64 [ %tmp201, %bb200 ], [ 0, %bb192 ]
409*9880d681SAndroid Build Coastguard Worker  %tmp196 = phi i32 [ %tmp202, %bb200 ], [ 0, %bb192 ]
410*9880d681SAndroid Build Coastguard Worker  %tmp197 = trunc i64 %tmp195 to i32
411*9880d681SAndroid Build Coastguard Worker  %tmp198 = icmp slt i32 %tmp197, %tmp193
412*9880d681SAndroid Build Coastguard Worker  br i1 %tmp198, label %bb199, label %bb204
413*9880d681SAndroid Build Coastguard Worker
414*9880d681SAndroid Build Coastguard Workerbb199:                                            ; preds = %bb194
415*9880d681SAndroid Build Coastguard Worker  br i1 false, label %bb203, label %bb200
416*9880d681SAndroid Build Coastguard Worker
417*9880d681SAndroid Build Coastguard Workerbb200:                                            ; preds = %bb199
418*9880d681SAndroid Build Coastguard Worker  %tmp201 = add i64 %tmp195, 1
419*9880d681SAndroid Build Coastguard Worker  %tmp202 = add nsw i32 %tmp196, 1
420*9880d681SAndroid Build Coastguard Worker  br i1 false, label %bb204, label %bb194
421*9880d681SAndroid Build Coastguard Worker
422*9880d681SAndroid Build Coastguard Workerbb203:                                            ; preds = %bb199
423*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %bb205, label %bb204
424*9880d681SAndroid Build Coastguard Worker
425*9880d681SAndroid Build Coastguard Workerbb204:                                            ; preds = %bb203, %bb200, %bb194
426*9880d681SAndroid Build Coastguard Worker  unreachable
427*9880d681SAndroid Build Coastguard Worker
428*9880d681SAndroid Build Coastguard Workerbb205:                                            ; preds = %bb203
429*9880d681SAndroid Build Coastguard Worker  %tmp206 = add nsw i32 %tmp196, 1
430*9880d681SAndroid Build Coastguard Worker  %tmp207 = sext i32 %tmp206 to i64
431*9880d681SAndroid Build Coastguard Worker  %tmp208 = add i64 %tmp207, 0
432*9880d681SAndroid Build Coastguard Worker  %tmp209 = sub i64 %tmp190, %tmp207
433*9880d681SAndroid Build Coastguard Worker  br i1 %tmp13, label %bb210, label %bb211
434*9880d681SAndroid Build Coastguard Worker
435*9880d681SAndroid Build Coastguard Workerbb210:                                            ; preds = %bb205
436*9880d681SAndroid Build Coastguard Worker  unreachable
437*9880d681SAndroid Build Coastguard Worker
438*9880d681SAndroid Build Coastguard Workerbb211:                                            ; preds = %bb205
439*9880d681SAndroid Build Coastguard Worker  %tmp212 = trunc i64 %tmp209 to i32
440*9880d681SAndroid Build Coastguard Worker  %tmp213 = icmp slt i32 0, %tmp212
441*9880d681SAndroid Build Coastguard Worker  br i1 false, label %bb215, label %bb214
442*9880d681SAndroid Build Coastguard Worker
443*9880d681SAndroid Build Coastguard Workerbb214:                                            ; preds = %bb211
444*9880d681SAndroid Build Coastguard Worker  unreachable
445*9880d681SAndroid Build Coastguard Worker
446*9880d681SAndroid Build Coastguard Workerbb215:                                            ; preds = %bb211
447*9880d681SAndroid Build Coastguard Worker  %tmp216 = add i64 undef, %tmp208
448*9880d681SAndroid Build Coastguard Worker  %tmp217 = sub i64 %tmp209, undef
449*9880d681SAndroid Build Coastguard Worker  br i1 false, label %bb218, label %bb219
450*9880d681SAndroid Build Coastguard Worker
451*9880d681SAndroid Build Coastguard Workerbb218:                                            ; preds = %bb215
452*9880d681SAndroid Build Coastguard Worker  br label %bb219
453*9880d681SAndroid Build Coastguard Worker
454*9880d681SAndroid Build Coastguard Workerbb219:                                            ; preds = %bb218, %bb215
455*9880d681SAndroid Build Coastguard Worker  %tmp220 = trunc i64 %tmp217 to i32
456*9880d681SAndroid Build Coastguard Worker  br label %bb221
457*9880d681SAndroid Build Coastguard Worker
458*9880d681SAndroid Build Coastguard Workerbb221:                                            ; preds = %bb230, %bb219
459*9880d681SAndroid Build Coastguard Worker  %tmp222 = phi i64 [ %tmp231, %bb230 ], [ 0, %bb219 ]
460*9880d681SAndroid Build Coastguard Worker  %tmp223 = phi i32 [ %tmp232, %bb230 ], [ 0, %bb219 ]
461*9880d681SAndroid Build Coastguard Worker  %tmp224 = trunc i64 %tmp222 to i32
462*9880d681SAndroid Build Coastguard Worker  %tmp225 = icmp slt i32 %tmp224, %tmp220
463*9880d681SAndroid Build Coastguard Worker  br i1 %tmp225, label %bb226, label %bb234
464*9880d681SAndroid Build Coastguard Worker
465*9880d681SAndroid Build Coastguard Workerbb226:                                            ; preds = %bb221
466*9880d681SAndroid Build Coastguard Worker  %tmp227 = add i64 %tmp222, %tmp216
467*9880d681SAndroid Build Coastguard Worker  %tmp228 = getelementptr inbounds %struct.jim, %struct.jim* @global3, i64 0, i32 3, i64 %tmp227
468*9880d681SAndroid Build Coastguard Worker  %tmp229 = load i8, i8* %tmp228, align 1
469*9880d681SAndroid Build Coastguard Worker  br i1 false, label %bb233, label %bb230
470*9880d681SAndroid Build Coastguard Worker
471*9880d681SAndroid Build Coastguard Workerbb230:                                            ; preds = %bb226
472*9880d681SAndroid Build Coastguard Worker  %tmp231 = add i64 %tmp222, 1
473*9880d681SAndroid Build Coastguard Worker  %tmp232 = add nsw i32 %tmp223, 1
474*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %bb234, label %bb221
475*9880d681SAndroid Build Coastguard Worker
476*9880d681SAndroid Build Coastguard Workerbb233:                                            ; preds = %bb226
477*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %bb235, label %bb234
478*9880d681SAndroid Build Coastguard Worker
479*9880d681SAndroid Build Coastguard Workerbb234:                                            ; preds = %bb233, %bb230, %bb221
480*9880d681SAndroid Build Coastguard Worker  br label %bb247
481*9880d681SAndroid Build Coastguard Worker
482*9880d681SAndroid Build Coastguard Workerbb235:                                            ; preds = %bb233
483*9880d681SAndroid Build Coastguard Worker  %tmp236 = add nsw i32 %tmp223, 1
484*9880d681SAndroid Build Coastguard Worker  %tmp237 = sext i32 %tmp236 to i64
485*9880d681SAndroid Build Coastguard Worker  %tmp238 = sub i64 %tmp217, %tmp237
486*9880d681SAndroid Build Coastguard Worker  br i1 %tmp66, label %bb239, label %bb240
487*9880d681SAndroid Build Coastguard Worker
488*9880d681SAndroid Build Coastguard Workerbb239:                                            ; preds = %bb235
489*9880d681SAndroid Build Coastguard Worker  unreachable
490*9880d681SAndroid Build Coastguard Worker
491*9880d681SAndroid Build Coastguard Workerbb240:                                            ; preds = %bb235
492*9880d681SAndroid Build Coastguard Worker  switch i32 0, label %bb244 [
493*9880d681SAndroid Build Coastguard Worker    i32 0, label %bb241
494*9880d681SAndroid Build Coastguard Worker    i32 1, label %bb241
495*9880d681SAndroid Build Coastguard Worker    i32 4, label %bb241
496*9880d681SAndroid Build Coastguard Worker    i32 6, label %bb241
497*9880d681SAndroid Build Coastguard Worker    i32 9, label %bb241
498*9880d681SAndroid Build Coastguard Worker  ]
499*9880d681SAndroid Build Coastguard Worker
500*9880d681SAndroid Build Coastguard Workerbb241:                                            ; preds = %bb240, %bb240, %bb240, %bb240, %bb240
501*9880d681SAndroid Build Coastguard Worker  %tmp242 = trunc i64 %tmp238 to i32
502*9880d681SAndroid Build Coastguard Worker  %tmp243 = icmp slt i32 0, %tmp242
503*9880d681SAndroid Build Coastguard Worker  br i1 false, label %bb246, label %bb245
504*9880d681SAndroid Build Coastguard Worker
505*9880d681SAndroid Build Coastguard Workerbb244:                                            ; preds = %bb240
506*9880d681SAndroid Build Coastguard Worker  unreachable
507*9880d681SAndroid Build Coastguard Worker
508*9880d681SAndroid Build Coastguard Workerbb245:                                            ; preds = %bb241
509*9880d681SAndroid Build Coastguard Worker  unreachable
510*9880d681SAndroid Build Coastguard Worker
511*9880d681SAndroid Build Coastguard Workerbb246:                                            ; preds = %bb241
512*9880d681SAndroid Build Coastguard Worker  unreachable
513*9880d681SAndroid Build Coastguard Worker
514*9880d681SAndroid Build Coastguard Workerbb247:                                            ; preds = %bb234, %bb144, %bb106, %bb71, %bb58
515*9880d681SAndroid Build Coastguard Worker  ret void
516*9880d681SAndroid Build Coastguard Worker}
517*9880d681SAndroid Build Coastguard Worker
518*9880d681SAndroid Build Coastguard Workerdeclare void @zot(i8* nocapture, i8* nocapture, i64, i32, i1) nounwind
519