78 lines · plain
1; RUN: llc < %s2; PR54953 4%"struct.std::__ctype_abstract_base<wchar_t>" = type { %"struct.std::locale::facet" }5%"struct.std::basic_ios<char,std::char_traits<char> >" = type { %"struct.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }6%"struct.std::basic_istream<char,std::char_traits<char> >" = type { ptr, i32, %"struct.std::basic_ios<char,std::char_traits<char> >" }7%"struct.std::basic_ostream<char,std::char_traits<char> >" = type { ptr, %"struct.std::basic_ios<char,std::char_traits<char> >" }8%"struct.std::basic_streambuf<char,std::char_traits<char> >" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"struct.std::locale" }9%"struct.std::ctype<char>" = type { %"struct.std::locale::facet", ptr, i8, ptr, ptr, ptr, i8, [256 x i8], [256 x i8], i8 }10%"struct.std::ios_base" = type { ptr, i32, i32, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"struct.std::locale" }11%"struct.std::ios_base::_Callback_list" = type { ptr, ptr, i32, i32 }12%"struct.std::ios_base::_Words" = type { ptr, i32 }13%"struct.std::locale" = type { ptr }14%"struct.std::locale::_Impl" = type { i32, ptr, i32, ptr, ptr }15%"struct.std::locale::facet" = type { ptr, i32 }16%union..0._15 = type { i32 }17 18declare ptr @__cxa_begin_catch(ptr) nounwind19 20declare ptr @_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale(ptr)21 22define ptr @_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_(ptr %__in, ptr nocapture %__s) personality ptr @__gxx_personality_v0 {23entry:24 %0 = invoke ptr @_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale(ptr undef)25 to label %invcont8 unwind label %lpad74 ; <ptr> [#uses=0]26 27invcont8: ; preds = %entry28 %1 = invoke i32 undef(ptr undef)29 to label %bb26.preheader unwind label %lpad ; <i32> [#uses=0]30 31bb26.preheader: ; preds = %invcont832 br label %invcont3833 34bb1.i100: ; preds = %invcont3835 %2 = add nsw i32 1, %__extracted.0 ; <i32> [#uses=3]36 br i1 undef, label %bb.i97, label %bb1.i37 38bb.i97: ; preds = %bb1.i10039 br label %invcont3840 41bb1.i: ; preds = %bb1.i10042 %3 = invoke i32 undef(ptr undef)43 to label %invcont38 unwind label %lpad ; <i32> [#uses=0]44 45invcont24: ; preds = %invcont3846 %4 = invoke i32 undef(ptr undef)47 to label %_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv.exit.i unwind label %lpad ; <i32> [#uses=0]48 49_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv.exit.i: ; preds = %invcont2450 br i1 undef, label %invcont25, label %bb.i9351 52bb.i93: ; preds = %_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv.exit.i53 %5 = invoke i32 undef(ptr undef)54 to label %invcont25 unwind label %lpad ; <i32> [#uses=0]55 56invcont25: ; preds = %bb.i93, %_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv.exit.i57 br label %invcont3858 59invcont38: ; preds = %invcont25, %bb1.i, %bb.i97, %bb26.preheader60 %__extracted.0 = phi i32 [ 0, %bb26.preheader ], [ undef, %invcont25 ], [ %2, %bb.i97 ], [ %2, %bb1.i ] ; <i32> [#uses=1]61 br i1 false, label %bb1.i100, label %invcont2462 63lpad: ; preds = %bb.i93, %invcont24, %bb1.i, %invcont864 %__extracted.1 = phi i32 [ 0, %invcont8 ], [ %2, %bb1.i ], [ undef, %bb.i93 ], [ undef, %invcont24 ] ; <i32> [#uses=0]65 %lpad1 = landingpad { ptr, i32 }66 catch ptr null67 %eh_ptr = extractvalue { ptr, i32 } %lpad1, 068 %6 = call ptr @__cxa_begin_catch(ptr %eh_ptr) nounwind ; <ptr> [#uses=0]69 unreachable70 71lpad74: ; preds = %entry72 %lpad2 = landingpad { ptr, i32 }73 cleanup74 unreachable75}76 77declare i32 @__gxx_personality_v0(...) addrspace(0)78