Add explicit -mtriple=arm-unknown to llvm/test/CodeGen/ARM/disable-tail-calls.ll...
[oota-llvm.git] / test / CodeGen / ARM / 2009-06-15-RegScavengerAssert.ll
1 ; RUN: llc < %s -mtriple=armv6-apple-darwin
2
3   %struct.term = type { i32, i32, i32 }
4
5 declare fastcc i8* @memory_Malloc(i32) nounwind
6
7 define fastcc %struct.term* @t1() nounwind {
8 entry:
9         br i1 undef, label %bb, label %bb1
10
11 bb:             ; preds = %entry
12         ret %struct.term* undef
13
14 bb1:            ; preds = %entry
15         %0 = tail call fastcc i8* @memory_Malloc(i32 12) nounwind               ; <i8*> [#uses=0]
16         %1 = tail call fastcc i8* @memory_Malloc(i32 12) nounwind               ; <i8*> [#uses=0]
17         ret %struct.term* undef
18 }
19
20
21 define i32 @t2(i32 %argc, i8** nocapture %argv) nounwind {
22 entry:
23         br label %bb6.i8
24
25 bb6.i8:         ; preds = %memory_CalculateRealBlockSize1374.exit.i, %entry
26         br i1 undef, label %memory_CalculateRealBlockSize1374.exit.i, label %bb.i.i9
27
28 bb.i.i9:                ; preds = %bb6.i8
29         br label %memory_CalculateRealBlockSize1374.exit.i
30
31 memory_CalculateRealBlockSize1374.exit.i:               ; preds = %bb.i.i9, %bb6.i8
32         %0 = phi i32 [ undef, %bb.i.i9 ], [ undef, %bb6.i8 ]            ; <i32> [#uses=2]
33         store i32 %0, i32* undef, align 4
34         %1 = urem i32 8184, %0          ; <i32> [#uses=1]
35         %2 = sub i32 8188, %1           ; <i32> [#uses=1]
36         store i32 %2, i32* undef, align 4
37         br i1 undef, label %memory_Init.exit, label %bb6.i8
38
39 memory_Init.exit:               ; preds = %memory_CalculateRealBlockSize1374.exit.i
40         br label %bb.i.i
41
42 bb.i.i:         ; preds = %bb.i.i, %memory_Init.exit
43         br i1 undef, label %symbol_Init.exit, label %bb.i.i
44
45 symbol_Init.exit:               ; preds = %bb.i.i
46         br label %bb.i.i67
47
48 bb.i.i67:               ; preds = %bb.i.i67, %symbol_Init.exit
49         br i1 undef, label %symbol_CreatePrecedence3522.exit, label %bb.i.i67
50
51 symbol_CreatePrecedence3522.exit:               ; preds = %bb.i.i67
52         br label %bb.i.i8.i
53
54 bb.i.i8.i:              ; preds = %bb.i.i8.i, %symbol_CreatePrecedence3522.exit
55         br i1 undef, label %cont_Create.exit9.i, label %bb.i.i8.i
56
57 cont_Create.exit9.i:            ; preds = %bb.i.i8.i
58         br label %bb.i.i.i72
59
60 bb.i.i.i72:             ; preds = %bb.i.i.i72, %cont_Create.exit9.i
61         br i1 undef, label %cont_Init.exit, label %bb.i.i.i72
62
63 cont_Init.exit:         ; preds = %bb.i.i.i72
64         br label %bb.i103
65
66 bb.i103:                ; preds = %bb.i103, %cont_Init.exit
67         br i1 undef, label %subs_Init.exit, label %bb.i103
68
69 subs_Init.exit:         ; preds = %bb.i103
70         br i1 undef, label %bb1.i.i.i80, label %cc_Init.exit
71
72 bb1.i.i.i80:            ; preds = %subs_Init.exit
73         unreachable
74
75 cc_Init.exit:           ; preds = %subs_Init.exit
76         br label %bb.i.i375
77
78 bb.i.i375:              ; preds = %bb.i.i375, %cc_Init.exit
79         br i1 undef, label %bb.i439, label %bb.i.i375
80
81 bb.i439:                ; preds = %bb.i439, %bb.i.i375
82         br i1 undef, label %opts_DeclareSPASSFlagsAsOptions.exit, label %bb.i439
83
84 opts_DeclareSPASSFlagsAsOptions.exit:           ; preds = %bb.i439
85         br i1 undef, label %opts_TranslateShortOptDeclarations.exit.i, label %bb.i.i82
86
87 bb.i.i82:               ; preds = %opts_DeclareSPASSFlagsAsOptions.exit
88         unreachable
89
90 opts_TranslateShortOptDeclarations.exit.i:              ; preds = %opts_DeclareSPASSFlagsAsOptions.exit
91         br i1 undef, label %list_Length.exit.i.thread.i, label %bb.i.i4.i
92
93 list_Length.exit.i.thread.i:            ; preds = %opts_TranslateShortOptDeclarations.exit.i
94         br i1 undef, label %bb18.i.i.i, label %bb26.i.i.i
95
96 bb.i.i4.i:              ; preds = %opts_TranslateShortOptDeclarations.exit.i
97         unreachable
98
99 bb18.i.i.i:             ; preds = %list_Length.exit.i.thread.i
100         unreachable
101
102 bb26.i.i.i:             ; preds = %list_Length.exit.i.thread.i
103         br i1 undef, label %bb27.i142, label %opts_GetOptLongOnly.exit.thread97.i
104
105 opts_GetOptLongOnly.exit.thread97.i:            ; preds = %bb26.i.i.i
106         br label %bb27.i142
107
108 bb27.i142:              ; preds = %opts_GetOptLongOnly.exit.thread97.i, %bb26.i.i.i
109         br label %bb1.i3.i
110
111 bb1.i3.i:               ; preds = %bb1.i3.i, %bb27.i142
112         br i1 undef, label %opts_FreeLongOptsArray.exit.i, label %bb1.i3.i
113
114 opts_FreeLongOptsArray.exit.i:          ; preds = %bb1.i3.i
115         br label %bb.i443
116
117 bb.i443:                ; preds = %bb.i443, %opts_FreeLongOptsArray.exit.i
118         br i1 undef, label %flag_InitStoreByDefaults3542.exit, label %bb.i443
119
120 flag_InitStoreByDefaults3542.exit:              ; preds = %bb.i443
121         br i1 undef, label %bb6.i449, label %bb.i503
122
123 bb6.i449:               ; preds = %flag_InitStoreByDefaults3542.exit
124         unreachable
125
126 bb.i503:                ; preds = %bb.i503, %flag_InitStoreByDefaults3542.exit
127         br i1 undef, label %flag_CleanStore3464.exit, label %bb.i503
128
129 flag_CleanStore3464.exit:               ; preds = %bb.i503
130         br i1 undef, label %bb1.i81.i.preheader, label %bb.i173
131
132 bb.i173:                ; preds = %flag_CleanStore3464.exit
133         unreachable
134
135 bb1.i81.i.preheader:            ; preds = %flag_CleanStore3464.exit
136         br i1 undef, label %bb1.i64.i.preheader, label %bb5.i179
137
138 bb5.i179:               ; preds = %bb1.i81.i.preheader
139         unreachable
140
141 bb1.i64.i.preheader:            ; preds = %bb1.i81.i.preheader
142         br i1 undef, label %dfg_DeleteProofList.exit.i, label %bb.i9.i
143
144 bb.i9.i:                ; preds = %bb1.i64.i.preheader
145         unreachable
146
147 dfg_DeleteProofList.exit.i:             ; preds = %bb1.i64.i.preheader
148         br i1 undef, label %term_DeleteTermList621.exit.i, label %bb.i.i62.i
149
150 bb.i.i62.i:             ; preds = %bb.i.i62.i, %dfg_DeleteProofList.exit.i
151         br i1 undef, label %term_DeleteTermList621.exit.i, label %bb.i.i62.i
152
153 term_DeleteTermList621.exit.i:          ; preds = %bb.i.i62.i, %dfg_DeleteProofList.exit.i
154         br i1 undef, label %dfg_DFGParser.exit, label %bb.i.i211
155
156 bb.i.i211:              ; preds = %term_DeleteTermList621.exit.i
157         unreachable
158
159 dfg_DFGParser.exit:             ; preds = %term_DeleteTermList621.exit.i
160         br label %bb.i513
161
162 bb.i513:                ; preds = %bb2.i516, %dfg_DFGParser.exit
163         br i1 undef, label %bb2.i516, label %bb1.i514
164
165 bb1.i514:               ; preds = %bb.i513
166         unreachable
167
168 bb2.i516:               ; preds = %bb.i513
169         br i1 undef, label %bb.i509, label %bb.i513
170
171 bb.i509:                ; preds = %bb.i509, %bb2.i516
172         br i1 undef, label %symbol_TransferPrecedence3468.exit511, label %bb.i509
173
174 symbol_TransferPrecedence3468.exit511:          ; preds = %bb.i509
175         br i1 undef, label %bb20, label %bb21
176
177 bb20:           ; preds = %symbol_TransferPrecedence3468.exit511
178         unreachable
179
180 bb21:           ; preds = %symbol_TransferPrecedence3468.exit511
181         br i1 undef, label %cnf_Init.exit, label %bb.i498
182
183 bb.i498:                ; preds = %bb21
184         unreachable
185
186 cnf_Init.exit:          ; preds = %bb21
187         br i1 undef, label %bb23, label %bb22
188
189 bb22:           ; preds = %cnf_Init.exit
190         br i1 undef, label %bb2.i.i496, label %bb.i.i494
191
192 bb.i.i494:              ; preds = %bb22
193         unreachable
194
195 bb2.i.i496:             ; preds = %bb22
196         unreachable
197
198 bb23:           ; preds = %cnf_Init.exit
199         br i1 undef, label %bb28, label %bb24
200
201 bb24:           ; preds = %bb23
202         unreachable
203
204 bb28:           ; preds = %bb23
205         br i1 undef, label %bb31, label %bb29
206
207 bb29:           ; preds = %bb28
208         unreachable
209
210 bb31:           ; preds = %bb28
211         br i1 undef, label %bb34, label %bb32
212
213 bb32:           ; preds = %bb31
214         unreachable
215
216 bb34:           ; preds = %bb31
217         br i1 undef, label %bb83, label %bb66
218
219 bb66:           ; preds = %bb34
220         unreachable
221
222 bb83:           ; preds = %bb34
223         br i1 undef, label %bb2.i1668, label %bb.i1667
224
225 bb.i1667:               ; preds = %bb83
226         unreachable
227
228 bb2.i1668:              ; preds = %bb83
229         br i1 undef, label %bb5.i205, label %bb3.i204
230
231 bb3.i204:               ; preds = %bb2.i1668
232         unreachable
233
234 bb5.i205:               ; preds = %bb2.i1668
235         br i1 undef, label %bb.i206.i, label %ana_AnalyzeSortStructure.exit.i
236
237 bb.i206.i:              ; preds = %bb5.i205
238         br i1 undef, label %bb1.i207.i, label %ana_AnalyzeSortStructure.exit.i
239
240 bb1.i207.i:             ; preds = %bb.i206.i
241         br i1 undef, label %bb25.i1801.thread, label %bb.i1688
242
243 bb.i1688:               ; preds = %bb1.i207.i
244         unreachable
245
246 bb25.i1801.thread:              ; preds = %bb1.i207.i
247         unreachable
248
249 ana_AnalyzeSortStructure.exit.i:                ; preds = %bb.i206.i, %bb5.i205
250         br i1 undef, label %bb7.i207, label %bb.i1806
251
252 bb.i1806:               ; preds = %ana_AnalyzeSortStructure.exit.i
253         br i1 undef, label %bb2.i.i.i1811, label %bb.i.i.i1809
254
255 bb.i.i.i1809:           ; preds = %bb.i1806
256         unreachable
257
258 bb2.i.i.i1811:          ; preds = %bb.i1806
259         unreachable
260
261 bb7.i207:               ; preds = %ana_AnalyzeSortStructure.exit.i
262         br i1 undef, label %bb9.i, label %bb8.i
263
264 bb8.i:          ; preds = %bb7.i207
265         unreachable
266
267 bb9.i:          ; preds = %bb7.i207
268         br i1 undef, label %bb23.i, label %bb26.i
269
270 bb23.i:         ; preds = %bb9.i
271         br i1 undef, label %bb25.i, label %bb24.i
272
273 bb24.i:         ; preds = %bb23.i
274         br i1 undef, label %sort_SortTheoryIsTrivial.exit.i, label %bb.i2093
275
276 bb.i2093:               ; preds = %bb.i2093, %bb24.i
277         br label %bb.i2093
278
279 sort_SortTheoryIsTrivial.exit.i:                ; preds = %bb24.i
280         br i1 undef, label %bb3.i2141, label %bb4.i2143
281
282 bb3.i2141:              ; preds = %sort_SortTheoryIsTrivial.exit.i
283         unreachable
284
285 bb4.i2143:              ; preds = %sort_SortTheoryIsTrivial.exit.i
286         br i1 undef, label %bb8.i2178, label %bb5.i2144
287
288 bb5.i2144:              ; preds = %bb4.i2143
289         br i1 undef, label %bb7.i2177, label %bb1.i28.i
290
291 bb1.i28.i:              ; preds = %bb5.i2144
292         br i1 undef, label %bb4.i43.i, label %bb2.i.i2153
293
294 bb2.i.i2153:            ; preds = %bb1.i28.i
295         br i1 undef, label %bb4.i.i33.i, label %bb.i.i30.i
296
297 bb.i.i30.i:             ; preds = %bb2.i.i2153
298         unreachable
299
300 bb4.i.i33.i:            ; preds = %bb2.i.i2153
301         br i1 undef, label %bb9.i.i36.i, label %bb5.i.i34.i
302
303 bb5.i.i34.i:            ; preds = %bb4.i.i33.i
304         unreachable
305
306 bb9.i.i36.i:            ; preds = %bb4.i.i33.i
307         br i1 undef, label %bb14.i.i.i2163, label %bb10.i.i37.i
308
309 bb10.i.i37.i:           ; preds = %bb9.i.i36.i
310         unreachable
311
312 bb14.i.i.i2163:         ; preds = %bb9.i.i36.i
313         br i1 undef, label %sort_LinkPrint.exit.i.i, label %bb15.i.i.i2164
314
315 bb15.i.i.i2164:         ; preds = %bb14.i.i.i2163
316         unreachable
317
318 sort_LinkPrint.exit.i.i:                ; preds = %bb14.i.i.i2163
319         unreachable
320
321 bb4.i43.i:              ; preds = %bb1.i28.i
322         unreachable
323
324 bb7.i2177:              ; preds = %bb5.i2144
325         unreachable
326
327 bb8.i2178:              ; preds = %bb4.i2143
328         br i1 undef, label %sort_ApproxStaticSortTheory.exit, label %bb.i5.i2185.preheader
329
330 bb.i5.i2185.preheader:          ; preds = %bb8.i2178
331         br label %bb.i5.i2185
332
333 bb.i5.i2185:            ; preds = %bb.i5.i2185, %bb.i5.i2185.preheader
334         br i1 undef, label %sort_ApproxStaticSortTheory.exit, label %bb.i5.i2185
335
336 sort_ApproxStaticSortTheory.exit:               ; preds = %bb.i5.i2185, %bb8.i2178
337         br label %bb25.i
338
339 bb25.i:         ; preds = %sort_ApproxStaticSortTheory.exit, %bb23.i
340         unreachable
341
342 bb26.i:         ; preds = %bb9.i
343         unreachable
344 }