aboutsummaryrefslogtreecommitdiff
path: root/test/Transforms/CodeExtractor/2004-03-18-InvokeHandling.ll
blob: ff5de6b73e210dd74986dcbc1913c1d261531a14 (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
197
198
; RUN: opt < %s -loop-extract -disable-output

declare i32 @_IO_getc()

declare void @__errno_location()

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

then.20:		; preds = %loopexit.2
	switch i32 0, label %else.4 [
		 i32 120, label %then.21
		 i32 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 i1 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 i32 0, label %switchexit.2 [
		 i32 73, label %label.82
		 i32 105, label %label.82
		 i32 76, label %label.80
		 i32 108, label %label.80
		 i32 70, label %label.78
		 i32 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 i32 [ %tmp.79417, %loopentry.6 ], [ %tmp.79417, %loopentry.6 ]		; <i32> [#uses=0]
	ret void

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

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

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

endif.52:		; preds = %endif.51
	%tmp.79417 = invoke i32 @_IO_getc( )
			to label %loopentry.6 unwind label %LongJmpBlkPre		; <i32> [#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 = %endif.52, %then.40
        %exn = landingpad { i8*, i32 } personality i32 (...)* @__gcc_personality_v0
                 catch i8* null
	ret void
}

declare i32 @__gcc_personality_v0(...)