aboutsummaryrefslogtreecommitdiff
path: root/test/Transforms/GVN/2007-07-30-PredIDom.ll
blob: 5cb6bb3ecffbcfacba4049ae9d9a0a7003ed3402 (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
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
; RUN: opt < %s -gvn | llvm-dis

	%"struct.Block::$_16" = type { i32 }
	%struct.Exp = type { %struct.Exp_*, i32, i32, i32, %struct.Exp*, %struct.Exp*, %"struct.Exp::$_10", %"struct.Block::$_16", %"struct.Exp::$_12" }
	%"struct.Exp::$_10" = type { %struct.Exp* }
	%"struct.Exp::$_12" = type { %struct.Exp** }
	%struct.Exp_ = type { i32, i32, i32, i32, %struct.Id* }
	%struct.Id = type { i8*, i32, i32, i32, %"struct.Id::$_13" }
	%"struct.Id::$_13" = type { double }

define i8* @_ZN3Exp8toStringEj(%struct.Exp* %this, i32 %nextpc) {
entry:
	switch i32 0, label %bb970 [
		 i32 1, label %bb
		 i32 2, label %bb39
		 i32 3, label %bb195
		 i32 4, label %bb270
		 i32 5, label %bb418
		 i32 6, label %bb633
		 i32 7, label %bb810
		 i32 8, label %bb882
		 i32 9, label %bb925
	]

bb:		; preds = %entry
	store i8* null, i8** null
	br label %return

bb39:		; preds = %entry
	br i1 false, label %cond_true, label %cond_false132

cond_true:		; preds = %bb39
	br i1 false, label %cond_true73, label %cond_false

cond_true73:		; preds = %cond_true
	br i1 false, label %cond_true108, label %cond_next

cond_true108:		; preds = %cond_true73
	br label %cond_next

cond_next:		; preds = %cond_true108, %cond_true73
	br label %cond_next131

cond_false:		; preds = %cond_true
	br label %cond_next131

cond_next131:		; preds = %cond_false, %cond_next
	br label %cond_next141

cond_false132:		; preds = %bb39
	br label %cond_next141

cond_next141:		; preds = %cond_false132, %cond_next131
	br i1 false, label %cond_true169, label %cond_false175

cond_true169:		; preds = %cond_next141
	br label %cond_next181

cond_false175:		; preds = %cond_next141
	br label %cond_next181

cond_next181:		; preds = %cond_false175, %cond_true169
	br i1 false, label %cond_true189, label %cond_next191

cond_true189:		; preds = %cond_next181
	br label %cond_next191

cond_next191:		; preds = %cond_true189, %cond_next181
	store i8* null, i8** null
	br label %return

bb195:		; preds = %entry
	br i1 false, label %cond_true248, label %cond_false250

cond_true248:		; preds = %bb195
	br label %cond_next252

cond_false250:		; preds = %bb195
	br label %cond_next252

cond_next252:		; preds = %cond_false250, %cond_true248
	br i1 false, label %cond_true265, label %cond_next267

cond_true265:		; preds = %cond_next252
	br label %cond_next267

cond_next267:		; preds = %cond_true265, %cond_next252
	store i8* null, i8** null
	br label %return

bb270:		; preds = %entry
	br i1 false, label %cond_true338, label %cond_false340

cond_true338:		; preds = %bb270
	br label %cond_next342

cond_false340:		; preds = %bb270
	br label %cond_next342

cond_next342:		; preds = %cond_false340, %cond_true338
	br i1 false, label %cond_true362, label %cond_false364

cond_true362:		; preds = %cond_next342
	br label %cond_next366

cond_false364:		; preds = %cond_next342
	br label %cond_next366

cond_next366:		; preds = %cond_false364, %cond_true362
	br i1 false, label %cond_true393, label %cond_next395

cond_true393:		; preds = %cond_next366
	br label %cond_next395

cond_next395:		; preds = %cond_true393, %cond_next366
	br i1 false, label %cond_true406, label %cond_next408

cond_true406:		; preds = %cond_next395
	br label %cond_next408

cond_next408:		; preds = %cond_true406, %cond_next395
	br i1 false, label %cond_true413, label %cond_next415

cond_true413:		; preds = %cond_next408
	br label %cond_next415

cond_next415:		; preds = %cond_true413, %cond_next408
	store i8* null, i8** null
	br label %return

bb418:		; preds = %entry
	br i1 false, label %cond_true512, label %cond_false514

cond_true512:		; preds = %bb418
	br label %cond_next516

cond_false514:		; preds = %bb418
	br label %cond_next516

cond_next516:		; preds = %cond_false514, %cond_true512
	br i1 false, label %cond_true536, label %cond_false538

cond_true536:		; preds = %cond_next516
	br label %cond_next540

cond_false538:		; preds = %cond_next516
	br label %cond_next540

cond_next540:		; preds = %cond_false538, %cond_true536
	br i1 false, label %cond_true560, label %cond_false562

cond_true560:		; preds = %cond_next540
	br label %cond_next564

cond_false562:		; preds = %cond_next540
	br label %cond_next564

cond_next564:		; preds = %cond_false562, %cond_true560
	br i1 false, label %cond_true597, label %cond_next599

cond_true597:		; preds = %cond_next564
	br label %cond_next599

cond_next599:		; preds = %cond_true597, %cond_next564
	br i1 false, label %cond_true614, label %cond_next616

cond_true614:		; preds = %cond_next599
	br label %cond_next616

cond_next616:		; preds = %cond_true614, %cond_next599
	br i1 false, label %cond_true621, label %cond_next623

cond_true621:		; preds = %cond_next616
	br label %cond_next623

cond_next623:		; preds = %cond_true621, %cond_next616
	br i1 false, label %cond_true628, label %cond_next630

cond_true628:		; preds = %cond_next623
	br label %cond_next630

cond_next630:		; preds = %cond_true628, %cond_next623
	store i8* null, i8** null
	br label %return

bb633:		; preds = %entry
	br i1 false, label %cond_true667, label %cond_next669

cond_true667:		; preds = %bb633
	br label %cond_next669

cond_next669:		; preds = %cond_true667, %bb633
	br i1 false, label %cond_true678, label %cond_next791

cond_true678:		; preds = %cond_next669
	br label %bb735

bb679:		; preds = %bb735
	br i1 false, label %cond_true729, label %cond_next731

cond_true729:		; preds = %bb679
	br label %cond_next731

cond_next731:		; preds = %cond_true729, %bb679
	br label %bb735

bb735:		; preds = %cond_next731, %cond_true678
	br i1 false, label %bb679, label %bb743

bb743:		; preds = %bb735
	br i1 false, label %cond_true788, label %cond_next790

cond_true788:		; preds = %bb743
	br label %cond_next790

cond_next790:		; preds = %cond_true788, %bb743
	br label %cond_next791

cond_next791:		; preds = %cond_next790, %cond_next669
	br i1 false, label %cond_true805, label %cond_next807

cond_true805:		; preds = %cond_next791
	br label %cond_next807

cond_next807:		; preds = %cond_true805, %cond_next791
	store i8* null, i8** null
	br label %return

bb810:		; preds = %entry
	br i1 false, label %cond_true870, label %cond_next872

cond_true870:		; preds = %bb810
	br label %cond_next872

cond_next872:		; preds = %cond_true870, %bb810
	br i1 false, label %cond_true877, label %cond_next879

cond_true877:		; preds = %cond_next872
	br label %cond_next879

cond_next879:		; preds = %cond_true877, %cond_next872
	store i8* null, i8** null
	br label %return

bb882:		; preds = %entry
	br i1 false, label %cond_true920, label %cond_next922

cond_true920:		; preds = %bb882
	br label %cond_next922

cond_next922:		; preds = %cond_true920, %bb882
	store i8* null, i8** null
	br label %return

bb925:		; preds = %entry
	br i1 false, label %cond_true965, label %cond_next967

cond_true965:		; preds = %bb925
	br label %cond_next967

cond_next967:		; preds = %cond_true965, %bb925
	store i8* null, i8** null
	br label %return

bb970:		; preds = %entry
	unreachable
		; No predecessors!
	store i8* null, i8** null
	br label %return

return:		; preds = %0, %cond_next967, %cond_next922, %cond_next879, %cond_next807, %cond_next630, %cond_next415, %cond_next267, %cond_next191, %bb
	%retval980 = load i8** null		; <i8*> [#uses=1]
	ret i8* %retval980
}