diff --git a/llvm/test/Regression/Transforms/Inline/2006-11-09-InlineCGUpdate-2.ll b/llvm/test/Regression/Transforms/Inline/2006-11-09-InlineCGUpdate-2.ll new file mode 100644 index 000000000000..0dc55474f0b2 --- /dev/null +++ b/llvm/test/Regression/Transforms/Inline/2006-11-09-InlineCGUpdate-2.ll @@ -0,0 +1,248 @@ +; RUN: llvm-as < %s | opt -inline -prune-eh -disable-output +; PR993 +target endian = little +target pointersize = 32 +target triple = "i386-unknown-openbsd3.9" +deplibs = [ "stdc++", "c", "crtend" ] + "struct.__gnu_cxx::__normal_iterator, std::allocator > >" = type { sbyte* } + "struct.__gnu_cxx::char_producer" = type { int (...)** } + %struct.__sFILE = type { ubyte*, int, int, short, short, %struct.__sbuf, int, sbyte*, int (sbyte*)*, int (sbyte*, sbyte*, int)*, long (sbyte*, long, int)*, int (sbyte*, sbyte*, int)*, %struct.__sbuf, ubyte*, int, [3 x ubyte], [1 x ubyte], %struct.__sbuf, int, long } + %struct.__sbuf = type { ubyte*, int } + "struct.std::__basic_file" = type { %struct.__sFILE*, bool } + "struct.std::__codecvt_abstract_base" = type { "struct.std::locale::facet" } + "struct.std::bad_alloc" = type { "struct.__gnu_cxx::char_producer" } + "struct.std::basic_filebuf >" = type { "struct.std::basic_streambuf >", int, "struct.std::__basic_file", uint, %union.__mbstate_t, %union.__mbstate_t, sbyte*, uint, bool, bool, bool, bool, sbyte, sbyte*, sbyte*, bool, "struct.std::codecvt"*, sbyte*, int, sbyte*, sbyte* } + "struct.std::basic_ios >" = type { "struct.std::ios_base", "struct.std::basic_ostream >"*, sbyte, bool, "struct.std::basic_streambuf >"*, "struct.std::ctype"*, "struct.std::__codecvt_abstract_base"*, "struct.std::__codecvt_abstract_base"* } + "struct.std::basic_iostream >" = type { "struct.std::locale::facet", "struct.__gnu_cxx::char_producer", "struct.std::basic_ios >" } + "struct.std::basic_ofstream >" = type { "struct.__gnu_cxx::char_producer", "struct.std::basic_filebuf >", "struct.std::basic_ios >" } + "struct.std::basic_ostream >" = type { int (...)**, "struct.std::basic_ios >" } + "struct.std::basic_streambuf >" = type { int (...)**, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, "struct.std::locale" } + "struct.std::basic_string,std::allocator >" = type { "struct.__gnu_cxx::__normal_iterator, std::allocator > >" } + "struct.std::basic_string,std::allocator >::_Rep" = type { "struct.std::basic_string,std::allocator >::_Rep_base" } + "struct.std::basic_string,std::allocator >::_Rep_base" = type { uint, uint, int } + "struct.std::codecvt" = type { "struct.std::__codecvt_abstract_base", int* } + "struct.std::ctype" = type { "struct.std::__codecvt_abstract_base", int*, bool, int*, int*, uint* } + "struct.std::domain_error" = type { "struct.std::logic_error" } + "struct.std::ios_base" = type { int (...)**, int, int, uint, uint, uint, "struct.std::ios_base::_Callback_list"*, "struct.std::ios_base::_Words", [8 x "struct.std::ios_base::_Words"], int, "struct.std::ios_base::_Words"*, "struct.std::locale" } + "struct.std::ios_base::_Callback_list" = type { "struct.std::ios_base::_Callback_list"*, void (uint, "struct.std::ios_base"*, int)*, int, int } + "struct.std::ios_base::_Words" = type { sbyte*, int } + "struct.std::locale" = type { "struct.std::locale::_Impl"* } + "struct.std::locale::_Impl" = type { int, "struct.std::locale::facet"**, uint, "struct.std::locale::facet"**, sbyte** } + "struct.std::locale::facet" = type { int (...)**, int } + "struct.std::logic_error" = type { "struct.__gnu_cxx::char_producer", "struct.std::basic_string,std::allocator >" } + %union.__mbstate_t = type { long, [120 x ubyte] } +%.str_1 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] +%.str_9 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] + +implementation ; Functions: + +void %main() { +entry: + call fastcc void %_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode( ) + ret void +} + +fastcc void %_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode() { +entry: + %tmp.6 = seteq "struct.std::basic_filebuf >"* null, null ; [#uses=1] + br bool %tmp.6, label %then, label %UnifiedReturnBlock + +then: ; preds = %entry + tail call fastcc void %_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate( ) + ret void + +UnifiedReturnBlock: ; preds = %entry + ret void +} + +fastcc void %_ZN10__cxxabiv111__terminateEPFvvE() { +entry: + unreachable +} + +void %_ZNSdD0Ev() { +entry: + unreachable +} + +void %_ZThn8_NSdD1Ev() { +entry: + ret void +} + +void %_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev() { +entry: + ret void +} + +void %_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi() { +entry: + unreachable +} + +fastcc void %_ZNSoD2Ev() { +entry: + unreachable +} + +fastcc void %_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev() { +entry: + unreachable +} + +fastcc void %_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate() { +entry: + tail call fastcc void %_ZSt19__throw_ios_failurePKc( ) + ret void +} + +declare fastcc void %_ZNSaIcED1Ev() + +fastcc void %_ZNSsC1EPKcRKSaIcE() { +entry: + tail call fastcc void %_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type( ) + unreachable +} + +fastcc void %_ZSt14__convert_to_vIyEvPKcRT_RSt12_Ios_IostateRKPii() { +entry: + ret void +} + +fastcc void %_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej() { +entry: + ret void +} + +fastcc void %_ZSt19__throw_ios_failurePKc() { +entry: + call fastcc void %_ZNSsC1EPKcRKSaIcE( ) + unwind +} + +void %_GLOBAL__D__ZSt23lexicographical_compareIPKaS1_EbT_S2_T0_S3_() { +entry: + ret void +} + +void %_ZNSt9bad_allocD1Ev() { +entry: + unreachable +} + +fastcc void %_ZSt19__throw_logic_errorPKc() { +entry: + invoke fastcc void %_ZNSt11logic_errorC1ERKSs( ) + to label %try_exit.0 unwind label %try_catch.0 + +try_catch.0: ; preds = %entry + unreachable + +try_exit.0: ; preds = %entry + unwind +} + +fastcc void %_ZNSt11logic_errorC1ERKSs() { +entry: + call fastcc void %_ZNSsC1ERKSs( ) + ret void +} + +void %_ZNSt12domain_errorD1Ev() { +entry: + unreachable +} + +fastcc void %_ZSt20__throw_length_errorPKc() { +entry: + call fastcc void %_ZNSt12length_errorC1ERKSs( ) + unwind +} + +fastcc void %_ZNSt12length_errorC1ERKSs() { +entry: + invoke fastcc void %_ZNSsC1ERKSs( ) + to label %_ZNSt11logic_errorC2ERKSs.exit unwind label %invoke_catch.i + +invoke_catch.i: ; preds = %entry + unwind + +_ZNSt11logic_errorC2ERKSs.exit: ; preds = %entry + ret void +} + +fastcc void %_ZNSs4_Rep9_S_createEjRKSaIcE() { +entry: + call fastcc void %_ZSt20__throw_length_errorPKc( ) + unreachable +} + +fastcc void %_ZNSs12_S_constructIN9__gnu_cxx17__normal_iteratorIPcSsEEEES2_T_S4_RKSaIcESt20forward_iterator_tag() { +entry: + unreachable +} + +fastcc void %_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type() { +entry: + br bool false, label %then.1.i, label %endif.1.i + +then.1.i: ; preds = %entry + call fastcc void %_ZSt19__throw_logic_errorPKc( ) + br label %endif.1.i + +endif.1.i: ; preds = %then.1.i, %entry + call fastcc void %_ZNSs4_Rep9_S_createEjRKSaIcE( ) + unreachable +} + +fastcc void %_ZNSsC1ERKSs() { +entry: + call fastcc void %_ZNSs4_Rep7_M_grabERKSaIcES2_( ) + invoke fastcc void %_ZNSaIcEC1ERKS_( ) + to label %invoke_cont.1 unwind label %invoke_catch.1 + +invoke_catch.1: ; preds = %entry + call fastcc void %_ZNSaIcED1Ev( ) + unwind + +invoke_cont.1: ; preds = %entry + call fastcc void %_ZNSaIcEC2ERKS_( ) + ret void +} + +fastcc void %_ZNSaIcEC1ERKS_() { +entry: + ret void +} + +fastcc void %_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc() { +entry: + ret void +} + +fastcc void %_ZNSs4_Rep7_M_grabERKSaIcES2_() { +entry: + br bool false, label %else.i, label %cond_true + +cond_true: ; preds = %entry + ret void + +else.i: ; preds = %entry + tail call fastcc void %_ZNSs4_Rep9_S_createEjRKSaIcE( ) + unreachable +} + +fastcc void %_ZNSaIcEC2ERKS_() { +entry: + ret void +} + +fastcc void %_ZN9__gnu_cxx12__pool_allocILb1ELi0EE8allocateEj() { +entry: + ret void +} + +fastcc void %_ZN9__gnu_cxx12__pool_allocILb1ELi0EE9_S_refillEj() { +entry: + unreachable +} diff --git a/llvm/test/Regression/Transforms/Inline/2006-11-09-InlineCGUpdate.ll b/llvm/test/Regression/Transforms/Inline/2006-11-09-InlineCGUpdate.ll new file mode 100644 index 000000000000..d7eb057e3f10 --- /dev/null +++ b/llvm/test/Regression/Transforms/Inline/2006-11-09-InlineCGUpdate.ll @@ -0,0 +1,342 @@ +; RUN: llvm-as < %s | opt -inline -prune-eh -disable-output +; PR992 +target datalayout = "e-p:32:32" +target endian = little +target pointersize = 32 +target triple = "i686-pc-linux-gnu" +deplibs = [ "stdc++", "c", "crtend" ] + %struct._IO_FILE = type { int, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, %struct._IO_marker*, %struct._IO_FILE*, int, int, int, ushort, sbyte, [1 x sbyte], sbyte*, long, sbyte*, sbyte*, int, [52 x sbyte] } + %struct._IO_marker = type { %struct._IO_marker*, %struct._IO_FILE*, int } + "struct.__cxxabiv1::__array_type_info" = type { "struct.std::type_info" } + "struct.__cxxabiv1::__si_class_type_info" = type { "struct.__cxxabiv1::__array_type_info", "struct.__cxxabiv1::__array_type_info"* } + "struct.__gnu_cxx::_Rope_rep_alloc_base, true>" = type { uint } + "struct.__gnu_cxx::__normal_iterator, std::allocator > >" = type { sbyte* } + "struct.__gnu_cxx::__normal_iterator, std::allocator > >" = type { int* } + "struct.__gnu_cxx::char_producer" = type { int (...)** } + "struct.__gnu_cxx::stdio_sync_filebuf >" = type { "struct.std::basic_streambuf >", %struct._IO_FILE*, int } + "struct.__gnu_cxx::stdio_sync_filebuf >" = type { "struct.std::basic_streambuf >", %struct._IO_FILE*, uint } + %struct.__locale_struct = type { [13 x %struct.locale_data*], ushort*, int*, int*, [13 x sbyte*] } + %struct.__mbstate_t = type { int, "struct.__gnu_cxx::_Rope_rep_alloc_base, true>" } + %struct.locale_data = type opaque + "struct.std::__basic_file" = type { %struct._IO_FILE*, bool } + "struct.std::__codecvt_abstract_base" = type { "struct.std::locale::facet" } + "struct.std::basic_filebuf >" = type { "struct.std::basic_streambuf >", int, "struct.std::__basic_file", uint, %struct.__mbstate_t, %struct.__mbstate_t, sbyte*, uint, bool, bool, bool, bool, sbyte, sbyte*, sbyte*, bool, "struct.std::codecvt"*, sbyte*, int, sbyte*, sbyte* } + "struct.std::basic_filebuf >" = type { "struct.std::basic_streambuf >", int, "struct.std::__basic_file", uint, %struct.__mbstate_t, %struct.__mbstate_t, int*, uint, bool, bool, bool, bool, int, int*, int*, bool, "struct.std::codecvt"*, sbyte*, int, sbyte*, sbyte* } + "struct.std::basic_fstream >" = type { { "struct.std::locale::facet", "struct.__gnu_cxx::char_producer" }, "struct.std::basic_filebuf >", "struct.std::basic_ios >" } + "struct.std::basic_fstream >" = type { { "struct.std::locale::facet", "struct.__gnu_cxx::char_producer" }, "struct.std::basic_filebuf >", "struct.std::basic_ios >" } + "struct.std::basic_ios >" = type { "struct.std::ios_base", "struct.std::basic_ostream >"*, sbyte, bool, "struct.std::basic_streambuf >"*, "struct.std::ctype"*, "struct.std::__codecvt_abstract_base"*, "struct.std::__codecvt_abstract_base"* } + "struct.std::basic_ios >" = type { "struct.std::ios_base", "struct.std::basic_ostream >"*, int, bool, "struct.std::basic_streambuf >"*, "struct.std::codecvt"*, "struct.std::__codecvt_abstract_base"*, "struct.std::__codecvt_abstract_base"* } + "struct.std::basic_iostream >" = type { "struct.std::locale::facet", "struct.__gnu_cxx::char_producer", "struct.std::basic_ios >" } + "struct.std::basic_ostream >" = type { int (...)**, "struct.std::basic_ios >" } + "struct.std::basic_ostream >" = type { int (...)**, "struct.std::basic_ios >" } + "struct.std::basic_streambuf >" = type { int (...)**, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, "struct.std::locale" } + "struct.std::basic_streambuf >" = type { int (...)**, int*, int*, int*, int*, int*, int*, "struct.std::locale" } + "struct.std::basic_string,std::allocator >" = type { "struct.__gnu_cxx::__normal_iterator, std::allocator > >" } + "struct.std::basic_string,std::allocator >::_Rep" = type { "struct.std::basic_string,std::allocator >::_Rep_base" } + "struct.std::basic_string,std::allocator >::_Rep_base" = type { uint, uint, int } + "struct.std::basic_string,std::allocator >" = type { "struct.__gnu_cxx::__normal_iterator, std::allocator > >" } + "struct.std::codecvt" = type { "struct.std::__codecvt_abstract_base", %struct.__locale_struct* } + "struct.std::collate" = type { "struct.std::locale::facet", %struct.__locale_struct* } + "struct.std::collate_byname" = type { "struct.std::collate" } + "struct.std::ctype" = type { "struct.std::__codecvt_abstract_base", %struct.__locale_struct*, bool, int*, int*, ushort* } + "struct.std::ctype_byname" = type { "struct.std::ctype" } + "struct.std::domain_error" = type { "struct.std::logic_error" } + "struct.std::ios_base" = type { int (...)**, int, int, uint, uint, uint, "struct.std::ios_base::_Callback_list"*, "struct.std::ios_base::_Words", [8 x "struct.std::ios_base::_Words"], int, "struct.std::ios_base::_Words"*, "struct.std::locale" } + "struct.std::ios_base::_Callback_list" = type { "struct.std::ios_base::_Callback_list"*, void (uint, "struct.std::ios_base"*, int)*, int, int } + "struct.std::ios_base::_Words" = type { sbyte*, int } + "struct.std::istreambuf_iterator >" = type { "struct.std::basic_streambuf >"*, int } + "struct.std::istreambuf_iterator >" = type { "struct.std::basic_streambuf >"*, uint } + "struct.std::locale" = type { "struct.std::locale::_Impl"* } + "struct.std::locale::_Impl" = type { int, "struct.std::locale::facet"**, uint, "struct.std::locale::facet"**, sbyte** } + "struct.std::locale::facet" = type { int (...)**, int } + "struct.std::logic_error" = type { "struct.__gnu_cxx::char_producer", "struct.std::basic_string,std::allocator >" } + "struct.std::type_info" = type { int (...)**, sbyte* } +%.str_11 = external global [42 x sbyte] ; <[42 x sbyte]*> [#uses=0] +%.str_9 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] +%.str_1 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] + +implementation ; Functions: + +void %main() { +entry: + tail call fastcc void %_ZNSolsEi( ) + ret void +} + +fastcc void %_ZNSolsEi() { +entry: + %tmp.22 = seteq uint 0, 0 ; [#uses=1] + br bool %tmp.22, label %else, label %then + +then: ; preds = %entry + ret void + +else: ; preds = %entry + tail call fastcc void %_ZNSolsEl( ) + ret void +} + +void %_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_() { +entry: + ret void +} + +fastcc void %_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate() { +entry: + tail call fastcc void %_ZSt19__throw_ios_failurePKc( ) + ret void +} + +fastcc void %_ZNSo3putEc() { +entry: + ret void +} + +fastcc void %_ZNSolsEl() { +entry: + %tmp.21.i = seteq "struct.std::basic_ostream >"* null, null ; [#uses=1] + br bool %tmp.21.i, label %endif.0.i, label %shortcirc_next.i + +shortcirc_next.i: ; preds = %entry + ret void + +endif.0.i: ; preds = %entry + call fastcc void %_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate( ) + ret void +} + +fastcc void %_ZSt19__throw_ios_failurePKc() { +entry: + call fastcc void %_ZNSsC1EPKcRKSaIcE( ) + ret void +} + +fastcc void %_ZNSt8ios_baseD2Ev() { +entry: + unreachable +} + +void %_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE5uflowEv() { +entry: + unreachable +} + +void %_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED1Ev() { +entry: + unreachable +} + +void %_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci() { +entry: + ret void +} + +fastcc void %_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale() { +entry: + ret void +} + +declare fastcc void %_ZNSaIcED1Ev() + +fastcc void %_ZSt19__throw_logic_errorPKc() { +entry: + call fastcc void %_ZNSt11logic_errorC1ERKSs( ) + ret void +} + +fastcc void %_ZNSs4_Rep9_S_createEjRKSaIcE() { +entry: + br bool false, label %then.0, label %endif.0 + +then.0: ; preds = %entry + call fastcc void %_ZSt20__throw_length_errorPKc( ) + ret void + +endif.0: ; preds = %entry + ret void +} + +fastcc void %_ZSt20__throw_length_errorPKc() { +entry: + call fastcc void %_ZNSt12length_errorC1ERKSs( ) + unwind +} + +fastcc void %_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type() { +entry: + br bool false, label %then.1.i, label %endif.1.i + +then.1.i: ; preds = %entry + call fastcc void %_ZSt19__throw_logic_errorPKc( ) + ret void + +endif.1.i: ; preds = %entry + call fastcc void %_ZNSs4_Rep9_S_createEjRKSaIcE( ) + unreachable +} + +fastcc void %_ZNSsC1ERKSs() { +entry: + call fastcc void %_ZNSs4_Rep7_M_grabERKSaIcES2_( ) + invoke fastcc void %_ZNSaIcEC1ERKS_( ) + to label %invoke_cont.1 unwind label %invoke_catch.1 + +invoke_catch.1: ; preds = %entry + call fastcc void %_ZNSaIcED1Ev( ) + unwind + +invoke_cont.1: ; preds = %entry + call fastcc void %_ZNSaIcEC2ERKS_( ) + ret void +} + +fastcc void %_ZNSs7reserveEj() { +entry: + ret void +} + +fastcc void %_ZNSaIcEC1ERKS_() { +entry: + ret void +} + +fastcc void %_ZNSs4_Rep7_M_grabERKSaIcES2_() { +entry: + br bool false, label %else.i, label %cond_true + +cond_true: ; preds = %entry + ret void + +else.i: ; preds = %entry + tail call fastcc void %_ZNSs4_Rep9_S_createEjRKSaIcE( ) + ret void +} + +fastcc void %_ZNSsC1EPKcRKSaIcE() { +entry: + tail call fastcc void %_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type( ) + unreachable +} + +fastcc void %_ZNSaIcEC2ERKS_() { +entry: + ret void +} + +void %_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev() { +entry: + unreachable +} + +void %_ZNSt14collate_bynameIcED1Ev() { +entry: + unreachable +} + +void %_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy() { +entry: + ret void +} + +void %_ZNSt23__codecvt_abstract_baseIcc11__mbstate_tED1Ev() { +entry: + unreachable +} + +void %_ZNSt12ctype_bynameIcED0Ev() { +entry: + unreachable +} + +fastcc void %_ZNSt8messagesIwEC1Ej() { +entry: + ret void +} + +fastcc void %_ZSt14__convert_to_vIlEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi() { +entry: + ret void +} + +fastcc void %_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej() { +entry: + ret void +} + +fastcc void %_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej() { +entry: + ret void +} + +fastcc void %_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs() { +entry: + unreachable +} + +fastcc void %_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_() { +entry: + ret void +} + +void %_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev() { +entry: + unreachable +} + +void %_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv() { +entry: + ret void +} + +void %_ZNSt9exceptionD0Ev() { +entry: + unreachable +} + +fastcc void %_ZNSt11logic_errorC1ERKSs() { +entry: + call fastcc void %_ZNSsC1ERKSs( ) + ret void +} + +fastcc void %_ZNSt11logic_errorD2Ev() { +entry: + unreachable +} + +fastcc void %_ZNSt12length_errorC1ERKSs() { +entry: + invoke fastcc void %_ZNSsC1ERKSs( ) + to label %_ZNSt11logic_errorC2ERKSs.exit unwind label %invoke_catch.i + +invoke_catch.i: ; preds = %entry + unwind + +_ZNSt11logic_errorC2ERKSs.exit: ; preds = %entry + ret void +} + +void %_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_() { +entry: + ret void +} + +fastcc void %_ZNSbIwSt11char_traitsIwESaIwEE16_S_construct_auxIPKwEEPwT_S7_RKS1_12__false_type() { +entry: + ret void +} + +void %_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev() { +entry: + ret void +} + +void %_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev() { +entry: + unreachable +} + +fastcc void %_ZNSt5ctypeIcEC1EPKtbj() { +entry: + ret void +}