aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGen/ARM/2009-06-15-RegScavengerAssert.ll
blob: a0f903b0bdf56411f686d72514945fd0303004b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
; RUN: llc < %s -mtriple=armv6-apple-darwin

  %struct.term = type { i32, i32, i32 }

declare fastcc i8* @memory_Malloc(i32) nounwind

define fastcc %struct.term* @t1() nounwind {
entry:
	br i1 undef, label %bb, label %bb1

bb:		; preds = %entry
	ret %struct.term* undef

bb1:		; preds = %entry
	%0 = tail call fastcc i8* @memory_Malloc(i32 12) nounwind		; <i8*> [#uses=0]
	%1 = tail call fastcc i8* @memory_Malloc(i32 12) nounwind		; <i8*> [#uses=0]
	ret %struct.term* undef
}


define i32 @t2(i32 %argc, i8** nocapture %argv) nounwind {
entry:
	br label %bb6.i8

bb6.i8:		; preds = %memory_CalculateRealBlockSize1374.exit.i, %entry
	br i1 undef, label %memory_CalculateRealBlockSize1374.exit.i, label %bb.i.i9

bb.i.i9:		; preds = %bb6.i8
	br label %memory_CalculateRealBlockSize1374.exit.i

memory_CalculateRealBlockSize1374.exit.i:		; preds = %bb.i.i9, %bb6.i8
	%0 = phi i32 [ undef, %bb.i.i9 ], [ undef, %bb6.i8 ]		; <i32> [#uses=2]
	store i32 %0, i32* undef, align 4
	%1 = urem i32 8184, %0		; <i32> [#uses=1]
	%2 = sub i32 8188, %1		; <i32> [#uses=1]
	store i32 %2, i32* undef, align 4
	br i1 undef, label %memory_Init.exit, label %bb6.i8

memory_Init.exit:		; preds = %memory_CalculateRealBlockSize1374.exit.i
	br label %bb.i.i

bb.i.i:		; preds = %bb.i.i, %memory_Init.exit
	br i1 undef, label %symbol_Init.exit, label %bb.i.i

symbol_Init.exit:		; preds = %bb.i.i
	br label %bb.i.i67

bb.i.i67:		; preds = %bb.i.i67, %symbol_Init.exit
	br i1 undef, label %symbol_CreatePrecedence3522.exit, label %bb.i.i67

symbol_CreatePrecedence3522.exit:		; preds = %bb.i.i67
	br label %bb.i.i8.i

bb.i.i8.i:		; preds = %bb.i.i8.i, %symbol_CreatePrecedence3522.exit
	br i1 undef, label %cont_Create.exit9.i, label %bb.i.i8.i

cont_Create.exit9.i:		; preds = %bb.i.i8.i
	br label %bb.i.i.i72

bb.i.i.i72:		; preds = %bb.i.i.i72, %cont_Create.exit9.i
	br i1 undef, label %cont_Init.exit, label %bb.i.i.i72

cont_Init.exit:		; preds = %bb.i.i.i72
	br label %bb.i103

bb.i103:		; preds = %bb.i103, %cont_Init.exit
	br i1 undef, label %subs_Init.exit, label %bb.i103

subs_Init.exit:		; preds = %bb.i103
	br i1 undef, label %bb1.i.i.i80, label %cc_Init.exit

bb1.i.i.i80:		; preds = %subs_Init.exit
	unreachable

cc_Init.exit:		; preds = %subs_Init.exit
	br label %bb.i.i375

bb.i.i375:		; preds = %bb.i.i375, %cc_Init.exit
	br i1 undef, label %bb.i439, label %bb.i.i375

bb.i439:		; preds = %bb.i439, %bb.i.i375
	br i1 undef, label %opts_DeclareSPASSFlagsAsOptions.exit, label %bb.i439

opts_DeclareSPASSFlagsAsOptions.exit:		; preds = %bb.i439
	br i1 undef, label %opts_TranslateShortOptDeclarations.exit.i, label %bb.i.i82

bb.i.i82:		; preds = %opts_DeclareSPASSFlagsAsOptions.exit
	unreachable

opts_TranslateShortOptDeclarations.exit.i:		; preds = %opts_DeclareSPASSFlagsAsOptions.exit
	br i1 undef, label %list_Length.exit.i.thread.i, label %bb.i.i4.i

list_Length.exit.i.thread.i:		; preds = %opts_TranslateShortOptDeclarations.exit.i
	br i1 undef, label %bb18.i.i.i, label %bb26.i.i.i

bb.i.i4.i:		; preds = %opts_TranslateShortOptDeclarations.exit.i
	unreachable

bb18.i.i.i:		; preds = %list_Length.exit.i.thread.i
	unreachable

bb26.i.i.i:		; preds = %list_Length.exit.i.thread.i
	br i1 undef, label %bb27.i142, label %opts_GetOptLongOnly.exit.thread97.i

opts_GetOptLongOnly.exit.thread97.i:		; preds = %bb26.i.i.i
	br label %bb27.i142

bb27.i142:		; preds = %opts_GetOptLongOnly.exit.thread97.i, %bb26.i.i.i
	br label %bb1.i3.i

bb1.i3.i:		; preds = %bb1.i3.i, %bb27.i142
	br i1 undef, label %opts_FreeLongOptsArray.exit.i, label %bb1.i3.i

opts_FreeLongOptsArray.exit.i:		; preds = %bb1.i3.i
	br label %bb.i443

bb.i443:		; preds = %bb.i443, %opts_FreeLongOptsArray.exit.i
	br i1 undef, label %flag_InitStoreByDefaults3542.exit, label %bb.i443

flag_InitStoreByDefaults3542.exit:		; preds = %bb.i443
	br i1 undef, label %bb6.i449, label %bb.i503

bb6.i449:		; preds = %flag_InitStoreByDefaults3542.exit
	unreachable

bb.i503:		; preds = %bb.i503, %flag_InitStoreByDefaults3542.exit
	br i1 undef, label %flag_CleanStore3464.exit, label %bb.i503

flag_CleanStore3464.exit:		; preds = %bb.i503
	br i1 undef, label %bb1.i81.i.preheader, label %bb.i173

bb.i173:		; preds = %flag_CleanStore3464.exit
	unreachable

bb1.i81.i.preheader:		; preds = %flag_CleanStore3464.exit
	br i1 undef, label %bb1.i64.i.preheader, label %bb5.i179

bb5.i179:		; preds = %bb1.i81.i.preheader
	unreachable

bb1.i64.i.preheader:		; preds = %bb1.i81.i.preheader
	br i1 undef, label %dfg_DeleteProofList.exit.i, label %bb.i9.i

bb.i9.i:		; preds = %bb1.i64.i.preheader
	unreachable

dfg_DeleteProofList.exit.i:		; preds = %bb1.i64.i.preheader
	br i1 undef, label %term_DeleteTermList621.exit.i, label %bb.i.i62.i

bb.i.i62.i:		; preds = %bb.i.i62.i, %dfg_DeleteProofList.exit.i
	br i1 undef, label %term_DeleteTermList621.exit.i, label %bb.i.i62.i

term_DeleteTermList621.exit.i:		; preds = %bb.i.i62.i, %dfg_DeleteProofList.exit.i
	br i1 undef, label %dfg_DFGParser.exit, label %bb.i.i211

bb.i.i211:		; preds = %term_DeleteTermList621.exit.i
	unreachable

dfg_DFGParser.exit:		; preds = %term_DeleteTermList621.exit.i
	br label %bb.i513

bb.i513:		; preds = %bb2.i516, %dfg_DFGParser.exit
	br i1 undef, label %bb2.i516, label %bb1.i514

bb1.i514:		; preds = %bb.i513
	unreachable

bb2.i516:		; preds = %bb.i513
	br i1 undef, label %bb.i509, label %bb.i513

bb.i509:		; preds = %bb.i509, %bb2.i516
	br i1 undef, label %symbol_TransferPrecedence3468.exit511, label %bb.i509

symbol_TransferPrecedence3468.exit511:		; preds = %bb.i509
	br i1 undef, label %bb20, label %bb21

bb20:		; preds = %symbol_TransferPrecedence3468.exit511
	unreachable

bb21:		; preds = %symbol_TransferPrecedence3468.exit511
	br i1 undef, label %cnf_Init.exit, label %bb.i498

bb.i498:		; preds = %bb21
	unreachable

cnf_Init.exit:		; preds = %bb21
	br i1 undef, label %bb23, label %bb22

bb22:		; preds = %cnf_Init.exit
	br i1 undef, label %bb2.i.i496, label %bb.i.i494

bb.i.i494:		; preds = %bb22
	unreachable

bb2.i.i496:		; preds = %bb22
	unreachable

bb23:		; preds = %cnf_Init.exit
	br i1 undef, label %bb28, label %bb24

bb24:		; preds = %bb23
	unreachable

bb28:		; preds = %bb23
	br i1 undef, label %bb31, label %bb29

bb29:		; preds = %bb28
	unreachable

bb31:		; preds = %bb28
	br i1 undef, label %bb34, label %bb32

bb32:		; preds = %bb31
	unreachable

bb34:		; preds = %bb31
	br i1 undef, label %bb83, label %bb66

bb66:		; preds = %bb34
	unreachable

bb83:		; preds = %bb34
	br i1 undef, label %bb2.i1668, label %bb.i1667

bb.i1667:		; preds = %bb83
	unreachable

bb2.i1668:		; preds = %bb83
	br i1 undef, label %bb5.i205, label %bb3.i204

bb3.i204:		; preds = %bb2.i1668
	unreachable

bb5.i205:		; preds = %bb2.i1668
	br i1 undef, label %bb.i206.i, label %ana_AnalyzeSortStructure.exit.i

bb.i206.i:		; preds = %bb5.i205
	br i1 undef, label %bb1.i207.i, label %ana_AnalyzeSortStructure.exit.i

bb1.i207.i:		; preds = %bb.i206.i
	br i1 undef, label %bb25.i1801.thread, label %bb.i1688

bb.i1688:		; preds = %bb1.i207.i
	unreachable

bb25.i1801.thread:		; preds = %bb1.i207.i
	unreachable

ana_AnalyzeSortStructure.exit.i:		; preds = %bb.i206.i, %bb5.i205
	br i1 undef, label %bb7.i207, label %bb.i1806

bb.i1806:		; preds = %ana_AnalyzeSortStructure.exit.i
	br i1 undef, label %bb2.i.i.i1811, label %bb.i.i.i1809

bb.i.i.i1809:		; preds = %bb.i1806
	unreachable

bb2.i.i.i1811:		; preds = %bb.i1806
	unreachable

bb7.i207:		; preds = %ana_AnalyzeSortStructure.exit.i
	br i1 undef, label %bb9.i, label %bb8.i

bb8.i:		; preds = %bb7.i207
	unreachable

bb9.i:		; preds = %bb7.i207
	br i1 undef, label %bb23.i, label %bb26.i

bb23.i:		; preds = %bb9.i
	br i1 undef, label %bb25.i, label %bb24.i

bb24.i:		; preds = %bb23.i
	br i1 undef, label %sort_SortTheoryIsTrivial.exit.i, label %bb.i2093

bb.i2093:		; preds = %bb.i2093, %bb24.i
	br label %bb.i2093

sort_SortTheoryIsTrivial.exit.i:		; preds = %bb24.i
	br i1 undef, label %bb3.i2141, label %bb4.i2143

bb3.i2141:		; preds = %sort_SortTheoryIsTrivial.exit.i
	unreachable

bb4.i2143:		; preds = %sort_SortTheoryIsTrivial.exit.i
	br i1 undef, label %bb8.i2178, label %bb5.i2144

bb5.i2144:		; preds = %bb4.i2143
	br i1 undef, label %bb7.i2177, label %bb1.i28.i

bb1.i28.i:		; preds = %bb5.i2144
	br i1 undef, label %bb4.i43.i, label %bb2.i.i2153

bb2.i.i2153:		; preds = %bb1.i28.i
	br i1 undef, label %bb4.i.i33.i, label %bb.i.i30.i

bb.i.i30.i:		; preds = %bb2.i.i2153
	unreachable

bb4.i.i33.i:		; preds = %bb2.i.i2153
	br i1 undef, label %bb9.i.i36.i, label %bb5.i.i34.i

bb5.i.i34.i:		; preds = %bb4.i.i33.i
	unreachable

bb9.i.i36.i:		; preds = %bb4.i.i33.i
	br i1 undef, label %bb14.i.i.i2163, label %bb10.i.i37.i

bb10.i.i37.i:		; preds = %bb9.i.i36.i
	unreachable

bb14.i.i.i2163:		; preds = %bb9.i.i36.i
	br i1 undef, label %sort_LinkPrint.exit.i.i, label %bb15.i.i.i2164

bb15.i.i.i2164:		; preds = %bb14.i.i.i2163
	unreachable

sort_LinkPrint.exit.i.i:		; preds = %bb14.i.i.i2163
	unreachable

bb4.i43.i:		; preds = %bb1.i28.i
	unreachable

bb7.i2177:		; preds = %bb5.i2144
	unreachable

bb8.i2178:		; preds = %bb4.i2143
	br i1 undef, label %sort_ApproxStaticSortTheory.exit, label %bb.i5.i2185.preheader

bb.i5.i2185.preheader:		; preds = %bb8.i2178
	br label %bb.i5.i2185

bb.i5.i2185:		; preds = %bb.i5.i2185, %bb.i5.i2185.preheader
	br i1 undef, label %sort_ApproxStaticSortTheory.exit, label %bb.i5.i2185

sort_ApproxStaticSortTheory.exit:		; preds = %bb.i5.i2185, %bb8.i2178
	br label %bb25.i

bb25.i:		; preds = %sort_ApproxStaticSortTheory.exit, %bb23.i
	unreachable

bb26.i:		; preds = %bb9.i
	unreachable
}