Home | History | Annotate | Download | only in Inline
      1 ; RUN: opt < %s -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 }
    339