1; RUN: opt < %s -gvn | llvm-dis
2
3	%"struct.Block::$_16" = type { i32 }
4	%struct.Exp = type { %struct.Exp_*, i32, i32, i32, %struct.Exp*, %struct.Exp*, %"struct.Exp::$_10", %"struct.Block::$_16", %"struct.Exp::$_12" }
5	%"struct.Exp::$_10" = type { %struct.Exp* }
6	%"struct.Exp::$_12" = type { %struct.Exp** }
7	%struct.Exp_ = type { i32, i32, i32, i32, %struct.Id* }
8	%struct.Id = type { i8*, i32, i32, i32, %"struct.Id::$_13" }
9	%"struct.Id::$_13" = type { double }
10
11define i8* @_ZN3Exp8toStringEj(%struct.Exp* %this, i32 %nextpc) {
12entry:
13	switch i32 0, label %bb970 [
14		 i32 1, label %bb
15		 i32 2, label %bb39
16		 i32 3, label %bb195
17		 i32 4, label %bb270
18		 i32 5, label %bb418
19		 i32 6, label %bb633
20		 i32 7, label %bb810
21		 i32 8, label %bb882
22		 i32 9, label %bb925
23	]
24
25bb:		; preds = %entry
26	store i8* null, i8** null
27	br label %return
28
29bb39:		; preds = %entry
30	br i1 false, label %cond_true, label %cond_false132
31
32cond_true:		; preds = %bb39
33	br i1 false, label %cond_true73, label %cond_false
34
35cond_true73:		; preds = %cond_true
36	br i1 false, label %cond_true108, label %cond_next
37
38cond_true108:		; preds = %cond_true73
39	br label %cond_next
40
41cond_next:		; preds = %cond_true108, %cond_true73
42	br label %cond_next131
43
44cond_false:		; preds = %cond_true
45	br label %cond_next131
46
47cond_next131:		; preds = %cond_false, %cond_next
48	br label %cond_next141
49
50cond_false132:		; preds = %bb39
51	br label %cond_next141
52
53cond_next141:		; preds = %cond_false132, %cond_next131
54	br i1 false, label %cond_true169, label %cond_false175
55
56cond_true169:		; preds = %cond_next141
57	br label %cond_next181
58
59cond_false175:		; preds = %cond_next141
60	br label %cond_next181
61
62cond_next181:		; preds = %cond_false175, %cond_true169
63	br i1 false, label %cond_true189, label %cond_next191
64
65cond_true189:		; preds = %cond_next181
66	br label %cond_next191
67
68cond_next191:		; preds = %cond_true189, %cond_next181
69	store i8* null, i8** null
70	br label %return
71
72bb195:		; preds = %entry
73	br i1 false, label %cond_true248, label %cond_false250
74
75cond_true248:		; preds = %bb195
76	br label %cond_next252
77
78cond_false250:		; preds = %bb195
79	br label %cond_next252
80
81cond_next252:		; preds = %cond_false250, %cond_true248
82	br i1 false, label %cond_true265, label %cond_next267
83
84cond_true265:		; preds = %cond_next252
85	br label %cond_next267
86
87cond_next267:		; preds = %cond_true265, %cond_next252
88	store i8* null, i8** null
89	br label %return
90
91bb270:		; preds = %entry
92	br i1 false, label %cond_true338, label %cond_false340
93
94cond_true338:		; preds = %bb270
95	br label %cond_next342
96
97cond_false340:		; preds = %bb270
98	br label %cond_next342
99
100cond_next342:		; preds = %cond_false340, %cond_true338
101	br i1 false, label %cond_true362, label %cond_false364
102
103cond_true362:		; preds = %cond_next342
104	br label %cond_next366
105
106cond_false364:		; preds = %cond_next342
107	br label %cond_next366
108
109cond_next366:		; preds = %cond_false364, %cond_true362
110	br i1 false, label %cond_true393, label %cond_next395
111
112cond_true393:		; preds = %cond_next366
113	br label %cond_next395
114
115cond_next395:		; preds = %cond_true393, %cond_next366
116	br i1 false, label %cond_true406, label %cond_next408
117
118cond_true406:		; preds = %cond_next395
119	br label %cond_next408
120
121cond_next408:		; preds = %cond_true406, %cond_next395
122	br i1 false, label %cond_true413, label %cond_next415
123
124cond_true413:		; preds = %cond_next408
125	br label %cond_next415
126
127cond_next415:		; preds = %cond_true413, %cond_next408
128	store i8* null, i8** null
129	br label %return
130
131bb418:		; preds = %entry
132	br i1 false, label %cond_true512, label %cond_false514
133
134cond_true512:		; preds = %bb418
135	br label %cond_next516
136
137cond_false514:		; preds = %bb418
138	br label %cond_next516
139
140cond_next516:		; preds = %cond_false514, %cond_true512
141	br i1 false, label %cond_true536, label %cond_false538
142
143cond_true536:		; preds = %cond_next516
144	br label %cond_next540
145
146cond_false538:		; preds = %cond_next516
147	br label %cond_next540
148
149cond_next540:		; preds = %cond_false538, %cond_true536
150	br i1 false, label %cond_true560, label %cond_false562
151
152cond_true560:		; preds = %cond_next540
153	br label %cond_next564
154
155cond_false562:		; preds = %cond_next540
156	br label %cond_next564
157
158cond_next564:		; preds = %cond_false562, %cond_true560
159	br i1 false, label %cond_true597, label %cond_next599
160
161cond_true597:		; preds = %cond_next564
162	br label %cond_next599
163
164cond_next599:		; preds = %cond_true597, %cond_next564
165	br i1 false, label %cond_true614, label %cond_next616
166
167cond_true614:		; preds = %cond_next599
168	br label %cond_next616
169
170cond_next616:		; preds = %cond_true614, %cond_next599
171	br i1 false, label %cond_true621, label %cond_next623
172
173cond_true621:		; preds = %cond_next616
174	br label %cond_next623
175
176cond_next623:		; preds = %cond_true621, %cond_next616
177	br i1 false, label %cond_true628, label %cond_next630
178
179cond_true628:		; preds = %cond_next623
180	br label %cond_next630
181
182cond_next630:		; preds = %cond_true628, %cond_next623
183	store i8* null, i8** null
184	br label %return
185
186bb633:		; preds = %entry
187	br i1 false, label %cond_true667, label %cond_next669
188
189cond_true667:		; preds = %bb633
190	br label %cond_next669
191
192cond_next669:		; preds = %cond_true667, %bb633
193	br i1 false, label %cond_true678, label %cond_next791
194
195cond_true678:		; preds = %cond_next669
196	br label %bb735
197
198bb679:		; preds = %bb735
199	br i1 false, label %cond_true729, label %cond_next731
200
201cond_true729:		; preds = %bb679
202	br label %cond_next731
203
204cond_next731:		; preds = %cond_true729, %bb679
205	br label %bb735
206
207bb735:		; preds = %cond_next731, %cond_true678
208	br i1 false, label %bb679, label %bb743
209
210bb743:		; preds = %bb735
211	br i1 false, label %cond_true788, label %cond_next790
212
213cond_true788:		; preds = %bb743
214	br label %cond_next790
215
216cond_next790:		; preds = %cond_true788, %bb743
217	br label %cond_next791
218
219cond_next791:		; preds = %cond_next790, %cond_next669
220	br i1 false, label %cond_true805, label %cond_next807
221
222cond_true805:		; preds = %cond_next791
223	br label %cond_next807
224
225cond_next807:		; preds = %cond_true805, %cond_next791
226	store i8* null, i8** null
227	br label %return
228
229bb810:		; preds = %entry
230	br i1 false, label %cond_true870, label %cond_next872
231
232cond_true870:		; preds = %bb810
233	br label %cond_next872
234
235cond_next872:		; preds = %cond_true870, %bb810
236	br i1 false, label %cond_true877, label %cond_next879
237
238cond_true877:		; preds = %cond_next872
239	br label %cond_next879
240
241cond_next879:		; preds = %cond_true877, %cond_next872
242	store i8* null, i8** null
243	br label %return
244
245bb882:		; preds = %entry
246	br i1 false, label %cond_true920, label %cond_next922
247
248cond_true920:		; preds = %bb882
249	br label %cond_next922
250
251cond_next922:		; preds = %cond_true920, %bb882
252	store i8* null, i8** null
253	br label %return
254
255bb925:		; preds = %entry
256	br i1 false, label %cond_true965, label %cond_next967
257
258cond_true965:		; preds = %bb925
259	br label %cond_next967
260
261cond_next967:		; preds = %cond_true965, %bb925
262	store i8* null, i8** null
263	br label %return
264
265bb970:		; preds = %entry
266	unreachable
267		; No predecessors!
268	store i8* null, i8** null
269	br label %return
270
271return:		; preds = %0, %cond_next967, %cond_next922, %cond_next879, %cond_next807, %cond_next630, %cond_next415, %cond_next267, %cond_next191, %bb
272	%retval980 = load i8*, i8** null		; <i8*> [#uses=1]
273	ret i8* %retval980
274}
275