Remove HasCrazyBSS and add a flag in TAI to indicate that '.section'
[oota-llvm.git] / test / CodeGen / PowerPC / tango.net.ftp.FtpClient.ll
1 ; RUN: llvm-as < %s | llc
2 ; PR4534
3
4 ; ModuleID = 'tango.net.ftp.FtpClient.bc'
5 target datalayout = "E-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f128:64:128"
6 target triple = "powerpc-apple-darwin9.6.0"
7         %"byte[]" = type { i32, i8* }
8 @.str167 = external constant [11 x i8]          ; <[11 x i8]*> [#uses=1]
9 @.str170 = external constant [11 x i8]          ; <[11 x i8]*> [#uses=2]
10 @.str171 = external constant [5 x i8]           ; <[5 x i8]*> [#uses=1]
11 @llvm.used = appending global [1 x i8*] [i8* bitcast (void (%"byte[]")* @foo to i8*)], section "llvm.metadata"          ; <[1 x i8*]*> [#uses=0]
12
13 define fastcc void @foo(%"byte[]" %line_arg) {
14 entry:
15         %line_arg830 = extractvalue %"byte[]" %line_arg, 0              ; <i32> [#uses=12]
16         %line_arg831 = extractvalue %"byte[]" %line_arg, 1              ; <i8*> [#uses=17]
17         %t5 = load i8* %line_arg831             ; <i8> [#uses=1]
18         br label %forcondi
19
20 forcondi:               ; preds = %forbodyi, %entry
21         %l.0i = phi i32 [ 10, %entry ], [ %t4i, %forbodyi ]             ; <i32> [#uses=2]
22         %p.0i = phi i8* [ getelementptr ([11 x i8]* @.str167, i32 0, i32 -1), %entry ], [ %t7i, %forbodyi ]             ; <i8*> [#uses=1]
23         %t4i = add i32 %l.0i, -1                ; <i32> [#uses=1]
24         %t5i = icmp eq i32 %l.0i, 0             ; <i1> [#uses=1]
25         br i1 %t5i, label %forcond.i, label %forbodyi
26
27 forbodyi:               ; preds = %forcondi
28         %t7i = getelementptr i8* %p.0i, i32 1           ; <i8*> [#uses=2]
29         %t8i = load i8* %t7i            ; <i8> [#uses=1]
30         %t12i = icmp eq i8 %t8i, %t5            ; <i1> [#uses=1]
31         br i1 %t12i, label %forcond.i, label %forcondi
32
33 forcond.i:              ; preds = %forbody.i, %forbodyi, %forcondi
34         %storemerge.i = phi i32 [ %t106.i, %forbody.i ], [ 1, %forcondi ], [ 1, %forbodyi ]             ; <i32> [#uses=1]
35         %t77.i286 = phi i1 [ %phit3, %forbody.i ], [ false, %forcondi ], [ false, %forbodyi ]           ; <i1> [#uses=1]
36         br i1 %t77.i286, label %forcond.i295, label %forbody.i
37
38 forbody.i:              ; preds = %forcond.i
39         %t106.i = add i32 %storemerge.i, 1              ; <i32> [#uses=2]
40         %phit3 = icmp ugt i32 %t106.i, 3                ; <i1> [#uses=1]
41         br label %forcond.i
42
43 forcond.i295:           ; preds = %forbody.i301, %forcond.i
44         %storemerge.i292 = phi i32 [ %t106.i325, %forbody.i301 ], [ 4, %forcond.i ]             ; <i32> [#uses=1]
45         %t77.i293 = phi i1 [ %phit2, %forbody.i301 ], [ false, %forcond.i ]             ; <i1> [#uses=1]
46         br i1 %t77.i293, label %forcond.i332, label %forbody.i301
47
48 forbody.i301:           ; preds = %forcond.i295
49         %t106.i325 = add i32 %storemerge.i292, 1                ; <i32> [#uses=2]
50         %phit2 = icmp ugt i32 %t106.i325, 6             ; <i1> [#uses=1]
51         br label %forcond.i295
52
53 forcond.i332:           ; preds = %forbody.i338, %forcond.i295
54         %storemerge.i329 = phi i32 [ %t106.i362, %forbody.i338 ], [ 7, %forcond.i295 ]          ; <i32> [#uses=3]
55         %t77.i330 = phi i1 [ %phit1, %forbody.i338 ], [ false, %forcond.i295 ]          ; <i1> [#uses=1]
56         br i1 %t77.i330, label %wcond.i370, label %forbody.i338
57
58 forbody.i338:           ; preds = %forcond.i332
59         %t106.i362 = add i32 %storemerge.i329, 1                ; <i32> [#uses=2]
60         %phit1 = icmp ugt i32 %t106.i362, 9             ; <i1> [#uses=1]
61         br label %forcond.i332
62
63 wcond.i370:             ; preds = %wbody.i372, %forcond.i332
64         %.frame.0.11 = phi i32 [ %t18.i371.c, %wbody.i372 ], [ %storemerge.i329, %forcond.i332 ]                ; <i32> [#uses=2]
65         %t3.i368 = phi i32 [ %t18.i371.c, %wbody.i372 ], [ %storemerge.i329, %forcond.i332 ]            ; <i32> [#uses=5]
66         %t4.i369 = icmp ult i32 %t3.i368, %line_arg830          ; <i1> [#uses=1]
67         br i1 %t4.i369, label %andand.i378, label %wcond22.i383
68
69 wbody.i372:             ; preds = %andand.i378
70         %t18.i371.c = add i32 %t3.i368, 1               ; <i32> [#uses=2]
71         br label %wcond.i370
72
73 andand.i378:            ; preds = %wcond.i370
74         %t11.i375 = getelementptr i8* %line_arg831, i32 %t3.i368                ; <i8*> [#uses=1]
75         %t12.i376 = load i8* %t11.i375          ; <i8> [#uses=1]
76         %t14.i377 = icmp eq i8 %t12.i376, 32            ; <i1> [#uses=1]
77         br i1 %t14.i377, label %wbody.i372, label %wcond22.i383
78
79 wcond22.i383:           ; preds = %wbody23.i385, %andand.i378, %wcond.i370
80         %.frame.0.10 = phi i32 [ %t50.i384, %wbody23.i385 ], [ %.frame.0.11, %wcond.i370 ], [ %.frame.0.11, %andand.i378 ]              ; <i32> [#uses=2]
81         %t49.i381 = phi i32 [ %t50.i384, %wbody23.i385 ], [ %t3.i368, %wcond.i370 ], [ %t3.i368, %andand.i378 ]         ; <i32> [#uses=5]
82         %t32.i382 = icmp ult i32 %t49.i381, %line_arg830                ; <i1> [#uses=1]
83         br i1 %t32.i382, label %andand33.i391, label %wcond54.i396
84
85 wbody23.i385:           ; preds = %andand33.i391
86         %t50.i384 = add i32 %t49.i381, 1                ; <i32> [#uses=2]
87         br label %wcond22.i383
88
89 andand33.i391:          ; preds = %wcond22.i383
90         %t42.i388 = getelementptr i8* %line_arg831, i32 %t49.i381               ; <i8*> [#uses=1]
91         %t43.i389 = load i8* %t42.i388          ; <i8> [#uses=1]
92         %t45.i390 = icmp eq i8 %t43.i389, 32            ; <i1> [#uses=1]
93         br i1 %t45.i390, label %wcond54.i396, label %wbody23.i385
94
95 wcond54.i396:           ; preds = %wbody55.i401, %andand33.i391, %wcond22.i383
96         %.frame.0.9 = phi i32 [ %t82.i400, %wbody55.i401 ], [ %.frame.0.10, %wcond22.i383 ], [ %.frame.0.10, %andand33.i391 ]           ; <i32> [#uses=2]
97         %t81.i394 = phi i32 [ %t82.i400, %wbody55.i401 ], [ %t49.i381, %wcond22.i383 ], [ %t49.i381, %andand33.i391 ]           ; <i32> [#uses=3]
98         %t64.i395 = icmp ult i32 %t81.i394, %line_arg830                ; <i1> [#uses=1]
99         br i1 %t64.i395, label %andand65.i407, label %wcond.i716
100
101 wbody55.i401:           ; preds = %andand65.i407
102         %t82.i400 = add i32 %t81.i394, 1                ; <i32> [#uses=2]
103         br label %wcond54.i396
104
105 andand65.i407:          ; preds = %wcond54.i396
106         %t74.i404 = getelementptr i8* %line_arg831, i32 %t81.i394               ; <i8*> [#uses=1]
107         %t75.i405 = load i8* %t74.i404          ; <i8> [#uses=1]
108         %t77.i406 = icmp eq i8 %t75.i405, 32            ; <i1> [#uses=1]
109         br i1 %t77.i406, label %wbody55.i401, label %wcond.i716
110
111 wcond.i716:             ; preds = %wbody.i717, %andand65.i407, %wcond54.i396
112         %.frame.0.0 = phi i32 [ %t18.i.c829, %wbody.i717 ], [ %.frame.0.9, %wcond54.i396 ], [ %.frame.0.9, %andand65.i407 ]             ; <i32> [#uses=7]
113         %t4.i715 = icmp ult i32 %.frame.0.0, %line_arg830               ; <i1> [#uses=1]
114         br i1 %t4.i715, label %andand.i721, label %wcond22.i724
115
116 wbody.i717:             ; preds = %andand.i721
117         %t18.i.c829 = add i32 %.frame.0.0, 1            ; <i32> [#uses=1]
118         br label %wcond.i716
119
120 andand.i721:            ; preds = %wcond.i716
121         %t11.i718 = getelementptr i8* %line_arg831, i32 %.frame.0.0             ; <i8*> [#uses=1]
122         %t12.i719 = load i8* %t11.i718          ; <i8> [#uses=1]
123         %t14.i720 = icmp eq i8 %t12.i719, 32            ; <i1> [#uses=1]
124         br i1 %t14.i720, label %wbody.i717, label %wcond22.i724
125
126 wcond22.i724:           ; preds = %wbody23.i726, %andand.i721, %wcond.i716
127         %.frame.0.1 = phi i32 [ %t50.i725, %wbody23.i726 ], [ %.frame.0.0, %wcond.i716 ], [ %.frame.0.0, %andand.i721 ]         ; <i32> [#uses=2]
128         %t49.i722 = phi i32 [ %t50.i725, %wbody23.i726 ], [ %.frame.0.0, %wcond.i716 ], [ %.frame.0.0, %andand.i721 ]           ; <i32> [#uses=5]
129         %t32.i723 = icmp ult i32 %t49.i722, %line_arg830                ; <i1> [#uses=1]
130         br i1 %t32.i723, label %andand33.i731, label %wcond54.i734
131
132 wbody23.i726:           ; preds = %andand33.i731
133         %t50.i725 = add i32 %t49.i722, 1                ; <i32> [#uses=2]
134         br label %wcond22.i724
135
136 andand33.i731:          ; preds = %wcond22.i724
137         %t42.i728 = getelementptr i8* %line_arg831, i32 %t49.i722               ; <i8*> [#uses=1]
138         %t43.i729 = load i8* %t42.i728          ; <i8> [#uses=1]
139         %t45.i730 = icmp eq i8 %t43.i729, 32            ; <i1> [#uses=1]
140         br i1 %t45.i730, label %wcond54.i734, label %wbody23.i726
141
142 wcond54.i734:           ; preds = %wbody55.i736, %andand33.i731, %wcond22.i724
143         %.frame.0.2 = phi i32 [ %t82.i735, %wbody55.i736 ], [ %.frame.0.1, %wcond22.i724 ], [ %.frame.0.1, %andand33.i731 ]             ; <i32> [#uses=2]
144         %t81.i732 = phi i32 [ %t82.i735, %wbody55.i736 ], [ %t49.i722, %wcond22.i724 ], [ %t49.i722, %andand33.i731 ]           ; <i32> [#uses=3]
145         %t64.i733 = icmp ult i32 %t81.i732, %line_arg830                ; <i1> [#uses=1]
146         br i1 %t64.i733, label %andand65.i740, label %wcond.i750
147
148 wbody55.i736:           ; preds = %andand65.i740
149         %t82.i735 = add i32 %t81.i732, 1                ; <i32> [#uses=2]
150         br label %wcond54.i734
151
152 andand65.i740:          ; preds = %wcond54.i734
153         %t74.i737 = getelementptr i8* %line_arg831, i32 %t81.i732               ; <i8*> [#uses=1]
154         %t75.i738 = load i8* %t74.i737          ; <i8> [#uses=1]
155         %t77.i739 = icmp eq i8 %t75.i738, 32            ; <i1> [#uses=1]
156         br i1 %t77.i739, label %wbody55.i736, label %wcond.i750
157
158 wcond.i750:             ; preds = %wbody.i752, %andand65.i740, %wcond54.i734
159         %.frame.0.3 = phi i32 [ %t18.i751.c, %wbody.i752 ], [ %.frame.0.2, %wcond54.i734 ], [ %.frame.0.2, %andand65.i740 ]             ; <i32> [#uses=11]
160         %t4.i749 = icmp ult i32 %.frame.0.3, %line_arg830               ; <i1> [#uses=1]
161         br i1 %t4.i749, label %andand.i758, label %wcond22.i761
162
163 wbody.i752:             ; preds = %andand.i758
164         %t18.i751.c = add i32 %.frame.0.3, 1            ; <i32> [#uses=1]
165         br label %wcond.i750
166
167 andand.i758:            ; preds = %wcond.i750
168         %t11.i755 = getelementptr i8* %line_arg831, i32 %.frame.0.3             ; <i8*> [#uses=1]
169         %t12.i756 = load i8* %t11.i755          ; <i8> [#uses=1]
170         %t14.i757 = icmp eq i8 %t12.i756, 32            ; <i1> [#uses=1]
171         br i1 %t14.i757, label %wbody.i752, label %wcond22.i761
172
173 wcond22.i761:           ; preds = %wbody23.i763, %andand.i758, %wcond.i750
174         %.frame.0.4 = phi i32 [ %t50.i762, %wbody23.i763 ], [ %.frame.0.3, %wcond.i750 ], [ %.frame.0.3, %andand.i758 ]         ; <i32> [#uses=2]
175         %t49.i759 = phi i32 [ %t50.i762, %wbody23.i763 ], [ %.frame.0.3, %wcond.i750 ], [ %.frame.0.3, %andand.i758 ]           ; <i32> [#uses=7]
176         %t32.i760 = icmp ult i32 %t49.i759, %line_arg830                ; <i1> [#uses=1]
177         br i1 %t32.i760, label %andand33.i769, label %wcond54.i773
178
179 wbody23.i763:           ; preds = %andand33.i769
180         %t50.i762 = add i32 %t49.i759, 1                ; <i32> [#uses=2]
181         br label %wcond22.i761
182
183 andand33.i769:          ; preds = %wcond22.i761
184         %t42.i766 = getelementptr i8* %line_arg831, i32 %t49.i759               ; <i8*> [#uses=1]
185         %t43.i767 = load i8* %t42.i766          ; <i8> [#uses=1]
186         %t45.i768 = icmp eq i8 %t43.i767, 32            ; <i1> [#uses=1]
187         br i1 %t45.i768, label %wcond54.i773, label %wbody23.i763
188
189 wcond54.i773:           ; preds = %wbody55.i775, %andand33.i769, %wcond22.i761
190         %.frame.0.5 = phi i32 [ %t82.i774, %wbody55.i775 ], [ %.frame.0.4, %wcond22.i761 ], [ %.frame.0.4, %andand33.i769 ]             ; <i32> [#uses=1]
191         %t81.i770 = phi i32 [ %t82.i774, %wbody55.i775 ], [ %t49.i759, %wcond22.i761 ], [ %t49.i759, %andand33.i769 ]           ; <i32> [#uses=3]
192         %t64.i771 = icmp ult i32 %t81.i770, %line_arg830                ; <i1> [#uses=1]
193         br i1 %t64.i771, label %andand65.i780, label %Dt3net3ftp9FClient13FConnection13pListLineMFAaZS5t3net3ftp9FClient11FFileInfo10p_wordMFZAa.exit786
194
195 wbody55.i775:           ; preds = %andand65.i780
196         %t82.i774 = add i32 %t81.i770, 1                ; <i32> [#uses=2]
197         br label %wcond54.i773
198
199 andand65.i780:          ; preds = %wcond54.i773
200         %t74.i777 = getelementptr i8* %line_arg831, i32 %t81.i770               ; <i8*> [#uses=1]
201         %t75.i778 = load i8* %t74.i777          ; <i8> [#uses=1]
202         %t77.i779 = icmp eq i8 %t75.i778, 32            ; <i1> [#uses=1]
203         br i1 %t77.i779, label %wbody55.i775, label %Dt3net3ftp9FClient13FConnection13pListLineMFAaZS5t3net3ftp9FClient11FFileInfo10p_wordMFZAa.exit786
204
205 Dt3net3ftp9FClient13FConnection13pListLineMFAaZS5t3net3ftp9FClient11FFileInfo10p_wordMFZAa.exit786:             ; preds = %andand65.i780, %wcond54.i773
206         %t89.i782 = getelementptr i8* %line_arg831, i32 %.frame.0.3             ; <i8*> [#uses=4]
207         %t90.i783 = sub i32 %t49.i759, %.frame.0.3              ; <i32> [#uses=2]
208         br label %wcond.i792
209
210 wcond.i792:             ; preds = %wbody.i794, %Dt3net3ftp9FClient13FConnection13pListLineMFAaZS5t3net3ftp9FClient11FFileInfo10p_wordMFZAa.exit786
211         %.frame.0.6 = phi i32 [ %.frame.0.5, %Dt3net3ftp9FClient13FConnection13pListLineMFAaZS5t3net3ftp9FClient11FFileInfo10p_wordMFZAa.exit786 ], [ %t18.i793.c, %wbody.i794 ]                ; <i32> [#uses=9]
212         %t4.i791 = icmp ult i32 %.frame.0.6, %line_arg830               ; <i1> [#uses=1]
213         br i1 %t4.i791, label %andand.i800, label %wcond22.i803
214
215 wbody.i794:             ; preds = %andand.i800
216         %t18.i793.c = add i32 %.frame.0.6, 1            ; <i32> [#uses=1]
217         br label %wcond.i792
218
219 andand.i800:            ; preds = %wcond.i792
220         %t11.i797 = getelementptr i8* %line_arg831, i32 %.frame.0.6             ; <i8*> [#uses=1]
221         %t12.i798 = load i8* %t11.i797          ; <i8> [#uses=1]
222         %t14.i799 = icmp eq i8 %t12.i798, 32            ; <i1> [#uses=1]
223         br i1 %t14.i799, label %wbody.i794, label %wcond22.i803
224
225 wcond22.i803:           ; preds = %wbody23.i805, %andand.i800, %wcond.i792
226         %t49.i801 = phi i32 [ %t50.i804, %wbody23.i805 ], [ %.frame.0.6, %wcond.i792 ], [ %.frame.0.6, %andand.i800 ]           ; <i32> [#uses=7]
227         %t32.i802 = icmp ult i32 %t49.i801, %line_arg830                ; <i1> [#uses=1]
228         br i1 %t32.i802, label %andand33.i811, label %wcond54.i815
229
230 wbody23.i805:           ; preds = %andand33.i811
231         %t50.i804 = add i32 %t49.i801, 1                ; <i32> [#uses=1]
232         br label %wcond22.i803
233
234 andand33.i811:          ; preds = %wcond22.i803
235         %t42.i808 = getelementptr i8* %line_arg831, i32 %t49.i801               ; <i8*> [#uses=1]
236         %t43.i809 = load i8* %t42.i808          ; <i8> [#uses=1]
237         %t45.i810 = icmp eq i8 %t43.i809, 32            ; <i1> [#uses=1]
238         br i1 %t45.i810, label %wcond54.i815, label %wbody23.i805
239
240 wcond54.i815:           ; preds = %wbody55.i817, %andand33.i811, %wcond22.i803
241         %t81.i812 = phi i32 [ %t82.i816, %wbody55.i817 ], [ %t49.i801, %wcond22.i803 ], [ %t49.i801, %andand33.i811 ]           ; <i32> [#uses=3]
242         %t64.i813 = icmp ult i32 %t81.i812, %line_arg830                ; <i1> [#uses=1]
243         br i1 %t64.i813, label %andand65.i822, label %Dt3net3ftp9FClient13FConnection13pListLineMFAaZS5t3net3ftp9FClient11FFileInfo10p_wordMFZAa.exit828
244
245 wbody55.i817:           ; preds = %andand65.i822
246         %t82.i816 = add i32 %t81.i812, 1                ; <i32> [#uses=1]
247         br label %wcond54.i815
248
249 andand65.i822:          ; preds = %wcond54.i815
250         %t74.i819 = getelementptr i8* %line_arg831, i32 %t81.i812               ; <i8*> [#uses=1]
251         %t75.i820 = load i8* %t74.i819          ; <i8> [#uses=1]
252         %t77.i821 = icmp eq i8 %t75.i820, 32            ; <i1> [#uses=1]
253         br i1 %t77.i821, label %wbody55.i817, label %Dt3net3ftp9FClient13FConnection13pListLineMFAaZS5t3net3ftp9FClient11FFileInfo10p_wordMFZAa.exit828
254
255 Dt3net3ftp9FClient13FConnection13pListLineMFAaZS5t3net3ftp9FClient11FFileInfo10p_wordMFZAa.exit828:             ; preds = %andand65.i822, %wcond54.i815
256         %t89.i824 = getelementptr i8* %line_arg831, i32 %.frame.0.6             ; <i8*> [#uses=4]
257         %t90.i825 = sub i32 %t49.i801, %.frame.0.6              ; <i32> [#uses=2]
258         %t63 = load i8* %t89.i824               ; <i8> [#uses=2]
259         br label %forcondi622
260
261 forcondi622:            ; preds = %forbodyi626, %Dt3net3ftp9FClient13FConnection13pListLineMFAaZS5t3net3ftp9FClient11FFileInfo10p_wordMFZAa.exit828
262         %l.0i618 = phi i32 [ 10, %Dt3net3ftp9FClient13FConnection13pListLineMFAaZS5t3net3ftp9FClient11FFileInfo10p_wordMFZAa.exit828 ], [ %t4i620, %forbodyi626 ]               ; <i32> [#uses=2]
263         %p.0i619 = phi i8* [ getelementptr ([11 x i8]* @.str170, i32 0, i32 -1), %Dt3net3ftp9FClient13FConnection13pListLineMFAaZS5t3net3ftp9FClient11FFileInfo10p_wordMFZAa.exit828 ], [ %t7i623, %forbodyi626 ]               ; <i8*> [#uses=1]
264         %t4i620 = add i32 %l.0i618, -1          ; <i32> [#uses=1]
265         %t5i621 = icmp eq i32 %l.0i618, 0               ; <i1> [#uses=1]
266         br i1 %t5i621, label %if65, label %forbodyi626
267
268 forbodyi626:            ; preds = %forcondi622
269         %t7i623 = getelementptr i8* %p.0i619, i32 1             ; <i8*> [#uses=3]
270         %t8i624 = load i8* %t7i623              ; <i8> [#uses=1]
271         %t12i625 = icmp eq i8 %t8i624, %t63             ; <i1> [#uses=1]
272         br i1 %t12i625, label %ifi630, label %forcondi622
273
274 ifi630:         ; preds = %forbodyi626
275         %t15i627 = ptrtoint i8* %t7i623 to i32          ; <i32> [#uses=1]
276         %t17i629 = sub i32 %t15i627, ptrtoint ([11 x i8]* @.str170 to i32)              ; <i32> [#uses=1]
277         %phit636 = icmp eq i32 %t17i629, 10             ; <i1> [#uses=1]
278         br i1 %phit636, label %if65, label %e67
279
280 if65:           ; preds = %ifi630, %forcondi622
281         %t4i532 = icmp eq i32 %t49.i759, %.frame.0.3            ; <i1> [#uses=1]
282         br i1 %t4i532, label %Dt4x7c7I11V4tTaZ4tFAaKbKkZk.exit.i576, label %forcondi539
283
284 forcondi539:            ; preds = %zi546, %if65
285         %sign.1.i533 = phi i1 [ %sign.0.i543, %zi546 ], [ false, %if65 ]                ; <i1> [#uses=2]
286         %l.0i534 = phi i32 [ %t33i545, %zi546 ], [ %t90.i783, %if65 ]           ; <i32> [#uses=3]
287         %p.0i535 = phi i8* [ %t30i544, %zi546 ], [ %t89.i782, %if65 ]           ; <i8*> [#uses=6]
288         %c.0.ini536 = phi i8* [ %t30i544, %zi546 ], [ %t89.i782, %if65 ]                ; <i8*> [#uses=1]
289         %c.0i537 = load i8* %c.0.ini536         ; <i8> [#uses=2]
290         %t8i538 = icmp eq i32 %l.0i534, 0               ; <i1> [#uses=1]
291         br i1 %t8i538, label %endfori550, label %forbodyi540
292
293 forbodyi540:            ; preds = %forcondi539
294         switch i8 %c.0i537, label %endfori550 [
295                 i8 32, label %zi546
296                 i8 9, label %zi546
297                 i8 45, label %if20i541
298                 i8 43, label %if26i542
299         ]
300
301 if20i541:               ; preds = %forbodyi540
302         br label %zi546
303
304 if26i542:               ; preds = %forbodyi540
305         br label %zi546
306
307 zi546:          ; preds = %if26i542, %if20i541, %forbodyi540, %forbodyi540
308         %sign.0.i543 = phi i1 [ false, %if26i542 ], [ true, %if20i541 ], [ %sign.1.i533, %forbodyi540 ], [ %sign.1.i533, %forbodyi540 ]         ; <i1> [#uses=1]
309         %t30i544 = getelementptr i8* %p.0i535, i32 1            ; <i8*> [#uses=2]
310         %t33i545 = add i32 %l.0i534, -1         ; <i32> [#uses=1]
311         br label %forcondi539
312
313 endfori550:             ; preds = %forbodyi540, %forcondi539
314         %t37i547 = icmp eq i8 %c.0i537, 48              ; <i1> [#uses=1]
315         %t39i548 = icmp sgt i32 %l.0i534, 1             ; <i1> [#uses=1]
316         %or.condi549 = and i1 %t37i547, %t39i548                ; <i1> [#uses=1]
317         br i1 %or.condi549, label %if40i554, label %endif41i564
318
319 if40i554:               ; preds = %endfori550
320         %t43i551 = getelementptr i8* %p.0i535, i32 1            ; <i8*> [#uses=2]
321         %t44i552 = load i8* %t43i551            ; <i8> [#uses=1]
322         %t45i553 = zext i8 %t44i552 to i32              ; <i32> [#uses=1]
323         switch i32 %t45i553, label %endif41i564 [
324                 i32 120, label %case46i556
325                 i32 88, label %case46i556
326                 i32 98, label %case51i558
327                 i32 66, label %case51i558
328                 i32 111, label %case56i560
329                 i32 79, label %case56i560
330         ]
331
332 case46i556:             ; preds = %if40i554, %if40i554
333         %t48i555 = getelementptr i8* %p.0i535, i32 2            ; <i8*> [#uses=1]
334         br label %endif41i564
335
336 case51i558:             ; preds = %if40i554, %if40i554
337         %t53i557 = getelementptr i8* %p.0i535, i32 2            ; <i8*> [#uses=1]
338         br label %endif41i564
339
340 case56i560:             ; preds = %if40i554, %if40i554
341         %t58i559 = getelementptr i8* %p.0i535, i32 2            ; <i8*> [#uses=1]
342         br label %endif41i564
343
344 endif41i564:            ; preds = %case56i560, %case51i558, %case46i556, %if40i554, %endfori550
345         %r.0i561 = phi i32 [ 0, %if40i554 ], [ 8, %case56i560 ], [ 2, %case51i558 ], [ 16, %case46i556 ], [ 0, %endfori550 ]            ; <i32> [#uses=2]
346         %p.2i562 = phi i8* [ %t43i551, %if40i554 ], [ %t58i559, %case56i560 ], [ %t53i557, %case51i558 ], [ %t48i555, %case46i556 ], [ %p.0i535, %endfori550 ]          ; <i8*> [#uses=2]
347         %t63i563 = icmp eq i32 %r.0i561, 0              ; <i1> [#uses=1]
348         br i1 %t63i563, label %Dt4x7c7I11V4tTaZ4tFAaKbKkZk.exit.i576, label %if70i568
349
350 if70i568:               ; preds = %endif41i564
351         br label %Dt4x7c7I11V4tTaZ4tFAaKbKkZk.exit.i576
352
353 Dt4x7c7I11V4tTaZ4tFAaKbKkZk.exit.i576:          ; preds = %if70i568, %endif41i564, %if65
354         %radix.0.i570 = phi i32 [ 0, %if65 ], [ %r.0i561, %if70i568 ], [ 10, %endif41i564 ]             ; <i32> [#uses=2]
355         %p.1i571 = phi i8* [ %p.2i562, %if70i568 ], [ %t89.i782, %if65 ], [ %p.2i562, %endif41i564 ]            ; <i8*> [#uses=1]
356         %t84i572 = ptrtoint i8* %p.1i571 to i32         ; <i32> [#uses=1]
357         %t85i573 = ptrtoint i8* %t89.i782 to i32                ; <i32> [#uses=1]
358         %t86i574 = sub i32 %t84i572, %t85i573           ; <i32> [#uses=2]
359         %t6.i575 = sub i32 %t90.i783, %t86i574          ; <i32> [#uses=1]
360         %t59i604 = zext i32 %radix.0.i570 to i64                ; <i64> [#uses=1]
361         br label %fcondi581
362
363 fcondi581:              ; preds = %if55i610, %Dt4x7c7I11V4tTaZ4tFAaKbKkZk.exit.i576
364         %value.0i577 = phi i64 [ 0, %Dt4x7c7I11V4tTaZ4tFAaKbKkZk.exit.i576 ], [ %t65i607, %if55i610 ]           ; <i64> [#uses=1]
365         %fkey.0i579 = phi i32 [ 0, %Dt4x7c7I11V4tTaZ4tFAaKbKkZk.exit.i576 ], [ %t70i609, %if55i610 ]            ; <i32> [#uses=3]
366         %t3i580 = icmp ult i32 %fkey.0i579, %t6.i575            ; <i1> [#uses=1]
367         br i1 %t3i580, label %fbodyi587, label %wcond.i422
368
369 fbodyi587:              ; preds = %fcondi581
370         %t5.s.i582 = add i32 %t86i574, %fkey.0i579              ; <i32> [#uses=1]
371         %t89.i782.s = add i32 %.frame.0.3, %t5.s.i582           ; <i32> [#uses=1]
372         %t5i583 = getelementptr i8* %line_arg831, i32 %t89.i782.s               ; <i8*> [#uses=1]
373         %t6i584 = load i8* %t5i583              ; <i8> [#uses=6]
374         %t6.off84i585 = add i8 %t6i584, -48             ; <i8> [#uses=1]
375         %or.cond.i28.i586 = icmp ugt i8 %t6.off84i585, 9                ; <i1> [#uses=1]
376         br i1 %or.cond.i28.i586, label %ei590, label %endifi603
377
378 ei590:          ; preds = %fbodyi587
379         %t6.off83i588 = add i8 %t6i584, -97             ; <i8> [#uses=1]
380         %or.cond81i589 = icmp ugt i8 %t6.off83i588, 25          ; <i1> [#uses=1]
381         br i1 %or.cond81i589, label %e24i595, label %if22i592
382
383 if22i592:               ; preds = %ei590
384         %t27i591 = add i8 %t6i584, -39          ; <i8> [#uses=1]
385         br label %endifi603
386
387 e24i595:                ; preds = %ei590
388         %t6.offi593 = add i8 %t6i584, -65               ; <i8> [#uses=1]
389         %or.cond82i594 = icmp ugt i8 %t6.offi593, 25            ; <i1> [#uses=1]
390         br i1 %or.cond82i594, label %wcond.i422, label %if39i597
391
392 if39i597:               ; preds = %e24i595
393         %t44.i29.i596 = add i8 %t6i584, -7              ; <i8> [#uses=1]
394         br label %endifi603
395
396 endifi603:              ; preds = %if39i597, %if22i592, %fbodyi587
397         %c.0.i30.i598 = phi i8 [ %t27i591, %if22i592 ], [ %t44.i29.i596, %if39i597 ], [ %t6i584, %fbodyi587 ]           ; <i8> [#uses=1]
398         %t48.i31.i599 = zext i8 %c.0.i30.i598 to i32            ; <i32> [#uses=1]
399         %t49i600 = add i32 %t48.i31.i599, 208           ; <i32> [#uses=1]
400         %t52i601 = and i32 %t49i600, 255                ; <i32> [#uses=2]
401         %t54i602 = icmp ult i32 %t52i601, %radix.0.i570         ; <i1> [#uses=1]
402         br i1 %t54i602, label %if55i610, label %wcond.i422
403
404 if55i610:               ; preds = %endifi603
405         %t61i605 = mul i64 %value.0i577, %t59i604               ; <i64> [#uses=1]
406         %t64i606 = zext i32 %t52i601 to i64             ; <i64> [#uses=1]
407         %t65i607 = add i64 %t61i605, %t64i606           ; <i64> [#uses=1]
408         %t70i609 = add i32 %fkey.0i579, 1               ; <i32> [#uses=1]
409         br label %fcondi581
410
411 e67:            ; preds = %ifi630
412         %t4i447 = icmp eq i32 %t49.i801, %.frame.0.6            ; <i1> [#uses=1]
413         br i1 %t4i447, label %Dt4x7c7I11V4tTaZ4tFAaKbKkZk.exit.i491, label %forcondi454
414
415 forcondi454:            ; preds = %zi461, %e67
416         %c.0i452 = phi i8 [ %c.0i452.pre, %zi461 ], [ %t63, %e67 ]              ; <i8> [#uses=2]
417         %sign.1.i448 = phi i1 [ %sign.0.i458, %zi461 ], [ false, %e67 ]         ; <i1> [#uses=2]
418         %l.0i449 = phi i32 [ %t33i460, %zi461 ], [ %t90.i825, %e67 ]            ; <i32> [#uses=3]
419         %p.0i450 = phi i8* [ %t30i459, %zi461 ], [ %t89.i824, %e67 ]            ; <i8*> [#uses=5]
420         %t8i453 = icmp eq i32 %l.0i449, 0               ; <i1> [#uses=1]
421         br i1 %t8i453, label %endfori465, label %forbodyi455
422
423 forbodyi455:            ; preds = %forcondi454
424         switch i8 %c.0i452, label %endfori465 [
425                 i8 32, label %zi461
426                 i8 9, label %zi461
427                 i8 45, label %if20i456
428                 i8 43, label %if26i457
429         ]
430
431 if20i456:               ; preds = %forbodyi455
432         br label %zi461
433
434 if26i457:               ; preds = %forbodyi455
435         br label %zi461
436
437 zi461:          ; preds = %if26i457, %if20i456, %forbodyi455, %forbodyi455
438         %sign.0.i458 = phi i1 [ false, %if26i457 ], [ true, %if20i456 ], [ %sign.1.i448, %forbodyi455 ], [ %sign.1.i448, %forbodyi455 ]         ; <i1> [#uses=1]
439         %t30i459 = getelementptr i8* %p.0i450, i32 1            ; <i8*> [#uses=2]
440         %t33i460 = add i32 %l.0i449, -1         ; <i32> [#uses=1]
441         %c.0i452.pre = load i8* %t30i459                ; <i8> [#uses=1]
442         br label %forcondi454
443
444 endfori465:             ; preds = %forbodyi455, %forcondi454
445         %t37i462 = icmp eq i8 %c.0i452, 48              ; <i1> [#uses=1]
446         %t39i463 = icmp sgt i32 %l.0i449, 1             ; <i1> [#uses=1]
447         %or.condi464 = and i1 %t37i462, %t39i463                ; <i1> [#uses=1]
448         br i1 %or.condi464, label %if40i469, label %endif41i479
449
450 if40i469:               ; preds = %endfori465
451         %t43i466 = getelementptr i8* %p.0i450, i32 1            ; <i8*> [#uses=2]
452         %t44i467 = load i8* %t43i466            ; <i8> [#uses=1]
453         %t45i468 = zext i8 %t44i467 to i32              ; <i32> [#uses=1]
454         switch i32 %t45i468, label %endif41i479 [
455                 i32 120, label %case46i471
456                 i32 111, label %case56i475
457         ]
458
459 case46i471:             ; preds = %if40i469
460         %t48i470 = getelementptr i8* %p.0i450, i32 2            ; <i8*> [#uses=1]
461         br label %endif41i479
462
463 case56i475:             ; preds = %if40i469
464         %t58i474 = getelementptr i8* %p.0i450, i32 2            ; <i8*> [#uses=1]
465         br label %endif41i479
466
467 endif41i479:            ; preds = %case56i475, %case46i471, %if40i469, %endfori465
468         %r.0i476 = phi i32 [ 0, %if40i469 ], [ 8, %case56i475 ], [ 16, %case46i471 ], [ 0, %endfori465 ]                ; <i32> [#uses=2]
469         %p.2i477 = phi i8* [ %t43i466, %if40i469 ], [ %t58i474, %case56i475 ], [ %t48i470, %case46i471 ], [ %p.0i450, %endfori465 ]             ; <i8*> [#uses=2]
470         %t63i478 = icmp eq i32 %r.0i476, 0              ; <i1> [#uses=1]
471         br i1 %t63i478, label %Dt4x7c7I11V4tTaZ4tFAaKbKkZk.exit.i491, label %if70i483
472
473 if70i483:               ; preds = %endif41i479
474         br label %Dt4x7c7I11V4tTaZ4tFAaKbKkZk.exit.i491
475
476 Dt4x7c7I11V4tTaZ4tFAaKbKkZk.exit.i491:          ; preds = %if70i483, %endif41i479, %e67
477         %radix.0.i485 = phi i32 [ 0, %e67 ], [ %r.0i476, %if70i483 ], [ 10, %endif41i479 ]              ; <i32> [#uses=2]
478         %p.1i486 = phi i8* [ %p.2i477, %if70i483 ], [ %t89.i824, %e67 ], [ %p.2i477, %endif41i479 ]             ; <i8*> [#uses=1]
479         %t84i487 = ptrtoint i8* %p.1i486 to i32         ; <i32> [#uses=1]
480         %t85i488 = ptrtoint i8* %t89.i824 to i32                ; <i32> [#uses=1]
481         %t86i489 = sub i32 %t84i487, %t85i488           ; <i32> [#uses=2]
482         %ttt = sub i32 %t90.i825, %t86i489              ; <i32> [#uses=1]
483         %t59i519 = zext i32 %radix.0.i485 to i64                ; <i64> [#uses=1]
484         br label %fcondi496
485
486 fcondi496:              ; preds = %if55i525, %Dt4x7c7I11V4tTaZ4tFAaKbKkZk.exit.i491
487         %value.0i492 = phi i64 [ 0, %Dt4x7c7I11V4tTaZ4tFAaKbKkZk.exit.i491 ], [ %t65i522, %if55i525 ]           ; <i64> [#uses=1]
488         %fkey.0i494 = phi i32 [ 0, %Dt4x7c7I11V4tTaZ4tFAaKbKkZk.exit.i491 ], [ %t70i524, %if55i525 ]            ; <i32> [#uses=3]
489         %t3i495 = icmp ult i32 %fkey.0i494, %ttt                ; <i1> [#uses=1]
490         br i1 %t3i495, label %fbodyi502, label %wcond.i422
491
492 fbodyi502:              ; preds = %fcondi496
493         %t5.s.i497 = add i32 %t86i489, %fkey.0i494              ; <i32> [#uses=1]
494         %t89.i824.s = add i32 %.frame.0.6, %t5.s.i497           ; <i32> [#uses=1]
495         %t5i498 = getelementptr i8* %line_arg831, i32 %t89.i824.s               ; <i8*> [#uses=1]
496         %t6i499 = load i8* %t5i498              ; <i8> [#uses=6]
497         %t6.off84i500 = add i8 %t6i499, -48             ; <i8> [#uses=1]
498         %or.cond.i28.i501 = icmp ugt i8 %t6.off84i500, 9                ; <i1> [#uses=1]
499         br i1 %or.cond.i28.i501, label %ei505, label %endifi518
500
501 ei505:          ; preds = %fbodyi502
502         %t6.off83i503 = add i8 %t6i499, -97             ; <i8> [#uses=1]
503         %or.cond81i504 = icmp ugt i8 %t6.off83i503, 25          ; <i1> [#uses=1]
504         br i1 %or.cond81i504, label %e24i510, label %if22i507
505
506 if22i507:               ; preds = %ei505
507         %t27i506 = add i8 %t6i499, -39          ; <i8> [#uses=1]
508         br label %endifi518
509
510 e24i510:                ; preds = %ei505
511         %t6.offi508 = add i8 %t6i499, -65               ; <i8> [#uses=1]
512         %or.cond82i509 = icmp ugt i8 %t6.offi508, 25            ; <i1> [#uses=1]
513         br i1 %or.cond82i509, label %wcond.i422, label %if39i512
514
515 if39i512:               ; preds = %e24i510
516         %t44.i29.i511 = add i8 %t6i499, -7              ; <i8> [#uses=1]
517         br label %endifi518
518
519 endifi518:              ; preds = %if39i512, %if22i507, %fbodyi502
520         %c.0.i30.i513 = phi i8 [ %t27i506, %if22i507 ], [ %t44.i29.i511, %if39i512 ], [ %t6i499, %fbodyi502 ]           ; <i8> [#uses=1]
521         %t48.i31.i514 = zext i8 %c.0.i30.i513 to i32            ; <i32> [#uses=1]
522         %t49i515 = add i32 %t48.i31.i514, 208           ; <i32> [#uses=1]
523         %t52i516 = and i32 %t49i515, 255                ; <i32> [#uses=2]
524         %t54i517 = icmp ult i32 %t52i516, %radix.0.i485         ; <i1> [#uses=1]
525         br i1 %t54i517, label %if55i525, label %wcond.i422
526
527 if55i525:               ; preds = %endifi518
528         %t61i520 = mul i64 %value.0i492, %t59i519               ; <i64> [#uses=1]
529         %t64i521 = zext i32 %t52i516 to i64             ; <i64> [#uses=1]
530         %t65i522 = add i64 %t61i520, %t64i521           ; <i64> [#uses=1]
531         %t70i524 = add i32 %fkey.0i494, 1               ; <i32> [#uses=1]
532         br label %fcondi496
533
534 wcond.i422:             ; preds = %e40.i, %endifi518, %e24i510, %fcondi496, %endifi603, %e24i595, %fcondi581
535         %sarg60.pn.i = phi i8* [ %p.0.i, %e40.i ], [ undef, %fcondi496 ], [ undef, %e24i510 ], [ undef, %endifi518 ], [ undef, %endifi603 ], [ undef, %e24i595 ], [ undef, %fcondi581 ]         ; <i8*> [#uses=3]
536         %start_arg.pn.i = phi i32 [ %t49.i443, %e40.i ], [ 0, %fcondi496 ], [ 0, %e24i510 ], [ 0, %endifi518 ], [ 0, %endifi603 ], [ 0, %e24i595 ], [ 0, %fcondi581 ]           ; <i32> [#uses=3]
537         %extent.0.i = phi i32 [ %t51.i, %e40.i ], [ undef, %fcondi496 ], [ undef, %e24i510 ], [ undef, %endifi518 ], [ undef, %endifi603 ], [ undef, %e24i595 ], [ undef, %fcondi581 ]          ; <i32> [#uses=3]
538         %p.0.i = getelementptr i8* %sarg60.pn.i, i32 %start_arg.pn.i            ; <i8*> [#uses=2]
539         %p.0.s63.i = add i32 %start_arg.pn.i, -1                ; <i32> [#uses=1]
540         %t2i424 = getelementptr i8* %sarg60.pn.i, i32 %p.0.s63.i                ; <i8*> [#uses=1]
541         br label %forcondi430
542
543 forcondi430:            ; preds = %forbodyi434, %wcond.i422
544         %l.0i426 = phi i32 [ %extent.0.i, %wcond.i422 ], [ %t4i428, %forbodyi434 ]              ; <i32> [#uses=2]
545         %p.0i427 = phi i8* [ %t2i424, %wcond.i422 ], [ %t7i431, %forbodyi434 ]          ; <i8*> [#uses=1]
546         %t4i428 = add i32 %l.0i426, -1          ; <i32> [#uses=1]
547         %t5i429 = icmp eq i32 %l.0i426, 0               ; <i1> [#uses=1]
548         br i1 %t5i429, label %e.i441, label %forbodyi434
549
550 forbodyi434:            ; preds = %forcondi430
551         %t7i431 = getelementptr i8* %p.0i427, i32 1             ; <i8*> [#uses=3]
552         %t8i432 = load i8* %t7i431              ; <i8> [#uses=1]
553         %t12i433 = icmp eq i8 %t8i432, 32               ; <i1> [#uses=1]
554         br i1 %t12i433, label %ifi438, label %forcondi430
555
556 ifi438:         ; preds = %forbodyi434
557         %t15i435 = ptrtoint i8* %t7i431 to i32          ; <i32> [#uses=1]
558         %t16i436 = ptrtoint i8* %p.0.i to i32           ; <i32> [#uses=1]
559         %t17i437 = sub i32 %t15i435, %t16i436           ; <i32> [#uses=1]
560         br label %e.i441
561
562 e.i441:         ; preds = %ifi438, %forcondi430
563         %t2561.i = phi i32 [ %t17i437, %ifi438 ], [ %extent.0.i, %forcondi430 ]         ; <i32> [#uses=2]
564         %p.0.s.i = add i32 %start_arg.pn.i, %t2561.i            ; <i32> [#uses=1]
565         %t32.s.i = add i32 %p.0.s.i, -1         ; <i32> [#uses=1]
566         %t2i.i = getelementptr i8* %sarg60.pn.i, i32 %t32.s.i           ; <i8*> [#uses=1]
567         br label %forbodyi.i
568
569 forbodyi.i:             ; preds = %forbodyi.i, %e.i441
570         %p.0i.i = phi i8* [ %t2i.i, %e.i441 ], [ %t7i.i, %forbodyi.i ]          ; <i8*> [#uses=1]
571         %s2.0i.i = phi i8* [ getelementptr ([5 x i8]* @.str171, i32 0, i32 0), %e.i441 ], [ %t11i.i, %forbodyi.i ]              ; <i8*> [#uses=2]
572         %t7i.i = getelementptr i8* %p.0i.i, i32 1               ; <i8*> [#uses=2]
573         %t8i.i = load i8* %t7i.i                ; <i8> [#uses=1]
574         %t11i.i = getelementptr i8* %s2.0i.i, i32 1             ; <i8*> [#uses=1]
575         %t12i.i = load i8* %s2.0i.i             ; <i8> [#uses=1]
576         %t14i.i = icmp eq i8 %t8i.i, %t12i.i            ; <i1> [#uses=1]
577         br i1 %t14i.i, label %forbodyi.i, label %e40.i
578
579 e40.i:          ; preds = %forbodyi.i
580         %t49.i443 = add i32 %t2561.i, 1         ; <i32> [#uses=2]
581         %t51.i = sub i32 %extent.0.i, %t49.i443         ; <i32> [#uses=1]
582         br label %wcond.i422
583 }