1; RUN: llvm-upgrade < %s | llvm-as | opt -loop-extract -disable-output
2
3implementation   ; Functions:
4
5declare int %_IO_getc()
6
7declare void %__errno_location()
8
9void %yylex() {
10entry:
11	switch uint 0, label %label.126 [
12		 uint 0, label %return
13		 uint 61, label %combine
14		 uint 33, label %combine
15		 uint 94, label %combine
16		 uint 37, label %combine
17		 uint 47, label %combine
18		 uint 42, label %combine
19		 uint 62, label %combine
20		 uint 60, label %combine
21		 uint 58, label %combine
22		 uint 124, label %combine
23		 uint 38, label %combine
24		 uint 45, label %combine
25		 uint 43, label %combine
26		 uint 34, label %string_constant
27		 uint 39, label %char_constant
28		 uint 46, label %loopexit.2
29		 uint 57, label %loopexit.2
30		 uint 56, label %loopexit.2
31		 uint 55, label %loopexit.2
32		 uint 54, label %loopexit.2
33		 uint 53, label %loopexit.2
34		 uint 52, label %loopexit.2
35		 uint 51, label %loopexit.2
36		 uint 50, label %loopexit.2
37		 uint 49, label %loopexit.2
38		 uint 48, label %loopexit.2
39		 uint 95, label %letter
40		 uint 122, label %letter
41		 uint 121, label %letter
42		 uint 120, label %letter
43		 uint 119, label %letter
44		 uint 118, label %letter
45		 uint 117, label %letter
46		 uint 116, label %letter
47		 uint 115, label %letter
48		 uint 114, label %letter
49		 uint 113, label %letter
50		 uint 112, label %letter
51		 uint 111, label %letter
52		 uint 110, label %letter
53		 uint 109, label %letter
54		 uint 108, label %letter
55		 uint 107, label %letter
56		 uint 106, label %letter
57		 uint 105, label %letter
58		 uint 104, label %letter
59		 uint 103, label %letter
60		 uint 102, label %letter
61		 uint 101, label %letter
62		 uint 100, label %letter
63		 uint 99, label %letter
64		 uint 98, label %letter
65		 uint 97, label %letter
66		 uint 90, label %letter
67		 uint 89, label %letter
68		 uint 88, label %letter
69		 uint 87, label %letter
70		 uint 86, label %letter
71		 uint 85, label %letter
72		 uint 84, label %letter
73		 uint 83, label %letter
74		 uint 82, label %letter
75		 uint 81, label %letter
76		 uint 80, label %letter
77		 uint 79, label %letter
78		 uint 78, label %letter
79		 uint 77, label %letter
80		 uint 75, label %letter
81		 uint 74, label %letter
82		 uint 73, label %letter
83		 uint 72, label %letter
84		 uint 71, label %letter
85		 uint 70, label %letter
86		 uint 69, label %letter
87		 uint 68, label %letter
88		 uint 67, label %letter
89		 uint 66, label %letter
90		 uint 65, label %letter
91		 uint 64, label %label.13
92		 uint 76, label %label.12
93		 uint 36, label %label.11
94		 uint 4294967295, label %label.10
95	]
96
97label.10:		; preds = %entry
98	ret void
99
100label.11:		; preds = %entry
101	ret void
102
103label.12:		; preds = %entry
104	ret void
105
106label.13:		; preds = %entry
107	ret void
108
109letter:		; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry
110	ret void
111
112loopexit.2:		; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry
113	switch int 0, label %shortcirc_next.14 [
114		 int 48, label %then.20
115		 int 46, label %endif.38
116	]
117
118then.20:		; preds = %loopexit.2
119	switch int 0, label %else.4 [
120		 int 120, label %then.21
121		 int 88, label %then.21
122	]
123
124then.21:		; preds = %then.20, %then.20
125	ret void
126
127else.4:		; preds = %then.20
128	ret void
129
130shortcirc_next.14:		; preds = %loopexit.2
131	ret void
132
133endif.38:		; preds = %loopexit.2
134	br bool false, label %then.40, label %then.39
135
136then.39:		; preds = %endif.38
137	ret void
138
139then.40:		; preds = %endif.38
140	invoke void %__errno_location( )
141			to label %switchexit.2 unwind label %LongJmpBlkPre
142
143loopentry.6:		; preds = %endif.52
144	switch uint 0, label %switchexit.2 [
145		 uint 73, label %label.82
146		 uint 105, label %label.82
147		 uint 76, label %label.80
148		 uint 108, label %label.80
149		 uint 70, label %label.78
150		 uint 102, label %label.78
151	]
152
153label.78:		; preds = %loopentry.6, %loopentry.6
154	ret void
155
156label.80:		; preds = %loopentry.6, %loopentry.6
157	ret void
158
159label.82:		; preds = %loopentry.6, %loopentry.6
160	%c.0.15.5 = phi int [ %tmp.79417, %loopentry.6 ], [ %tmp.79417, %loopentry.6 ]		; <int> [#uses=0]
161	ret void
162
163switchexit.2:		; preds = %then.40, %loopentry.6
164	br bool false, label %endif.51, label %loopexit.6
165
166endif.51:		; preds = %switchexit.2
167	br bool false, label %endif.52, label %then.52
168
169then.52:		; preds = %endif.51
170	ret void
171
172endif.52:		; preds = %endif.51
173	%tmp.79417 = invoke int %_IO_getc( )
174			to label %loopentry.6 unwind label %LongJmpBlkPre		; <int> [#uses=2]
175
176loopexit.6:		; preds = %switchexit.2
177	ret void
178
179char_constant:		; preds = %entry
180	ret void
181
182string_constant:		; preds = %entry
183	ret void
184
185combine:		; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry
186	ret void
187
188label.126:		; preds = %entry
189	ret void
190
191return:		; preds = %entry
192	ret void
193
194LongJmpBlkPre:		; preds = %then.40, %endif.52
195	ret void
196}
197