Remove a few tests which no longer hold for deadargelim (since it is now
[oota-llvm.git] / test / Transforms / Inline / 2006-11-09-InlineCGUpdate.ll
1 ; RUN: llvm-as < %s | opt -inline -prune-eh -disable-output
2 ; PR992
3 target datalayout = "e-p:32:32"
4 target triple = "i686-pc-linux-gnu"
5 deplibs = [ "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
56 define void @main() {
57 entry:
58         tail call fastcc void @_ZNSolsEi( )
59         ret void
60 }
61
62 define fastcc void @_ZNSolsEi() {
63 entry:
64         %tmp.22 = icmp eq i32 0, 0              ; <i1> [#uses=1]
65         br i1 %tmp.22, label %else, label %then
66
67 then:           ; preds = %entry
68         ret void
69
70 else:           ; preds = %entry
71         tail call fastcc void @_ZNSolsEl( )
72         ret void
73 }
74
75 define void @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_() {
76 entry:
77         ret void
78 }
79
80 define fastcc void @_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate() {
81 entry:
82         tail call fastcc void @_ZSt19__throw_ios_failurePKc( )
83         ret void
84 }
85
86 define fastcc void @_ZNSo3putEc() {
87 entry:
88         ret void
89 }
90
91 define fastcc void @_ZNSolsEl() {
92 entry:
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
96 shortcirc_next.i:               ; preds = %entry
97         ret void
98
99 endif.0.i:              ; preds = %entry
100         call fastcc void @_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate( )
101         ret void
102 }
103
104 define fastcc void @_ZSt19__throw_ios_failurePKc() {
105 entry:
106         call fastcc void @_ZNSsC1EPKcRKSaIcE( )
107         ret void
108 }
109
110 define fastcc void @_ZNSt8ios_baseD2Ev() {
111 entry:
112         unreachable
113 }
114
115 define void @_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE5uflowEv() {
116 entry:
117         unreachable
118 }
119
120 define void @_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED1Ev() {
121 entry:
122         unreachable
123 }
124
125 define void @_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci() {
126 entry:
127         ret void
128 }
129
130 define fastcc void @_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale() {
131 entry:
132         ret void
133 }
134
135 declare fastcc void @_ZNSaIcED1Ev()
136
137 define fastcc void @_ZSt19__throw_logic_errorPKc() {
138 entry:
139         call fastcc void @_ZNSt11logic_errorC1ERKSs( )
140         ret void
141 }
142
143 define fastcc void @_ZNSs4_Rep9_S_createEjRKSaIcE() {
144 entry:
145         br i1 false, label %then.0, label %endif.0
146
147 then.0:         ; preds = %entry
148         call fastcc void @_ZSt20__throw_length_errorPKc( )
149         ret void
150
151 endif.0:                ; preds = %entry
152         ret void
153 }
154
155 define fastcc void @_ZSt20__throw_length_errorPKc() {
156 entry:
157         call fastcc void @_ZNSt12length_errorC1ERKSs( )
158         unwind
159 }
160
161 define fastcc void @_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type() {
162 entry:
163         br i1 false, label %then.1.i, label %endif.1.i
164
165 then.1.i:               ; preds = %entry
166         call fastcc void @_ZSt19__throw_logic_errorPKc( )
167         ret void
168
169 endif.1.i:              ; preds = %entry
170         call fastcc void @_ZNSs4_Rep9_S_createEjRKSaIcE( )
171         unreachable
172 }
173
174 define fastcc void @_ZNSsC1ERKSs() {
175 entry:
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
180 invoke_catch.1:         ; preds = %entry
181         call fastcc void @_ZNSaIcED1Ev( )
182         unwind
183
184 invoke_cont.1:          ; preds = %entry
185         call fastcc void @_ZNSaIcEC2ERKS_( )
186         ret void
187 }
188
189 define fastcc void @_ZNSs7reserveEj() {
190 entry:
191         ret void
192 }
193
194 define fastcc void @_ZNSaIcEC1ERKS_() {
195 entry:
196         ret void
197 }
198
199 define fastcc void @_ZNSs4_Rep7_M_grabERKSaIcES2_() {
200 entry:
201         br i1 false, label %else.i, label %cond_true
202
203 cond_true:              ; preds = %entry
204         ret void
205
206 else.i:         ; preds = %entry
207         tail call fastcc void @_ZNSs4_Rep9_S_createEjRKSaIcE( )
208         ret void
209 }
210
211 define fastcc void @_ZNSsC1EPKcRKSaIcE() {
212 entry:
213         tail call fastcc void @_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type( )
214         unreachable
215 }
216
217 define fastcc void @_ZNSaIcEC2ERKS_() {
218 entry:
219         ret void
220 }
221
222 define void @_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev() {
223 entry:
224         unreachable
225 }
226
227 define void @_ZNSt14collate_bynameIcED1Ev() {
228 entry:
229         unreachable
230 }
231
232 define void @_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy() {
233 entry:
234         ret void
235 }
236
237 define void @_ZNSt23__codecvt_abstract_baseIcc11__mbstate_tED1Ev() {
238 entry:
239         unreachable
240 }
241
242 define void @_ZNSt12ctype_bynameIcED0Ev() {
243 entry:
244         unreachable
245 }
246
247 define fastcc void @_ZNSt8messagesIwEC1Ej() {
248 entry:
249         ret void
250 }
251
252 define fastcc void @_ZSt14__convert_to_vIlEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi() {
253 entry:
254         ret void
255 }
256
257 define fastcc void @_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej() {
258 entry:
259         ret void
260 }
261
262 define fastcc void @_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej() {
263 entry:
264         ret void
265 }
266
267 define fastcc void @_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs() {
268 entry:
269         unreachable
270 }
271
272 define fastcc void @_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_() {
273 entry:
274         ret void
275 }
276
277 define void @_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev() {
278 entry:
279         unreachable
280 }
281
282 define void @_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv() {
283 entry:
284         ret void
285 }
286
287 define void @_ZNSt9exceptionD0Ev() {
288 entry:
289         unreachable
290 }
291
292 define fastcc void @_ZNSt11logic_errorC1ERKSs() {
293 entry:
294         call fastcc void @_ZNSsC1ERKSs( )
295         ret void
296 }
297
298 define fastcc void @_ZNSt11logic_errorD2Ev() {
299 entry:
300         unreachable
301 }
302
303 define fastcc void @_ZNSt12length_errorC1ERKSs() {
304 entry:
305         invoke fastcc void @_ZNSsC1ERKSs( )
306                         to label %_ZNSt11logic_errorC2ERKSs.exit unwind label %invoke_catch.i
307
308 invoke_catch.i:         ; preds = %entry
309         unwind
310
311 _ZNSt11logic_errorC2ERKSs.exit:         ; preds = %entry
312         ret void
313 }
314
315 define void @_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_() {
316 entry:
317         ret void
318 }
319
320 define fastcc void @_ZNSbIwSt11char_traitsIwESaIwEE16_S_construct_auxIPKwEEPwT_S7_RKS1_12__false_type() {
321 entry:
322         ret void
323 }
324
325 define void @_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev() {
326 entry:
327         ret void
328 }
329
330 define void @_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev() {
331 entry:
332         unreachable
333 }
334
335 define fastcc void @_ZNSt5ctypeIcEC1EPKtbj() {
336 entry:
337         ret void
338 }