blob: 99e1f14ed570b255e0f9f7a4e0f00569ca522dc8 [file] [log] [blame]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001; RUN: llvm-as < %s | llc -march=x86 -enable-eh -asm-verbose -o - | \
Duncan Sands347d4632007-08-27 16:30:05 +00002; RUN: grep -A 3 {Llabel137.*Region start} | grep {3.*Action}
Dan Gohmanf17a25c2007-07-18 16:29:46 +00003; PR1422
4; PR1508
5
6target triple = "i686-pc-linux-gnu"
7 %struct.exception = type { i8, i8, i32, i8*, i8*, i32, i8* }
8 %struct.string___XUB = type { i32, i32 }
9 %struct.string___XUP = type { i8*, %struct.string___XUB* }
10 %struct.system__secondary_stack__mark_id = type { i8*, i32 }
11@weekS.154 = internal constant [28 x i8] c"SSUNSMONSTUESWEDSTHUSFRISSAT" ; <[28 x i8]*> [#uses=1]
12@weekN.179 = internal constant [8 x i8] c"\01\05\09\0D\11\15\19\1D" ; <[8 x i8]*> [#uses=1]
13@C.28.862 = internal constant %struct.string___XUB { i32 1, i32 85 } ; <%struct.string___XUB*> [#uses=1]
14@C.29.865 = internal constant %struct.string___XUB { i32 1, i32 7 } ; <%struct.string___XUB*> [#uses=1]
15@C.30.904 = internal constant %struct.string___XUB { i32 1, i32 30 } ; <%struct.string___XUB*> [#uses=1]
16@C.32.910 = internal constant %struct.string___XUB { i32 1, i32 28 } ; <%struct.string___XUB*> [#uses=1]
17@C.35.915 = internal constant %struct.string___XUB { i32 1, i32 24 } ; <%struct.string___XUB*> [#uses=1]
18@C.36.923 = internal constant %struct.string___XUB { i32 1, i32 29 } ; <%struct.string___XUB*> [#uses=1]
19@C.98.1466 = internal constant %struct.string___XUB { i32 1, i32 31 } ; <%struct.string___XUB*> [#uses=1]
20@C.101.1473 = internal constant %struct.string___XUB { i32 1, i32 46 } ; <%struct.string___XUB*> [#uses=1]
21@C.104.1478 = internal constant %struct.string___XUB { i32 1, i32 25 } ; <%struct.string___XUB*> [#uses=1]
22@C.124.1606 = internal constant %struct.string___XUB { i32 1, i32 18 } ; <%struct.string___XUB*> [#uses=1]
23@C.143.1720 = internal constant [2 x i32] [ i32 1, i32 2 ] ; <[2 x i32]*> [#uses=1]
24@C.146.1725 = internal constant %struct.string___XUB { i32 1, i32 37 } ; <%struct.string___XUB*> [#uses=1]
25@C.170.1990 = internal constant %struct.string___XUB { i32 1, i32 19 } ; <%struct.string___XUB*> [#uses=1]
26@C.178.2066 = internal constant %struct.string___XUB { i32 1, i32 27 } ; <%struct.string___XUB*> [#uses=1]
27@.str = internal constant [13 x i8] c"c36104b.adb\00\00" ; <[13 x i8]*> [#uses=1]
28@.str1 = internal constant [85 x i8] c"CONSTRAINT_ERROR IS RAISED OR NOT IN DYNAMIC DISCRETE_RANGES WITH EXPLICIT TYPE_MARKS" ; <[85 x i8]*> [#uses=1]
29@.str2 = internal constant [7 x i8] c"C36104B" ; <[7 x i8]*> [#uses=1]
30@constraint_error = external global %struct.exception ; <%struct.exception*> [#uses=18]
31@__gnat_others_value = external constant i32 ; <i32*> [#uses=37]
32@.str3 = internal constant [30 x i8] c"CONSTRAINT_ERROR NOT RAISED 1 " ; <[30 x i8]*> [#uses=1]
33@system__soft_links__abort_undefer = external global void ()* ; <void ()**> [#uses=30]
34@.str4 = internal constant [28 x i8] c"UNHANDLED EXCEPTION RAISED 1" ; <[28 x i8]*> [#uses=1]
35@.str5 = internal constant [24 x i8] c"WRONG EXCEPTION RAISED 1" ; <[24 x i8]*> [#uses=1]
36@.str6 = internal constant [29 x i8] c"CONSTRAINT_ERROR NOT RAISED 3" ; <[29 x i8]*> [#uses=1]
37@.str7 = internal constant [24 x i8] c"WRONG EXCEPTION RAISED 3" ; <[24 x i8]*> [#uses=1]
38@.str10 = internal constant [24 x i8] c"WRONG EXCEPTION RAISED 4" ; <[24 x i8]*> [#uses=1]
39@.str11 = internal constant [30 x i8] c"CONSTRAINT_ERROR NOT RAISED 7 " ; <[30 x i8]*> [#uses=1]
40@.str12 = internal constant [28 x i8] c"UNHANDLED EXCEPTION RAISED 7" ; <[28 x i8]*> [#uses=1]
41@.str13 = internal constant [24 x i8] c"WRONG EXCEPTION RAISED 7" ; <[24 x i8]*> [#uses=1]
42@.str14 = internal constant [30 x i8] c"CONSTRAINT_ERROR NOT RAISED 8 " ; <[30 x i8]*> [#uses=1]
43@.str15 = internal constant [28 x i8] c"UNHANDLED EXCEPTION RAISED 8" ; <[28 x i8]*> [#uses=1]
44@.str16 = internal constant [24 x i8] c"WRONG EXCEPTION RAISED 8" ; <[24 x i8]*> [#uses=1]
45@.str17 = internal constant [30 x i8] c"CONSTRAINT_ERROR NOT RAISED 9 " ; <[30 x i8]*> [#uses=1]
46@.str18 = internal constant [24 x i8] c"WRONG EXCEPTION RAISED 9" ; <[24 x i8]*> [#uses=1]
47@.str19 = internal constant [31 x i8] c"CONSTRAINT_ERROR NOT RAISED 10 " ; <[31 x i8]*> [#uses=1]
48@.str20 = internal constant [46 x i8] c"DID NOT RAISE CONSTRAINT_ERROR AT PROPER PLACE" ; <[46 x i8]*> [#uses=1]
49@.str21 = internal constant [25 x i8] c"WRONG EXCEPTION RAISED 10" ; <[25 x i8]*> [#uses=1]
50@.str22 = internal constant [31 x i8] c"CONSTRAINT_ERROR NOT RAISED 11 " ; <[31 x i8]*> [#uses=1]
51@.str23 = internal constant [25 x i8] c"WRONG EXCEPTION RAISED 11" ; <[25 x i8]*> [#uses=1]
52@.str24 = internal constant [30 x i8] c"'FIRST OF NULL ARRAY INCORRECT" ; <[30 x i8]*> [#uses=1]
53@.str25 = internal constant [18 x i8] c"EXCEPTION RAISED 1" ; <[18 x i8]*> [#uses=1]
54@.str26 = internal constant [18 x i8] c"EXCEPTION RAISED 3" ; <[18 x i8]*> [#uses=1]
55@.str27 = internal constant [31 x i8] c"'LENGTH OF NULL ARRAY INCORRECT" ; <[31 x i8]*> [#uses=1]
56@.str28 = internal constant [18 x i8] c"EXCEPTION RAISED 5" ; <[18 x i8]*> [#uses=1]
57@.str29 = internal constant [37 x i8] c"EVALUATION OF EXPRESSION IS INCORRECT" ; <[37 x i8]*> [#uses=1]
58@.str30 = internal constant [18 x i8] c"EXCEPTION RAISED 7" ; <[18 x i8]*> [#uses=1]
59@.str32 = internal constant [18 x i8] c"EXCEPTION RAISED 9" ; <[18 x i8]*> [#uses=1]
60@.str33 = internal constant [19 x i8] c"EXCEPTION RAISED 10" ; <[19 x i8]*> [#uses=1]
61@.str34 = internal constant [19 x i8] c"EXCEPTION RAISED 12" ; <[19 x i8]*> [#uses=1]
62@.str35 = internal constant [27 x i8] c"INCORRECT 'IN' EVALUATION 1" ; <[27 x i8]*> [#uses=1]
63@.str36 = internal constant [27 x i8] c"INCORRECT 'IN' EVALUATION 2" ; <[27 x i8]*> [#uses=1]
64@.str37 = internal constant [29 x i8] c"INCORRECT 'NOT IN' EVALUATION" ; <[29 x i8]*> [#uses=1]
65@.str38 = internal constant [19 x i8] c"EXCEPTION RAISED 52" ; <[19 x i8]*> [#uses=1]
66
67define void @_ada_c36104b() {
68entry:
69 %tmp9 = alloca %struct.system__secondary_stack__mark_id, align 8 ; <%struct.system__secondary_stack__mark_id*> [#uses=3]
70 %tmp12 = alloca %struct.string___XUP, align 8 ; <%struct.string___XUP*> [#uses=3]
71 %tmp15 = alloca %struct.string___XUP, align 8 ; <%struct.string___XUP*> [#uses=3]
72 %tmp31 = alloca %struct.system__secondary_stack__mark_id, align 8 ; <%struct.system__secondary_stack__mark_id*> [#uses=3]
73 %tmp34 = alloca %struct.string___XUP, align 8 ; <%struct.string___XUP*> [#uses=3]
74 %tmp37 = alloca %struct.string___XUP, align 8 ; <%struct.string___XUP*> [#uses=3]
75 %tmp46 = alloca %struct.system__secondary_stack__mark_id, align 8 ; <%struct.system__secondary_stack__mark_id*> [#uses=3]
76 %tmp49 = alloca %struct.string___XUP, align 8 ; <%struct.string___XUP*> [#uses=3]
77 %tmp52 = alloca %struct.string___XUP, align 8 ; <%struct.string___XUP*> [#uses=3]
78 %tmp55 = alloca %struct.system__secondary_stack__mark_id, align 8 ; <%struct.system__secondary_stack__mark_id*> [#uses=3]
79 %tmp58 = alloca %struct.string___XUP, align 8 ; <%struct.string___XUP*> [#uses=3]
80 %tmp61 = alloca %struct.string___XUP, align 8 ; <%struct.string___XUP*> [#uses=3]
81 %tmp63 = alloca %struct.system__secondary_stack__mark_id, align 8 ; <%struct.system__secondary_stack__mark_id*> [#uses=3]
82 %tmp66 = alloca %struct.string___XUP, align 8 ; <%struct.string___XUP*> [#uses=3]
83 %tmp69 = alloca %struct.string___XUP, align 8 ; <%struct.string___XUP*> [#uses=3]
84 %tmp72 = alloca %struct.system__secondary_stack__mark_id, align 8 ; <%struct.system__secondary_stack__mark_id*> [#uses=3]
85 %tmp75 = alloca %struct.string___XUP, align 8 ; <%struct.string___XUP*> [#uses=3]
86 %tmp78 = alloca %struct.string___XUP, align 8 ; <%struct.string___XUP*> [#uses=3]
87 %tmp123 = call i32 @report__ident_int( i32 0 ) ; <i32> [#uses=3]
88 %tmp125 = icmp ugt i32 %tmp123, 6 ; <i1> [#uses=1]
89 br i1 %tmp125, label %cond_true, label %cond_next136
90
91cond_true: ; preds = %entry
92 call void @__gnat_rcheck_10( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 50 )
93 unreachable
94
95cond_next136: ; preds = %entry
96 %tmp137138 = trunc i32 %tmp123 to i8 ; <i8> [#uses=21]
97 %tmp139 = icmp ugt i8 %tmp137138, 6 ; <i1> [#uses=1]
98 br i1 %tmp139, label %bb, label %bb144
99
100bb: ; preds = %cond_next136
101 call void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 50 )
102 unreachable
103
104bb144: ; preds = %cond_next136
105 %tmp150 = call i32 @report__ident_int( i32 1 ) ; <i32> [#uses=4]
106 %tmp154 = icmp ugt i32 %tmp150, 6 ; <i1> [#uses=1]
107 br i1 %tmp154, label %cond_true157, label %cond_next169
108
109cond_true157: ; preds = %bb144
110 call void @__gnat_rcheck_10( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 51 )
111 unreachable
112
113cond_next169: ; preds = %bb144
114 %tmp170171 = trunc i32 %tmp150 to i8 ; <i8> [#uses=34]
115 %tmp172 = icmp ugt i8 %tmp170171, 6 ; <i1> [#uses=1]
116 br i1 %tmp172, label %bb175, label %bb178
117
118bb175: ; preds = %cond_next169
119 call void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 51 )
120 unreachable
121
122bb178: ; preds = %cond_next169
123 %tmp184 = call i32 @report__ident_int( i32 2 ) ; <i32> [#uses=3]
124 %tmp188 = icmp ugt i32 %tmp184, 6 ; <i1> [#uses=1]
125 br i1 %tmp188, label %cond_true191, label %cond_next203
126
127cond_true191: ; preds = %bb178
128 call void @__gnat_rcheck_10( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 52 )
129 unreachable
130
131cond_next203: ; preds = %bb178
132 %tmp204205 = trunc i32 %tmp184 to i8 ; <i8> [#uses=30]
133 %tmp206 = icmp ugt i8 %tmp204205, 6 ; <i1> [#uses=3]
134 br i1 %tmp206, label %bb209, label %bb212
135
136bb209: ; preds = %cond_next203
137 call void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 52 )
138 unreachable
139
140bb212: ; preds = %cond_next203
141 %tmp218 = call i32 @report__ident_int( i32 3 ) ; <i32> [#uses=4]
142 %tmp222 = icmp ugt i32 %tmp218, 6 ; <i1> [#uses=1]
143 br i1 %tmp222, label %cond_true225, label %cond_next237
144
145cond_true225: ; preds = %bb212
146 call void @__gnat_rcheck_10( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 53 )
147 unreachable
148
149cond_next237: ; preds = %bb212
150 %tmp238239 = trunc i32 %tmp218 to i8 ; <i8> [#uses=34]
151 %tmp240 = icmp ugt i8 %tmp238239, 6 ; <i1> [#uses=2]
152 br i1 %tmp240, label %bb243, label %bb246
153
154bb243: ; preds = %cond_next237
155 call void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 53 )
156 unreachable
157
158bb246: ; preds = %cond_next237
159 %tmp252 = call i32 @report__ident_int( i32 4 ) ; <i32> [#uses=3]
160 %tmp256 = icmp ugt i32 %tmp252, 6 ; <i1> [#uses=1]
161 br i1 %tmp256, label %cond_true259, label %cond_next271
162
163cond_true259: ; preds = %bb246
164 call void @__gnat_rcheck_10( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 54 )
165 unreachable
166
167cond_next271: ; preds = %bb246
168 %tmp272273 = trunc i32 %tmp252 to i8 ; <i8> [#uses=27]
169 %tmp274 = icmp ugt i8 %tmp272273, 6 ; <i1> [#uses=4]
170 br i1 %tmp274, label %bb277, label %bb280
171
172bb277: ; preds = %cond_next271
173 call void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 54 )
174 unreachable
175
176bb280: ; preds = %cond_next271
177 %tmp286 = call i32 @report__ident_int( i32 5 ) ; <i32> [#uses=3]
178 %tmp290 = icmp ugt i32 %tmp286, 6 ; <i1> [#uses=1]
179 br i1 %tmp290, label %cond_true293, label %cond_next305
180
181cond_true293: ; preds = %bb280
182 call void @__gnat_rcheck_10( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 55 )
183 unreachable
184
185cond_next305: ; preds = %bb280
186 %tmp306307 = trunc i32 %tmp286 to i8 ; <i8> [#uses=16]
187 %tmp308 = icmp ugt i8 %tmp306307, 6 ; <i1> [#uses=1]
188 br i1 %tmp308, label %bb311, label %bb314
189
190bb311: ; preds = %cond_next305
191 call void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 55 )
192 unreachable
193
194bb314: ; preds = %cond_next305
195 %tmp320 = call i32 @report__ident_int( i32 6 ) ; <i32> [#uses=2]
196 %tmp324 = icmp ugt i32 %tmp320, 6 ; <i1> [#uses=1]
197 br i1 %tmp324, label %cond_true327, label %cond_next339
198
199cond_true327: ; preds = %bb314
200 call void @__gnat_rcheck_10( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 56 )
201 unreachable
202
203cond_next339: ; preds = %bb314
204 %tmp340341 = trunc i32 %tmp320 to i8 ; <i8> [#uses=4]
205 %tmp342 = icmp ugt i8 %tmp340341, 6 ; <i1> [#uses=1]
206 br i1 %tmp342, label %bb345, label %bb348
207
208bb345: ; preds = %cond_next339
209 call void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 56 )
210 unreachable
211
212bb348: ; preds = %cond_next339
213 %tmp364 = icmp ult i8 %tmp272273, %tmp204205 ; <i1> [#uses=2]
214 br i1 %tmp364, label %cond_next383, label %cond_true367
215
216cond_true367: ; preds = %bb348
217 %tmp370 = icmp ult i8 %tmp204205, %tmp170171 ; <i1> [#uses=1]
218 %tmp374 = icmp ugt i8 %tmp272273, %tmp306307 ; <i1> [#uses=1]
219 %tmp378 = or i1 %tmp374, %tmp370 ; <i1> [#uses=1]
220 br i1 %tmp378, label %cond_true381, label %cond_next383
221
222cond_true381: ; preds = %cond_true367
223 call void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 59 )
224 unreachable
225
226cond_next383: ; preds = %cond_true367, %bb348
227 %tmp384 = call i32 @report__ident_int( i32 -5 ) ; <i32> [#uses=15]
228 %tmp388 = add i32 %tmp384, 10 ; <i32> [#uses=1]
229 %tmp389 = icmp ugt i32 %tmp388, 20 ; <i1> [#uses=1]
230 br i1 %tmp389, label %cond_true392, label %cond_next393
231
232cond_true392: ; preds = %cond_next383
233 call void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 63 )
234 unreachable
235
236cond_next393: ; preds = %cond_next383
237 %tmp394 = call i32 @report__ident_int( i32 5 ) ; <i32> [#uses=18]
238 %tmp398 = add i32 %tmp394, 10 ; <i32> [#uses=1]
239 %tmp399 = icmp ugt i32 %tmp398, 20 ; <i1> [#uses=1]
240 br i1 %tmp399, label %cond_true402, label %cond_next403
241
242cond_true402: ; preds = %cond_next393
243 call void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 64 )
244 unreachable
245
246cond_next403: ; preds = %cond_next393
247 %tmp416 = icmp slt i32 %tmp394, %tmp384 ; <i1> [#uses=1]
248 br i1 %tmp416, label %cond_next437, label %cond_true419
249
250cond_true419: ; preds = %cond_next403
251 %tmp423 = icmp slt i32 %tmp384, -10 ; <i1> [#uses=1]
252 %tmp428 = icmp sgt i32 %tmp394, 10 ; <i1> [#uses=1]
253 %tmp432 = or i1 %tmp428, %tmp423 ; <i1> [#uses=1]
254 br i1 %tmp432, label %cond_true435, label %cond_next437
255
256cond_true435: ; preds = %cond_true419
257 call void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 63 )
258 unreachable
259
260cond_next437: ; preds = %cond_true419, %cond_next403
261 call void @report__test( i64 or (i64 zext (i32 ptrtoint ([7 x i8]* @.str2 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.29.865 to i32) to i64), i64 32)), i64 or (i64 zext (i32 ptrtoint ([85 x i8]* @.str1 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.28.862 to i32) to i64), i64 32)) )
262 %tmp453 = icmp sgt i32 %tmp384, 0 ; <i1> [#uses=1]
263 %tmp458 = icmp slt i32 %tmp394, 6 ; <i1> [#uses=1]
264 %tmp462 = or i1 %tmp458, %tmp453 ; <i1> [#uses=3]
265 br i1 %tmp462, label %cond_true465, label %cond_next467
266
267cond_true465: ; preds = %cond_next437
268 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 80 )
269 to label %UnifiedUnreachableBlock34 unwind label %unwind
270
271unwind: ; preds = %cleanup798, %unwind783, %cond_true465
272 %eh_ptr = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=3]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +0000273 %eh_select = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), %struct.exception* @constraint_error, i32* @__gnat_others_value ) ; <i32> [#uses=2]
274 %eh_typeid8065921 = call i32 @llvm.eh.typeid.for.i32( i8* getelementptr (%struct.exception* @constraint_error, i32 0, i32 0) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000275 %tmp8085923 = icmp eq i32 %eh_select, %eh_typeid8065921 ; <i1> [#uses=1]
276 br i1 %tmp8085923, label %eh_then809, label %eh_else823
277
278cond_next467: ; preds = %cond_next437
279 invoke void @system__secondary_stack__ss_mark( %struct.system__secondary_stack__mark_id* %tmp9 sret )
280 to label %invcont472 unwind label %unwind468
281
282unwind468: ; preds = %cleanup, %unwind480, %cond_next467
283 %eh_ptr469 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=3]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +0000284 %eh_select471 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr469, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), i32* @__gnat_others_value ) ; <i32> [#uses=2]
285 %eh_typeid5928 = call i32 @llvm.eh.typeid.for.i32( i8* bitcast (i32* @__gnat_others_value to i8*) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000286 %tmp7815929 = icmp eq i32 %eh_select471, %eh_typeid5928 ; <i1> [#uses=1]
287 br i1 %tmp7815929, label %eh_then, label %cleanup805
288
289invcont472: ; preds = %cond_next467
290 %tmp475 = getelementptr %struct.system__secondary_stack__mark_id* %tmp9, i32 0, i32 0 ; <i8**> [#uses=1]
291 %tmp476 = load i8** %tmp475 ; <i8*> [#uses=2]
292 %tmp478 = getelementptr %struct.system__secondary_stack__mark_id* %tmp9, i32 0, i32 1 ; <i32*> [#uses=1]
293 %tmp479 = load i32* %tmp478 ; <i32> [#uses=2]
294 %tmp485 = invoke i32 @report__ident_int( i32 1 )
295 to label %invcont484 unwind label %unwind480 ; <i32> [#uses=2]
296
297unwind480: ; preds = %invcont734, %invcont717, %cond_next665, %cond_true663, %cond_next639, %cond_true637, %cond_next613, %cond_true611, %cond_next587, %cond_true585, %cond_next561, %cond_true559, %cond_next535, %cond_true533, %cond_next509, %cond_true507, %invcont472
298 %eh_ptr481 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=3]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +0000299 %eh_select483 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr481, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), i32* @__gnat_others_value ) ; <i32> [#uses=2]
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000300 %tmp7685575 = ptrtoint i8* %tmp476 to i32 ; <i32> [#uses=1]
301 %tmp76855755576 = zext i32 %tmp7685575 to i64 ; <i64> [#uses=1]
302 %tmp7715572 = zext i32 %tmp479 to i64 ; <i64> [#uses=1]
303 %tmp77155725573 = shl i64 %tmp7715572, 32 ; <i64> [#uses=1]
304 %tmp77155725573.ins = or i64 %tmp77155725573, %tmp76855755576 ; <i64> [#uses=1]
305 invoke void @system__secondary_stack__ss_release( i64 %tmp77155725573.ins )
306 to label %cleanup779 unwind label %unwind468
307
308invcont484: ; preds = %invcont472
309 %tmp492 = icmp slt i32 %tmp485, %tmp384 ; <i1> [#uses=1]
310 %tmp500 = icmp sgt i32 %tmp485, %tmp394 ; <i1> [#uses=1]
311 %tmp504 = or i1 %tmp492, %tmp500 ; <i1> [#uses=1]
312 br i1 %tmp504, label %cond_true507, label %cond_next509
313
314cond_true507: ; preds = %invcont484
315 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 86 )
316 to label %UnifiedUnreachableBlock34 unwind label %unwind480
317
318cond_next509: ; preds = %invcont484
319 %tmp511 = invoke i32 @report__ident_int( i32 1 )
320 to label %invcont510 unwind label %unwind480 ; <i32> [#uses=3]
321
322invcont510: ; preds = %cond_next509
323 %tmp518 = icmp slt i32 %tmp511, %tmp384 ; <i1> [#uses=1]
324 %tmp526 = icmp sgt i32 %tmp511, %tmp394 ; <i1> [#uses=1]
325 %tmp530 = or i1 %tmp518, %tmp526 ; <i1> [#uses=1]
326 br i1 %tmp530, label %cond_true533, label %cond_next535
327
328cond_true533: ; preds = %invcont510
329 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 86 )
330 to label %UnifiedUnreachableBlock34 unwind label %unwind480
331
332cond_next535: ; preds = %invcont510
333 %tmp537 = invoke i32 @report__ident_int( i32 1 )
334 to label %invcont536 unwind label %unwind480 ; <i32> [#uses=2]
335
336invcont536: ; preds = %cond_next535
337 %tmp544 = icmp slt i32 %tmp537, %tmp384 ; <i1> [#uses=1]
338 %tmp552 = icmp sgt i32 %tmp537, %tmp394 ; <i1> [#uses=1]
339 %tmp556 = or i1 %tmp544, %tmp552 ; <i1> [#uses=1]
340 br i1 %tmp556, label %cond_true559, label %cond_next561
341
342cond_true559: ; preds = %invcont536
343 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 86 )
344 to label %UnifiedUnreachableBlock34 unwind label %unwind480
345
346cond_next561: ; preds = %invcont536
347 %tmp563 = invoke i32 @report__ident_int( i32 1 )
348 to label %invcont562 unwind label %unwind480 ; <i32> [#uses=2]
349
350invcont562: ; preds = %cond_next561
351 %tmp570 = icmp slt i32 %tmp563, %tmp384 ; <i1> [#uses=1]
352 %tmp578 = icmp sgt i32 %tmp563, %tmp394 ; <i1> [#uses=1]
353 %tmp582 = or i1 %tmp570, %tmp578 ; <i1> [#uses=1]
354 br i1 %tmp582, label %cond_true585, label %cond_next587
355
356cond_true585: ; preds = %invcont562
357 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 86 )
358 to label %UnifiedUnreachableBlock34 unwind label %unwind480
359
360cond_next587: ; preds = %invcont562
361 %tmp589 = invoke i32 @report__ident_int( i32 1 )
362 to label %invcont588 unwind label %unwind480 ; <i32> [#uses=2]
363
364invcont588: ; preds = %cond_next587
365 %tmp596 = icmp slt i32 %tmp589, %tmp384 ; <i1> [#uses=1]
366 %tmp604 = icmp sgt i32 %tmp589, %tmp394 ; <i1> [#uses=1]
367 %tmp608 = or i1 %tmp596, %tmp604 ; <i1> [#uses=1]
368 br i1 %tmp608, label %cond_true611, label %cond_next613
369
370cond_true611: ; preds = %invcont588
371 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 86 )
372 to label %UnifiedUnreachableBlock34 unwind label %unwind480
373
374cond_next613: ; preds = %invcont588
375 %tmp615 = invoke i32 @report__ident_int( i32 1 )
376 to label %invcont614 unwind label %unwind480 ; <i32> [#uses=2]
377
378invcont614: ; preds = %cond_next613
379 %tmp622 = icmp slt i32 %tmp615, %tmp384 ; <i1> [#uses=1]
380 %tmp630 = icmp sgt i32 %tmp615, %tmp394 ; <i1> [#uses=1]
381 %tmp634 = or i1 %tmp622, %tmp630 ; <i1> [#uses=1]
382 br i1 %tmp634, label %cond_true637, label %cond_next639
383
384cond_true637: ; preds = %invcont614
385 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 86 )
386 to label %UnifiedUnreachableBlock34 unwind label %unwind480
387
388cond_next639: ; preds = %invcont614
389 %tmp641 = invoke i32 @report__ident_int( i32 1 )
390 to label %invcont640 unwind label %unwind480 ; <i32> [#uses=2]
391
392invcont640: ; preds = %cond_next639
393 %tmp648 = icmp slt i32 %tmp641, %tmp384 ; <i1> [#uses=1]
394 %tmp656 = icmp sgt i32 %tmp641, %tmp394 ; <i1> [#uses=1]
395 %tmp660 = or i1 %tmp648, %tmp656 ; <i1> [#uses=1]
396 br i1 %tmp660, label %cond_true663, label %cond_next665
397
398cond_true663: ; preds = %invcont640
399 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 86 )
400 to label %UnifiedUnreachableBlock34 unwind label %unwind480
401
402cond_next665: ; preds = %invcont640
403 invoke void @system__img_int__image_integer( %struct.string___XUP* %tmp12 sret , i32 %tmp511 )
404 to label %invcont717 unwind label %unwind480
405
406invcont717: ; preds = %cond_next665
407 %tmp719 = getelementptr %struct.string___XUP* %tmp12, i32 0, i32 0 ; <i8**> [#uses=1]
408 %tmp720 = load i8** %tmp719 ; <i8*> [#uses=1]
409 %tmp7205888 = ptrtoint i8* %tmp720 to i32 ; <i32> [#uses=1]
410 %tmp72058885889 = zext i32 %tmp7205888 to i64 ; <i64> [#uses=1]
411 %tmp722 = getelementptr %struct.string___XUP* %tmp12, i32 0, i32 1 ; <%struct.string___XUB**> [#uses=1]
412 %tmp723 = load %struct.string___XUB** %tmp722 ; <%struct.string___XUB*> [#uses=1]
413 %tmp7235884 = ptrtoint %struct.string___XUB* %tmp723 to i32 ; <i32> [#uses=1]
414 %tmp72358845885 = zext i32 %tmp7235884 to i64 ; <i64> [#uses=1]
415 %tmp723588458855886 = shl i64 %tmp72358845885, 32 ; <i64> [#uses=1]
416 %tmp723588458855886.ins = or i64 %tmp723588458855886, %tmp72058885889 ; <i64> [#uses=1]
417 invoke void @system__string_ops__str_concat( %struct.string___XUP* %tmp15 sret , i64 or (i64 zext (i32 ptrtoint ([30 x i8]* @.str3 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.30.904 to i32) to i64), i64 32)), i64 %tmp723588458855886.ins )
418 to label %invcont734 unwind label %unwind480
419
420invcont734: ; preds = %invcont717
421 %tmp736 = getelementptr %struct.string___XUP* %tmp15, i32 0, i32 0 ; <i8**> [#uses=1]
422 %tmp737 = load i8** %tmp736 ; <i8*> [#uses=1]
423 %tmp7375876 = ptrtoint i8* %tmp737 to i32 ; <i32> [#uses=1]
424 %tmp73758765877 = zext i32 %tmp7375876 to i64 ; <i64> [#uses=1]
425 %tmp739 = getelementptr %struct.string___XUP* %tmp15, i32 0, i32 1 ; <%struct.string___XUB**> [#uses=1]
426 %tmp740 = load %struct.string___XUB** %tmp739 ; <%struct.string___XUB*> [#uses=1]
427 %tmp7405872 = ptrtoint %struct.string___XUB* %tmp740 to i32 ; <i32> [#uses=1]
428 %tmp74058725873 = zext i32 %tmp7405872 to i64 ; <i64> [#uses=1]
429 %tmp740587258735874 = shl i64 %tmp74058725873, 32 ; <i64> [#uses=1]
430 %tmp740587258735874.ins = or i64 %tmp740587258735874, %tmp73758765877 ; <i64> [#uses=1]
431 invoke void @report__failed( i64 %tmp740587258735874.ins )
432 to label %cleanup unwind label %unwind480
433
434cleanup: ; preds = %invcont734
435 %tmp7515581 = ptrtoint i8* %tmp476 to i32 ; <i32> [#uses=1]
436 %tmp75155815582 = zext i32 %tmp7515581 to i64 ; <i64> [#uses=1]
437 %tmp7545578 = zext i32 %tmp479 to i64 ; <i64> [#uses=1]
438 %tmp75455785579 = shl i64 %tmp7545578, 32 ; <i64> [#uses=1]
439 %tmp75455785579.ins = or i64 %tmp75455785579, %tmp75155815582 ; <i64> [#uses=1]
440 invoke void @system__secondary_stack__ss_release( i64 %tmp75455785579.ins )
441 to label %cond_true856 unwind label %unwind468
442
443cleanup779: ; preds = %unwind480
Anton Korobeynikov94c46a02007-09-07 11:39:35 +0000444 %eh_typeid = call i32 @llvm.eh.typeid.for.i32( i8* bitcast (i32* @__gnat_others_value to i8*) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000445 %tmp781 = icmp eq i32 %eh_select483, %eh_typeid ; <i1> [#uses=1]
446 br i1 %tmp781, label %eh_then, label %cleanup805
447
448eh_then: ; preds = %cleanup779, %unwind468
449 %eh_exception.35924.0 = phi i8* [ %eh_ptr469, %unwind468 ], [ %eh_ptr481, %cleanup779 ] ; <i8*> [#uses=3]
450 invoke void @__gnat_begin_handler( i8* %eh_exception.35924.0 )
451 to label %invcont787 unwind label %unwind783
452
453unwind783: ; preds = %invcont789, %invcont787, %eh_then
454 %eh_ptr784 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=2]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +0000455 %eh_select786 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr784, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), %struct.exception* @constraint_error, i32* @__gnat_others_value ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000456 invoke void @__gnat_end_handler( i8* %eh_exception.35924.0 )
457 to label %cleanup805 unwind label %unwind
458
459invcont787: ; preds = %eh_then
460 %tmp788 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
461 invoke void %tmp788( )
462 to label %invcont789 unwind label %unwind783
463
464invcont789: ; preds = %invcont787
465 invoke void @report__failed( i64 or (i64 zext (i32 ptrtoint ([28 x i8]* @.str4 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.32.910 to i32) to i64), i64 32)) )
466 to label %cleanup798 unwind label %unwind783
467
468cleanup798: ; preds = %invcont789
469 invoke void @__gnat_end_handler( i8* %eh_exception.35924.0 )
470 to label %cond_true856 unwind label %unwind
471
472cleanup805: ; preds = %unwind783, %cleanup779, %unwind468
473 %eh_selector.0 = phi i32 [ %eh_select471, %unwind468 ], [ %eh_select483, %cleanup779 ], [ %eh_select786, %unwind783 ] ; <i32> [#uses=2]
474 %eh_exception.0 = phi i8* [ %eh_ptr469, %unwind468 ], [ %eh_ptr481, %cleanup779 ], [ %eh_ptr784, %unwind783 ] ; <i8*> [#uses=2]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +0000475 %eh_typeid806 = call i32 @llvm.eh.typeid.for.i32( i8* getelementptr (%struct.exception* @constraint_error, i32 0, i32 0) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000476 %tmp808 = icmp eq i32 %eh_selector.0, %eh_typeid806 ; <i1> [#uses=1]
477 br i1 %tmp808, label %eh_then809, label %eh_else823
478
479eh_then809: ; preds = %cleanup805, %unwind
480 %eh_exception.05914.0 = phi i8* [ %eh_ptr, %unwind ], [ %eh_exception.0, %cleanup805 ] ; <i8*> [#uses=3]
481 invoke void @__gnat_begin_handler( i8* %eh_exception.05914.0 )
482 to label %invcont815 unwind label %unwind813
483
484unwind813: ; preds = %invcont815, %eh_then809
485 %eh_ptr814 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
486 call void @__gnat_end_handler( i8* %eh_exception.05914.0 )
487 call i32 (...)* @_Unwind_Resume( i8* %eh_ptr814 ) ; <i32>:0 [#uses=0]
488 unreachable
489
490invcont815: ; preds = %eh_then809
491 %tmp816 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
492 invoke void %tmp816( )
493 to label %cleanup819 unwind label %unwind813
494
495cleanup819: ; preds = %invcont815
496 call void @__gnat_end_handler( i8* %eh_exception.05914.0 )
497 %tmp8595931 = icmp ult i8 %tmp170171, %tmp204205 ; <i1> [#uses=1]
498 %tmp8635932 = icmp ugt i8 %tmp170171, %tmp272273 ; <i1> [#uses=1]
499 %tmp8675933 = or i1 %tmp8635932, %tmp8595931 ; <i1> [#uses=1]
500 br i1 %tmp8675933, label %cond_true870, label %bb887
501
502eh_else823: ; preds = %cleanup805, %unwind
503 %eh_selector.05912.1 = phi i32 [ %eh_select, %unwind ], [ %eh_selector.0, %cleanup805 ] ; <i32> [#uses=1]
504 %eh_exception.05914.1 = phi i8* [ %eh_ptr, %unwind ], [ %eh_exception.0, %cleanup805 ] ; <i8*> [#uses=4]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +0000505 %eh_typeid824 = call i32 @llvm.eh.typeid.for.i32( i8* bitcast (i32* @__gnat_others_value to i8*) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000506 %tmp826 = icmp eq i32 %eh_selector.05912.1, %eh_typeid824 ; <i1> [#uses=1]
507 br i1 %tmp826, label %eh_then827, label %Unwind
508
509eh_then827: ; preds = %eh_else823
510 invoke void @__gnat_begin_handler( i8* %eh_exception.05914.1 )
511 to label %invcont833 unwind label %unwind831
512
513unwind831: ; preds = %invcont835, %invcont833, %eh_then827
514 %eh_ptr832 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
515 call void @__gnat_end_handler( i8* %eh_exception.05914.1 )
516 call i32 (...)* @_Unwind_Resume( i8* %eh_ptr832 ) ; <i32>:1 [#uses=0]
517 unreachable
518
519invcont833: ; preds = %eh_then827
520 %tmp834 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
521 invoke void %tmp834( )
522 to label %invcont835 unwind label %unwind831
523
524invcont835: ; preds = %invcont833
525 invoke void @report__failed( i64 or (i64 zext (i32 ptrtoint ([24 x i8]* @.str5 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.35.915 to i32) to i64), i64 32)) )
526 to label %cleanup844 unwind label %unwind831
527
528cleanup844: ; preds = %invcont835
529 call void @__gnat_end_handler( i8* %eh_exception.05914.1 )
530 br label %cond_true856
531
532cond_true856: ; preds = %cleanup844, %cleanup798, %cleanup
533 %tmp859 = icmp ult i8 %tmp170171, %tmp204205 ; <i1> [#uses=1]
534 %tmp863 = icmp ugt i8 %tmp170171, %tmp272273 ; <i1> [#uses=1]
535 %tmp867 = or i1 %tmp863, %tmp859 ; <i1> [#uses=1]
536 br i1 %tmp867, label %cond_true870, label %bb887
537
538cond_true870: ; preds = %cond_true856, %cleanup819
539 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 103 )
540 to label %UnifiedUnreachableBlock34 unwind label %unwind871
541
542unwind871: ; preds = %cond_next905, %bb887, %cond_true870
543 %sat.3 = phi i8 [ %tmp340341, %cond_true870 ], [ %sat.1, %bb887 ], [ %sat.0, %cond_next905 ] ; <i8> [#uses=2]
544 %eh_ptr872 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=8]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +0000545 %eh_select874 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr872, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), %struct.exception* @constraint_error, i32* @__gnat_others_value ) ; <i32> [#uses=2]
546 %eh_typeid915 = call i32 @llvm.eh.typeid.for.i32( i8* getelementptr (%struct.exception* @constraint_error, i32 0, i32 0) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000547 %tmp917 = icmp eq i32 %eh_select874, %eh_typeid915 ; <i1> [#uses=1]
548 br i1 %tmp917, label %eh_then918, label %eh_else932
549
550bb887: ; preds = %cond_next901, %cond_true856, %cleanup819
551 %indvar = phi i8 [ %indvar.next10, %cond_next901 ], [ 0, %cond_true856 ], [ 0, %cleanup819 ] ; <i8> [#uses=2]
552 %sat.1 = phi i8 [ %sat.0, %cond_next901 ], [ %tmp340341, %cond_true856 ], [ %tmp340341, %cleanup819 ] ; <i8> [#uses=2]
553 %tmp889 = invoke i8 @report__equal( i32 2, i32 2 )
554 to label %invcont888 unwind label %unwind871 ; <i8> [#uses=1]
555
556invcont888: ; preds = %bb887
557 %i.4 = add i8 %indvar, %tmp170171 ; <i8> [#uses=1]
558 %tmp890 = icmp eq i8 %tmp889, 0 ; <i1> [#uses=1]
559 %sat.0 = select i1 %tmp890, i8 %sat.1, i8 6 ; <i8> [#uses=3]
560 %tmp897 = icmp eq i8 %i.4, %tmp170171 ; <i1> [#uses=1]
561 br i1 %tmp897, label %cond_next905, label %cond_next901
562
563cond_next901: ; preds = %invcont888
564 %indvar.next10 = add i8 %indvar, 1 ; <i8> [#uses=1]
565 br label %bb887
566
567cond_next905: ; preds = %invcont888
568 invoke void @report__failed( i64 or (i64 zext (i32 ptrtoint ([29 x i8]* @.str6 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.36.923 to i32) to i64), i64 32)) )
569 to label %finally913 unwind label %unwind871
570
571eh_then918: ; preds = %unwind871
572 invoke void @__gnat_begin_handler( i8* %eh_ptr872 )
573 to label %invcont924 unwind label %unwind922
574
575unwind922: ; preds = %invcont924, %eh_then918
576 %eh_ptr923 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
577 call void @__gnat_end_handler( i8* %eh_ptr872 )
578 call i32 (...)* @_Unwind_Resume( i8* %eh_ptr923 ) ; <i32>:2 [#uses=0]
579 unreachable
580
581invcont924: ; preds = %eh_then918
582 %tmp925 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
583 invoke void %tmp925( )
584 to label %cleanup928 unwind label %unwind922
585
586cleanup928: ; preds = %invcont924
587 call void @__gnat_end_handler( i8* %eh_ptr872 )
588 br i1 %tmp462, label %cond_true973, label %UnifiedReturnBlock35
589
590eh_else932: ; preds = %unwind871
Anton Korobeynikov94c46a02007-09-07 11:39:35 +0000591 %eh_typeid933 = call i32 @llvm.eh.typeid.for.i32( i8* bitcast (i32* @__gnat_others_value to i8*) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000592 %tmp935 = icmp eq i32 %eh_select874, %eh_typeid933 ; <i1> [#uses=1]
593 br i1 %tmp935, label %eh_then936, label %Unwind
594
595eh_then936: ; preds = %eh_else932
596 invoke void @__gnat_begin_handler( i8* %eh_ptr872 )
597 to label %invcont942 unwind label %unwind940
598
599unwind940: ; preds = %invcont944, %invcont942, %eh_then936
600 %eh_ptr941 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
601 call void @__gnat_end_handler( i8* %eh_ptr872 )
602 call i32 (...)* @_Unwind_Resume( i8* %eh_ptr941 ) ; <i32>:3 [#uses=0]
603 unreachable
604
605invcont942: ; preds = %eh_then936
606 %tmp943 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
607 invoke void %tmp943( )
608 to label %invcont944 unwind label %unwind940
609
610invcont944: ; preds = %invcont942
611 invoke void @report__failed( i64 or (i64 zext (i32 ptrtoint ([24 x i8]* @.str7 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.35.915 to i32) to i64), i64 32)) )
612 to label %cleanup953 unwind label %unwind940
613
614cleanup953: ; preds = %invcont944
615 call void @__gnat_end_handler( i8* %eh_ptr872 )
616 br label %finally913
617
618finally913: ; preds = %cleanup953, %cond_next905
619 %sat.4 = phi i8 [ %sat.3, %cleanup953 ], [ %sat.0, %cond_next905 ] ; <i8> [#uses=1]
620 br i1 %tmp462, label %cond_true973, label %UnifiedReturnBlock35
621
622cond_true973: ; preds = %finally913, %cleanup928
623 %sat.45934.0 = phi i8 [ %sat.3, %cleanup928 ], [ %sat.4, %finally913 ] ; <i8> [#uses=9]
624 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 119 )
625 to label %UnifiedUnreachableBlock34 unwind label %unwind974
626
627unwind974: ; preds = %cond_true973
628 %eh_ptr975 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=8]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +0000629 %eh_select977 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr975, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), %struct.exception* @constraint_error, i32* @__gnat_others_value ) ; <i32> [#uses=2]
630 %eh_typeid13135959 = call i32 @llvm.eh.typeid.for.i32( i8* getelementptr (%struct.exception* @constraint_error, i32 0, i32 0) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000631 %tmp13155961 = icmp eq i32 %eh_select977, %eh_typeid13135959 ; <i1> [#uses=1]
632 br i1 %tmp13155961, label %eh_then1316, label %eh_else1330
633
634eh_then1316: ; preds = %unwind974
635 invoke void @__gnat_begin_handler( i8* %eh_ptr975 )
636 to label %invcont1322 unwind label %unwind1320
637
638unwind1320: ; preds = %invcont1322, %eh_then1316
639 %eh_ptr1321 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
640 call void @__gnat_end_handler( i8* %eh_ptr975 )
641 call i32 (...)* @_Unwind_Resume( i8* %eh_ptr1321 ) ; <i32>:4 [#uses=0]
642 unreachable
643
644invcont1322: ; preds = %eh_then1316
645 %tmp1323 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
646 invoke void %tmp1323( )
647 to label %cleanup1326 unwind label %unwind1320
648
649cleanup1326: ; preds = %invcont1322
650 call void @__gnat_end_handler( i8* %eh_ptr975 )
651 br label %finally1311
652
653eh_else1330: ; preds = %unwind974
Anton Korobeynikov94c46a02007-09-07 11:39:35 +0000654 %eh_typeid1331 = call i32 @llvm.eh.typeid.for.i32( i8* bitcast (i32* @__gnat_others_value to i8*) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000655 %tmp1333 = icmp eq i32 %eh_select977, %eh_typeid1331 ; <i1> [#uses=1]
656 br i1 %tmp1333, label %eh_then1334, label %Unwind
657
658eh_then1334: ; preds = %eh_else1330
659 invoke void @__gnat_begin_handler( i8* %eh_ptr975 )
660 to label %invcont1340 unwind label %unwind1338
661
662unwind1338: ; preds = %invcont1342, %invcont1340, %eh_then1334
663 %eh_ptr1339 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
664 call void @__gnat_end_handler( i8* %eh_ptr975 )
665 call i32 (...)* @_Unwind_Resume( i8* %eh_ptr1339 ) ; <i32>:5 [#uses=0]
666 unreachable
667
668invcont1340: ; preds = %eh_then1334
669 %tmp1341 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
670 invoke void %tmp1341( )
671 to label %invcont1342 unwind label %unwind1338
672
673invcont1342: ; preds = %invcont1340
674 invoke void @report__failed( i64 or (i64 zext (i32 ptrtoint ([24 x i8]* @.str10 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.35.915 to i32) to i64), i64 32)) )
675 to label %cleanup1351 unwind label %unwind1338
676
677cleanup1351: ; preds = %invcont1342
678 call void @__gnat_end_handler( i8* %eh_ptr975 )
679 br label %finally1311
680
681finally1311: ; preds = %cleanup1351, %cleanup1326
682 %tmp1356 = call i8* @llvm.stacksave( ) ; <i8*> [#uses=6]
683 %tmp13571358 = and i32 %tmp184, 255 ; <i32> [#uses=11]
684 %tmp13831384 = and i32 %tmp252, 255 ; <i32> [#uses=5]
685 %tmp1387 = add i32 %tmp13571358, -1 ; <i32> [#uses=2]
686 %tmp1388 = icmp sge i32 %tmp13831384, %tmp1387 ; <i1> [#uses=1]
687 %max1389 = select i1 %tmp1388, i32 %tmp13831384, i32 %tmp1387 ; <i32> [#uses=1]
688 %tmp1392 = sub i32 %max1389, %tmp13571358 ; <i32> [#uses=1]
689 %tmp1393 = add i32 %tmp1392, 1 ; <i32> [#uses=2]
690 %tmp1394 = icmp sgt i32 %tmp1393, -1 ; <i1> [#uses=1]
691 %max1395 = select i1 %tmp1394, i32 %tmp1393, i32 0 ; <i32> [#uses=5]
692 %tmp1397 = alloca i8, i32 %max1395 ; <i8*> [#uses=2]
693 %tmp1401 = icmp ult i8 %tmp238239, %tmp170171 ; <i1> [#uses=2]
694 br i1 %tmp1401, label %cond_next1425, label %cond_true1404
695
696cond_true1404: ; preds = %finally1311
697 %tmp1407 = icmp ult i8 %tmp170171, %tmp204205 ; <i1> [#uses=1]
698 %tmp1411 = icmp ugt i8 %tmp238239, %tmp272273 ; <i1> [#uses=1]
699 %tmp1415 = or i1 %tmp1411, %tmp1407 ; <i1> [#uses=1]
700 br i1 %tmp1415, label %cond_true1418, label %cond_next1425
701
702cond_true1418: ; preds = %cond_true1404
703 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 144 )
704 to label %UnifiedUnreachableBlock34 unwind label %unwind1419
705
706unwind1419: ; preds = %cleanup1702, %cleanup1686, %unwind1676, %cond_next1548, %cond_true1546, %cond_true1418
707 %eh_ptr1420 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=3]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +0000708 %eh_select1422 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr1420, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), %struct.exception* @constraint_error, i32* @__gnat_others_value ) ; <i32> [#uses=2]
709 %eh_typeid17215981 = call i32 @llvm.eh.typeid.for.i32( i8* getelementptr (%struct.exception* @constraint_error, i32 0, i32 0) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000710 %tmp17235983 = icmp eq i32 %eh_select1422, %eh_typeid17215981 ; <i1> [#uses=1]
711 br i1 %tmp17235983, label %eh_then1724, label %eh_else1742
712
713cond_next1425: ; preds = %cond_true1404, %finally1311
714 %tmp14281429 = and i32 %tmp150, 255 ; <i32> [#uses=3]
715 %tmp14841485 = and i32 %tmp218, 255 ; <i32> [#uses=3]
716 %tmp1488 = add i32 %tmp14281429, -1 ; <i32> [#uses=2]
717 %tmp1489 = icmp sge i32 %tmp14841485, %tmp1488 ; <i1> [#uses=1]
718 %max1490 = select i1 %tmp1489, i32 %tmp14841485, i32 %tmp1488 ; <i32> [#uses=1]
719 %tmp1493 = sub i32 %max1490, %tmp14281429 ; <i32> [#uses=1]
720 %tmp1494 = add i32 %tmp1493, 1 ; <i32> [#uses=2]
721 %tmp1495 = icmp sgt i32 %tmp1494, -1 ; <i1> [#uses=1]
722 %max1496 = select i1 %tmp1495, i32 %tmp1494, i32 0 ; <i32> [#uses=1]
723 %tmp1497 = alloca i8, i32 %max1496 ; <i8*> [#uses=3]
724 %tmp1504 = icmp ugt i8 %tmp170171, %tmp238239 ; <i1> [#uses=1]
725 br i1 %tmp1504, label %cond_next1526, label %bb1509
726
727bb1509: ; preds = %cond_next1425
728 store i8 %tmp238239, i8* %tmp1497
729 %tmp1518 = icmp eq i8 %tmp238239, %tmp170171 ; <i1> [#uses=1]
730 br i1 %tmp1518, label %cond_next1526, label %cond_next1522.preheader
731
732cond_next1522.preheader: ; preds = %bb1509
733 %J64b.55984.8 = add i8 %tmp170171, 1 ; <i8> [#uses=1]
734 br label %cond_next1522
735
736cond_next1522: ; preds = %cond_next1522, %cond_next1522.preheader
737 %indvar6241 = phi i8 [ 0, %cond_next1522.preheader ], [ %indvar.next, %cond_next1522 ] ; <i8> [#uses=2]
738 %tmp1524 = add i8 %J64b.55984.8, %indvar6241 ; <i8> [#uses=2]
739 %tmp151015115988 = zext i8 %tmp1524 to i32 ; <i32> [#uses=1]
740 %tmp15135989 = sub i32 %tmp151015115988, %tmp14281429 ; <i32> [#uses=1]
741 %tmp15145990 = getelementptr i8* %tmp1497, i32 %tmp15135989 ; <i8*> [#uses=1]
742 store i8 %tmp238239, i8* %tmp15145990
743 %tmp15185992 = icmp eq i8 %tmp238239, %tmp1524 ; <i1> [#uses=1]
744 %indvar.next = add i8 %indvar6241, 1 ; <i8> [#uses=1]
745 br i1 %tmp15185992, label %cond_next1526, label %cond_next1522
746
747cond_next1526: ; preds = %cond_next1522, %bb1509, %cond_next1425
748 %tmp15271528 = zext i8 %tmp272273 to i64 ; <i64> [#uses=1]
749 %tmp15291530 = zext i8 %tmp204205 to i64 ; <i64> [#uses=1]
750 %tmp1531 = sub i64 %tmp15271528, %tmp15291530 ; <i64> [#uses=1]
751 %tmp1532 = add i64 %tmp1531, 1 ; <i64> [#uses=2]
752 %tmp1533 = icmp sgt i64 %tmp1532, -1 ; <i1> [#uses=1]
753 %max1534 = select i1 %tmp1533, i64 %tmp1532, i64 0 ; <i64> [#uses=1]
754 %tmp15351536 = zext i8 %tmp238239 to i64 ; <i64> [#uses=1]
755 %tmp15371538 = zext i8 %tmp170171 to i64 ; <i64> [#uses=1]
756 %tmp1539 = sub i64 %tmp15351536, %tmp15371538 ; <i64> [#uses=1]
757 %tmp1540 = add i64 %tmp1539, 1 ; <i64> [#uses=2]
758 %tmp1541 = icmp sgt i64 %tmp1540, -1 ; <i1> [#uses=1]
759 %max1542 = select i1 %tmp1541, i64 %tmp1540, i64 0 ; <i64> [#uses=1]
760 %tmp1543 = icmp eq i64 %max1534, %max1542 ; <i1> [#uses=1]
761 br i1 %tmp1543, label %cond_next1548, label %cond_true1546
762
763cond_true1546: ; preds = %cond_next1526
764 invoke void @__gnat_rcheck_07( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 144 )
765 to label %UnifiedUnreachableBlock34 unwind label %unwind1419
766
767cond_next1548: ; preds = %cond_next1526
768 call void @llvm.memcpy.i32( i8* %tmp1397, i8* %tmp1497, i32 %max1395, i32 1 )
769 invoke void @system__secondary_stack__ss_mark( %struct.system__secondary_stack__mark_id* %tmp31 sret )
770 to label %invcont1552 unwind label %unwind1419
771
772invcont1552: ; preds = %cond_next1548
773 %tmp1555 = getelementptr %struct.system__secondary_stack__mark_id* %tmp31, i32 0, i32 0 ; <i8**> [#uses=1]
774 %tmp1556 = load i8** %tmp1555 ; <i8*> [#uses=3]
775 %tmp1558 = getelementptr %struct.system__secondary_stack__mark_id* %tmp31, i32 0, i32 1 ; <i32*> [#uses=1]
776 %tmp1559 = load i32* %tmp1558 ; <i32> [#uses=3]
777 %tmp1562 = icmp ult i8 %tmp238239, %tmp204205 ; <i1> [#uses=1]
778 %tmp1566 = icmp ugt i8 %tmp238239, %tmp272273 ; <i1> [#uses=1]
779 %tmp1570 = or i1 %tmp1566, %tmp1562 ; <i1> [#uses=1]
780 br i1 %tmp1570, label %cond_true1573, label %cond_next1591
781
782cond_true1573: ; preds = %invcont1552
783 invoke void @__gnat_rcheck_05( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 148 )
784 to label %UnifiedUnreachableBlock34 unwind label %unwind1574
785
786unwind1574: ; preds = %invcont1638, %invcont1621, %bb1607, %bb1605, %cond_true1573
787 %eh_ptr1575 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=5]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +0000788 %eh_select1577 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr1575, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), i32* @__gnat_others_value ) ; <i32> [#uses=2]
789 %eh_typeid1652 = call i32 @llvm.eh.typeid.for.i32( i8* bitcast (i32* @__gnat_others_value to i8*) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000790 %tmp1654 = icmp eq i32 %eh_select1577, %eh_typeid1652 ; <i1> [#uses=1]
791 br i1 %tmp1654, label %eh_then1655, label %cleanup1686
792
793cond_next1591: ; preds = %invcont1552
794 %tmp1595 = sub i32 %tmp14841485, %tmp13571358 ; <i32> [#uses=1]
795 %tmp1596 = getelementptr i8* %tmp1397, i32 %tmp1595 ; <i8*> [#uses=1]
796 %tmp1597 = load i8* %tmp1596 ; <i8> [#uses=2]
797 %tmp1599 = icmp ugt i8 %tmp1597, 6 ; <i1> [#uses=1]
798 br i1 %tmp1599, label %bb1605, label %bb1607
799
800bb1605: ; preds = %cond_next1591
801 invoke void @__gnat_rcheck_06( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 148 )
802 to label %UnifiedUnreachableBlock34 unwind label %unwind1574
803
804bb1607: ; preds = %cond_next1591
805 %tmp16151616 = zext i8 %tmp1597 to i32 ; <i32> [#uses=1]
806 invoke void @system__img_enum__image_enumeration_8( %struct.string___XUP* %tmp34 sret , i32 %tmp16151616, i64 or (i64 zext (i32 ptrtoint ([28 x i8]* @weekS.154 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.32.910 to i32) to i64), i64 32)), i8* getelementptr ([8 x i8]* @weekN.179, i32 0, i32 0) )
807 to label %invcont1621 unwind label %unwind1574
808
809invcont1621: ; preds = %bb1607
810 %tmp1623 = getelementptr %struct.string___XUP* %tmp34, i32 0, i32 0 ; <i8**> [#uses=1]
811 %tmp1624 = load i8** %tmp1623 ; <i8*> [#uses=1]
812 %tmp16245815 = ptrtoint i8* %tmp1624 to i32 ; <i32> [#uses=1]
813 %tmp162458155816 = zext i32 %tmp16245815 to i64 ; <i64> [#uses=1]
814 %tmp1626 = getelementptr %struct.string___XUP* %tmp34, i32 0, i32 1 ; <%struct.string___XUB**> [#uses=1]
815 %tmp1627 = load %struct.string___XUB** %tmp1626 ; <%struct.string___XUB*> [#uses=1]
816 %tmp16275811 = ptrtoint %struct.string___XUB* %tmp1627 to i32 ; <i32> [#uses=1]
817 %tmp162758115812 = zext i32 %tmp16275811 to i64 ; <i64> [#uses=1]
818 %tmp1627581158125813 = shl i64 %tmp162758115812, 32 ; <i64> [#uses=1]
819 %tmp1627581158125813.ins = or i64 %tmp1627581158125813, %tmp162458155816 ; <i64> [#uses=1]
820 invoke void @system__string_ops__str_concat( %struct.string___XUP* %tmp37 sret , i64 or (i64 zext (i32 ptrtoint ([30 x i8]* @.str11 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.30.904 to i32) to i64), i64 32)), i64 %tmp1627581158125813.ins )
821 to label %invcont1638 unwind label %unwind1574
822
823invcont1638: ; preds = %invcont1621
824 %tmp1640 = getelementptr %struct.string___XUP* %tmp37, i32 0, i32 0 ; <i8**> [#uses=1]
825 %tmp1641 = load i8** %tmp1640 ; <i8*> [#uses=1]
826 %tmp16415803 = ptrtoint i8* %tmp1641 to i32 ; <i32> [#uses=1]
827 %tmp164158035804 = zext i32 %tmp16415803 to i64 ; <i64> [#uses=1]
828 %tmp1643 = getelementptr %struct.string___XUP* %tmp37, i32 0, i32 1 ; <%struct.string___XUB**> [#uses=1]
829 %tmp1644 = load %struct.string___XUB** %tmp1643 ; <%struct.string___XUB*> [#uses=1]
830 %tmp16445799 = ptrtoint %struct.string___XUB* %tmp1644 to i32 ; <i32> [#uses=1]
831 %tmp164457995800 = zext i32 %tmp16445799 to i64 ; <i64> [#uses=1]
832 %tmp1644579958005801 = shl i64 %tmp164457995800, 32 ; <i64> [#uses=1]
833 %tmp1644579958005801.ins = or i64 %tmp1644579958005801, %tmp164158035804 ; <i64> [#uses=1]
834 invoke void @report__failed( i64 %tmp1644579958005801.ins )
835 to label %cleanup1702 unwind label %unwind1574
836
837eh_then1655: ; preds = %unwind1574
838 invoke void @__gnat_begin_handler( i8* %eh_ptr1575 )
839 to label %invcont1663 unwind label %unwind1659
840
841unwind1659: ; preds = %invcont1665, %invcont1663, %eh_then1655
842 %eh_ptr1660 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=2]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +0000843 %eh_select1662 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr1660, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), %struct.exception* @constraint_error, i32* @__gnat_others_value ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000844 invoke void @__gnat_end_handler( i8* %eh_ptr1575 )
845 to label %cleanup1686 unwind label %unwind1676
846
847invcont1663: ; preds = %eh_then1655
848 %tmp1664 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
849 invoke void %tmp1664( )
850 to label %invcont1665 unwind label %unwind1659
851
852invcont1665: ; preds = %invcont1663
853 invoke void @report__failed( i64 or (i64 zext (i32 ptrtoint ([28 x i8]* @.str12 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.32.910 to i32) to i64), i64 32)) )
854 to label %cleanup1674 unwind label %unwind1659
855
856cleanup1674: ; preds = %invcont1665
857 invoke void @__gnat_end_handler( i8* %eh_ptr1575 )
858 to label %cleanup1702 unwind label %unwind1676
859
860unwind1676: ; preds = %cleanup1674, %unwind1659
861 %eh_ptr1677 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=2]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +0000862 %eh_select1679 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr1677, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), %struct.exception* @constraint_error, i32* @__gnat_others_value ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000863 %tmp169255575995 = ptrtoint i8* %tmp1556 to i32 ; <i32> [#uses=1]
864 %tmp1692555755585996 = zext i32 %tmp169255575995 to i64 ; <i64> [#uses=1]
865 %tmp169555545997 = zext i32 %tmp1559 to i64 ; <i64> [#uses=1]
866 %tmp1695555455555998 = shl i64 %tmp169555545997, 32 ; <i64> [#uses=1]
867 %tmp169555545555.ins5999 = or i64 %tmp1695555455555998, %tmp1692555755585996 ; <i64> [#uses=1]
868 invoke void @system__secondary_stack__ss_release( i64 %tmp169555545555.ins5999 )
869 to label %cleanup1720 unwind label %unwind1419
870
871cleanup1686: ; preds = %unwind1659, %unwind1574
872 %eh_selector.18 = phi i32 [ %eh_select1577, %unwind1574 ], [ %eh_select1662, %unwind1659 ] ; <i32> [#uses=1]
873 %eh_exception.18 = phi i8* [ %eh_ptr1575, %unwind1574 ], [ %eh_ptr1660, %unwind1659 ] ; <i8*> [#uses=1]
874 %tmp16925557 = ptrtoint i8* %tmp1556 to i32 ; <i32> [#uses=1]
875 %tmp169255575558 = zext i32 %tmp16925557 to i64 ; <i64> [#uses=1]
876 %tmp16955554 = zext i32 %tmp1559 to i64 ; <i64> [#uses=1]
877 %tmp169555545555 = shl i64 %tmp16955554, 32 ; <i64> [#uses=1]
878 %tmp169555545555.ins = or i64 %tmp169555545555, %tmp169255575558 ; <i64> [#uses=1]
879 invoke void @system__secondary_stack__ss_release( i64 %tmp169555545555.ins )
880 to label %cleanup1720 unwind label %unwind1419
881
882cleanup1702: ; preds = %cleanup1674, %invcont1638
883 %tmp17095551 = ptrtoint i8* %tmp1556 to i32 ; <i32> [#uses=1]
884 %tmp170955515552 = zext i32 %tmp17095551 to i64 ; <i64> [#uses=1]
885 %tmp17125548 = zext i32 %tmp1559 to i64 ; <i64> [#uses=1]
886 %tmp171255485549 = shl i64 %tmp17125548, 32 ; <i64> [#uses=1]
887 %tmp171255485549.ins = or i64 %tmp171255485549, %tmp170955515552 ; <i64> [#uses=1]
888 invoke void @system__secondary_stack__ss_release( i64 %tmp171255485549.ins )
889 to label %cleanup1773 unwind label %unwind1419
890
891cleanup1720: ; preds = %cleanup1686, %unwind1676
892 %eh_selector.185993.1 = phi i32 [ %eh_select1679, %unwind1676 ], [ %eh_selector.18, %cleanup1686 ] ; <i32> [#uses=2]
893 %eh_exception.185994.1 = phi i8* [ %eh_ptr1677, %unwind1676 ], [ %eh_exception.18, %cleanup1686 ] ; <i8*> [#uses=2]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +0000894 %eh_typeid1721 = call i32 @llvm.eh.typeid.for.i32( i8* getelementptr (%struct.exception* @constraint_error, i32 0, i32 0) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000895 %tmp1723 = icmp eq i32 %eh_selector.185993.1, %eh_typeid1721 ; <i1> [#uses=1]
896 br i1 %tmp1723, label %eh_then1724, label %eh_else1742
897
898eh_then1724: ; preds = %cleanup1720, %unwind1419
899 %eh_exception.135974.0 = phi i8* [ %eh_ptr1420, %unwind1419 ], [ %eh_exception.185994.1, %cleanup1720 ] ; <i8*> [#uses=3]
900 invoke void @__gnat_begin_handler( i8* %eh_exception.135974.0 )
901 to label %invcont1730 unwind label %unwind1728
902
903unwind1728: ; preds = %invcont1730, %eh_then1724
904 %eh_ptr1729 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
905 invoke void @__gnat_end_handler( i8* %eh_exception.135974.0 )
906 to label %cleanup1771 unwind label %unwind1736
907
908invcont1730: ; preds = %eh_then1724
909 %tmp1731 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
910 invoke void %tmp1731( )
911 to label %cleanup1734 unwind label %unwind1728
912
913cleanup1734: ; preds = %invcont1730
914 invoke void @__gnat_end_handler( i8* %eh_exception.135974.0 )
915 to label %cleanup1773 unwind label %unwind1736
916
917unwind1736: ; preds = %cleanup1763, %unwind1750, %cleanup1734, %unwind1728
918 %eh_ptr1737 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
919 call void @llvm.stackrestore( i8* %tmp1356 )
920 call void @llvm.stackrestore( i8* %tmp1356 )
921 call i32 (...)* @_Unwind_Resume( i8* %eh_ptr1737 ) ; <i32>:6 [#uses=0]
922 unreachable
923
924eh_else1742: ; preds = %cleanup1720, %unwind1419
925 %eh_selector.135972.1 = phi i32 [ %eh_select1422, %unwind1419 ], [ %eh_selector.185993.1, %cleanup1720 ] ; <i32> [#uses=1]
926 %eh_exception.135974.1 = phi i8* [ %eh_ptr1420, %unwind1419 ], [ %eh_exception.185994.1, %cleanup1720 ] ; <i8*> [#uses=4]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +0000927 %eh_typeid1743 = call i32 @llvm.eh.typeid.for.i32( i8* bitcast (i32* @__gnat_others_value to i8*) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000928 %tmp1745 = icmp eq i32 %eh_selector.135972.1, %eh_typeid1743 ; <i1> [#uses=1]
929 br i1 %tmp1745, label %eh_then1746, label %cleanup1771
930
931eh_then1746: ; preds = %eh_else1742
932 invoke void @__gnat_begin_handler( i8* %eh_exception.135974.1 )
933 to label %invcont1752 unwind label %unwind1750
934
935unwind1750: ; preds = %invcont1754, %invcont1752, %eh_then1746
936 %eh_ptr1751 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
937 invoke void @__gnat_end_handler( i8* %eh_exception.135974.1 )
938 to label %cleanup1771 unwind label %unwind1736
939
940invcont1752: ; preds = %eh_then1746
941 %tmp1753 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
942 invoke void %tmp1753( )
943 to label %invcont1754 unwind label %unwind1750
944
945invcont1754: ; preds = %invcont1752
946 invoke void @report__failed( i64 or (i64 zext (i32 ptrtoint ([24 x i8]* @.str13 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.35.915 to i32) to i64), i64 32)) )
947 to label %cleanup1763 unwind label %unwind1750
948
949cleanup1763: ; preds = %invcont1754
950 invoke void @__gnat_end_handler( i8* %eh_exception.135974.1 )
951 to label %cleanup1773 unwind label %unwind1736
952
953cleanup1771: ; preds = %unwind1750, %eh_else1742, %unwind1728
954 %eh_exception.20 = phi i8* [ %eh_ptr1729, %unwind1728 ], [ %eh_exception.135974.1, %eh_else1742 ], [ %eh_ptr1751, %unwind1750 ] ; <i8*> [#uses=1]
955 call void @llvm.stackrestore( i8* %tmp1356 )
956 call void @llvm.stackrestore( i8* %tmp1356 )
957 call i32 (...)* @_Unwind_Resume( i8* %eh_exception.20 ) ; <i32>:7 [#uses=0]
958 unreachable
959
960cleanup1773: ; preds = %cleanup1763, %cleanup1734, %cleanup1702
961 call void @llvm.stackrestore( i8* %tmp1356 )
962 call void @llvm.stackrestore( i8* %tmp1356 )
963 %tmp1780 = call i8* @llvm.stacksave( ) ; <i8*> [#uses=6]
964 %tmp17811782 = and i32 %tmp150, 255 ; <i32> [#uses=4]
965 %tmp18071808 = and i32 %tmp286, 255 ; <i32> [#uses=2]
966 %tmp1811 = add i32 %tmp17811782, -1 ; <i32> [#uses=2]
967 %tmp1812 = icmp sge i32 %tmp18071808, %tmp1811 ; <i1> [#uses=1]
968 %max1813 = select i1 %tmp1812, i32 %tmp18071808, i32 %tmp1811 ; <i32> [#uses=1]
969 %tmp1816 = sub i32 %max1813, %tmp17811782 ; <i32> [#uses=1]
970 %tmp1817 = add i32 %tmp1816, 1 ; <i32> [#uses=2]
971 %tmp1818 = icmp sgt i32 %tmp1817, -1 ; <i1> [#uses=1]
972 %max1819 = select i1 %tmp1818, i32 %tmp1817, i32 0 ; <i32> [#uses=3]
973 %tmp1821 = alloca i8, i32 %max1819 ; <i8*> [#uses=2]
974 %tmp1863 = alloca i8, i32 %max1819 ; <i8*> [#uses=3]
975 %tmp1870 = icmp ugt i8 %tmp170171, %tmp306307 ; <i1> [#uses=1]
976 br i1 %tmp1870, label %cond_next1900, label %bb1875
977
978bb1875: ; preds = %cleanup1773
979 store i8 %tmp238239, i8* %tmp1863
980 %tmp1884 = icmp eq i8 %tmp306307, %tmp170171 ; <i1> [#uses=1]
981 br i1 %tmp1884, label %cond_next1900, label %cond_next1888.preheader
982
983cond_next1888.preheader: ; preds = %bb1875
984 %J77b.26000.2 = add i8 %tmp170171, 1 ; <i8> [#uses=1]
985 br label %cond_next1888
986
987cond_next1888: ; preds = %cond_next1888, %cond_next1888.preheader
988 %indvar6245 = phi i8 [ 0, %cond_next1888.preheader ], [ %indvar.next14, %cond_next1888 ] ; <i8> [#uses=2]
989 %tmp1890 = add i8 %J77b.26000.2, %indvar6245 ; <i8> [#uses=2]
990 %tmp187618776004 = zext i8 %tmp1890 to i32 ; <i32> [#uses=1]
991 %tmp18796005 = sub i32 %tmp187618776004, %tmp17811782 ; <i32> [#uses=1]
992 %tmp18806006 = getelementptr i8* %tmp1863, i32 %tmp18796005 ; <i8*> [#uses=1]
993 store i8 %tmp238239, i8* %tmp18806006
994 %tmp18846008 = icmp eq i8 %tmp306307, %tmp1890 ; <i1> [#uses=1]
995 %indvar.next14 = add i8 %indvar6245, 1 ; <i8> [#uses=1]
996 br i1 %tmp18846008, label %cond_next1900, label %cond_next1888
997
998unwind1895: ; preds = %cleanup2300, %cleanup2284, %unwind2274, %cond_next2149, %cond_true1946
999 %eh_ptr1896 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=3]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001000 %eh_select1898 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr1896, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), %struct.exception* @constraint_error, i32* @__gnat_others_value ) ; <i32> [#uses=2]
1001 %eh_typeid23196018 = call i32 @llvm.eh.typeid.for.i32( i8* getelementptr (%struct.exception* @constraint_error, i32 0, i32 0) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001002 %tmp23216020 = icmp eq i32 %eh_select1898, %eh_typeid23196018 ; <i1> [#uses=1]
1003 br i1 %tmp23216020, label %eh_then2322, label %eh_else2340
1004
1005cond_next1900: ; preds = %cond_next1888, %bb1875, %cleanup1773
1006 call void @llvm.memcpy.i32( i8* %tmp1821, i8* %tmp1863, i32 %max1819, i32 1 )
1007 ret void
1008
1009cond_true1909: ; No predecessors!
1010 %tmp1912 = icmp ult i8 %tmp170171, %tmp204205 ; <i1> [#uses=1]
1011 %tmp1916 = icmp ugt i8 %tmp238239, %tmp272273 ; <i1> [#uses=1]
1012 %tmp1920 = or i1 %tmp1916, %tmp1912 ; <i1> [#uses=0]
1013 ret void
1014
1015cond_true1923: ; No predecessors!
1016 ret void
1017
1018cond_next1926: ; No predecessors!
1019 %tmp1929.not = icmp uge i8 %tmp238239, %tmp170171 ; <i1> [#uses=1]
1020 %tmp1939 = icmp ugt i8 %tmp238239, %tmp306307 ; <i1> [#uses=2]
1021 %bothcond = and i1 %tmp1939, %tmp1929.not ; <i1> [#uses=0]
1022 ret void
1023
1024cond_true1946: ; No predecessors!
1025 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 162 )
1026 to label %UnifiedUnreachableBlock34 unwind label %unwind1895
1027
1028cond_next2149: ; No predecessors!
1029 invoke void @system__secondary_stack__ss_mark( %struct.system__secondary_stack__mark_id* %tmp46 sret )
1030 to label %invcont2150 unwind label %unwind1895
1031
1032invcont2150: ; preds = %cond_next2149
1033 %tmp2153 = getelementptr %struct.system__secondary_stack__mark_id* %tmp46, i32 0, i32 0 ; <i8**> [#uses=1]
1034 %tmp2154 = load i8** %tmp2153 ; <i8*> [#uses=3]
1035 %tmp2156 = getelementptr %struct.system__secondary_stack__mark_id* %tmp46, i32 0, i32 1 ; <i32*> [#uses=1]
1036 %tmp2157 = load i32* %tmp2156 ; <i32> [#uses=3]
1037 %tmp2168 = or i1 %tmp1939, %tmp1401 ; <i1> [#uses=1]
1038 br i1 %tmp2168, label %cond_true2171, label %cond_next2189
1039
1040cond_true2171: ; preds = %invcont2150
1041 invoke void @__gnat_rcheck_05( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 165 )
1042 to label %UnifiedUnreachableBlock34 unwind label %unwind2172
1043
1044unwind2172: ; preds = %invcont2236, %invcont2219, %bb2205, %bb2203, %cond_true2171
1045 %eh_ptr2173 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=5]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001046 %eh_select2175 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr2173, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), i32* @__gnat_others_value ) ; <i32> [#uses=2]
1047 %eh_typeid2250 = call i32 @llvm.eh.typeid.for.i32( i8* bitcast (i32* @__gnat_others_value to i8*) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001048 %tmp2252 = icmp eq i32 %eh_select2175, %eh_typeid2250 ; <i1> [#uses=1]
1049 br i1 %tmp2252, label %eh_then2253, label %cleanup2284
1050
1051cond_next2189: ; preds = %invcont2150
1052 %tmp21902191 = and i32 %tmp218, 255 ; <i32> [#uses=1]
1053 %tmp2193 = sub i32 %tmp21902191, %tmp17811782 ; <i32> [#uses=1]
1054 %tmp2194 = getelementptr i8* %tmp1821, i32 %tmp2193 ; <i8*> [#uses=1]
1055 %tmp2195 = load i8* %tmp2194 ; <i8> [#uses=2]
1056 %tmp2197 = icmp ugt i8 %tmp2195, 6 ; <i1> [#uses=1]
1057 br i1 %tmp2197, label %bb2203, label %bb2205
1058
1059bb2203: ; preds = %cond_next2189
1060 invoke void @__gnat_rcheck_06( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 165 )
1061 to label %UnifiedUnreachableBlock34 unwind label %unwind2172
1062
1063bb2205: ; preds = %cond_next2189
1064 %tmp22132214 = zext i8 %tmp2195 to i32 ; <i32> [#uses=1]
1065 invoke void @system__img_enum__image_enumeration_8( %struct.string___XUP* %tmp49 sret , i32 %tmp22132214, i64 or (i64 zext (i32 ptrtoint ([28 x i8]* @weekS.154 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.32.910 to i32) to i64), i64 32)), i8* getelementptr ([8 x i8]* @weekN.179, i32 0, i32 0) )
1066 to label %invcont2219 unwind label %unwind2172
1067
1068invcont2219: ; preds = %bb2205
1069 %tmp2221 = getelementptr %struct.string___XUP* %tmp49, i32 0, i32 0 ; <i8**> [#uses=1]
1070 %tmp2222 = load i8** %tmp2221 ; <i8*> [#uses=1]
1071 %tmp22225781 = ptrtoint i8* %tmp2222 to i32 ; <i32> [#uses=1]
1072 %tmp222257815782 = zext i32 %tmp22225781 to i64 ; <i64> [#uses=1]
1073 %tmp2224 = getelementptr %struct.string___XUP* %tmp49, i32 0, i32 1 ; <%struct.string___XUB**> [#uses=1]
1074 %tmp2225 = load %struct.string___XUB** %tmp2224 ; <%struct.string___XUB*> [#uses=1]
1075 %tmp22255777 = ptrtoint %struct.string___XUB* %tmp2225 to i32 ; <i32> [#uses=1]
1076 %tmp222557775778 = zext i32 %tmp22255777 to i64 ; <i64> [#uses=1]
1077 %tmp2225577757785779 = shl i64 %tmp222557775778, 32 ; <i64> [#uses=1]
1078 %tmp2225577757785779.ins = or i64 %tmp2225577757785779, %tmp222257815782 ; <i64> [#uses=1]
1079 invoke void @system__string_ops__str_concat( %struct.string___XUP* %tmp52 sret , i64 or (i64 zext (i32 ptrtoint ([30 x i8]* @.str14 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.30.904 to i32) to i64), i64 32)), i64 %tmp2225577757785779.ins )
1080 to label %invcont2236 unwind label %unwind2172
1081
1082invcont2236: ; preds = %invcont2219
1083 %tmp2238 = getelementptr %struct.string___XUP* %tmp52, i32 0, i32 0 ; <i8**> [#uses=1]
1084 %tmp2239 = load i8** %tmp2238 ; <i8*> [#uses=1]
1085 %tmp22395769 = ptrtoint i8* %tmp2239 to i32 ; <i32> [#uses=1]
1086 %tmp223957695770 = zext i32 %tmp22395769 to i64 ; <i64> [#uses=1]
1087 %tmp2241 = getelementptr %struct.string___XUP* %tmp52, i32 0, i32 1 ; <%struct.string___XUB**> [#uses=1]
1088 %tmp2242 = load %struct.string___XUB** %tmp2241 ; <%struct.string___XUB*> [#uses=1]
1089 %tmp22425765 = ptrtoint %struct.string___XUB* %tmp2242 to i32 ; <i32> [#uses=1]
1090 %tmp224257655766 = zext i32 %tmp22425765 to i64 ; <i64> [#uses=1]
1091 %tmp2242576557665767 = shl i64 %tmp224257655766, 32 ; <i64> [#uses=1]
1092 %tmp2242576557665767.ins = or i64 %tmp2242576557665767, %tmp223957695770 ; <i64> [#uses=1]
1093 invoke void @report__failed( i64 %tmp2242576557665767.ins )
1094 to label %cleanup2300 unwind label %unwind2172
1095
1096eh_then2253: ; preds = %unwind2172
1097 invoke void @__gnat_begin_handler( i8* %eh_ptr2173 )
1098 to label %invcont2261 unwind label %unwind2257
1099
1100unwind2257: ; preds = %invcont2263, %invcont2261, %eh_then2253
1101 %eh_ptr2258 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=2]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001102 %eh_select2260 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr2258, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), %struct.exception* @constraint_error, i32* @__gnat_others_value ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001103 invoke void @__gnat_end_handler( i8* %eh_ptr2173 )
1104 to label %cleanup2284 unwind label %unwind2274
1105
1106invcont2261: ; preds = %eh_then2253
1107 %tmp2262 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
1108 invoke void %tmp2262( )
1109 to label %invcont2263 unwind label %unwind2257
1110
1111invcont2263: ; preds = %invcont2261
1112 invoke void @report__failed( i64 or (i64 zext (i32 ptrtoint ([28 x i8]* @.str15 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.32.910 to i32) to i64), i64 32)) )
1113 to label %cleanup2272 unwind label %unwind2257
1114
1115cleanup2272: ; preds = %invcont2263
1116 invoke void @__gnat_end_handler( i8* %eh_ptr2173 )
1117 to label %cleanup2300 unwind label %unwind2274
1118
1119unwind2274: ; preds = %cleanup2272, %unwind2257
1120 %eh_ptr2275 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=2]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001121 %eh_select2277 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr2275, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), %struct.exception* @constraint_error, i32* @__gnat_others_value ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001122 %tmp229055456023 = ptrtoint i8* %tmp2154 to i32 ; <i32> [#uses=1]
1123 %tmp2290554555466024 = zext i32 %tmp229055456023 to i64 ; <i64> [#uses=1]
1124 %tmp229355426025 = zext i32 %tmp2157 to i64 ; <i64> [#uses=1]
1125 %tmp2293554255436026 = shl i64 %tmp229355426025, 32 ; <i64> [#uses=1]
1126 %tmp229355425543.ins6027 = or i64 %tmp2293554255436026, %tmp2290554555466024 ; <i64> [#uses=1]
1127 invoke void @system__secondary_stack__ss_release( i64 %tmp229355425543.ins6027 )
1128 to label %cleanup2318 unwind label %unwind1895
1129
1130cleanup2284: ; preds = %unwind2257, %unwind2172
1131 %eh_selector.24 = phi i32 [ %eh_select2175, %unwind2172 ], [ %eh_select2260, %unwind2257 ] ; <i32> [#uses=1]
1132 %eh_exception.26 = phi i8* [ %eh_ptr2173, %unwind2172 ], [ %eh_ptr2258, %unwind2257 ] ; <i8*> [#uses=1]
1133 %tmp22905545 = ptrtoint i8* %tmp2154 to i32 ; <i32> [#uses=1]
1134 %tmp229055455546 = zext i32 %tmp22905545 to i64 ; <i64> [#uses=1]
1135 %tmp22935542 = zext i32 %tmp2157 to i64 ; <i64> [#uses=1]
1136 %tmp229355425543 = shl i64 %tmp22935542, 32 ; <i64> [#uses=1]
1137 %tmp229355425543.ins = or i64 %tmp229355425543, %tmp229055455546 ; <i64> [#uses=1]
1138 invoke void @system__secondary_stack__ss_release( i64 %tmp229355425543.ins )
1139 to label %cleanup2318 unwind label %unwind1895
1140
1141cleanup2300: ; preds = %cleanup2272, %invcont2236
1142 %tmp23075539 = ptrtoint i8* %tmp2154 to i32 ; <i32> [#uses=1]
1143 %tmp230755395540 = zext i32 %tmp23075539 to i64 ; <i64> [#uses=1]
1144 %tmp23105536 = zext i32 %tmp2157 to i64 ; <i64> [#uses=1]
1145 %tmp231055365537 = shl i64 %tmp23105536, 32 ; <i64> [#uses=1]
1146 %tmp231055365537.ins = or i64 %tmp231055365537, %tmp230755395540 ; <i64> [#uses=1]
1147 invoke void @system__secondary_stack__ss_release( i64 %tmp231055365537.ins )
1148 to label %cleanup2371 unwind label %unwind1895
1149
1150cleanup2318: ; preds = %cleanup2284, %unwind2274
1151 %eh_selector.246021.1 = phi i32 [ %eh_select2277, %unwind2274 ], [ %eh_selector.24, %cleanup2284 ] ; <i32> [#uses=2]
1152 %eh_exception.266022.1 = phi i8* [ %eh_ptr2275, %unwind2274 ], [ %eh_exception.26, %cleanup2284 ] ; <i8*> [#uses=2]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001153 %eh_typeid2319 = call i32 @llvm.eh.typeid.for.i32( i8* getelementptr (%struct.exception* @constraint_error, i32 0, i32 0) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001154 %tmp2321 = icmp eq i32 %eh_selector.246021.1, %eh_typeid2319 ; <i1> [#uses=1]
1155 br i1 %tmp2321, label %eh_then2322, label %eh_else2340
1156
1157eh_then2322: ; preds = %cleanup2318, %unwind1895
1158 %eh_exception.216011.0 = phi i8* [ %eh_ptr1896, %unwind1895 ], [ %eh_exception.266022.1, %cleanup2318 ] ; <i8*> [#uses=3]
1159 invoke void @__gnat_begin_handler( i8* %eh_exception.216011.0 )
1160 to label %invcont2328 unwind label %unwind2326
1161
1162unwind2326: ; preds = %invcont2328, %eh_then2322
1163 %eh_ptr2327 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
1164 invoke void @__gnat_end_handler( i8* %eh_exception.216011.0 )
1165 to label %cleanup2369 unwind label %unwind2334
1166
1167invcont2328: ; preds = %eh_then2322
1168 %tmp2329 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
1169 invoke void %tmp2329( )
1170 to label %cleanup2332 unwind label %unwind2326
1171
1172cleanup2332: ; preds = %invcont2328
1173 invoke void @__gnat_end_handler( i8* %eh_exception.216011.0 )
1174 to label %cleanup2371 unwind label %unwind2334
1175
1176unwind2334: ; preds = %cleanup2361, %unwind2348, %cleanup2332, %unwind2326
1177 %eh_ptr2335 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
1178 call void @llvm.stackrestore( i8* %tmp1780 )
1179 call void @llvm.stackrestore( i8* %tmp1780 )
1180 call i32 (...)* @_Unwind_Resume( i8* %eh_ptr2335 ) ; <i32>:8 [#uses=0]
1181 unreachable
1182
1183eh_else2340: ; preds = %cleanup2318, %unwind1895
1184 %eh_selector.196009.1 = phi i32 [ %eh_select1898, %unwind1895 ], [ %eh_selector.246021.1, %cleanup2318 ] ; <i32> [#uses=1]
1185 %eh_exception.216011.1 = phi i8* [ %eh_ptr1896, %unwind1895 ], [ %eh_exception.266022.1, %cleanup2318 ] ; <i8*> [#uses=4]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001186 %eh_typeid2341 = call i32 @llvm.eh.typeid.for.i32( i8* bitcast (i32* @__gnat_others_value to i8*) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001187 %tmp2343 = icmp eq i32 %eh_selector.196009.1, %eh_typeid2341 ; <i1> [#uses=1]
1188 br i1 %tmp2343, label %eh_then2344, label %cleanup2369
1189
1190eh_then2344: ; preds = %eh_else2340
1191 invoke void @__gnat_begin_handler( i8* %eh_exception.216011.1 )
1192 to label %invcont2350 unwind label %unwind2348
1193
1194unwind2348: ; preds = %invcont2352, %invcont2350, %eh_then2344
1195 %eh_ptr2349 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
1196 invoke void @__gnat_end_handler( i8* %eh_exception.216011.1 )
1197 to label %cleanup2369 unwind label %unwind2334
1198
1199invcont2350: ; preds = %eh_then2344
1200 %tmp2351 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
1201 invoke void %tmp2351( )
1202 to label %invcont2352 unwind label %unwind2348
1203
1204invcont2352: ; preds = %invcont2350
1205 invoke void @report__failed( i64 or (i64 zext (i32 ptrtoint ([24 x i8]* @.str16 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.35.915 to i32) to i64), i64 32)) )
1206 to label %cleanup2361 unwind label %unwind2348
1207
1208cleanup2361: ; preds = %invcont2352
1209 invoke void @__gnat_end_handler( i8* %eh_exception.216011.1 )
1210 to label %cleanup2371 unwind label %unwind2334
1211
1212cleanup2369: ; preds = %unwind2348, %eh_else2340, %unwind2326
1213 %eh_exception.28 = phi i8* [ %eh_ptr2327, %unwind2326 ], [ %eh_exception.216011.1, %eh_else2340 ], [ %eh_ptr2349, %unwind2348 ] ; <i8*> [#uses=1]
1214 call void @llvm.stackrestore( i8* %tmp1780 )
1215 call void @llvm.stackrestore( i8* %tmp1780 )
1216 call i32 (...)* @_Unwind_Resume( i8* %eh_exception.28 ) ; <i32>:9 [#uses=0]
1217 unreachable
1218
1219cleanup2371: ; preds = %cleanup2361, %cleanup2332, %cleanup2300
1220 call void @llvm.stackrestore( i8* %tmp1780 )
1221 call void @llvm.stackrestore( i8* %tmp1780 )
1222 invoke void @system__secondary_stack__ss_mark( %struct.system__secondary_stack__mark_id* %tmp55 sret )
1223 to label %invcont2382 unwind label %unwind2378
1224
1225unwind2378: ; preds = %cleanup2371
1226 %eh_ptr2379 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=3]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001227 %eh_select2381 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr2379, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), %struct.exception* @constraint_error, i32* @__gnat_others_value ) ; <i32> [#uses=2]
1228 %eh_typeid26496037 = call i32 @llvm.eh.typeid.for.i32( i8* getelementptr (%struct.exception* @constraint_error, i32 0, i32 0) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001229 %tmp26516039 = icmp eq i32 %eh_select2381, %eh_typeid26496037 ; <i1> [#uses=1]
1230 br i1 %tmp26516039, label %eh_then2652, label %eh_else2666
1231
1232invcont2382: ; preds = %cleanup2371
1233 %tmp2385 = getelementptr %struct.system__secondary_stack__mark_id* %tmp55, i32 0, i32 0 ; <i8**> [#uses=1]
1234 %tmp2386 = load i8** %tmp2385 ; <i8*> [#uses=2]
1235 %tmp2388 = getelementptr %struct.system__secondary_stack__mark_id* %tmp55, i32 0, i32 1 ; <i32*> [#uses=1]
1236 %tmp2389 = load i32* %tmp2388 ; <i32> [#uses=2]
1237 %tmp2390 = call i8* @llvm.stacksave( ) ; <i8*> [#uses=3]
1238 %tmp2393 = icmp ult i8 %tmp306307, %tmp170171 ; <i1> [#uses=1]
1239 br i1 %tmp2393, label %cond_next2417, label %cond_true2396
1240
1241cond_true2396: ; preds = %invcont2382
1242 %tmp2399 = icmp ult i8 %tmp170171, %tmp204205 ; <i1> [#uses=1]
1243 %tmp2403 = icmp ugt i8 %tmp306307, %tmp272273 ; <i1> [#uses=1]
1244 %tmp2407 = or i1 %tmp2403, %tmp2399 ; <i1> [#uses=1]
1245 br i1 %tmp2407, label %cond_true2410, label %cond_next2417
1246
1247cond_true2410: ; preds = %cond_true2396
1248 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 177 )
1249 to label %UnifiedUnreachableBlock34 unwind label %unwind2411
1250
1251unwind2411: ; preds = %invcont2591, %invcont2574, %bb2560, %bb2558, %bb2524, %bb2506, %cond_true2410
1252 %eh_ptr2412 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=3]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001253 %eh_select2414 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr2412, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), %struct.exception* @constraint_error, i32* @__gnat_others_value ) ; <i32> [#uses=2]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001254 %tmp26315527 = ptrtoint i8* %tmp2386 to i32 ; <i32> [#uses=1]
1255 %tmp263155275528 = zext i32 %tmp26315527 to i64 ; <i64> [#uses=1]
1256 %tmp26345524 = zext i32 %tmp2389 to i64 ; <i64> [#uses=1]
1257 %tmp263455245525 = shl i64 %tmp26345524, 32 ; <i64> [#uses=1]
1258 %tmp263455245525.ins = or i64 %tmp263455245525, %tmp263155275528 ; <i64> [#uses=1]
1259 invoke void @system__secondary_stack__ss_release( i64 %tmp263455245525.ins )
1260 to label %cleanup2644 unwind label %unwind2618
1261
1262cond_next2417: ; preds = %cond_true2396, %invcont2382
1263 %tmp2493 = icmp ugt i8 %tmp170171, %tmp238239 ; <i1> [#uses=1]
1264 %tmp2500 = icmp ugt i8 %tmp238239, %tmp306307 ; <i1> [#uses=1]
1265 %bothcond5903 = or i1 %tmp2500, %tmp2493 ; <i1> [#uses=1]
1266 br i1 %bothcond5903, label %bb2506, label %cond_next2515
1267
1268bb2506: ; preds = %cond_next2417
1269 invoke void @__gnat_rcheck_05( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 180 )
1270 to label %UnifiedUnreachableBlock34 unwind label %unwind2411
1271
1272cond_next2515: ; preds = %cond_next2417
1273 br i1 %tmp240, label %bb2524, label %bb2526
1274
1275bb2524: ; preds = %cond_next2515
1276 invoke void @__gnat_rcheck_06( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 180 )
1277 to label %UnifiedUnreachableBlock34 unwind label %unwind2411
1278
1279bb2526: ; preds = %cond_next2515
1280 br i1 %tmp274, label %bb2558, label %bb2560
1281
1282bb2558: ; preds = %bb2526
1283 invoke void @__gnat_rcheck_06( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 182 )
1284 to label %UnifiedUnreachableBlock34 unwind label %unwind2411
1285
1286bb2560: ; preds = %bb2526
1287 invoke void @system__img_enum__image_enumeration_8( %struct.string___XUP* %tmp58 sret , i32 %tmp13831384, i64 or (i64 zext (i32 ptrtoint ([28 x i8]* @weekS.154 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.32.910 to i32) to i64), i64 32)), i8* getelementptr ([8 x i8]* @weekN.179, i32 0, i32 0) )
1288 to label %invcont2574 unwind label %unwind2411
1289
1290invcont2574: ; preds = %bb2560
1291 %tmp2576 = getelementptr %struct.string___XUP* %tmp58, i32 0, i32 0 ; <i8**> [#uses=1]
1292 %tmp2577 = load i8** %tmp2576 ; <i8*> [#uses=1]
1293 %tmp25775747 = ptrtoint i8* %tmp2577 to i32 ; <i32> [#uses=1]
1294 %tmp257757475748 = zext i32 %tmp25775747 to i64 ; <i64> [#uses=1]
1295 %tmp2579 = getelementptr %struct.string___XUP* %tmp58, i32 0, i32 1 ; <%struct.string___XUB**> [#uses=1]
1296 %tmp2580 = load %struct.string___XUB** %tmp2579 ; <%struct.string___XUB*> [#uses=1]
1297 %tmp25805743 = ptrtoint %struct.string___XUB* %tmp2580 to i32 ; <i32> [#uses=1]
1298 %tmp258057435744 = zext i32 %tmp25805743 to i64 ; <i64> [#uses=1]
1299 %tmp2580574357445745 = shl i64 %tmp258057435744, 32 ; <i64> [#uses=1]
1300 %tmp2580574357445745.ins = or i64 %tmp2580574357445745, %tmp257757475748 ; <i64> [#uses=1]
1301 invoke void @system__string_ops__str_concat( %struct.string___XUP* %tmp61 sret , i64 or (i64 zext (i32 ptrtoint ([30 x i8]* @.str17 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.30.904 to i32) to i64), i64 32)), i64 %tmp2580574357445745.ins )
1302 to label %invcont2591 unwind label %unwind2411
1303
1304invcont2591: ; preds = %invcont2574
1305 %tmp2593 = getelementptr %struct.string___XUP* %tmp61, i32 0, i32 0 ; <i8**> [#uses=1]
1306 %tmp2594 = load i8** %tmp2593 ; <i8*> [#uses=1]
1307 %tmp25945735 = ptrtoint i8* %tmp2594 to i32 ; <i32> [#uses=1]
1308 %tmp259457355736 = zext i32 %tmp25945735 to i64 ; <i64> [#uses=1]
1309 %tmp2596 = getelementptr %struct.string___XUP* %tmp61, i32 0, i32 1 ; <%struct.string___XUB**> [#uses=1]
1310 %tmp2597 = load %struct.string___XUB** %tmp2596 ; <%struct.string___XUB*> [#uses=1]
1311 %tmp25975731 = ptrtoint %struct.string___XUB* %tmp2597 to i32 ; <i32> [#uses=1]
1312 %tmp259757315732 = zext i32 %tmp25975731 to i64 ; <i64> [#uses=1]
1313 %tmp2597573157325733 = shl i64 %tmp259757315732, 32 ; <i64> [#uses=1]
1314 %tmp2597573157325733.ins = or i64 %tmp2597573157325733, %tmp259457355736 ; <i64> [#uses=1]
1315 invoke void @report__failed( i64 %tmp2597573157325733.ins )
1316 to label %cleanup2604 unwind label %unwind2411
1317
1318cleanup2604: ; preds = %invcont2591
1319 %tmp26105533 = ptrtoint i8* %tmp2386 to i32 ; <i32> [#uses=1]
1320 %tmp261055335534 = zext i32 %tmp26105533 to i64 ; <i64> [#uses=1]
1321 %tmp26135530 = zext i32 %tmp2389 to i64 ; <i64> [#uses=1]
1322 %tmp261355305531 = shl i64 %tmp26135530, 32 ; <i64> [#uses=1]
1323 %tmp261355305531.ins = or i64 %tmp261355305531, %tmp261055335534 ; <i64> [#uses=1]
1324 invoke void @system__secondary_stack__ss_release( i64 %tmp261355305531.ins )
1325 to label %cleanup2642 unwind label %unwind2618
1326
1327unwind2618: ; preds = %cleanup2604, %unwind2411
1328 %eh_ptr2619 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=3]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001329 %eh_select2621 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr2619, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), %struct.exception* @constraint_error, i32* @__gnat_others_value ) ; <i32> [#uses=2]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001330 call void @llvm.stackrestore( i8* %tmp2390 )
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001331 %eh_typeid26493 = call i32 @llvm.eh.typeid.for.i32( i8* getelementptr (%struct.exception* @constraint_error, i32 0, i32 0) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001332 %tmp26514 = icmp eq i32 %eh_select2621, %eh_typeid26493 ; <i1> [#uses=1]
1333 br i1 %tmp26514, label %eh_then2652, label %eh_else2666
1334
1335cleanup2642: ; preds = %cleanup2604
1336 call void @llvm.stackrestore( i8* %tmp2390 )
1337 %tmp26946042 = icmp ult i8 %tmp238239, %tmp137138 ; <i1> [#uses=1]
1338 br i1 %tmp26946042, label %cond_next2718, label %cond_true2697
1339
1340cleanup2644: ; preds = %unwind2411
1341 call void @llvm.stackrestore( i8* %tmp2390 )
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001342 %eh_typeid2649 = call i32 @llvm.eh.typeid.for.i32( i8* getelementptr (%struct.exception* @constraint_error, i32 0, i32 0) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001343 %tmp2651 = icmp eq i32 %eh_select2414, %eh_typeid2649 ; <i1> [#uses=1]
1344 br i1 %tmp2651, label %eh_then2652, label %eh_else2666
1345
1346eh_then2652: ; preds = %cleanup2644, %unwind2618, %unwind2378
1347 %eh_exception.296030.0 = phi i8* [ %eh_ptr2379, %unwind2378 ], [ %eh_ptr2619, %unwind2618 ], [ %eh_ptr2412, %cleanup2644 ] ; <i8*> [#uses=3]
1348 invoke void @__gnat_begin_handler( i8* %eh_exception.296030.0 )
1349 to label %invcont2658 unwind label %unwind2656
1350
1351unwind2656: ; preds = %invcont2658, %eh_then2652
1352 %eh_ptr2657 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
1353 call void @__gnat_end_handler( i8* %eh_exception.296030.0 )
1354 call i32 (...)* @_Unwind_Resume( i8* %eh_ptr2657 ) ; <i32>:10 [#uses=0]
1355 unreachable
1356
1357invcont2658: ; preds = %eh_then2652
1358 %tmp2659 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
1359 invoke void %tmp2659( )
1360 to label %cleanup2662 unwind label %unwind2656
1361
1362cleanup2662: ; preds = %invcont2658
1363 call void @__gnat_end_handler( i8* %eh_exception.296030.0 )
1364 %tmp26946043 = icmp ult i8 %tmp238239, %tmp137138 ; <i1> [#uses=1]
1365 br i1 %tmp26946043, label %cond_next2718, label %cond_true2697
1366
1367eh_else2666: ; preds = %cleanup2644, %unwind2618, %unwind2378
1368 %eh_selector.256028.1 = phi i32 [ %eh_select2381, %unwind2378 ], [ %eh_select2621, %unwind2618 ], [ %eh_select2414, %cleanup2644 ] ; <i32> [#uses=1]
1369 %eh_exception.296030.1 = phi i8* [ %eh_ptr2379, %unwind2378 ], [ %eh_ptr2619, %unwind2618 ], [ %eh_ptr2412, %cleanup2644 ] ; <i8*> [#uses=4]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001370 %eh_typeid2667 = call i32 @llvm.eh.typeid.for.i32( i8* bitcast (i32* @__gnat_others_value to i8*) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001371 %tmp2669 = icmp eq i32 %eh_selector.256028.1, %eh_typeid2667 ; <i1> [#uses=1]
1372 br i1 %tmp2669, label %eh_then2670, label %Unwind
1373
1374eh_then2670: ; preds = %eh_else2666
1375 invoke void @__gnat_begin_handler( i8* %eh_exception.296030.1 )
1376 to label %invcont2676 unwind label %unwind2674
1377
1378unwind2674: ; preds = %invcont2678, %invcont2676, %eh_then2670
1379 %eh_ptr2675 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
1380 call void @__gnat_end_handler( i8* %eh_exception.296030.1 )
1381 call i32 (...)* @_Unwind_Resume( i8* %eh_ptr2675 ) ; <i32>:11 [#uses=0]
1382 unreachable
1383
1384invcont2676: ; preds = %eh_then2670
1385 %tmp2677 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
1386 invoke void %tmp2677( )
1387 to label %invcont2678 unwind label %unwind2674
1388
1389invcont2678: ; preds = %invcont2676
1390 invoke void @report__failed( i64 or (i64 zext (i32 ptrtoint ([24 x i8]* @.str18 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.35.915 to i32) to i64), i64 32)) )
1391 to label %cleanup2687 unwind label %unwind2674
1392
1393cleanup2687: ; preds = %invcont2678
1394 call void @__gnat_end_handler( i8* %eh_exception.296030.1 )
1395 %tmp2694 = icmp ult i8 %tmp238239, %tmp137138 ; <i1> [#uses=1]
1396 br i1 %tmp2694, label %cond_next2718, label %cond_true2697
1397
1398cond_true2697: ; preds = %cleanup2687, %cleanup2662, %cleanup2642
1399 %tmp2700 = icmp ult i8 %tmp137138, %tmp204205 ; <i1> [#uses=1]
1400 %tmp2704 = icmp ugt i8 %tmp238239, %tmp272273 ; <i1> [#uses=1]
1401 %tmp2708 = or i1 %tmp2704, %tmp2700 ; <i1> [#uses=1]
1402 br i1 %tmp2708, label %cond_true2711, label %cond_next2718
1403
1404cond_true2711: ; preds = %cond_true2697
1405 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 192 )
1406 to label %UnifiedUnreachableBlock34 unwind label %unwind2712
1407
1408unwind2712: ; preds = %cleanup2990, %unwind2975, %cond_true2711
1409 %eh_ptr2713 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=3]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001410 %eh_select2715 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr2713, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), %struct.exception* @constraint_error, i32* @__gnat_others_value ) ; <i32> [#uses=2]
1411 %eh_typeid29996053 = call i32 @llvm.eh.typeid.for.i32( i8* getelementptr (%struct.exception* @constraint_error, i32 0, i32 0) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001412 %tmp30016055 = icmp eq i32 %eh_select2715, %eh_typeid29996053 ; <i1> [#uses=1]
1413 br i1 %tmp30016055, label %eh_then3002, label %eh_else3016
1414
1415cond_next2718: ; preds = %cond_true2697, %cleanup2687, %cleanup2662, %cleanup2642
1416 invoke void @system__secondary_stack__ss_mark( %struct.system__secondary_stack__mark_id* %tmp63 sret )
1417 to label %invcont2766 unwind label %unwind2762
1418
1419unwind2762: ; preds = %cond_next2718
1420 %eh_ptr2763 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=3]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001421 %eh_select2765 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr2763, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), i32* @__gnat_others_value ) ; <i32> [#uses=2]
1422 %eh_typeid29686060 = call i32 @llvm.eh.typeid.for.i32( i8* bitcast (i32* @__gnat_others_value to i8*) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001423 %tmp29706061 = icmp eq i32 %eh_select2765, %eh_typeid29686060 ; <i1> [#uses=1]
1424 br i1 %tmp29706061, label %eh_then2971, label %cleanup2998
1425
1426invcont2766: ; preds = %cond_next2718
1427 %tmp2769 = getelementptr %struct.system__secondary_stack__mark_id* %tmp63, i32 0, i32 0 ; <i8**> [#uses=1]
1428 %tmp2770 = load i8** %tmp2769 ; <i8*> [#uses=2]
1429 %tmp2772 = getelementptr %struct.system__secondary_stack__mark_id* %tmp63, i32 0, i32 1 ; <i32*> [#uses=1]
1430 %tmp2773 = load i32* %tmp2772 ; <i32> [#uses=2]
1431 %tmp2774 = call i8* @llvm.stacksave( ) ; <i8*> [#uses=3]
1432 %tmp2808 = icmp ugt i8 %tmp137138, %tmp204205 ; <i1> [#uses=1]
1433 %tmp2815 = icmp ult i8 %tmp238239, %tmp204205 ; <i1> [#uses=1]
1434 %bothcond5904 = or i1 %tmp2815, %tmp2808 ; <i1> [#uses=1]
1435 br i1 %bothcond5904, label %bb2821, label %cond_next2834
1436
1437bb2821: ; preds = %invcont2766
1438 invoke void @__gnat_rcheck_05( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 198 )
1439 to label %UnifiedUnreachableBlock34 unwind label %unwind2822
1440
1441unwind2822: ; preds = %invcont2910, %invcont2893, %bb2879, %bb2877, %bb2843, %bb2821
1442 %eh_ptr2823 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=3]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001443 %eh_select2825 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr2823, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), i32* @__gnat_others_value ) ; <i32> [#uses=2]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001444 %tmp29295521 = ptrtoint i8* %tmp2770 to i32 ; <i32> [#uses=1]
1445 %tmp292955215522 = zext i32 %tmp29295521 to i64 ; <i64> [#uses=1]
1446 %tmp29325518 = zext i32 %tmp2773 to i64 ; <i64> [#uses=1]
1447 %tmp293255185519 = shl i64 %tmp29325518, 32 ; <i64> [#uses=1]
1448 %tmp293255185519.ins = or i64 %tmp293255185519, %tmp292955215522 ; <i64> [#uses=1]
1449 invoke void @system__secondary_stack__ss_release( i64 %tmp293255185519.ins )
1450 to label %cleanup2963 unwind label %unwind2937
1451
1452cond_next2834: ; preds = %invcont2766
1453 br i1 %tmp206, label %bb2843, label %bb2845
1454
1455bb2843: ; preds = %cond_next2834
1456 invoke void @__gnat_rcheck_06( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 198 )
1457 to label %UnifiedUnreachableBlock34 unwind label %unwind2822
1458
1459bb2845: ; preds = %cond_next2834
1460 br i1 %tmp274, label %bb2877, label %bb2879
1461
1462bb2877: ; preds = %bb2845
1463 invoke void @__gnat_rcheck_06( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 200 )
1464 to label %UnifiedUnreachableBlock34 unwind label %unwind2822
1465
1466bb2879: ; preds = %bb2845
1467 invoke void @system__img_enum__image_enumeration_8( %struct.string___XUP* %tmp66 sret , i32 %tmp13831384, i64 or (i64 zext (i32 ptrtoint ([28 x i8]* @weekS.154 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.32.910 to i32) to i64), i64 32)), i8* getelementptr ([8 x i8]* @weekN.179, i32 0, i32 0) )
1468 to label %invcont2893 unwind label %unwind2822
1469
1470invcont2893: ; preds = %bb2879
1471 %tmp2895 = getelementptr %struct.string___XUP* %tmp66, i32 0, i32 0 ; <i8**> [#uses=1]
1472 %tmp2896 = load i8** %tmp2895 ; <i8*> [#uses=1]
1473 %tmp28965718 = ptrtoint i8* %tmp2896 to i32 ; <i32> [#uses=1]
1474 %tmp289657185719 = zext i32 %tmp28965718 to i64 ; <i64> [#uses=1]
1475 %tmp2898 = getelementptr %struct.string___XUP* %tmp66, i32 0, i32 1 ; <%struct.string___XUB**> [#uses=1]
1476 %tmp2899 = load %struct.string___XUB** %tmp2898 ; <%struct.string___XUB*> [#uses=1]
1477 %tmp28995714 = ptrtoint %struct.string___XUB* %tmp2899 to i32 ; <i32> [#uses=1]
1478 %tmp289957145715 = zext i32 %tmp28995714 to i64 ; <i64> [#uses=1]
1479 %tmp2899571457155716 = shl i64 %tmp289957145715, 32 ; <i64> [#uses=1]
1480 %tmp2899571457155716.ins = or i64 %tmp2899571457155716, %tmp289657185719 ; <i64> [#uses=1]
1481 invoke void @system__string_ops__str_concat( %struct.string___XUP* %tmp69 sret , i64 or (i64 zext (i32 ptrtoint ([31 x i8]* @.str19 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.98.1466 to i32) to i64), i64 32)), i64 %tmp2899571457155716.ins )
1482 to label %invcont2910 unwind label %unwind2822
1483
1484invcont2910: ; preds = %invcont2893
1485 %tmp2912 = getelementptr %struct.string___XUP* %tmp69, i32 0, i32 0 ; <i8**> [#uses=1]
1486 %tmp2913 = load i8** %tmp2912 ; <i8*> [#uses=1]
1487 %tmp29135706 = ptrtoint i8* %tmp2913 to i32 ; <i32> [#uses=1]
1488 %tmp291357065707 = zext i32 %tmp29135706 to i64 ; <i64> [#uses=1]
1489 %tmp2915 = getelementptr %struct.string___XUP* %tmp69, i32 0, i32 1 ; <%struct.string___XUB**> [#uses=1]
1490 %tmp2916 = load %struct.string___XUB** %tmp2915 ; <%struct.string___XUB*> [#uses=1]
1491 %tmp29165702 = ptrtoint %struct.string___XUB* %tmp2916 to i32 ; <i32> [#uses=1]
1492 %tmp291657025703 = zext i32 %tmp29165702 to i64 ; <i64> [#uses=1]
1493 %tmp2916570257035704 = shl i64 %tmp291657025703, 32 ; <i64> [#uses=1]
1494 %tmp2916570257035704.ins = or i64 %tmp2916570257035704, %tmp291357065707 ; <i64> [#uses=1]
1495 invoke void @report__failed( i64 %tmp2916570257035704.ins )
1496 to label %cleanup2943 unwind label %unwind2822
1497
1498unwind2937: ; preds = %cleanup2943, %unwind2822
1499 %eh_ptr2938 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=3]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001500 %eh_select2940 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr2938, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), i32* @__gnat_others_value ) ; <i32> [#uses=2]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001501 call void @llvm.stackrestore( i8* %tmp2774 )
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001502 %eh_typeid29685 = call i32 @llvm.eh.typeid.for.i32( i8* bitcast (i32* @__gnat_others_value to i8*) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001503 %tmp29706 = icmp eq i32 %eh_select2940, %eh_typeid29685 ; <i1> [#uses=1]
1504 br i1 %tmp29706, label %eh_then2971, label %cleanup2998
1505
1506cleanup2943: ; preds = %invcont2910
1507 %tmp29505515 = ptrtoint i8* %tmp2770 to i32 ; <i32> [#uses=1]
1508 %tmp295055155516 = zext i32 %tmp29505515 to i64 ; <i64> [#uses=1]
1509 %tmp29535512 = zext i32 %tmp2773 to i64 ; <i64> [#uses=1]
1510 %tmp295355125513 = shl i64 %tmp29535512, 32 ; <i64> [#uses=1]
1511 %tmp295355125513.ins = or i64 %tmp295355125513, %tmp295055155516 ; <i64> [#uses=1]
1512 invoke void @system__secondary_stack__ss_release( i64 %tmp295355125513.ins )
1513 to label %cleanup2961 unwind label %unwind2937
1514
1515cleanup2961: ; preds = %cleanup2943
1516 call void @llvm.stackrestore( i8* %tmp2774 )
1517 %tmp3044.not6066 = icmp uge i8 %tmp272273, %tmp170171 ; <i1> [#uses=1]
1518 %tmp30506067 = icmp ult i8 %tmp170171, %tmp204205 ; <i1> [#uses=1]
1519 %bothcond59056068 = and i1 %tmp3044.not6066, %tmp30506067 ; <i1> [#uses=1]
1520 br i1 %bothcond59056068, label %cond_true3061, label %cond_next3068
1521
1522cleanup2963: ; preds = %unwind2822
1523 call void @llvm.stackrestore( i8* %tmp2774 )
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001524 %eh_typeid2968 = call i32 @llvm.eh.typeid.for.i32( i8* bitcast (i32* @__gnat_others_value to i8*) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001525 %tmp2970 = icmp eq i32 %eh_select2825, %eh_typeid2968 ; <i1> [#uses=1]
1526 br i1 %tmp2970, label %eh_then2971, label %cleanup2998
1527
1528eh_then2971: ; preds = %cleanup2963, %unwind2937, %unwind2762
1529 %eh_exception.356056.0 = phi i8* [ %eh_ptr2763, %unwind2762 ], [ %eh_ptr2938, %unwind2937 ], [ %eh_ptr2823, %cleanup2963 ] ; <i8*> [#uses=3]
1530 invoke void @__gnat_begin_handler( i8* %eh_exception.356056.0 )
1531 to label %invcont2979 unwind label %unwind2975
1532
1533unwind2975: ; preds = %invcont2981, %invcont2979, %eh_then2971
1534 %eh_ptr2976 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=2]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001535 %eh_select2978 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr2976, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), %struct.exception* @constraint_error, i32* @__gnat_others_value ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001536 invoke void @__gnat_end_handler( i8* %eh_exception.356056.0 )
1537 to label %cleanup2998 unwind label %unwind2712
1538
1539invcont2979: ; preds = %eh_then2971
1540 %tmp2980 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
1541 invoke void %tmp2980( )
1542 to label %invcont2981 unwind label %unwind2975
1543
1544invcont2981: ; preds = %invcont2979
1545 invoke void @report__failed( i64 or (i64 zext (i32 ptrtoint ([46 x i8]* @.str20 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.101.1473 to i32) to i64), i64 32)) )
1546 to label %cleanup2990 unwind label %unwind2975
1547
1548cleanup2990: ; preds = %invcont2981
1549 invoke void @__gnat_end_handler( i8* %eh_exception.356056.0 )
1550 to label %finally2997 unwind label %unwind2712
1551
1552cleanup2998: ; preds = %unwind2975, %cleanup2963, %unwind2937, %unwind2762
1553 %eh_selector.29 = phi i32 [ %eh_select2765, %unwind2762 ], [ %eh_select2940, %unwind2937 ], [ %eh_select2825, %cleanup2963 ], [ %eh_select2978, %unwind2975 ] ; <i32> [#uses=2]
1554 %eh_exception.33 = phi i8* [ %eh_ptr2763, %unwind2762 ], [ %eh_ptr2938, %unwind2937 ], [ %eh_ptr2823, %cleanup2963 ], [ %eh_ptr2976, %unwind2975 ] ; <i8*> [#uses=2]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001555 %eh_typeid2999 = call i32 @llvm.eh.typeid.for.i32( i8* getelementptr (%struct.exception* @constraint_error, i32 0, i32 0) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001556 %tmp3001 = icmp eq i32 %eh_selector.29, %eh_typeid2999 ; <i1> [#uses=1]
1557 br i1 %tmp3001, label %eh_then3002, label %eh_else3016
1558
1559eh_then3002: ; preds = %cleanup2998, %unwind2712
1560 %eh_exception.336046.0 = phi i8* [ %eh_ptr2713, %unwind2712 ], [ %eh_exception.33, %cleanup2998 ] ; <i8*> [#uses=3]
1561 invoke void @__gnat_begin_handler( i8* %eh_exception.336046.0 )
1562 to label %invcont3008 unwind label %unwind3006
1563
1564unwind3006: ; preds = %invcont3008, %eh_then3002
1565 %eh_ptr3007 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
1566 call void @__gnat_end_handler( i8* %eh_exception.336046.0 )
1567 call i32 (...)* @_Unwind_Resume( i8* %eh_ptr3007 ) ; <i32>:12 [#uses=0]
1568 unreachable
1569
1570invcont3008: ; preds = %eh_then3002
1571 %tmp3009 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
1572 invoke void %tmp3009( )
1573 to label %cleanup3012 unwind label %unwind3006
1574
1575cleanup3012: ; preds = %invcont3008
1576 call void @__gnat_end_handler( i8* %eh_exception.336046.0 )
1577 %tmp3044.not6069 = icmp uge i8 %tmp272273, %tmp170171 ; <i1> [#uses=1]
1578 %tmp30506070 = icmp ult i8 %tmp170171, %tmp204205 ; <i1> [#uses=1]
1579 %bothcond59056071 = and i1 %tmp3044.not6069, %tmp30506070 ; <i1> [#uses=1]
1580 br i1 %bothcond59056071, label %cond_true3061, label %cond_next3068
1581
1582eh_else3016: ; preds = %cleanup2998, %unwind2712
1583 %eh_selector.296044.1 = phi i32 [ %eh_select2715, %unwind2712 ], [ %eh_selector.29, %cleanup2998 ] ; <i32> [#uses=1]
1584 %eh_exception.336046.1 = phi i8* [ %eh_ptr2713, %unwind2712 ], [ %eh_exception.33, %cleanup2998 ] ; <i8*> [#uses=4]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001585 %eh_typeid3017 = call i32 @llvm.eh.typeid.for.i32( i8* bitcast (i32* @__gnat_others_value to i8*) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001586 %tmp3019 = icmp eq i32 %eh_selector.296044.1, %eh_typeid3017 ; <i1> [#uses=1]
1587 br i1 %tmp3019, label %eh_then3020, label %Unwind
1588
1589eh_then3020: ; preds = %eh_else3016
1590 invoke void @__gnat_begin_handler( i8* %eh_exception.336046.1 )
1591 to label %invcont3026 unwind label %unwind3024
1592
1593unwind3024: ; preds = %invcont3028, %invcont3026, %eh_then3020
1594 %eh_ptr3025 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
1595 call void @__gnat_end_handler( i8* %eh_exception.336046.1 )
1596 call i32 (...)* @_Unwind_Resume( i8* %eh_ptr3025 ) ; <i32>:13 [#uses=0]
1597 unreachable
1598
1599invcont3026: ; preds = %eh_then3020
1600 %tmp3027 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
1601 invoke void %tmp3027( )
1602 to label %invcont3028 unwind label %unwind3024
1603
1604invcont3028: ; preds = %invcont3026
1605 invoke void @report__failed( i64 or (i64 zext (i32 ptrtoint ([25 x i8]* @.str21 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.104.1478 to i32) to i64), i64 32)) )
1606 to label %cleanup3037 unwind label %unwind3024
1607
1608cleanup3037: ; preds = %invcont3028
1609 call void @__gnat_end_handler( i8* %eh_exception.336046.1 )
1610 br label %finally2997
1611
1612finally2997: ; preds = %cleanup3037, %cleanup2990
1613 %tmp3044.not = icmp uge i8 %tmp272273, %tmp170171 ; <i1> [#uses=1]
1614 %tmp3050 = icmp ult i8 %tmp170171, %tmp204205 ; <i1> [#uses=1]
1615 %bothcond5905 = and i1 %tmp3044.not, %tmp3050 ; <i1> [#uses=1]
1616 br i1 %bothcond5905, label %cond_true3061, label %cond_next3068
1617
1618cond_true3061: ; preds = %finally2997, %cleanup3012, %cleanup2961
1619 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 214 )
1620 to label %UnifiedUnreachableBlock34 unwind label %unwind3062
1621
1622unwind3062: ; preds = %cleanup3340, %unwind3325, %cond_true3061
1623 %eh_ptr3063 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=3]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001624 %eh_select3065 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr3063, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), %struct.exception* @constraint_error, i32* @__gnat_others_value ) ; <i32> [#uses=2]
1625 %eh_typeid33496081 = call i32 @llvm.eh.typeid.for.i32( i8* getelementptr (%struct.exception* @constraint_error, i32 0, i32 0) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001626 %tmp33516083 = icmp eq i32 %eh_select3065, %eh_typeid33496081 ; <i1> [#uses=1]
1627 br i1 %tmp33516083, label %eh_then3352, label %eh_else3366
1628
1629cond_next3068: ; preds = %finally2997, %cleanup3012, %cleanup2961
1630 invoke void @system__secondary_stack__ss_mark( %struct.system__secondary_stack__mark_id* %tmp72 sret )
1631 to label %invcont3116 unwind label %unwind3112
1632
1633unwind3112: ; preds = %cond_next3068
1634 %eh_ptr3113 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=3]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001635 %eh_select3115 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr3113, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), i32* @__gnat_others_value ) ; <i32> [#uses=2]
1636 %eh_typeid33186088 = call i32 @llvm.eh.typeid.for.i32( i8* bitcast (i32* @__gnat_others_value to i8*) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001637 %tmp33206089 = icmp eq i32 %eh_select3115, %eh_typeid33186088 ; <i1> [#uses=1]
1638 br i1 %tmp33206089, label %eh_then3321, label %cleanup3348
1639
1640invcont3116: ; preds = %cond_next3068
1641 %tmp3119 = getelementptr %struct.system__secondary_stack__mark_id* %tmp72, i32 0, i32 0 ; <i8**> [#uses=1]
1642 %tmp3120 = load i8** %tmp3119 ; <i8*> [#uses=2]
1643 %tmp3122 = getelementptr %struct.system__secondary_stack__mark_id* %tmp72, i32 0, i32 1 ; <i32*> [#uses=1]
1644 %tmp3123 = load i32* %tmp3122 ; <i32> [#uses=2]
1645 %tmp3124 = call i8* @llvm.stacksave( ) ; <i8*> [#uses=3]
1646 %tmp3158 = icmp ugt i8 %tmp170171, %tmp204205 ; <i1> [#uses=1]
1647 %bothcond5906 = or i1 %tmp364, %tmp3158 ; <i1> [#uses=1]
1648 br i1 %bothcond5906, label %bb3171, label %cond_next3184
1649
1650bb3171: ; preds = %invcont3116
1651 invoke void @__gnat_rcheck_05( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 220 )
1652 to label %UnifiedUnreachableBlock34 unwind label %unwind3172
1653
1654unwind3172: ; preds = %invcont3260, %invcont3243, %bb3229, %bb3227, %bb3193, %bb3171
1655 %eh_ptr3173 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=3]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001656 %eh_select3175 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr3173, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), i32* @__gnat_others_value ) ; <i32> [#uses=2]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001657 %tmp32795509 = ptrtoint i8* %tmp3120 to i32 ; <i32> [#uses=1]
1658 %tmp327955095510 = zext i32 %tmp32795509 to i64 ; <i64> [#uses=1]
1659 %tmp32825506 = zext i32 %tmp3123 to i64 ; <i64> [#uses=1]
1660 %tmp328255065507 = shl i64 %tmp32825506, 32 ; <i64> [#uses=1]
1661 %tmp328255065507.ins = or i64 %tmp328255065507, %tmp327955095510 ; <i64> [#uses=1]
1662 invoke void @system__secondary_stack__ss_release( i64 %tmp328255065507.ins )
1663 to label %cleanup3313 unwind label %unwind3287
1664
1665cond_next3184: ; preds = %invcont3116
1666 br i1 %tmp206, label %bb3193, label %bb3195
1667
1668bb3193: ; preds = %cond_next3184
1669 invoke void @__gnat_rcheck_06( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 220 )
1670 to label %UnifiedUnreachableBlock34 unwind label %unwind3172
1671
1672bb3195: ; preds = %cond_next3184
1673 br i1 %tmp274, label %bb3227, label %bb3229
1674
1675bb3227: ; preds = %bb3195
1676 invoke void @__gnat_rcheck_06( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 222 )
1677 to label %UnifiedUnreachableBlock34 unwind label %unwind3172
1678
1679bb3229: ; preds = %bb3195
1680 invoke void @system__img_enum__image_enumeration_8( %struct.string___XUP* %tmp75 sret , i32 %tmp13831384, i64 or (i64 zext (i32 ptrtoint ([28 x i8]* @weekS.154 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.32.910 to i32) to i64), i64 32)), i8* getelementptr ([8 x i8]* @weekN.179, i32 0, i32 0) )
1681 to label %invcont3243 unwind label %unwind3172
1682
1683invcont3243: ; preds = %bb3229
1684 %tmp3245 = getelementptr %struct.string___XUP* %tmp75, i32 0, i32 0 ; <i8**> [#uses=1]
1685 %tmp3246 = load i8** %tmp3245 ; <i8*> [#uses=1]
1686 %tmp32465684 = ptrtoint i8* %tmp3246 to i32 ; <i32> [#uses=1]
1687 %tmp324656845685 = zext i32 %tmp32465684 to i64 ; <i64> [#uses=1]
1688 %tmp3248 = getelementptr %struct.string___XUP* %tmp75, i32 0, i32 1 ; <%struct.string___XUB**> [#uses=1]
1689 %tmp3249 = load %struct.string___XUB** %tmp3248 ; <%struct.string___XUB*> [#uses=1]
1690 %tmp32495680 = ptrtoint %struct.string___XUB* %tmp3249 to i32 ; <i32> [#uses=1]
1691 %tmp324956805681 = zext i32 %tmp32495680 to i64 ; <i64> [#uses=1]
1692 %tmp3249568056815682 = shl i64 %tmp324956805681, 32 ; <i64> [#uses=1]
1693 %tmp3249568056815682.ins = or i64 %tmp3249568056815682, %tmp324656845685 ; <i64> [#uses=1]
1694 invoke void @system__string_ops__str_concat( %struct.string___XUP* %tmp78 sret , i64 or (i64 zext (i32 ptrtoint ([31 x i8]* @.str22 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.98.1466 to i32) to i64), i64 32)), i64 %tmp3249568056815682.ins )
1695 to label %invcont3260 unwind label %unwind3172
1696
1697invcont3260: ; preds = %invcont3243
1698 %tmp3262 = getelementptr %struct.string___XUP* %tmp78, i32 0, i32 0 ; <i8**> [#uses=1]
1699 %tmp3263 = load i8** %tmp3262 ; <i8*> [#uses=1]
1700 %tmp32635672 = ptrtoint i8* %tmp3263 to i32 ; <i32> [#uses=1]
1701 %tmp326356725673 = zext i32 %tmp32635672 to i64 ; <i64> [#uses=1]
1702 %tmp3265 = getelementptr %struct.string___XUP* %tmp78, i32 0, i32 1 ; <%struct.string___XUB**> [#uses=1]
1703 %tmp3266 = load %struct.string___XUB** %tmp3265 ; <%struct.string___XUB*> [#uses=1]
1704 %tmp32665668 = ptrtoint %struct.string___XUB* %tmp3266 to i32 ; <i32> [#uses=1]
1705 %tmp326656685669 = zext i32 %tmp32665668 to i64 ; <i64> [#uses=1]
1706 %tmp3266566856695670 = shl i64 %tmp326656685669, 32 ; <i64> [#uses=1]
1707 %tmp3266566856695670.ins = or i64 %tmp3266566856695670, %tmp326356725673 ; <i64> [#uses=1]
1708 invoke void @report__failed( i64 %tmp3266566856695670.ins )
1709 to label %cleanup3293 unwind label %unwind3172
1710
1711unwind3287: ; preds = %cleanup3293, %unwind3172
1712 %eh_ptr3288 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=3]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001713 %eh_select3290 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr3288, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), i32* @__gnat_others_value ) ; <i32> [#uses=2]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001714 call void @llvm.stackrestore( i8* %tmp3124 )
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001715 %eh_typeid33187 = call i32 @llvm.eh.typeid.for.i32( i8* bitcast (i32* @__gnat_others_value to i8*) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001716 %tmp33208 = icmp eq i32 %eh_select3290, %eh_typeid33187 ; <i1> [#uses=1]
1717 br i1 %tmp33208, label %eh_then3321, label %cleanup3348
1718
1719cleanup3293: ; preds = %invcont3260
1720 %tmp33005503 = ptrtoint i8* %tmp3120 to i32 ; <i32> [#uses=1]
1721 %tmp330055035504 = zext i32 %tmp33005503 to i64 ; <i64> [#uses=1]
1722 %tmp33035500 = zext i32 %tmp3123 to i64 ; <i64> [#uses=1]
1723 %tmp330355005501 = shl i64 %tmp33035500, 32 ; <i64> [#uses=1]
1724 %tmp330355005501.ins = or i64 %tmp330355005501, %tmp330055035504 ; <i64> [#uses=1]
1725 invoke void @system__secondary_stack__ss_release( i64 %tmp330355005501.ins )
1726 to label %cleanup3311 unwind label %unwind3287
1727
1728cleanup3311: ; preds = %cleanup3293
1729 call void @llvm.stackrestore( i8* %tmp3124 )
1730 br label %finally3347
1731
1732cleanup3313: ; preds = %unwind3172
1733 call void @llvm.stackrestore( i8* %tmp3124 )
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001734 %eh_typeid3318 = call i32 @llvm.eh.typeid.for.i32( i8* bitcast (i32* @__gnat_others_value to i8*) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001735 %tmp3320 = icmp eq i32 %eh_select3175, %eh_typeid3318 ; <i1> [#uses=1]
1736 br i1 %tmp3320, label %eh_then3321, label %cleanup3348
1737
1738eh_then3321: ; preds = %cleanup3313, %unwind3287, %unwind3112
1739 %eh_exception.416084.0 = phi i8* [ %eh_ptr3113, %unwind3112 ], [ %eh_ptr3288, %unwind3287 ], [ %eh_ptr3173, %cleanup3313 ] ; <i8*> [#uses=3]
1740 invoke void @__gnat_begin_handler( i8* %eh_exception.416084.0 )
1741 to label %invcont3329 unwind label %unwind3325
1742
1743unwind3325: ; preds = %invcont3331, %invcont3329, %eh_then3321
1744 %eh_ptr3326 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=2]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001745 %eh_select3328 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr3326, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), %struct.exception* @constraint_error, i32* @__gnat_others_value ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001746 invoke void @__gnat_end_handler( i8* %eh_exception.416084.0 )
1747 to label %cleanup3348 unwind label %unwind3062
1748
1749invcont3329: ; preds = %eh_then3321
1750 %tmp3330 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
1751 invoke void %tmp3330( )
1752 to label %invcont3331 unwind label %unwind3325
1753
1754invcont3331: ; preds = %invcont3329
1755 invoke void @report__failed( i64 or (i64 zext (i32 ptrtoint ([46 x i8]* @.str20 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.101.1473 to i32) to i64), i64 32)) )
1756 to label %cleanup3340 unwind label %unwind3325
1757
1758cleanup3340: ; preds = %invcont3331
1759 invoke void @__gnat_end_handler( i8* %eh_exception.416084.0 )
1760 to label %finally3347 unwind label %unwind3062
1761
1762cleanup3348: ; preds = %unwind3325, %cleanup3313, %unwind3287, %unwind3112
1763 %eh_selector.35 = phi i32 [ %eh_select3115, %unwind3112 ], [ %eh_select3290, %unwind3287 ], [ %eh_select3175, %cleanup3313 ], [ %eh_select3328, %unwind3325 ] ; <i32> [#uses=2]
1764 %eh_exception.39 = phi i8* [ %eh_ptr3113, %unwind3112 ], [ %eh_ptr3288, %unwind3287 ], [ %eh_ptr3173, %cleanup3313 ], [ %eh_ptr3326, %unwind3325 ] ; <i8*> [#uses=2]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001765 %eh_typeid3349 = call i32 @llvm.eh.typeid.for.i32( i8* getelementptr (%struct.exception* @constraint_error, i32 0, i32 0) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001766 %tmp3351 = icmp eq i32 %eh_selector.35, %eh_typeid3349 ; <i1> [#uses=1]
1767 br i1 %tmp3351, label %eh_then3352, label %eh_else3366
1768
1769eh_then3352: ; preds = %cleanup3348, %unwind3062
1770 %eh_exception.396074.0 = phi i8* [ %eh_ptr3063, %unwind3062 ], [ %eh_exception.39, %cleanup3348 ] ; <i8*> [#uses=3]
1771 invoke void @__gnat_begin_handler( i8* %eh_exception.396074.0 )
1772 to label %invcont3358 unwind label %unwind3356
1773
1774unwind3356: ; preds = %invcont3358, %eh_then3352
1775 %eh_ptr3357 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
1776 call void @__gnat_end_handler( i8* %eh_exception.396074.0 )
1777 call i32 (...)* @_Unwind_Resume( i8* %eh_ptr3357 ) ; <i32>:14 [#uses=0]
1778 unreachable
1779
1780invcont3358: ; preds = %eh_then3352
1781 %tmp3359 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
1782 invoke void %tmp3359( )
1783 to label %cleanup3362 unwind label %unwind3356
1784
1785cleanup3362: ; preds = %invcont3358
1786 call void @__gnat_end_handler( i8* %eh_exception.396074.0 )
1787 br label %finally3347
1788
1789eh_else3366: ; preds = %cleanup3348, %unwind3062
1790 %eh_selector.356072.1 = phi i32 [ %eh_select3065, %unwind3062 ], [ %eh_selector.35, %cleanup3348 ] ; <i32> [#uses=1]
1791 %eh_exception.396074.1 = phi i8* [ %eh_ptr3063, %unwind3062 ], [ %eh_exception.39, %cleanup3348 ] ; <i8*> [#uses=4]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001792 %eh_typeid3367 = call i32 @llvm.eh.typeid.for.i32( i8* bitcast (i32* @__gnat_others_value to i8*) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001793 %tmp3369 = icmp eq i32 %eh_selector.356072.1, %eh_typeid3367 ; <i1> [#uses=1]
1794 br i1 %tmp3369, label %eh_then3370, label %Unwind
1795
1796eh_then3370: ; preds = %eh_else3366
1797 invoke void @__gnat_begin_handler( i8* %eh_exception.396074.1 )
1798 to label %invcont3376 unwind label %unwind3374
1799
1800unwind3374: ; preds = %invcont3378, %invcont3376, %eh_then3370
1801 %eh_ptr3375 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
1802 call void @__gnat_end_handler( i8* %eh_exception.396074.1 )
1803 call i32 (...)* @_Unwind_Resume( i8* %eh_ptr3375 ) ; <i32>:15 [#uses=0]
1804 unreachable
1805
1806invcont3376: ; preds = %eh_then3370
1807 %tmp3377 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
1808 invoke void %tmp3377( )
1809 to label %invcont3378 unwind label %unwind3374
1810
1811invcont3378: ; preds = %invcont3376
1812 invoke void @report__failed( i64 or (i64 zext (i32 ptrtoint ([25 x i8]* @.str23 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.104.1478 to i32) to i64), i64 32)) )
1813 to label %cleanup3387 unwind label %unwind3374
1814
1815cleanup3387: ; preds = %invcont3378
1816 call void @__gnat_end_handler( i8* %eh_exception.396074.1 )
1817 br label %finally3347
1818
1819finally3347: ; preds = %cleanup3387, %cleanup3362, %cleanup3340, %cleanup3311
1820 %tmp3392 = call i8* @llvm.stacksave( ) ; <i8*> [#uses=2]
1821 %tmp3398 = invoke i32 @report__ident_int( i32 -5 )
1822 to label %invcont3397 unwind label %unwind3393 ; <i32> [#uses=4]
1823
1824unwind3393: ; preds = %cond_true3555, %cond_true3543, %cond_next3451, %cond_true3448, %cond_true3420, %finally3347
1825 %eh_ptr3394 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=5]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001826 %eh_select3396 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr3394, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), i32* @__gnat_others_value ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001827 call void @llvm.stackrestore( i8* %tmp3392 )
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001828 %eh_typeid3571 = call i32 @llvm.eh.typeid.for.i32( i8* bitcast (i32* @__gnat_others_value to i8*) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001829 %tmp3573 = icmp eq i32 %eh_select3396, %eh_typeid3571 ; <i1> [#uses=1]
1830 br i1 %tmp3573, label %eh_then3574, label %Unwind
1831
1832invcont3397: ; preds = %finally3347
1833 %tmp3405 = icmp slt i32 %tmp3398, %tmp384 ; <i1> [#uses=2]
1834 %tmp3413 = icmp sgt i32 %tmp3398, %tmp394 ; <i1> [#uses=1]
1835 %tmp3417 = or i1 %tmp3405, %tmp3413 ; <i1> [#uses=1]
1836 br i1 %tmp3417, label %cond_true3420, label %cond_next3422
1837
1838cond_true3420: ; preds = %invcont3397
1839 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 238 )
1840 to label %UnifiedUnreachableBlock34 unwind label %unwind3393
1841
1842cond_next3422: ; preds = %invcont3397
1843 %tmp3426 = icmp slt i32 %tmp3398, -5 ; <i1> [#uses=1]
1844 br i1 %tmp3426, label %cond_true3429, label %cond_next3451
1845
1846cond_true3429: ; preds = %cond_next3422
1847 %tmp3441 = icmp slt i32 %tmp394, -6 ; <i1> [#uses=1]
1848 %tmp3445 = or i1 %tmp3405, %tmp3441 ; <i1> [#uses=1]
1849 br i1 %tmp3445, label %cond_true3448, label %cond_next3451
1850
1851cond_true3448: ; preds = %cond_true3429
1852 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 238 )
1853 to label %UnifiedUnreachableBlock34 unwind label %unwind3393
1854
1855cond_next3451: ; preds = %cond_true3429, %cond_next3422
1856 %tmp3521 = invoke i32 @report__ident_int( i32 -5 )
1857 to label %invcont3520 unwind label %unwind3393 ; <i32> [#uses=3]
1858
1859invcont3520: ; preds = %cond_next3451
1860 %tmp3528 = icmp slt i32 %tmp3521, %tmp384 ; <i1> [#uses=1]
1861 %tmp3536 = icmp sgt i32 %tmp3521, %tmp394 ; <i1> [#uses=1]
1862 %tmp3540 = or i1 %tmp3528, %tmp3536 ; <i1> [#uses=1]
1863 br i1 %tmp3540, label %cond_true3543, label %cond_next3545
1864
1865cond_true3543: ; preds = %invcont3520
1866 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 241 )
1867 to label %UnifiedUnreachableBlock34 unwind label %unwind3393
1868
1869cond_next3545: ; preds = %invcont3520
1870 %tmp3552 = icmp eq i32 %tmp3398, %tmp3521 ; <i1> [#uses=1]
1871 br i1 %tmp3552, label %cleanup3565, label %cond_true3555
1872
1873cond_true3555: ; preds = %cond_next3545
1874 invoke void @report__failed( i64 or (i64 zext (i32 ptrtoint ([30 x i8]* @.str24 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.30.904 to i32) to i64), i64 32)) )
1875 to label %cleanup3565 unwind label %unwind3393
1876
1877cleanup3565: ; preds = %cond_true3555, %cond_next3545
1878 call void @llvm.stackrestore( i8* %tmp3392 )
1879 %tmp36006095 = icmp ult i8 %tmp137138, %sat.45934.0 ; <i1> [#uses=1]
1880 br i1 %tmp36006095, label %cond_next3624, label %cond_true3603
1881
1882eh_then3574: ; preds = %unwind3393
1883 invoke void @__gnat_begin_handler( i8* %eh_ptr3394 )
1884 to label %invcont3580 unwind label %unwind3578
1885
1886unwind3578: ; preds = %invcont3582, %invcont3580, %eh_then3574
1887 %eh_ptr3579 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
1888 call void @__gnat_end_handler( i8* %eh_ptr3394 )
1889 call i32 (...)* @_Unwind_Resume( i8* %eh_ptr3579 ) ; <i32>:16 [#uses=0]
1890 unreachable
1891
1892invcont3580: ; preds = %eh_then3574
1893 %tmp3581 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
1894 invoke void %tmp3581( )
1895 to label %invcont3582 unwind label %unwind3578
1896
1897invcont3582: ; preds = %invcont3580
1898 invoke void @report__failed( i64 or (i64 zext (i32 ptrtoint ([18 x i8]* @.str25 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.124.1606 to i32) to i64), i64 32)) )
1899 to label %cleanup3591 unwind label %unwind3578
1900
1901cleanup3591: ; preds = %invcont3582
1902 call void @__gnat_end_handler( i8* %eh_ptr3394 )
1903 %tmp3600 = icmp ult i8 %tmp137138, %sat.45934.0 ; <i1> [#uses=1]
1904 br i1 %tmp3600, label %cond_next3624, label %cond_true3603
1905
1906cond_true3603: ; preds = %cleanup3591, %cleanup3565
1907 %tmp3606 = icmp ult i8 %sat.45934.0, %tmp204205 ; <i1> [#uses=1]
1908 %tmp3610 = icmp ugt i8 %tmp137138, %tmp272273 ; <i1> [#uses=1]
1909 %tmp3614 = or i1 %tmp3606, %tmp3610 ; <i1> [#uses=1]
1910 br i1 %tmp3614, label %cond_true3617, label %cond_next3624
1911
1912cond_true3617: ; preds = %cond_true3603
1913 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 250 )
1914 to label %UnifiedUnreachableBlock34 unwind label %unwind3618
1915
1916unwind3618: ; preds = %bb3743, %cond_true3729, %bb3689, %cond_true3675, %bb3635, %cond_true3617
1917 %wed.3 = phi i8 [ %tmp238239, %cond_true3617 ], [ %wed.1, %bb3743 ], [ %tmp238239, %bb3689 ], [ %tmp238239, %bb3635 ], [ %tmp238239, %cond_true3675 ], [ %tmp238239, %cond_true3729 ] ; <i8> [#uses=1]
1918 %tue.3 = phi i8 [ %tmp204205, %cond_true3617 ], [ %tue.2, %bb3743 ], [ %tue.2, %bb3689 ], [ %tue.1, %bb3635 ], [ %tue.2, %cond_true3675 ], [ %tue.2, %cond_true3729 ] ; <i8> [#uses=1]
1919 %mon.3 = phi i8 [ %tmp170171, %cond_true3617 ], [ %mon.2, %bb3743 ], [ %mon.1, %bb3689 ], [ %tmp170171, %bb3635 ], [ %tmp170171, %cond_true3675 ], [ %mon.2, %cond_true3729 ] ; <i8> [#uses=1]
1920 %eh_ptr3619 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=5]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00001921 %eh_select3621 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr3619, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), i32* @__gnat_others_value ) ; <i32> [#uses=1]
1922 %eh_typeid3854 = call i32 @llvm.eh.typeid.for.i32( i8* bitcast (i32* @__gnat_others_value to i8*) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001923 %tmp3856 = icmp eq i32 %eh_select3621, %eh_typeid3854 ; <i1> [#uses=1]
1924 br i1 %tmp3856, label %eh_then3857, label %Unwind
1925
1926cond_next3624: ; preds = %cond_true3603, %cleanup3591, %cleanup3565
1927 %tmp3629 = icmp ugt i8 %sat.45934.0, %tmp137138 ; <i1> [#uses=1]
1928 br i1 %tmp3629, label %cond_next3653, label %bb3635
1929
1930bb3635: ; preds = %cond_next3649, %cond_next3624
1931 %indvar6258 = phi i8 [ %indvar.next16, %cond_next3649 ], [ 0, %cond_next3624 ] ; <i8> [#uses=2]
1932 %tue.1 = phi i8 [ %tue.0, %cond_next3649 ], [ %tmp204205, %cond_next3624 ] ; <i8> [#uses=2]
1933 %tmp3637 = invoke i8 @report__equal( i32 2, i32 2 )
1934 to label %invcont3636 unwind label %unwind3618 ; <i8> [#uses=1]
1935
1936invcont3636: ; preds = %bb3635
1937 %i3633.4 = add i8 %indvar6258, %sat.45934.0 ; <i8> [#uses=1]
1938 %tmp3638 = icmp eq i8 %tmp3637, 0 ; <i1> [#uses=1]
1939 %tue.0 = select i1 %tmp3638, i8 %tue.1, i8 2 ; <i8> [#uses=2]
1940 %tmp3645 = icmp eq i8 %i3633.4, %tmp137138 ; <i1> [#uses=1]
1941 br i1 %tmp3645, label %cond_next3653, label %cond_next3649
1942
1943cond_next3649: ; preds = %invcont3636
1944 %indvar.next16 = add i8 %indvar6258, 1 ; <i8> [#uses=1]
1945 br label %bb3635
1946
1947cond_next3653: ; preds = %invcont3636, %cond_next3624
1948 %tue.2 = phi i8 [ %tmp204205, %cond_next3624 ], [ %tue.0, %invcont3636 ] ; <i8> [#uses=6]
1949 %tmp3658 = icmp ult i8 %tmp238239, %tmp306307 ; <i1> [#uses=1]
1950 br i1 %tmp3658, label %cond_next3678, label %cond_true3661
1951
1952cond_true3661: ; preds = %cond_next3653
1953 %tmp3664 = icmp ult i8 %tmp306307, %tmp204205 ; <i1> [#uses=1]
1954 %tmp3668 = icmp ugt i8 %tmp238239, %tmp272273 ; <i1> [#uses=1]
1955 %tmp3672 = or i1 %tmp3664, %tmp3668 ; <i1> [#uses=1]
1956 br i1 %tmp3672, label %cond_true3675, label %cond_next3678
1957
1958cond_true3675: ; preds = %cond_true3661
1959 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 257 )
1960 to label %UnifiedUnreachableBlock34 unwind label %unwind3618
1961
1962cond_next3678: ; preds = %cond_true3661, %cond_next3653
1963 %tmp3683 = icmp ugt i8 %tmp306307, %tmp238239 ; <i1> [#uses=1]
1964 br i1 %tmp3683, label %cond_next3707, label %bb3689
1965
1966bb3689: ; preds = %cond_next3703, %cond_next3678
1967 %indvar6261 = phi i8 [ %indvar.next18, %cond_next3703 ], [ 0, %cond_next3678 ] ; <i8> [#uses=2]
1968 %mon.1 = phi i8 [ %mon.0, %cond_next3703 ], [ %tmp170171, %cond_next3678 ] ; <i8> [#uses=2]
1969 %tmp3691 = invoke i8 @report__equal( i32 2, i32 2 )
1970 to label %invcont3690 unwind label %unwind3618 ; <i8> [#uses=1]
1971
1972invcont3690: ; preds = %bb3689
1973 %i3687.4 = add i8 %indvar6261, %tmp306307 ; <i8> [#uses=1]
1974 %tmp3692 = icmp eq i8 %tmp3691, 0 ; <i1> [#uses=1]
1975 %mon.0 = select i1 %tmp3692, i8 %mon.1, i8 1 ; <i8> [#uses=2]
1976 %tmp3699 = icmp eq i8 %i3687.4, %tmp238239 ; <i1> [#uses=1]
1977 br i1 %tmp3699, label %cond_next3707, label %cond_next3703
1978
1979cond_next3703: ; preds = %invcont3690
1980 %indvar.next18 = add i8 %indvar6261, 1 ; <i8> [#uses=1]
1981 br label %bb3689
1982
1983cond_next3707: ; preds = %invcont3690, %cond_next3678
1984 %mon.2 = phi i8 [ %tmp170171, %cond_next3678 ], [ %mon.0, %invcont3690 ] ; <i8> [#uses=8]
1985 %tmp3712 = icmp ult i8 %tmp137138, %mon.2 ; <i1> [#uses=1]
1986 br i1 %tmp3712, label %cond_next3732, label %cond_true3715
1987
1988cond_true3715: ; preds = %cond_next3707
1989 %tmp3718 = icmp ult i8 %mon.2, %tmp204205 ; <i1> [#uses=1]
1990 %tmp3722 = icmp ugt i8 %tmp137138, %tmp272273 ; <i1> [#uses=1]
1991 %tmp3726 = or i1 %tmp3718, %tmp3722 ; <i1> [#uses=1]
1992 br i1 %tmp3726, label %cond_true3729, label %cond_next3732
1993
1994cond_true3729: ; preds = %cond_true3715
1995 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 264 )
1996 to label %UnifiedUnreachableBlock34 unwind label %unwind3618
1997
1998cond_next3732: ; preds = %cond_true3715, %cond_next3707
1999 %tmp3737 = icmp ugt i8 %mon.2, %tmp137138 ; <i1> [#uses=1]
2000 br i1 %tmp3737, label %finally3852, label %bb3743
2001
2002bb3743: ; preds = %cond_next3757, %cond_next3732
2003 %indvar6265 = phi i8 [ %indvar.next20, %cond_next3757 ], [ 0, %cond_next3732 ] ; <i8> [#uses=2]
2004 %wed.1 = phi i8 [ %wed.0, %cond_next3757 ], [ %tmp238239, %cond_next3732 ] ; <i8> [#uses=2]
2005 %tmp3745 = invoke i8 @report__equal( i32 3, i32 3 )
2006 to label %invcont3744 unwind label %unwind3618 ; <i8> [#uses=1]
2007
2008invcont3744: ; preds = %bb3743
2009 %i3741.4 = add i8 %indvar6265, %mon.2 ; <i8> [#uses=1]
2010 %tmp3746 = icmp eq i8 %tmp3745, 0 ; <i1> [#uses=1]
2011 %wed.0 = select i1 %tmp3746, i8 %wed.1, i8 3 ; <i8> [#uses=2]
2012 %tmp3753 = icmp eq i8 %i3741.4, %tmp137138 ; <i1> [#uses=1]
2013 br i1 %tmp3753, label %finally3852, label %cond_next3757
2014
2015cond_next3757: ; preds = %invcont3744
2016 %indvar.next20 = add i8 %indvar6265, 1 ; <i8> [#uses=1]
2017 br label %bb3743
2018
2019eh_then3857: ; preds = %unwind3618
2020 invoke void @__gnat_begin_handler( i8* %eh_ptr3619 )
2021 to label %invcont3863 unwind label %unwind3861
2022
2023unwind3861: ; preds = %invcont3865, %invcont3863, %eh_then3857
2024 %eh_ptr3862 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
2025 call void @__gnat_end_handler( i8* %eh_ptr3619 )
2026 call i32 (...)* @_Unwind_Resume( i8* %eh_ptr3862 ) ; <i32>:17 [#uses=0]
2027 unreachable
2028
2029invcont3863: ; preds = %eh_then3857
2030 %tmp3864 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
2031 invoke void %tmp3864( )
2032 to label %invcont3865 unwind label %unwind3861
2033
2034invcont3865: ; preds = %invcont3863
2035 invoke void @report__failed( i64 or (i64 zext (i32 ptrtoint ([18 x i8]* @.str26 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.124.1606 to i32) to i64), i64 32)) )
2036 to label %cleanup3874 unwind label %unwind3861
2037
2038cleanup3874: ; preds = %invcont3865
2039 call void @__gnat_end_handler( i8* %eh_ptr3619 )
2040 br label %finally3852
2041
2042finally3852: ; preds = %cleanup3874, %invcont3744, %cond_next3732
2043 %wed.4 = phi i8 [ %wed.3, %cleanup3874 ], [ %tmp238239, %cond_next3732 ], [ %wed.0, %invcont3744 ] ; <i8> [#uses=4]
2044 %tue.4 = phi i8 [ %tue.3, %cleanup3874 ], [ %tue.2, %cond_next3732 ], [ %tue.2, %invcont3744 ] ; <i8> [#uses=13]
2045 %mon.4 = phi i8 [ %mon.3, %cleanup3874 ], [ %mon.2, %cond_next3732 ], [ %mon.2, %invcont3744 ] ; <i8> [#uses=18]
2046 %tmp3885 = invoke i32 @report__ident_int( i32 -5 )
2047 to label %invcont3884 unwind label %unwind3880 ; <i32> [#uses=4]
2048
2049unwind3880: ; preds = %cond_true4138, %invcont4122, %cond_next4120, %cond_true4117, %cond_true4027, %cond_next3938, %cond_true3935, %cond_true3907, %finally3852
2050 %eh_ptr3881 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=5]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00002051 %eh_select3883 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr3881, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), i32* @__gnat_others_value ) ; <i32> [#uses=1]
2052 %eh_typeid4149 = call i32 @llvm.eh.typeid.for.i32( i8* bitcast (i32* @__gnat_others_value to i8*) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002053 %tmp4151 = icmp eq i32 %eh_select3883, %eh_typeid4149 ; <i1> [#uses=1]
2054 br i1 %tmp4151, label %eh_then4152, label %Unwind
2055
2056invcont3884: ; preds = %finally3852
2057 %tmp3892 = icmp slt i32 %tmp3885, %tmp384 ; <i1> [#uses=2]
2058 %tmp3900 = icmp sgt i32 %tmp3885, %tmp394 ; <i1> [#uses=1]
2059 %tmp3904 = or i1 %tmp3892, %tmp3900 ; <i1> [#uses=1]
2060 br i1 %tmp3904, label %cond_true3907, label %cond_next3909
2061
2062cond_true3907: ; preds = %invcont3884
2063 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 312 )
2064 to label %UnifiedUnreachableBlock34 unwind label %unwind3880
2065
2066cond_next3909: ; preds = %invcont3884
2067 %tmp3913 = icmp slt i32 %tmp3885, -5 ; <i1> [#uses=1]
2068 br i1 %tmp3913, label %cond_true3916, label %cond_next3938
2069
2070cond_true3916: ; preds = %cond_next3909
2071 %tmp3928 = icmp slt i32 %tmp394, -6 ; <i1> [#uses=1]
2072 %tmp3932 = or i1 %tmp3892, %tmp3928 ; <i1> [#uses=1]
2073 br i1 %tmp3932, label %cond_true3935, label %cond_next3938
2074
2075cond_true3935: ; preds = %cond_true3916
2076 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 312 )
2077 to label %UnifiedUnreachableBlock34 unwind label %unwind3880
2078
2079cond_next3938: ; preds = %cond_true3916, %cond_next3909
2080 %tmp4005 = invoke i32 @report__ident_int( i32 -5 )
2081 to label %invcont4004 unwind label %unwind3880 ; <i32> [#uses=6]
2082
2083invcont4004: ; preds = %cond_next3938
2084 %tmp4012 = icmp slt i32 %tmp4005, %tmp384 ; <i1> [#uses=2]
2085 %tmp4020 = icmp sgt i32 %tmp4005, %tmp394 ; <i1> [#uses=1]
2086 %tmp4024 = or i1 %tmp4012, %tmp4020 ; <i1> [#uses=1]
2087 br i1 %tmp4024, label %cond_true4027, label %cond_next4029
2088
2089cond_true4027: ; preds = %invcont4004
2090 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 313 )
2091 to label %UnifiedUnreachableBlock34 unwind label %unwind3880
2092
2093cond_next4029: ; preds = %invcont4004
2094 %tmp4071 = icmp sgt i32 %tmp4005, -6 ; <i1> [#uses=1]
2095 %tmp4078 = add i32 %tmp4005, 1073741823 ; <i32> [#uses=1]
2096 %iftmp.132.0 = select i1 %tmp4071, i32 %tmp4078, i32 1073741818 ; <i32> [#uses=1]
2097 %tmp4085 = sub i32 %iftmp.132.0, %tmp4005 ; <i32> [#uses=1]
2098 %tmp4086 = shl i32 %tmp4085, 2 ; <i32> [#uses=2]
2099 %tmp4087 = add i32 %tmp4086, 4 ; <i32> [#uses=1]
2100 %tmp4088 = icmp sgt i32 %tmp4087, -1 ; <i1> [#uses=1]
2101 %tmp4087.op = add i32 %tmp4086, 7 ; <i32> [#uses=1]
2102 %tmp4087.op.op = and i32 %tmp4087.op, -4 ; <i32> [#uses=1]
2103 %tmp4091 = select i1 %tmp4088, i32 %tmp4087.op.op, i32 0 ; <i32> [#uses=1]
2104 %tmp4095 = icmp slt i32 %tmp4005, -5 ; <i1> [#uses=1]
2105 br i1 %tmp4095, label %cond_true4098, label %cond_next4120
2106
2107cond_true4098: ; preds = %cond_next4029
2108 %tmp4110 = icmp slt i32 %tmp394, -6 ; <i1> [#uses=1]
2109 %tmp4114 = or i1 %tmp4012, %tmp4110 ; <i1> [#uses=1]
2110 br i1 %tmp4114, label %cond_true4117, label %cond_next4120
2111
2112cond_true4117: ; preds = %cond_true4098
2113 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 313 )
2114 to label %UnifiedUnreachableBlock34 unwind label %unwind3880
2115
2116cond_next4120: ; preds = %cond_true4098, %cond_next4029
2117 %tmp4123 = invoke i8* @__gnat_malloc( i32 %tmp4091 )
2118 to label %invcont4122 unwind label %unwind3880 ; <i8*> [#uses=0]
2119
2120invcont4122: ; preds = %cond_next4120
2121 %tmp41254128 = sext i32 %tmp3885 to i64 ; <i64> [#uses=1]
2122 %tmp4129 = sub i64 -5, %tmp41254128 ; <i64> [#uses=2]
2123 %tmp4134 = invoke i32 @report__ident_int( i32 0 )
2124 to label %invcont4133 unwind label %unwind3880 ; <i32> [#uses=1]
2125
2126invcont4133: ; preds = %invcont4122
2127 %tmp4130 = icmp sgt i64 %tmp4129, -1 ; <i1> [#uses=1]
2128 %tmp4129.cast = trunc i64 %tmp4129 to i32 ; <i32> [#uses=1]
2129 %max41314132 = select i1 %tmp4130, i32 %tmp4129.cast, i32 0 ; <i32> [#uses=1]
2130 %tmp4135 = icmp eq i32 %max41314132, %tmp4134 ; <i1> [#uses=1]
2131 br i1 %tmp4135, label %finally4147, label %cond_true4138
2132
2133cond_true4138: ; preds = %invcont4133
2134 invoke void @report__failed( i64 or (i64 zext (i32 ptrtoint ([31 x i8]* @.str27 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.98.1466 to i32) to i64), i64 32)) )
2135 to label %finally4147 unwind label %unwind3880
2136
2137eh_then4152: ; preds = %unwind3880
2138 invoke void @__gnat_begin_handler( i8* %eh_ptr3881 )
2139 to label %invcont4158 unwind label %unwind4156
2140
2141unwind4156: ; preds = %invcont4160, %invcont4158, %eh_then4152
2142 %eh_ptr4157 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
2143 call void @__gnat_end_handler( i8* %eh_ptr3881 )
2144 call i32 (...)* @_Unwind_Resume( i8* %eh_ptr4157 ) ; <i32>:18 [#uses=0]
2145 unreachable
2146
2147invcont4158: ; preds = %eh_then4152
2148 %tmp4159 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
2149 invoke void %tmp4159( )
2150 to label %invcont4160 unwind label %unwind4156
2151
2152invcont4160: ; preds = %invcont4158
2153 invoke void @report__failed( i64 or (i64 zext (i32 ptrtoint ([18 x i8]* @.str28 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.124.1606 to i32) to i64), i64 32)) )
2154 to label %cleanup4169 unwind label %unwind4156
2155
2156cleanup4169: ; preds = %invcont4160
2157 call void @__gnat_end_handler( i8* %eh_ptr3881 )
2158 br label %finally4147
2159
2160finally4147: ; preds = %cleanup4169, %cond_true4138, %invcont4133
2161 %tmp4174 = call i8* @llvm.stacksave( ) ; <i8*> [#uses=3]
2162 %tmp4180 = invoke i32 @report__ident_int( i32 4 )
2163 to label %invcont4179 unwind label %unwind4175 ; <i32> [#uses=6]
2164
2165unwind4175: ; preds = %cond_true4292, %cond_true4187, %finally4147
2166 %eh_ptr4176 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=5]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00002167 %eh_select4178 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr4176, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), i32* @__gnat_others_value ) ; <i32> [#uses=1]
2168 %eh_typeid4304 = call i32 @llvm.eh.typeid.for.i32( i8* bitcast (i32* @__gnat_others_value to i8*) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002169 %tmp4306 = icmp eq i32 %eh_select4178, %eh_typeid4304 ; <i1> [#uses=1]
2170 br i1 %tmp4306, label %eh_then4307, label %cleanup4334
2171
2172invcont4179: ; preds = %finally4147
2173 %tmp4184 = icmp slt i32 %tmp4180, 1 ; <i1> [#uses=1]
2174 br i1 %tmp4184, label %cond_true4187, label %cond_next4189
2175
2176cond_true4187: ; preds = %invcont4179
2177 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 329 )
2178 to label %UnifiedUnreachableBlock34 unwind label %unwind4175
2179
2180cond_next4189: ; preds = %invcont4179
2181 %tmp4231 = icmp sgt i32 %tmp4180, 2 ; <i1> [#uses=2]
2182 %tmp4238 = add i32 %tmp4180, 1073741823 ; <i32> [#uses=1]
2183 %iftmp.138.0 = select i1 %tmp4231, i32 %tmp4238, i32 2 ; <i32> [#uses=1]
2184 %tmp4245 = sub i32 %iftmp.138.0, %tmp4180 ; <i32> [#uses=1]
2185 %tmp4246 = shl i32 %tmp4245, 2 ; <i32> [#uses=2]
2186 %tmp4247 = add i32 %tmp4246, 4 ; <i32> [#uses=1]
2187 %tmp4248 = icmp sgt i32 %tmp4247, -1 ; <i1> [#uses=1]
2188 %tmp4247.op = add i32 %tmp4246, 7 ; <i32> [#uses=1]
2189 %tmp4247.op.op = and i32 %tmp4247.op, -4 ; <i32> [#uses=1]
2190 %tmp4251 = select i1 %tmp4248, i32 %tmp4247.op.op, i32 0 ; <i32> [#uses=1]
2191 %tmp4253 = alloca i8, i32 %tmp4251 ; <i8*> [#uses=2]
2192 %tmp42534254 = bitcast i8* %tmp4253 to i32* ; <i32*> [#uses=1]
2193 br i1 %tmp4231, label %bb4276, label %cond_next4266.preheader
2194
2195cond_next4266.preheader: ; preds = %cond_next4189
2196 %J152b.36147.3 = add i32 %tmp4180, 1 ; <i32> [#uses=1]
2197 br label %cond_next4266
2198
2199cond_next4266: ; preds = %cond_next4266, %cond_next4266.preheader
2200 %indvar6268 = phi i32 [ 0, %cond_next4266.preheader ], [ %indvar.next22, %cond_next4266 ] ; <i32> [#uses=3]
2201 %tmp4273 = getelementptr i32* %tmp42534254, i32 %indvar6268 ; <i32*> [#uses=1]
2202 store i32 5, i32* %tmp4273
2203 %tmp4275 = add i32 %J152b.36147.3, %indvar6268 ; <i32> [#uses=1]
2204 %tmp42626151 = icmp sgt i32 %tmp4275, 2 ; <i1> [#uses=1]
2205 %indvar.next22 = add i32 %indvar6268, 1 ; <i32> [#uses=1]
2206 br i1 %tmp42626151, label %bb4276, label %cond_next4266
2207
2208bb4276: ; preds = %cond_next4266, %cond_next4189
2209 %tmp4280 = sub i32 2, %tmp4180 ; <i32> [#uses=1]
2210 %tmp4281 = icmp eq i32 %tmp4280, 1 ; <i1> [#uses=1]
2211 br i1 %tmp4281, label %cond_true4284, label %cleanup4336
2212
2213cond_true4284: ; preds = %bb4276
2214 %tmp4288 = call i32 (i8*, i8*, i32, ...)* @memcmp( i8* %tmp4253, i8* bitcast ([2 x i32]* @C.143.1720 to i8*), i32 8 ) ; <i32> [#uses=1]
2215 %tmp4289 = icmp eq i32 %tmp4288, 0 ; <i1> [#uses=1]
2216 br i1 %tmp4289, label %cond_true4292, label %cleanup4336
2217
2218cond_true4292: ; preds = %cond_true4284
2219 invoke void @report__failed( i64 or (i64 zext (i32 ptrtoint ([37 x i8]* @.str29 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.146.1725 to i32) to i64), i64 32)) )
2220 to label %cleanup4336 unwind label %unwind4175
2221
2222eh_then4307: ; preds = %unwind4175
2223 invoke void @__gnat_begin_handler( i8* %eh_ptr4176 )
2224 to label %invcont4313 unwind label %unwind4311
2225
2226unwind4311: ; preds = %invcont4315, %invcont4313, %eh_then4307
2227 %eh_ptr4312 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
2228 invoke void @__gnat_end_handler( i8* %eh_ptr4176 )
2229 to label %cleanup4334 unwind label %unwind4326
2230
2231invcont4313: ; preds = %eh_then4307
2232 %tmp4314 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
2233 invoke void %tmp4314( )
2234 to label %invcont4315 unwind label %unwind4311
2235
2236invcont4315: ; preds = %invcont4313
2237 invoke void @report__failed( i64 or (i64 zext (i32 ptrtoint ([18 x i8]* @.str30 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.124.1606 to i32) to i64), i64 32)) )
2238 to label %cleanup4324 unwind label %unwind4311
2239
2240cleanup4324: ; preds = %invcont4315
2241 invoke void @__gnat_end_handler( i8* %eh_ptr4176 )
2242 to label %cleanup4336 unwind label %unwind4326
2243
2244unwind4326: ; preds = %cleanup4324, %unwind4311
2245 %eh_ptr4327 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
2246 call void @llvm.stackrestore( i8* %tmp4174 )
2247 call i32 (...)* @_Unwind_Resume( i8* %eh_ptr4327 ) ; <i32>:19 [#uses=0]
2248 unreachable
2249
2250cleanup4334: ; preds = %unwind4311, %unwind4175
2251 %eh_exception.50 = phi i8* [ %eh_ptr4176, %unwind4175 ], [ %eh_ptr4312, %unwind4311 ] ; <i8*> [#uses=1]
2252 call void @llvm.stackrestore( i8* %tmp4174 )
2253 call i32 (...)* @_Unwind_Resume( i8* %eh_exception.50 ) ; <i32>:20 [#uses=0]
2254 unreachable
2255
2256cleanup4336: ; preds = %cleanup4324, %cond_true4292, %cond_true4284, %bb4276
2257 call void @llvm.stackrestore( i8* %tmp4174 )
2258 %tmp4338 = call i8* @llvm.stacksave( ) ; <i8*> [#uses=6]
2259 %tmp4379 = alloca i8, i32 %max1395 ; <i8*> [#uses=9]
2260 %tmp4421 = alloca i8, i32 %max1395 ; <i8*> [#uses=3]
2261 %tmp4428 = icmp ugt i8 %tmp204205, %tmp272273 ; <i1> [#uses=1]
2262 br i1 %tmp4428, label %cond_next4458, label %bb4433
2263
2264bb4433: ; preds = %cleanup4336
2265 store i8 %wed.4, i8* %tmp4421
2266 %tmp4442 = icmp eq i8 %tmp272273, %tmp204205 ; <i1> [#uses=1]
2267 br i1 %tmp4442, label %cond_next4458, label %cond_next4446.preheader
2268
2269cond_next4446.preheader: ; preds = %bb4433
2270 %J161b.26152.2 = add i8 %tmp204205, 1 ; <i8> [#uses=1]
2271 br label %cond_next4446
2272
2273cond_next4446: ; preds = %cond_next4446, %cond_next4446.preheader
2274 %indvar6271 = phi i8 [ 0, %cond_next4446.preheader ], [ %indvar.next24, %cond_next4446 ] ; <i8> [#uses=2]
2275 %tmp4448 = add i8 %J161b.26152.2, %indvar6271 ; <i8> [#uses=2]
2276 %tmp443444356156 = zext i8 %tmp4448 to i32 ; <i32> [#uses=1]
2277 %tmp44376157 = sub i32 %tmp443444356156, %tmp13571358 ; <i32> [#uses=1]
2278 %tmp44386158 = getelementptr i8* %tmp4421, i32 %tmp44376157 ; <i8*> [#uses=1]
2279 store i8 %wed.4, i8* %tmp44386158
2280 %tmp44426160 = icmp eq i8 %tmp272273, %tmp4448 ; <i1> [#uses=1]
2281 %indvar.next24 = add i8 %indvar6271, 1 ; <i8> [#uses=1]
2282 br i1 %tmp44426160, label %cond_next4458, label %cond_next4446
2283
2284unwind4453: ; preds = %cond_true4609, %cond_true4504, %cond_true4481
2285 %eh_ptr4454 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=4]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00002286 %eh_select4456 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr4454, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), i32* @__gnat_others_value ) ; <i32> [#uses=1]
2287 %eh_typeid4710 = call i32 @llvm.eh.typeid.for.i32( i8* bitcast (i32* @__gnat_others_value to i8*) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002288 %tmp4712 = icmp eq i32 %eh_select4456, %eh_typeid4710 ; <i1> [#uses=1]
2289 br i1 %tmp4712, label %eh_then4713, label %cleanup4740
2290
2291cond_next4458: ; preds = %cond_next4446, %bb4433, %cleanup4336
2292 call void @llvm.memcpy.i32( i8* %tmp4379, i8* %tmp4421, i32 %max1395, i32 1 )
2293 %tmp4464 = icmp ult i8 %tmp137138, %mon.4 ; <i1> [#uses=2]
2294 br i1 %tmp4464, label %cond_next4484, label %cond_true4467
2295
2296cond_true4467: ; preds = %cond_next4458
2297 %tmp4470 = icmp ult i8 %mon.4, %tmp204205 ; <i1> [#uses=1]
2298 %tmp4474 = icmp ugt i8 %tmp137138, %tmp272273 ; <i1> [#uses=1]
2299 %tmp4478 = or i1 %tmp4470, %tmp4474 ; <i1> [#uses=1]
2300 br i1 %tmp4478, label %cond_true4481, label %cond_next4484
2301
2302cond_true4481: ; preds = %cond_true4467
2303 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 340 )
2304 to label %UnifiedUnreachableBlock34 unwind label %unwind4453
2305
2306cond_next4484: ; preds = %cond_true4467, %cond_next4458
2307 %tmp4487 = icmp ult i8 %mon.4, %tue.4 ; <i1> [#uses=2]
2308 br i1 %tmp4487, label %cond_next4507, label %cond_true4490
2309
2310cond_true4490: ; preds = %cond_next4484
2311 %tmp4493 = icmp ult i8 %tue.4, %tmp204205 ; <i1> [#uses=1]
2312 %tmp4497 = icmp ugt i8 %mon.4, %tmp272273 ; <i1> [#uses=1]
2313 %tmp4501 = or i1 %tmp4497, %tmp4493 ; <i1> [#uses=1]
2314 br i1 %tmp4501, label %cond_true4504, label %cond_next4507
2315
2316cond_true4504: ; preds = %cond_true4490
2317 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 340 )
2318 to label %UnifiedUnreachableBlock34 unwind label %unwind4453
2319
2320cond_next4507: ; preds = %cond_true4490, %cond_next4484
2321 %tmp45904591 = zext i8 %mon.4 to i64 ; <i64> [#uses=3]
2322 %tmp45924593 = zext i8 %tue.4 to i64 ; <i64> [#uses=1]
2323 %tmp4594 = sub i64 %tmp45904591, %tmp45924593 ; <i64> [#uses=1]
2324 %tmp4595 = add i64 %tmp4594, 1 ; <i64> [#uses=2]
2325 %tmp4596 = icmp sgt i64 %tmp4595, -1 ; <i1> [#uses=1]
2326 %max4597 = select i1 %tmp4596, i64 %tmp4595, i64 0 ; <i64> [#uses=1]
2327 %tmp45984599 = zext i8 %tmp137138 to i64 ; <i64> [#uses=1]
2328 %tmp4602 = sub i64 %tmp45984599, %tmp45904591 ; <i64> [#uses=1]
2329 %tmp4603 = add i64 %tmp4602, 1 ; <i64> [#uses=3]
2330 %tmp4604 = icmp sgt i64 %tmp4603, -1 ; <i1> [#uses=2]
2331 %max4605 = select i1 %tmp4604, i64 %tmp4603, i64 0 ; <i64> [#uses=1]
2332 %tmp4606 = icmp eq i64 %max4597, %max4605 ; <i1> [#uses=1]
2333 br i1 %tmp4606, label %cond_next4611, label %cond_true4609
2334
2335cond_true4609: ; preds = %cond_next4507
2336 invoke void @__gnat_rcheck_07( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 340 )
2337 to label %UnifiedUnreachableBlock34 unwind label %unwind4453
2338
2339cond_next4611: ; preds = %cond_next4507
2340 %tmp46124613 = zext i8 %tue.4 to i32 ; <i32> [#uses=1]
2341 %tmp4616 = sub i32 %tmp46124613, %tmp13571358 ; <i32> [#uses=2]
2342 %tmp46244625 = zext i8 %mon.4 to i32 ; <i32> [#uses=1]
2343 %tmp4628 = sub i32 %tmp46244625, %tmp13571358 ; <i32> [#uses=3]
2344 %tmp4636 = icmp slt i32 %tmp4628, %tmp4616 ; <i1> [#uses=1]
2345 %tmp4677 = icmp ugt i8 %tue.4, %mon.4 ; <i1> [#uses=2]
2346 br i1 %tmp4636, label %cond_false4673, label %cond_true4639
2347
2348cond_true4639: ; preds = %cond_next4611
2349 br i1 %tmp4677, label %cleanup4742, label %bb4648.preheader
2350
2351bb4648.preheader: ; preds = %cond_true4639
2352 %tmp46556217 = getelementptr i8* %tmp4379, i32 %tmp4628 ; <i8*> [#uses=1]
2353 %tmp46566218 = load i8* %tmp46556217 ; <i8> [#uses=1]
2354 %tmp46596220 = getelementptr i8* %tmp4379, i32 %tmp4616 ; <i8*> [#uses=1]
2355 store i8 %tmp46566218, i8* %tmp46596220
2356 %tmp46646223 = icmp eq i8 %tue.4, %mon.4 ; <i1> [#uses=1]
2357 br i1 %tmp46646223, label %cleanup4742, label %cond_next4668.preheader
2358
2359cond_next4668.preheader: ; preds = %bb4648.preheader
2360 %tmp46616222.in = add i8 %mon.4, 1 ; <i8> [#uses=1]
2361 %L174b.26213 = add i8 %tue.4, 1 ; <i8> [#uses=1]
2362 %tmp.27 = sub i8 %mon.4, %tue.4 ; <i8> [#uses=1]
2363 br label %cond_next4668
2364
2365cond_next4668: ; preds = %cond_next4668, %cond_next4668.preheader
2366 %indvar6275 = phi i8 [ 0, %cond_next4668.preheader ], [ %indvar.next26, %cond_next4668 ] ; <i8> [#uses=3]
2367 %tmp46616222 = add i8 %tmp46616222.in, %indvar6275 ; <i8> [#uses=1]
2368 %tmp4670 = add i8 %L174b.26213, %indvar6275 ; <i8> [#uses=1]
2369 %tmp46494650 = zext i8 %tmp4670 to i32 ; <i32> [#uses=1]
2370 %tmp46514652 = zext i8 %tmp46616222 to i32 ; <i32> [#uses=1]
2371 %tmp4654 = sub i32 %tmp46514652, %tmp13571358 ; <i32> [#uses=1]
2372 %tmp4655 = getelementptr i8* %tmp4379, i32 %tmp4654 ; <i8*> [#uses=1]
2373 %tmp4656 = load i8* %tmp4655 ; <i8> [#uses=1]
2374 %tmp4658 = sub i32 %tmp46494650, %tmp13571358 ; <i32> [#uses=1]
2375 %tmp4659 = getelementptr i8* %tmp4379, i32 %tmp4658 ; <i8*> [#uses=1]
2376 store i8 %tmp4656, i8* %tmp4659
2377 %indvar.next26 = add i8 %indvar6275, 1 ; <i8> [#uses=2]
2378 %exitcond28 = icmp eq i8 %indvar.next26, %tmp.27 ; <i1> [#uses=1]
2379 br i1 %exitcond28, label %cleanup4742, label %cond_next4668
2380
2381cond_false4673: ; preds = %cond_next4611
2382 br i1 %tmp4677, label %cleanup4742, label %bb4682.preheader
2383
2384bb4682.preheader: ; preds = %cond_false4673
2385 %tmp468546866228 = and i32 %tmp123, 255 ; <i32> [#uses=1]
2386 %tmp46886229 = sub i32 %tmp468546866228, %tmp13571358 ; <i32> [#uses=1]
2387 %tmp46896230 = getelementptr i8* %tmp4379, i32 %tmp46886229 ; <i8*> [#uses=1]
2388 %tmp46906231 = load i8* %tmp46896230 ; <i8> [#uses=1]
2389 %tmp46936233 = getelementptr i8* %tmp4379, i32 %tmp4628 ; <i8*> [#uses=1]
2390 store i8 %tmp46906231, i8* %tmp46936233
2391 %tmp46986236 = icmp eq i8 %mon.4, %tue.4 ; <i1> [#uses=1]
2392 br i1 %tmp46986236, label %cleanup4742, label %cond_next4702.preheader
2393
2394cond_next4702.preheader: ; preds = %bb4682.preheader
2395 %tmp46956235.in = add i8 %tmp137138, -1 ; <i8> [#uses=1]
2396 %L172b.26226 = add i8 %mon.4, -1 ; <i8> [#uses=1]
2397 %tmp.32 = sub i8 %mon.4, %tue.4 ; <i8> [#uses=1]
2398 br label %cond_next4702
2399
2400cond_next4702: ; preds = %cond_next4702, %cond_next4702.preheader
2401 %indvar6278 = phi i8 [ 0, %cond_next4702.preheader ], [ %indvar.next30, %cond_next4702 ] ; <i8> [#uses=3]
2402 %tmp46956235 = sub i8 %tmp46956235.in, %indvar6278 ; <i8> [#uses=1]
2403 %tmp4704 = sub i8 %L172b.26226, %indvar6278 ; <i8> [#uses=1]
2404 %tmp46834684 = zext i8 %tmp4704 to i32 ; <i32> [#uses=1]
2405 %tmp46854686 = zext i8 %tmp46956235 to i32 ; <i32> [#uses=1]
2406 %tmp4688 = sub i32 %tmp46854686, %tmp13571358 ; <i32> [#uses=1]
2407 %tmp4689 = getelementptr i8* %tmp4379, i32 %tmp4688 ; <i8*> [#uses=1]
2408 %tmp4690 = load i8* %tmp4689 ; <i8> [#uses=1]
2409 %tmp4692 = sub i32 %tmp46834684, %tmp13571358 ; <i32> [#uses=1]
2410 %tmp4693 = getelementptr i8* %tmp4379, i32 %tmp4692 ; <i8*> [#uses=1]
2411 store i8 %tmp4690, i8* %tmp4693
2412 %indvar.next30 = add i8 %indvar6278, 1 ; <i8> [#uses=2]
2413 %exitcond33 = icmp eq i8 %indvar.next30, %tmp.32 ; <i1> [#uses=1]
2414 br i1 %exitcond33, label %cleanup4742, label %cond_next4702
2415
2416eh_then4713: ; preds = %unwind4453
2417 invoke void @__gnat_begin_handler( i8* %eh_ptr4454 )
2418 to label %invcont4719 unwind label %unwind4717
2419
2420unwind4717: ; preds = %invcont4719, %eh_then4713
2421 %eh_ptr4718 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
2422 invoke void @__gnat_end_handler( i8* %eh_ptr4454 )
2423 to label %cleanup4740 unwind label %unwind4732
2424
2425invcont4719: ; preds = %eh_then4713
2426 %tmp4720 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
2427 invoke void %tmp4720( )
2428 to label %UnifiedReturnBlock35 unwind label %unwind4717
2429
2430unwind4732: ; preds = %unwind4717
2431 %eh_ptr4733 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
2432 call void @llvm.stackrestore( i8* %tmp4338 )
2433 call void @llvm.stackrestore( i8* %tmp4338 )
2434 call i32 (...)* @_Unwind_Resume( i8* %eh_ptr4733 ) ; <i32>:21 [#uses=0]
2435 unreachable
2436
2437cleanup4740: ; preds = %unwind4717, %unwind4453
2438 %eh_exception.53 = phi i8* [ %eh_ptr4454, %unwind4453 ], [ %eh_ptr4718, %unwind4717 ] ; <i8*> [#uses=1]
2439 call void @llvm.stackrestore( i8* %tmp4338 )
2440 call void @llvm.stackrestore( i8* %tmp4338 )
2441 call i32 (...)* @_Unwind_Resume( i8* %eh_exception.53 ) ; <i32>:22 [#uses=0]
2442 unreachable
2443
2444cleanup4742: ; preds = %cond_next4702, %bb4682.preheader, %cond_false4673, %cond_next4668, %bb4648.preheader, %cond_true4639
2445 call void @llvm.stackrestore( i8* %tmp4338 )
2446 call void @llvm.stackrestore( i8* %tmp4338 )
2447 %tmp4749 = call i8* @llvm.stacksave( ) ; <i8*> [#uses=2]
2448 br i1 %tmp4464, label %cond_next4776, label %UnifiedReturnBlock35
2449
2450unwind4770: ; preds = %cond_next4776
2451 %eh_ptr4771 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=5]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00002452 %eh_select4773 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr4771, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), i32* @__gnat_others_value ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002453 call void @llvm.stackrestore( i8* %tmp4749 )
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00002454 %eh_typeid4874 = call i32 @llvm.eh.typeid.for.i32( i8* bitcast (i32* @__gnat_others_value to i8*) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002455 %tmp4876 = icmp eq i32 %eh_select4773, %eh_typeid4874 ; <i1> [#uses=1]
2456 br i1 %tmp4876, label %eh_then4877, label %Unwind
2457
2458cond_next4776: ; preds = %cleanup4742
2459 %tmp4856.cast = trunc i64 %tmp4603 to i32 ; <i32> [#uses=1]
2460 %max48584859 = select i1 %tmp4604, i32 %tmp4856.cast, i32 0 ; <i32> [#uses=1]
2461 %tmp4861 = invoke i8 @report__equal( i32 %max48584859, i32 0 )
2462 to label %invcont4860 unwind label %unwind4770 ; <i8> [#uses=1]
2463
2464invcont4860: ; preds = %cond_next4776
2465 %tmp4862 = icmp eq i8 %tmp4861, 0 ; <i1> [#uses=1]
2466 %tue.8 = select i1 %tmp4862, i8 %tue.4, i8 2 ; <i8> [#uses=3]
2467 call void @llvm.stackrestore( i8* %tmp4749 )
2468 %tmp49016170 = icmp ult i8 %mon.4, %tue.8 ; <i1> [#uses=1]
2469 br i1 %tmp49016170, label %cond_next4925, label %cond_true4904
2470
2471eh_then4877: ; preds = %unwind4770
2472 invoke void @__gnat_begin_handler( i8* %eh_ptr4771 )
2473 to label %invcont4883 unwind label %unwind4881
2474
2475unwind4881: ; preds = %invcont4885, %invcont4883, %eh_then4877
2476 %eh_ptr4882 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
2477 call void @__gnat_end_handler( i8* %eh_ptr4771 )
2478 call i32 (...)* @_Unwind_Resume( i8* %eh_ptr4882 ) ; <i32>:23 [#uses=0]
2479 unreachable
2480
2481invcont4883: ; preds = %eh_then4877
2482 %tmp4884 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
2483 invoke void %tmp4884( )
2484 to label %invcont4885 unwind label %unwind4881
2485
2486invcont4885: ; preds = %invcont4883
2487 invoke void @report__failed( i64 or (i64 zext (i32 ptrtoint ([18 x i8]* @.str32 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.124.1606 to i32) to i64), i64 32)) )
2488 to label %cleanup4894 unwind label %unwind4881
2489
2490cleanup4894: ; preds = %invcont4885
2491 call void @__gnat_end_handler( i8* %eh_ptr4771 )
2492 br i1 %tmp4487, label %cond_next4925, label %cond_true4904
2493
2494cond_true4904: ; preds = %cleanup4894, %invcont4860
2495 %tue.96161.0 = phi i8 [ %tue.8, %invcont4860 ], [ %tue.4, %cleanup4894 ] ; <i8> [#uses=3]
2496 %tmp4907 = icmp ult i8 %tue.96161.0, %tmp204205 ; <i1> [#uses=1]
2497 %tmp4911 = icmp ugt i8 %mon.4, %tmp272273 ; <i1> [#uses=1]
2498 %tmp4915 = or i1 %tmp4907, %tmp4911 ; <i1> [#uses=1]
2499 br i1 %tmp4915, label %cond_true4918, label %cond_next4925
2500
2501cond_true4918: ; preds = %cond_true4904
2502 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 361 )
2503 to label %UnifiedUnreachableBlock34 unwind label %unwind4919
2504
2505unwind4919: ; preds = %cond_next4925, %cond_true4918
2506 %tue.96161.2 = phi i8 [ %tue.96161.0, %cond_true4918 ], [ %tue.96161.1, %cond_next4925 ] ; <i8> [#uses=1]
2507 %eh_ptr4920 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=5]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00002508 %eh_select4922 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr4920, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), i32* @__gnat_others_value ) ; <i32> [#uses=1]
2509 %eh_typeid4987 = call i32 @llvm.eh.typeid.for.i32( i8* bitcast (i32* @__gnat_others_value to i8*) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002510 %tmp4989 = icmp eq i32 %eh_select4922, %eh_typeid4987 ; <i1> [#uses=1]
2511 br i1 %tmp4989, label %eh_then4990, label %Unwind
2512
2513cond_next4925: ; preds = %cond_true4904, %cleanup4894, %invcont4860
2514 %tue.96161.1 = phi i8 [ %tue.8, %invcont4860 ], [ %tue.4, %cleanup4894 ], [ %tue.96161.0, %cond_true4904 ] ; <i8> [#uses=6]
2515 %tmp49714972 = zext i8 %tue.96161.1 to i64 ; <i64> [#uses=1]
2516 %tmp4973 = sub i64 %tmp45904591, %tmp49714972 ; <i64> [#uses=1]
2517 %tmp4974 = add i64 %tmp4973, 1 ; <i64> [#uses=2]
2518 %tmp4975 = icmp sgt i64 %tmp4974, -1 ; <i1> [#uses=1]
2519 %tmp4974.cast = trunc i64 %tmp4974 to i32 ; <i32> [#uses=1]
2520 %max49764977 = select i1 %tmp4975, i32 %tmp4974.cast, i32 0 ; <i32> [#uses=1]
2521 %tmp4979 = invoke i8 @report__equal( i32 %max49764977, i32 0 )
2522 to label %invcont4978 unwind label %unwind4919 ; <i8> [#uses=1]
2523
2524invcont4978: ; preds = %cond_next4925
2525 %tmp4980 = icmp eq i8 %tmp4979, 0 ; <i1> [#uses=1]
2526 br i1 %tmp4980, label %finally4985, label %cond_true4983
2527
2528cond_true4983: ; preds = %invcont4978
2529 %tmp50146178 = icmp ugt i8 %tue.96161.1, 1 ; <i1> [#uses=1]
2530 br i1 %tmp50146178, label %cond_next5038, label %cond_true5017
2531
2532eh_then4990: ; preds = %unwind4919
2533 invoke void @__gnat_begin_handler( i8* %eh_ptr4920 )
2534 to label %invcont4996 unwind label %unwind4994
2535
2536unwind4994: ; preds = %invcont4998, %invcont4996, %eh_then4990
2537 %eh_ptr4995 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
2538 call void @__gnat_end_handler( i8* %eh_ptr4920 )
2539 call i32 (...)* @_Unwind_Resume( i8* %eh_ptr4995 ) ; <i32>:24 [#uses=0]
2540 unreachable
2541
2542invcont4996: ; preds = %eh_then4990
2543 %tmp4997 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
2544 invoke void %tmp4997( )
2545 to label %invcont4998 unwind label %unwind4994
2546
2547invcont4998: ; preds = %invcont4996
2548 invoke void @report__failed( i64 or (i64 zext (i32 ptrtoint ([19 x i8]* @.str33 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.170.1990 to i32) to i64), i64 32)) )
2549 to label %cleanup5007 unwind label %unwind4994
2550
2551cleanup5007: ; preds = %invcont4998
2552 call void @__gnat_end_handler( i8* %eh_ptr4920 )
2553 br label %finally4985
2554
2555finally4985: ; preds = %cleanup5007, %invcont4978
2556 %tue.96161.3 = phi i8 [ %tue.96161.2, %cleanup5007 ], [ %tue.96161.1, %invcont4978 ] ; <i8> [#uses=3]
2557 %tmp5014 = icmp ult i8 %mon.4, %tue.96161.3 ; <i1> [#uses=1]
2558 br i1 %tmp5014, label %cond_next5038, label %cond_true5017
2559
2560cond_true5017: ; preds = %finally4985, %cond_true4983
2561 %tue.96161.4 = phi i8 [ %tue.96161.1, %cond_true4983 ], [ %tue.96161.3, %finally4985 ] ; <i8> [#uses=3]
2562 %mon.86171.0 = phi i8 [ 1, %cond_true4983 ], [ %mon.4, %finally4985 ] ; <i8> [#uses=3]
2563 %tmp5020 = icmp ult i8 %tue.96161.4, %tmp204205 ; <i1> [#uses=1]
2564 %tmp5024 = icmp ugt i8 %mon.86171.0, %tmp272273 ; <i1> [#uses=1]
2565 %tmp5028 = or i1 %tmp5024, %tmp5020 ; <i1> [#uses=1]
2566 br i1 %tmp5028, label %cond_true5031, label %cond_next5038
2567
2568cond_true5031: ; preds = %cond_true5017
2569 invoke void @__gnat_rcheck_12( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 375 )
2570 to label %UnifiedUnreachableBlock34 unwind label %unwind5032
2571
2572unwind5032: ; preds = %cond_next5038, %cond_true5031
2573 %tue.96161.6 = phi i8 [ %tue.96161.4, %cond_true5031 ], [ %tue.96161.5, %cond_next5038 ] ; <i8> [#uses=1]
2574 %mon.86171.2 = phi i8 [ %mon.86171.0, %cond_true5031 ], [ %mon.86171.1, %cond_next5038 ] ; <i8> [#uses=1]
2575 %eh_ptr5033 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=5]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00002576 %eh_select5035 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr5033, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), i32* @__gnat_others_value ) ; <i32> [#uses=1]
2577 %eh_typeid5100 = call i32 @llvm.eh.typeid.for.i32( i8* bitcast (i32* @__gnat_others_value to i8*) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002578 %tmp5102 = icmp eq i32 %eh_select5035, %eh_typeid5100 ; <i1> [#uses=1]
2579 br i1 %tmp5102, label %eh_then5103, label %Unwind
2580
2581cond_next5038: ; preds = %cond_true5017, %finally4985, %cond_true4983
2582 %tue.96161.5 = phi i8 [ %tue.96161.1, %cond_true4983 ], [ %tue.96161.3, %finally4985 ], [ %tue.96161.4, %cond_true5017 ] ; <i8> [#uses=4]
2583 %mon.86171.1 = phi i8 [ 1, %cond_true4983 ], [ %mon.4, %finally4985 ], [ %mon.86171.0, %cond_true5017 ] ; <i8> [#uses=4]
2584 %tmp50825083 = zext i8 %mon.86171.1 to i64 ; <i64> [#uses=1]
2585 %tmp50845085 = zext i8 %tue.96161.5 to i64 ; <i64> [#uses=1]
2586 %tmp5086 = sub i64 %tmp50825083, %tmp50845085 ; <i64> [#uses=1]
2587 %tmp5087 = add i64 %tmp5086, 1 ; <i64> [#uses=2]
2588 %tmp5088 = icmp sgt i64 %tmp5087, -1 ; <i1> [#uses=1]
2589 %tmp5087.cast = trunc i64 %tmp5087 to i32 ; <i32> [#uses=1]
2590 %max50895090 = select i1 %tmp5088, i32 %tmp5087.cast, i32 0 ; <i32> [#uses=1]
2591 %tmp5092 = invoke i8 @report__equal( i32 %max50895090, i32 0 )
2592 to label %invcont5091 unwind label %unwind5032 ; <i8> [#uses=1]
2593
2594invcont5091: ; preds = %cond_next5038
2595 %tmp5093 = icmp eq i8 %tmp5092, 0 ; <i1> [#uses=1]
2596 br i1 %tmp5093, label %finally5098, label %cond_true5096
2597
2598cond_true5096: ; preds = %invcont5091
2599 br label %finally5098
2600
2601eh_then5103: ; preds = %unwind5032
2602 invoke void @__gnat_begin_handler( i8* %eh_ptr5033 )
2603 to label %invcont5109 unwind label %unwind5107
2604
2605unwind5107: ; preds = %invcont5111, %invcont5109, %eh_then5103
2606 %eh_ptr5108 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
2607 call void @__gnat_end_handler( i8* %eh_ptr5033 )
2608 call i32 (...)* @_Unwind_Resume( i8* %eh_ptr5108 ) ; <i32>:25 [#uses=0]
2609 unreachable
2610
2611invcont5109: ; preds = %eh_then5103
2612 %tmp5110 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
2613 invoke void %tmp5110( )
2614 to label %invcont5111 unwind label %unwind5107
2615
2616invcont5111: ; preds = %invcont5109
2617 invoke void @report__failed( i64 or (i64 zext (i32 ptrtoint ([19 x i8]* @.str34 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.170.1990 to i32) to i64), i64 32)) )
2618 to label %cleanup5120 unwind label %unwind5107
2619
2620cleanup5120: ; preds = %invcont5111
2621 call void @__gnat_end_handler( i8* %eh_ptr5033 )
2622 br label %finally5098
2623
2624finally5098: ; preds = %cleanup5120, %cond_true5096, %invcont5091
2625 %tue.96161.7 = phi i8 [ %tue.96161.6, %cleanup5120 ], [ %tue.96161.5, %cond_true5096 ], [ %tue.96161.5, %invcont5091 ] ; <i8> [#uses=1]
2626 %mon.86171.3 = phi i8 [ %mon.86171.2, %cleanup5120 ], [ %mon.86171.1, %cond_true5096 ], [ %mon.86171.1, %invcont5091 ] ; <i8> [#uses=2]
2627 %wed.6 = phi i8 [ %wed.4, %cleanup5120 ], [ 3, %cond_true5096 ], [ %wed.4, %invcont5091 ] ; <i8> [#uses=5]
2628 %not.tmp5135 = icmp uge i8 %tmp137138, %sat.45934.0 ; <i1> [#uses=1]
2629 %tmp5151 = icmp uge i8 %sat.45934.0, %tmp306307 ; <i1> [#uses=1]
2630 %tmp5155 = icmp ule i8 %sat.45934.0, %wed.6 ; <i1> [#uses=1]
2631 %tmp5159 = and i1 %tmp5155, %tmp5151 ; <i1> [#uses=1]
2632 %tmp5177 = icmp ult i8 %wed.6, %tmp272273 ; <i1> [#uses=1]
2633 %tmp5184 = icmp ugt i8 %wed.6, %tue.96161.7 ; <i1> [#uses=1]
2634 %bothcond5907 = or i1 %tmp5177, %tmp5184 ; <i1> [#uses=2]
2635 %not.bothcond5907 = xor i1 %bothcond5907, true ; <i1> [#uses=1]
2636 %tmp5198 = icmp uge i8 %tmp272273, %mon.86171.3 ; <i1> [#uses=1]
2637 %tmp5202 = icmp ule i8 %tmp272273, %tmp137138 ; <i1> [#uses=1]
2638 %tmp5206 = and i1 %tmp5198, %tmp5202 ; <i1> [#uses=1]
2639 %not.bothcond5908 = icmp uge i8 %tmp306307, %sat.45934.0 ; <i1> [#uses=1]
2640 %tmp5244 = icmp uge i8 %wed.6, %tmp306307 ; <i1> [#uses=1]
2641 %tmp5248 = icmp ule i8 %wed.6, %mon.86171.3 ; <i1> [#uses=1]
2642 %tmp5252 = and i1 %tmp5244, %tmp5248 ; <i1> [#uses=1]
2643 %tmp5164 = or i1 %not.tmp5135, %not.bothcond5908 ; <i1> [#uses=1]
2644 %tmp5194 = or i1 %tmp5164, %tmp5206 ; <i1> [#uses=1]
2645 %tmp5210 = or i1 %tmp5194, %tmp5159 ; <i1> [#uses=1]
2646 %tmp5240 = or i1 %tmp5210, %not.bothcond5907 ; <i1> [#uses=1]
2647 %tmp5256 = or i1 %tmp5240, %tmp5252 ; <i1> [#uses=1]
2648 br i1 %tmp5256, label %cond_true5259, label %cond_next5271
2649
2650cond_true5259: ; preds = %finally5098
2651 invoke void @report__failed( i64 or (i64 zext (i32 ptrtoint ([27 x i8]* @.str35 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.178.2066 to i32) to i64), i64 32)) )
2652 to label %cond_next5271 unwind label %unwind5266
2653
2654unwind5266: ; preds = %cond_true5462, %invcont5429, %cond_next5401, %cond_true5393, %cond_next5374, %bb5359, %cond_next5347, %invcont5330, %invcont5305, %invcont5303, %invcont5294, %bb5293, %cond_next5281, %cond_next5271, %cond_true5259
2655 %eh_ptr5267 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=5]
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00002656 %eh_select5269 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr5267, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), i32* @__gnat_others_value ) ; <i32> [#uses=1]
2657 %eh_typeid5473 = call i32 @llvm.eh.typeid.for.i32( i8* bitcast (i32* @__gnat_others_value to i8*) ) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002658 %tmp5475 = icmp eq i32 %eh_select5269, %eh_typeid5473 ; <i1> [#uses=1]
2659 br i1 %tmp5475, label %eh_then5476, label %Unwind
2660
2661cond_next5271: ; preds = %cond_true5259, %finally5098
2662 %tmp5273 = invoke i32 @report__ident_int( i32 0 )
2663 to label %invcont5272 unwind label %unwind5266 ; <i32> [#uses=2]
2664
2665invcont5272: ; preds = %cond_next5271
2666 %tmp5277 = icmp slt i32 %tmp5273, 10 ; <i1> [#uses=1]
2667 br i1 %tmp5277, label %bb5292, label %cond_next5281
2668
2669cond_next5281: ; preds = %invcont5272
2670 %tmp5283 = invoke i32 @report__ident_int( i32 -10 )
2671 to label %invcont5282 unwind label %unwind5266 ; <i32> [#uses=1]
2672
2673invcont5282: ; preds = %cond_next5281
2674 %tmp5287 = icmp sgt i32 %tmp5273, %tmp5283 ; <i1> [#uses=1]
2675 br i1 %tmp5287, label %bb5292, label %bb5293
2676
2677bb5292: ; preds = %invcont5282, %invcont5272
2678 br label %bb5293
2679
2680bb5293: ; preds = %bb5292, %invcont5282
2681 %iftmp.179.0 = phi i1 [ false, %bb5292 ], [ true, %invcont5282 ] ; <i1> [#uses=1]
2682 %tmp5295 = invoke i32 @report__ident_int( i32 10 )
2683 to label %invcont5294 unwind label %unwind5266 ; <i32> [#uses=1]
2684
2685invcont5294: ; preds = %bb5293
2686 %tmp5296 = icmp slt i32 %tmp5295, 1 ; <i1> [#uses=1]
2687 %tmp5304 = invoke i32 @report__ident_int( i32 0 )
2688 to label %invcont5303 unwind label %unwind5266 ; <i32> [#uses=2]
2689
2690invcont5303: ; preds = %invcont5294
2691 %tmp5306 = invoke i32 @report__ident_int( i32 -10 )
2692 to label %invcont5305 unwind label %unwind5266 ; <i32> [#uses=1]
2693
2694invcont5305: ; preds = %invcont5303
2695 %tmp5331 = invoke i32 @report__ident_int( i32 -20 )
2696 to label %invcont5330 unwind label %unwind5266 ; <i32> [#uses=1]
2697
2698invcont5330: ; preds = %invcont5305
2699 %tmp5310 = icmp slt i32 %tmp5304, %tmp5306 ; <i1> [#uses=1]
2700 %tmp5318 = icmp sgt i32 %tmp5304, -11 ; <i1> [#uses=1]
2701 %bothcond5909 = or i1 %tmp5310, %tmp5318 ; <i1> [#uses=1]
2702 %not.bothcond5909 = xor i1 %bothcond5909, true ; <i1> [#uses=1]
2703 %tmp5332 = icmp sgt i32 %tmp5331, -1 ; <i1> [#uses=1]
2704 %tmp5339 = invoke i32 @report__ident_int( i32 0 )
2705 to label %invcont5338 unwind label %unwind5266 ; <i32> [#uses=2]
2706
2707invcont5338: ; preds = %invcont5330
2708 %tmp5343 = icmp slt i32 %tmp5339, 6 ; <i1> [#uses=1]
2709 br i1 %tmp5343, label %bb5358, label %cond_next5347
2710
2711cond_next5347: ; preds = %invcont5338
2712 %tmp5349 = invoke i32 @report__ident_int( i32 5 )
2713 to label %invcont5348 unwind label %unwind5266 ; <i32> [#uses=1]
2714
2715invcont5348: ; preds = %cond_next5347
2716 %tmp5353 = icmp sgt i32 %tmp5339, %tmp5349 ; <i1> [#uses=1]
2717 br i1 %tmp5353, label %bb5358, label %bb5359
2718
2719bb5358: ; preds = %invcont5348, %invcont5338
2720 br label %bb5359
2721
2722bb5359: ; preds = %bb5358, %invcont5348
2723 %iftmp.181.0 = phi i1 [ false, %bb5358 ], [ true, %invcont5348 ] ; <i1> [#uses=1]
2724 %tmp5366 = invoke i32 @report__ident_int( i32 0 )
2725 to label %invcont5365 unwind label %unwind5266 ; <i32> [#uses=2]
2726
2727invcont5365: ; preds = %bb5359
2728 %tmp5370 = icmp slt i32 %tmp5366, 7 ; <i1> [#uses=1]
2729 br i1 %tmp5370, label %bb5385, label %cond_next5374
2730
2731cond_next5374: ; preds = %invcont5365
2732 %tmp5376 = invoke i32 @report__ident_int( i32 3 )
2733 to label %invcont5375 unwind label %unwind5266 ; <i32> [#uses=1]
2734
2735invcont5375: ; preds = %cond_next5374
2736 %tmp5380 = icmp sgt i32 %tmp5366, %tmp5376 ; <i1> [#uses=1]
2737 br i1 %tmp5380, label %bb5385, label %bb5386
2738
2739bb5385: ; preds = %invcont5375, %invcont5365
2740 br label %bb5386
2741
2742bb5386: ; preds = %bb5385, %invcont5375
2743 %iftmp.182.0 = phi i1 [ false, %bb5385 ], [ true, %invcont5375 ] ; <i1> [#uses=1]
2744 %tmp5301 = or i1 %tmp5296, %iftmp.179.0 ; <i1> [#uses=1]
2745 %tmp5328 = or i1 %tmp5301, %not.bothcond5909 ; <i1> [#uses=1]
2746 %tmp5336 = or i1 %tmp5328, %tmp5332 ; <i1> [#uses=1]
2747 %tmp5363 = or i1 %tmp5336, %iftmp.181.0 ; <i1> [#uses=1]
2748 %tmp5390 = or i1 %tmp5363, %iftmp.182.0 ; <i1> [#uses=1]
2749 br i1 %tmp5390, label %cond_true5393, label %cond_next5401
2750
2751cond_true5393: ; preds = %bb5386
2752 invoke void @report__failed( i64 or (i64 zext (i32 ptrtoint ([27 x i8]* @.str36 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.178.2066 to i32) to i64), i64 32)) )
2753 to label %cond_next5401 unwind label %unwind5266
2754
2755cond_next5401: ; preds = %cond_true5393, %bb5386
2756 %tmp5430 = invoke i32 @report__ident_int( i32 0 )
2757 to label %invcont5429 unwind label %unwind5266 ; <i32> [#uses=2]
2758
2759invcont5429: ; preds = %cond_next5401
2760 %tmp5432 = invoke i32 @report__ident_int( i32 4 )
2761 to label %invcont5431 unwind label %unwind5266 ; <i32> [#uses=1]
2762
2763invcont5431: ; preds = %invcont5429
2764 %tmp5436 = icmp slt i32 %tmp5430, %tmp5432 ; <i1> [#uses=1]
2765 %tmp5444 = icmp sgt i32 %tmp5430, -4 ; <i1> [#uses=1]
2766 %bothcond5911 = or i1 %tmp5436, %tmp5444 ; <i1> [#uses=1]
2767 %tmp5457 = and i1 %bothcond5911, %bothcond5907 ; <i1> [#uses=1]
2768 br i1 %tmp5457, label %finally5471, label %cond_true5462
2769
2770cond_true5462: ; preds = %invcont5431
2771 invoke void @report__failed( i64 or (i64 zext (i32 ptrtoint ([29 x i8]* @.str37 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.36.923 to i32) to i64), i64 32)) )
2772 to label %finally5471 unwind label %unwind5266
2773
2774eh_then5476: ; preds = %unwind5266
2775 invoke void @__gnat_begin_handler( i8* %eh_ptr5267 )
2776 to label %invcont5482 unwind label %unwind5480
2777
2778unwind5480: ; preds = %invcont5484, %invcont5482, %eh_then5476
2779 %eh_ptr5481 = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=1]
2780 call void @__gnat_end_handler( i8* %eh_ptr5267 )
2781 call i32 (...)* @_Unwind_Resume( i8* %eh_ptr5481 ) ; <i32>:26 [#uses=0]
2782 unreachable
2783
2784invcont5482: ; preds = %eh_then5476
2785 %tmp5483 = load void ()** @system__soft_links__abort_undefer ; <void ()*> [#uses=1]
2786 invoke void %tmp5483( )
2787 to label %invcont5484 unwind label %unwind5480
2788
2789invcont5484: ; preds = %invcont5482
2790 invoke void @report__failed( i64 or (i64 zext (i32 ptrtoint ([19 x i8]* @.str38 to i32) to i64), i64 shl (i64 zext (i32 ptrtoint (%struct.string___XUB* @C.170.1990 to i32) to i64), i64 32)) )
2791 to label %cleanup5493 unwind label %unwind5480
2792
2793cleanup5493: ; preds = %invcont5484
2794 call void @__gnat_end_handler( i8* %eh_ptr5267 )
2795 call void @report__result( )
2796 ret void
2797
2798finally5471: ; preds = %cond_true5462, %invcont5431
2799 call void @report__result( )
2800 ret void
2801
2802Unwind: ; preds = %unwind5266, %unwind5032, %unwind4919, %unwind4770, %unwind3880, %unwind3618, %unwind3393, %eh_else3366, %eh_else3016, %eh_else2666, %eh_else1330, %eh_else932, %eh_else823
2803 %eh_exception.2 = phi i8* [ %eh_exception.05914.1, %eh_else823 ], [ %eh_ptr872, %eh_else932 ], [ %eh_ptr975, %eh_else1330 ], [ %eh_exception.296030.1, %eh_else2666 ], [ %eh_exception.336046.1, %eh_else3016 ], [ %eh_exception.396074.1, %eh_else3366 ], [ %eh_ptr3394, %unwind3393 ], [ %eh_ptr3619, %unwind3618 ], [ %eh_ptr3881, %unwind3880 ], [ %eh_ptr4771, %unwind4770 ], [ %eh_ptr4920, %unwind4919 ], [ %eh_ptr5033, %unwind5032 ], [ %eh_ptr5267, %unwind5266 ] ; <i8*> [#uses=1]
2804 call i32 (...)* @_Unwind_Resume( i8* %eh_exception.2 ) ; <i32>:27 [#uses=0]
2805 unreachable
2806
2807UnifiedUnreachableBlock34: ; preds = %cond_true5031, %cond_true4918, %cond_true4609, %cond_true4504, %cond_true4481, %cond_true4187, %cond_true4117, %cond_true4027, %cond_true3935, %cond_true3907, %cond_true3729, %cond_true3675, %cond_true3617, %cond_true3543, %cond_true3448, %cond_true3420, %bb3227, %bb3193, %bb3171, %cond_true3061, %bb2877, %bb2843, %bb2821, %cond_true2711, %bb2558, %bb2524, %bb2506, %cond_true2410, %bb2203, %cond_true2171, %cond_true1946, %bb1605, %cond_true1573, %cond_true1546, %cond_true1418, %cond_true973, %cond_true870, %cond_true663, %cond_true637, %cond_true611, %cond_true585, %cond_true559, %cond_true533, %cond_true507, %cond_true465
2808 unreachable
2809
2810UnifiedReturnBlock35: ; preds = %cleanup4742, %invcont4719, %finally913, %cleanup928
2811 ret void
2812}
2813
2814declare i32 @report__ident_int(i32)
2815
2816declare void @__gnat_rcheck_10(i8*, i32)
2817
2818declare void @__gnat_rcheck_12(i8*, i32)
2819
2820declare void @report__test(i64, i64)
2821
2822declare i8* @llvm.eh.exception()
2823
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00002824declare i32 @llvm.eh.selector.i32(i8*, i8*, ...)
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002825
Anton Korobeynikov94c46a02007-09-07 11:39:35 +00002826declare i32 @llvm.eh.typeid.for.i32(i8*)
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002827
2828declare i32 @__gnat_eh_personality(...)
2829
2830declare i32 @_Unwind_Resume(...)
2831
2832declare void @system__secondary_stack__ss_mark(%struct.system__secondary_stack__mark_id* sret )
2833
2834declare void @system__img_int__image_integer(%struct.string___XUP* sret , i32)
2835
2836declare void @system__string_ops__str_concat(%struct.string___XUP* sret , i64, i64)
2837
2838declare void @report__failed(i64)
2839
2840declare void @system__secondary_stack__ss_release(i64)
2841
2842declare void @__gnat_begin_handler(i8*)
2843
2844declare void @__gnat_end_handler(i8*)
2845
2846declare i8 @report__equal(i32, i32)
2847
2848declare i8* @llvm.stacksave()
2849
2850declare void @__gnat_rcheck_07(i8*, i32)
2851
2852declare i8* @__gnat_malloc(i32)
2853
2854declare void @llvm.stackrestore(i8*)
2855
2856declare void @llvm.memcpy.i32(i8*, i8*, i32, i32)
2857
2858declare void @__gnat_rcheck_05(i8*, i32)
2859
2860declare void @__gnat_rcheck_06(i8*, i32)
2861
2862declare void @system__img_enum__image_enumeration_8(%struct.string___XUP* sret , i32, i64, i8*)
2863
2864declare i32 @memcmp(i8*, i8*, i32, ...)
2865
2866declare void @report__result()