• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: opt < %s -inline -prune-eh -disable-output
2; PR992
3target datalayout = "e-p:32:32"
4target triple = "i686-pc-linux-gnu"
5deplibs = [ "stdc++", "c", "crtend" ]
6	%struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i32, i16, i8, [1 x i8], i8*, i64, i8*, i8*, i32, [52 x i8] }
7	%struct._IO_marker = type { %struct._IO_marker*, %struct._IO_FILE*, i32 }
8	%"struct.__cxxabiv1::__array_type_info" = type { %"struct.std::type_info" }
9	%"struct.__cxxabiv1::__si_class_type_info" = type { %"struct.__cxxabiv1::__array_type_info", %"struct.__cxxabiv1::__array_type_info"* }
10	%"struct.__gnu_cxx::_Rope_rep_alloc_base<char,std::allocator<char>, true>" = type { i32 }
11	%"struct.__gnu_cxx::__normal_iterator<char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" = type { i8* }
12	%"struct.__gnu_cxx::__normal_iterator<const wchar_t*,std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" = type { i32* }
13	%"struct.__gnu_cxx::char_producer<char>" = type { i32 (...)** }
14	%"struct.__gnu_cxx::stdio_sync_filebuf<char,std::char_traits<char> >" = type { %"struct.std::basic_streambuf<char,std::char_traits<char> >", %struct._IO_FILE*, i32 }
15	%"struct.__gnu_cxx::stdio_sync_filebuf<wchar_t,std::char_traits<wchar_t> >" = type { %"struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >", %struct._IO_FILE*, i32 }
16	%struct.__locale_struct = type { [13 x %struct.locale_data*], i16*, i32*, i32*, [13 x i8*] }
17	%struct.__mbstate_t = type { i32, %"struct.__gnu_cxx::_Rope_rep_alloc_base<char,std::allocator<char>, true>" }
18	%struct.locale_data = type opaque
19	%"struct.std::__basic_file<char>" = type { %struct._IO_FILE*, i1 }
20	%"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>" = type { %"struct.std::locale::facet" }
21	%"struct.std::basic_filebuf<char,std::char_traits<char> >" = type { %"struct.std::basic_streambuf<char,std::char_traits<char> >", i32, %"struct.std::__basic_file<char>", i32, %struct.__mbstate_t, %struct.__mbstate_t, i8*, i32, i1, i1, i1, i1, i8, i8*, i8*, i1, %"struct.std::codecvt<char,char,__mbstate_t>"*, i8*, i32, i8*, i8* }
22	%"struct.std::basic_filebuf<wchar_t,std::char_traits<wchar_t> >" = type { %"struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >", i32, %"struct.std::__basic_file<char>", i32, %struct.__mbstate_t, %struct.__mbstate_t, i32*, i32, i1, i1, i1, i1, i32, i32*, i32*, i1, %"struct.std::codecvt<char,char,__mbstate_t>"*, i8*, i32, i8*, i8* }
23	%"struct.std::basic_fstream<char,std::char_traits<char> >" = type { { %"struct.std::locale::facet", %"struct.__gnu_cxx::char_producer<char>" }, %"struct.std::basic_filebuf<char,std::char_traits<char> >", %"struct.std::basic_ios<char,std::char_traits<char> >" }
24	%"struct.std::basic_fstream<wchar_t,std::char_traits<wchar_t> >" = type { { %"struct.std::locale::facet", %"struct.__gnu_cxx::char_producer<char>" }, %"struct.std::basic_filebuf<wchar_t,std::char_traits<wchar_t> >", %"struct.std::basic_ios<wchar_t,std::char_traits<wchar_t> >" }
25	%"struct.std::basic_ios<char,std::char_traits<char> >" = type { %"struct.std::ios_base", %"struct.std::basic_ostream<char,std::char_traits<char> >"*, i8, i1, %"struct.std::basic_streambuf<char,std::char_traits<char> >"*, %"struct.std::ctype<char>"*, %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"*, %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"* }
26	%"struct.std::basic_ios<wchar_t,std::char_traits<wchar_t> >" = type { %"struct.std::ios_base", %"struct.std::basic_ostream<wchar_t,std::char_traits<wchar_t> >"*, i32, i1, %"struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >"*, %"struct.std::codecvt<char,char,__mbstate_t>"*, %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"*, %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"* }
27	%"struct.std::basic_iostream<wchar_t,std::char_traits<wchar_t> >" = type { %"struct.std::locale::facet", %"struct.__gnu_cxx::char_producer<char>", %"struct.std::basic_ios<wchar_t,std::char_traits<wchar_t> >" }
28	%"struct.std::basic_ostream<char,std::char_traits<char> >" = type { i32 (...)**, %"struct.std::basic_ios<char,std::char_traits<char> >" }
29	%"struct.std::basic_ostream<wchar_t,std::char_traits<wchar_t> >" = type { i32 (...)**, %"struct.std::basic_ios<wchar_t,std::char_traits<wchar_t> >" }
30	%"struct.std::basic_streambuf<char,std::char_traits<char> >" = type { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, %"struct.std::locale" }
31	%"struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >" = type { i32 (...)**, i32*, i32*, i32*, i32*, i32*, i32*, %"struct.std::locale" }
32	%"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" = type { %"struct.__gnu_cxx::__normal_iterator<char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" }
33	%"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep" = type { %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep_base" }
34	%"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep_base" = type { i32, i32, i32 }
35	%"struct.std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >" = type { %"struct.__gnu_cxx::__normal_iterator<const wchar_t*,std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" }
36	%"struct.std::codecvt<char,char,__mbstate_t>" = type { %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>", %struct.__locale_struct* }
37	%"struct.std::collate<char>" = type { %"struct.std::locale::facet", %struct.__locale_struct* }
38	%"struct.std::collate_byname<char>" = type { %"struct.std::collate<char>" }
39	%"struct.std::ctype<char>" = type { %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>", %struct.__locale_struct*, i1, i32*, i32*, i16* }
40	%"struct.std::ctype_byname<char>" = type { %"struct.std::ctype<char>" }
41	%"struct.std::domain_error" = type { %"struct.std::logic_error" }
42	%"struct.std::ios_base" = type { i32 (...)**, i32, i32, i32, i32, i32, %"struct.std::ios_base::_Callback_list"*, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, %"struct.std::ios_base::_Words"*, %"struct.std::locale" }
43	%"struct.std::ios_base::_Callback_list" = type { %"struct.std::ios_base::_Callback_list"*, void (i32, %"struct.std::ios_base"*, i32)*, i32, i32 }
44	%"struct.std::ios_base::_Words" = type { i8*, i32 }
45	%"struct.std::istreambuf_iterator<char,std::char_traits<char> >" = type { %"struct.std::basic_streambuf<char,std::char_traits<char> >"*, i32 }
46	%"struct.std::istreambuf_iterator<wchar_t,std::char_traits<wchar_t> >" = type { %"struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >"*, i32 }
47	%"struct.std::locale" = type { %"struct.std::locale::_Impl"* }
48	%"struct.std::locale::_Impl" = type { i32, %"struct.std::locale::facet"**, i32, %"struct.std::locale::facet"**, i8** }
49	%"struct.std::locale::facet" = type { i32 (...)**, i32 }
50	%"struct.std::logic_error" = type { %"struct.__gnu_cxx::char_producer<char>", %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" }
51	%"struct.std::type_info" = type { i32 (...)**, i8* }
52@.str_11 = external global [42 x i8]		; <[42 x i8]*> [#uses=0]
53@.str_9 = external global [24 x i8]		; <[24 x i8]*> [#uses=0]
54@.str_1 = external global [17 x i8]		; <[17 x i8]*> [#uses=0]
55
56define void @main() {
57entry:
58	tail call fastcc void @_ZNSolsEi( )
59	ret void
60}
61
62define fastcc void @_ZNSolsEi() {
63entry:
64	%tmp.22 = icmp eq i32 0, 0		; <i1> [#uses=1]
65	br i1 %tmp.22, label %else, label %then
66
67then:		; preds = %entry
68	ret void
69
70else:		; preds = %entry
71	tail call fastcc void @_ZNSolsEl( )
72	ret void
73}
74
75define void @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_() {
76entry:
77	ret void
78}
79
80define fastcc void @_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate() {
81entry:
82	tail call fastcc void @_ZSt19__throw_ios_failurePKc( )
83	ret void
84}
85
86define fastcc void @_ZNSo3putEc() {
87entry:
88	ret void
89}
90
91define fastcc void @_ZNSolsEl() {
92entry:
93	%tmp.21.i = icmp eq %"struct.std::basic_ostream<char,std::char_traits<char> >"* null, null		; <i1> [#uses=1]
94	br i1 %tmp.21.i, label %endif.0.i, label %shortcirc_next.i
95
96shortcirc_next.i:		; preds = %entry
97	ret void
98
99endif.0.i:		; preds = %entry
100	call fastcc void @_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate( )
101	ret void
102}
103
104define fastcc void @_ZSt19__throw_ios_failurePKc() {
105entry:
106	call fastcc void @_ZNSsC1EPKcRKSaIcE( )
107	ret void
108}
109
110define fastcc void @_ZNSt8ios_baseD2Ev() {
111entry:
112	unreachable
113}
114
115define void @_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE5uflowEv() {
116entry:
117	unreachable
118}
119
120define void @_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED1Ev() {
121entry:
122	unreachable
123}
124
125define void @_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci() {
126entry:
127	ret void
128}
129
130define fastcc void @_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale() {
131entry:
132	ret void
133}
134
135declare fastcc void @_ZNSaIcED1Ev()
136
137define fastcc void @_ZSt19__throw_logic_errorPKc() {
138entry:
139	call fastcc void @_ZNSt11logic_errorC1ERKSs( )
140	ret void
141}
142
143define fastcc void @_ZNSs4_Rep9_S_createEjRKSaIcE() {
144entry:
145	br i1 false, label %then.0, label %endif.0
146
147then.0:		; preds = %entry
148	call fastcc void @_ZSt20__throw_length_errorPKc( )
149	ret void
150
151endif.0:		; preds = %entry
152	ret void
153}
154
155define fastcc void @_ZSt20__throw_length_errorPKc() {
156entry:
157	call fastcc void @_ZNSt12length_errorC1ERKSs( )
158	ret void
159}
160
161define fastcc void @_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type() {
162entry:
163	br i1 false, label %then.1.i, label %endif.1.i
164
165then.1.i:		; preds = %entry
166	call fastcc void @_ZSt19__throw_logic_errorPKc( )
167	ret void
168
169endif.1.i:		; preds = %entry
170	call fastcc void @_ZNSs4_Rep9_S_createEjRKSaIcE( )
171	unreachable
172}
173
174define fastcc void @_ZNSsC1ERKSs() {
175entry:
176	call fastcc void @_ZNSs4_Rep7_M_grabERKSaIcES2_( )
177	invoke fastcc void @_ZNSaIcEC1ERKS_( )
178			to label %invoke_cont.1 unwind label %invoke_catch.1
179
180invoke_catch.1:		; preds = %entry
181        %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
182                 catch i8* null
183	call fastcc void @_ZNSaIcED1Ev( )
184	resume { i8*, i32 } %exn
185
186invoke_cont.1:		; preds = %entry
187	call fastcc void @_ZNSaIcEC2ERKS_( )
188	ret void
189}
190
191define fastcc void @_ZNSs7reserveEj() {
192entry:
193	ret void
194}
195
196define fastcc void @_ZNSaIcEC1ERKS_() {
197entry:
198	ret void
199}
200
201define fastcc void @_ZNSs4_Rep7_M_grabERKSaIcES2_() {
202entry:
203	br i1 false, label %else.i, label %cond_true
204
205cond_true:		; preds = %entry
206	ret void
207
208else.i:		; preds = %entry
209	tail call fastcc void @_ZNSs4_Rep9_S_createEjRKSaIcE( )
210	ret void
211}
212
213define fastcc void @_ZNSsC1EPKcRKSaIcE() {
214entry:
215	tail call fastcc void @_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type( )
216	unreachable
217}
218
219define fastcc void @_ZNSaIcEC2ERKS_() {
220entry:
221	ret void
222}
223
224define void @_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev() {
225entry:
226	unreachable
227}
228
229define void @_ZNSt14collate_bynameIcED1Ev() {
230entry:
231	unreachable
232}
233
234define void @_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy() {
235entry:
236	ret void
237}
238
239define void @_ZNSt23__codecvt_abstract_baseIcc11__mbstate_tED1Ev() {
240entry:
241	unreachable
242}
243
244define void @_ZNSt12ctype_bynameIcED0Ev() {
245entry:
246	unreachable
247}
248
249define fastcc void @_ZNSt8messagesIwEC1Ej() {
250entry:
251	ret void
252}
253
254define fastcc void @_ZSt14__convert_to_vIlEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi() {
255entry:
256	ret void
257}
258
259define fastcc void @_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej() {
260entry:
261	ret void
262}
263
264define fastcc void @_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej() {
265entry:
266	ret void
267}
268
269define fastcc void @_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs() {
270entry:
271	unreachable
272}
273
274define fastcc void @_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_() {
275entry:
276	ret void
277}
278
279define void @_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev() {
280entry:
281	unreachable
282}
283
284define void @_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv() {
285entry:
286	ret void
287}
288
289define void @_ZNSt9exceptionD0Ev() {
290entry:
291	unreachable
292}
293
294define fastcc void @_ZNSt11logic_errorC1ERKSs() {
295entry:
296	call fastcc void @_ZNSsC1ERKSs( )
297	ret void
298}
299
300define fastcc void @_ZNSt11logic_errorD2Ev() {
301entry:
302	unreachable
303}
304
305define fastcc void @_ZNSt12length_errorC1ERKSs() {
306entry:
307	invoke fastcc void @_ZNSsC1ERKSs( )
308			to label %_ZNSt11logic_errorC2ERKSs.exit unwind label %invoke_catch.i
309
310invoke_catch.i:		; preds = %entry
311        %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
312                 catch i8* null
313	resume { i8*, i32 } %exn
314
315_ZNSt11logic_errorC2ERKSs.exit:		; preds = %entry
316	ret void
317}
318
319define void @_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_() {
320entry:
321	ret void
322}
323
324define fastcc void @_ZNSbIwSt11char_traitsIwESaIwEE16_S_construct_auxIPKwEEPwT_S7_RKS1_12__false_type() {
325entry:
326	ret void
327}
328
329define void @_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev() {
330entry:
331	ret void
332}
333
334define void @_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev() {
335entry:
336	unreachable
337}
338
339define fastcc void @_ZNSt5ctypeIcEC1EPKtbj() {
340entry:
341	ret void
342}
343
344declare i32 @__gxx_personality_v0(...)
345