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