summaryrefslogtreecommitdiff
path: root/test/Transforms/CodeExtractor/2004-03-18-InvokeHandling.ll
blob: 70d1e0aa8c10631a882ff8fbe184dda3d5884a18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
; RUN: llvm-upgrade < %s | llvm-as | opt -loop-extract -disable-output

implementation   ; Functions:

declare int %_IO_getc()

declare void %__errno_location()

void %yylex() {
entry:
	switch uint 0, label %label.126 [
		 uint 0, label %return
		 uint 61, label %combine
		 uint 33, label %combine
		 uint 94, label %combine
		 uint 37, label %combine
		 uint 47, label %combine
		 uint 42, label %combine
		 uint 62, label %combine
		 uint 60, label %combine
		 uint 58, label %combine
		 uint 124, label %combine
		 uint 38, label %combine
		 uint 45, label %combine
		 uint 43, label %combine
		 uint 34, label %string_constant
		 uint 39, label %char_constant
		 uint 46, label %loopexit.2
		 uint 57, label %loopexit.2
		 uint 56, label %loopexit.2
		 uint 55, label %loopexit.2
		 uint 54, label %loopexit.2
		 uint 53, label %loopexit.2
		 uint 52, label %loopexit.2
		 uint 51, label %loopexit.2
		 uint 50, label %loopexit.2
		 uint 49, label %loopexit.2
		 uint 48, label %loopexit.2
		 uint 95, label %letter
		 uint 122, label %letter
		 uint 121, label %letter
		 uint 120, label %letter
		 uint 119, label %letter
		 uint 118, label %letter
		 uint 117, label %letter
		 uint 116, label %letter
		 uint 115, label %letter
		 uint 114, label %letter
		 uint 113, label %letter
		 uint 112, label %letter
		 uint 111, label %letter
		 uint 110, label %letter
		 uint 109, label %letter
		 uint 108, label %letter
		 uint 107, label %letter
		 uint 106, label %letter
		 uint 105, label %letter
		 uint 104, label %letter
		 uint 103, label %letter
		 uint 102, label %letter
		 uint 101, label %letter
		 uint 100, label %letter
		 uint 99, label %letter
		 uint 98, label %letter
		 uint 97, label %letter
		 uint 90, label %letter
		 uint 89, label %letter
		 uint 88, label %letter
		 uint 87, label %letter
		 uint 86, label %letter
		 uint 85, label %letter
		 uint 84, label %letter
		 uint 83, label %letter
		 uint 82, label %letter
		 uint 81, label %letter
		 uint 80, label %letter
		 uint 79, label %letter
		 uint 78, label %letter
		 uint 77, label %letter
		 uint 75, label %letter
		 uint 74, label %letter
		 uint 73, label %letter
		 uint 72, label %letter
		 uint 71, label %letter
		 uint 70, label %letter
		 uint 69, label %letter
		 uint 68, label %letter
		 uint 67, label %letter
		 uint 66, label %letter
		 uint 65, label %letter
		 uint 64, label %label.13
		 uint 76, label %label.12
		 uint 36, label %label.11
		 uint 4294967295, label %label.10
	]

label.10:		; preds = %entry
	ret void

label.11:		; preds = %entry
	ret void

label.12:		; preds = %entry
	ret void

label.13:		; preds = %entry
	ret void

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
	ret void

loopexit.2:		; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry
	switch int 0, label %shortcirc_next.14 [
		 int 48, label %then.20
		 int 46, label %endif.38
	]

then.20:		; preds = %loopexit.2
	switch int 0, label %else.4 [
		 int 120, label %then.21
		 int 88, label %then.21
	]

then.21:		; preds = %then.20, %then.20
	ret void

else.4:		; preds = %then.20
	ret void

shortcirc_next.14:		; preds = %loopexit.2
	ret void

endif.38:		; preds = %loopexit.2
	br bool false, label %then.40, label %then.39

then.39:		; preds = %endif.38
	ret void

then.40:		; preds = %endif.38
	invoke void %__errno_location( )
			to label %switchexit.2 unwind label %LongJmpBlkPre

loopentry.6:		; preds = %endif.52
	switch uint 0, label %switchexit.2 [
		 uint 73, label %label.82
		 uint 105, label %label.82
		 uint 76, label %label.80
		 uint 108, label %label.80
		 uint 70, label %label.78
		 uint 102, label %label.78
	]

label.78:		; preds = %loopentry.6, %loopentry.6
	ret void

label.80:		; preds = %loopentry.6, %loopentry.6
	ret void

label.82:		; preds = %loopentry.6, %loopentry.6
	%c.0.15.5 = phi int [ %tmp.79417, %loopentry.6 ], [ %tmp.79417, %loopentry.6 ]		; <int> [#uses=0]
	ret void

switchexit.2:		; preds = %then.40, %loopentry.6
	br bool false, label %endif.51, label %loopexit.6

endif.51:		; preds = %switchexit.2
	br bool false, label %endif.52, label %then.52

then.52:		; preds = %endif.51
	ret void

endif.52:		; preds = %endif.51
	%tmp.79417 = invoke int %_IO_getc( )
			to label %loopentry.6 unwind label %LongJmpBlkPre		; <int> [#uses=2]

loopexit.6:		; preds = %switchexit.2
	ret void

char_constant:		; preds = %entry
	ret void

string_constant:		; preds = %entry
	ret void

combine:		; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry
	ret void

label.126:		; preds = %entry
	ret void

return:		; preds = %entry
	ret void

LongJmpBlkPre:		; preds = %then.40, %endif.52
	ret void
}