1
; RUN: opt < %s -loop-extract -disable-output
3
declare i32 @_IO_getc()
5
declare void @__errno_location()
9
switch i32 0, label %label.126 [
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
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
89
i32 64, label %label.13
90
i32 76, label %label.12
91
i32 36, label %label.11
92
i32 -1, label %label.10
95
label.10: ; preds = %entry
98
label.11: ; preds = %entry
101
label.12: ; preds = %entry
104
label.13: ; preds = %entry
107
letter: ; 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
loopexit.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
116
then.20: ; preds = %loopexit.2
117
switch i32 0, label %else.4 [
118
i32 120, label %then.21
119
i32 88, label %then.21
122
then.21: ; preds = %then.20, %then.20
125
else.4: ; preds = %then.20
128
shortcirc_next.14: ; preds = %loopexit.2
131
endif.38: ; preds = %loopexit.2
132
br i1 false, label %then.40, label %then.39
134
then.39: ; preds = %endif.38
137
then.40: ; preds = %endif.38
138
invoke void @__errno_location( )
139
to label %switchexit.2 unwind label %LongJmpBlkPre
141
loopentry.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
151
label.78: ; preds = %loopentry.6, %loopentry.6
154
label.80: ; preds = %loopentry.6, %loopentry.6
157
label.82: ; preds = %loopentry.6, %loopentry.6
158
%c.0.15.5 = phi i32 [ %tmp.79417, %loopentry.6 ], [ %tmp.79417, %loopentry.6 ] ; <i32> [#uses=0]
161
switchexit.2: ; preds = %loopentry.6, %then.40
162
br i1 false, label %endif.51, label %loopexit.6
164
endif.51: ; preds = %switchexit.2
165
br i1 false, label %endif.52, label %then.52
167
then.52: ; preds = %endif.51
170
endif.52: ; preds = %endif.51
171
%tmp.79417 = invoke i32 @_IO_getc( )
172
to label %loopentry.6 unwind label %LongJmpBlkPre ; <i32> [#uses=2]
174
loopexit.6: ; preds = %switchexit.2
177
char_constant: ; preds = %entry
180
string_constant: ; preds = %entry
183
combine: ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry
186
label.126: ; preds = %entry
189
return: ; preds = %entry
192
LongJmpBlkPre: ; preds = %endif.52, %then.40
193
%exn = landingpad { i8*, i32 } personality i32 (...)* @__gcc_personality_v0
198
declare i32 @__gcc_personality_v0(...)