121 lines · plain
1; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu2; pr56003 4%struct..0__pthread_mutex_s = type { i32, i32, i32, i32, i32, i32, %struct.__pthread_list_t }5%struct.ASN1ObjHeader = type { i8, %"struct.__gmp_expr<__mpz_struct [1],__mpz_struct [1]>", i64, i32, i32, i32 }6%struct.ASN1Object = type { ptr, i32, i32, i64 }7%struct.ASN1Unit = type { [4 x ptr], %"struct.std::ASN1ObjList" }8%"struct.__gmp_expr<__mpz_struct [1],__mpz_struct [1]>" = type { [1 x %struct.__mpz_struct] }9%struct.__mpz_struct = type { i32, i32, ptr }10%struct.__pthread_list_t = type { ptr, ptr }11%struct.pthread_attr_t = type { i64, [48 x i8] }12%struct.pthread_mutex_t = type { %struct..0__pthread_mutex_s }13%struct.pthread_mutexattr_t = type { i32 }14%"struct.std::ASN1ObjList" = type { %"struct.std::_Vector_base<ASN1Object*,std::allocator<ASN1Object*> >" }15%"struct.std::_Vector_base<ASN1Object*,std::allocator<ASN1Object*> >" = type { %"struct.std::_Vector_base<ASN1Object*,std::allocator<ASN1Object*> >::_Vector_impl" }16%"struct.std::_Vector_base<ASN1Object*,std::allocator<ASN1Object*> >::_Vector_impl" = type { ptr, ptr, ptr }17%struct.xmstream = type { ptr, i64, i64, i64, i8 }18 19declare void @_ZNSt6vectorIP10ASN1ObjectSaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_(ptr nocapture, i64, ptr nocapture)20 21declare i32 @_Z17LoadObjectFromBERR8xmstreamPP10ASN1ObjectPPF10ASN1StatusP13ASN1ObjHeaderS3_E(ptr, ptr, ptr)22 23define i32 @_ZN8ASN1Unit4loadER8xmstreamjm18ASN1LengthEncoding(ptr %this, ptr nocapture %stream, i32 %numObjects, i64 %size, i32 %lEncoding) personality ptr @__gxx_personality_v0 {24entry:25 br label %meshBB8526 27bb5: ; preds = %bb13.fragment.cl135, %bb13.fragment.cl, %bb.i.i.bbcl.disp, %bb13.fragment28 %0 = invoke i32 @_Z17LoadObjectFromBERR8xmstreamPP10ASN1ObjectPPF10ASN1StatusP13ASN1ObjHeaderS3_E(ptr undef, ptr undef, ptr undef)29 to label %meshBB81.bbcl.disp unwind label %lpad ; <i32> [#uses=0]30 31bb10.fragment: ; preds = %bb13.fragment.bbcl.disp32 br i1 undef, label %bb1.i.fragment.bbcl.disp, label %bb.i.i.bbcl.disp33 34bb1.i.fragment: ; preds = %bb1.i.fragment.bbcl.disp35 invoke void @_ZNSt6vectorIP10ASN1ObjectSaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_(ptr undef, i64 undef, ptr undef)36 to label %meshBB81.bbcl.disp unwind label %lpad37 38bb13.fragment: ; preds = %bb13.fragment.bbcl.disp39 br i1 undef, label %meshBB81.bbcl.disp, label %bb540 41bb.i4: ; preds = %bb.i4.bbcl.disp, %bb1.i.fragment.bbcl.disp42 ret i32 undef43 44bb1.i5: ; preds = %bb.i145 ret i32 undef46 47lpad: ; preds = %bb1.i.fragment.cl, %bb1.i.fragment, %bb548 %.SV10.phi807 = phi ptr [ undef, %bb1.i.fragment.cl ], [ undef, %bb1.i.fragment ], [ undef, %bb5 ] ; <ptr> [#uses=1]49 %exn = landingpad {ptr, i32}50 cleanup51 %1 = load i8, ptr %.SV10.phi807, align 8 ; <i8> [#uses=0]52 br i1 undef, label %meshBB81.bbcl.disp, label %bb13.fragment.bbcl.disp53 54bb.i1: ; preds = %bb.i.i.bbcl.disp55 br i1 undef, label %meshBB81.bbcl.disp, label %bb1.i556 57meshBB81: ; preds = %meshBB81.bbcl.disp, %bb.i.i.bbcl.disp58 br i1 undef, label %meshBB81.bbcl.disp, label %bb.i4.bbcl.disp59 60meshBB85: ; preds = %meshBB81.bbcl.disp, %bb.i4.bbcl.disp, %bb1.i.fragment.bbcl.disp, %bb.i.i.bbcl.disp, %entry61 br i1 undef, label %meshBB81.bbcl.disp, label %bb13.fragment.bbcl.disp62 63bb.i.i.bbcl.disp: ; preds = %bb10.fragment64 switch i8 undef, label %meshBB85 [65 i8 123, label %bb.i166 i8 97, label %bb567 i8 44, label %meshBB8168 i8 1, label %meshBB81.cl69 i8 51, label %meshBB81.cl14170 ]71 72bb1.i.fragment.cl: ; preds = %bb1.i.fragment.bbcl.disp73 invoke void @_ZNSt6vectorIP10ASN1ObjectSaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_(ptr undef, i64 undef, ptr undef)74 to label %meshBB81.bbcl.disp unwind label %lpad75 76bb1.i.fragment.bbcl.disp: ; preds = %bb10.fragment77 switch i8 undef, label %bb.i4 [78 i8 97, label %bb1.i.fragment79 i8 7, label %bb1.i.fragment.cl80 i8 35, label %bb.i4.cl81 i8 77, label %meshBB8582 ]83 84bb13.fragment.cl: ; preds = %bb13.fragment.bbcl.disp85 br i1 undef, label %meshBB81.bbcl.disp, label %bb586 87bb13.fragment.cl135: ; preds = %bb13.fragment.bbcl.disp88 br i1 undef, label %meshBB81.bbcl.disp, label %bb589 90bb13.fragment.bbcl.disp: ; preds = %meshBB85, %lpad91 switch i8 undef, label %bb10.fragment [92 i8 67, label %bb13.fragment.cl93 i8 108, label %bb13.fragment94 i8 58, label %bb13.fragment.cl13595 ]96 97bb.i4.cl: ; preds = %bb.i4.bbcl.disp, %bb1.i.fragment.bbcl.disp98 ret i32 undef99 100bb.i4.bbcl.disp: ; preds = %meshBB81.cl141, %meshBB81.cl, %meshBB81101 switch i8 undef, label %bb.i4 [102 i8 35, label %bb.i4.cl103 i8 77, label %meshBB85104 ]105 106meshBB81.cl: ; preds = %meshBB81.bbcl.disp, %bb.i.i.bbcl.disp107 br i1 undef, label %meshBB81.bbcl.disp, label %bb.i4.bbcl.disp108 109meshBB81.cl141: ; preds = %meshBB81.bbcl.disp, %bb.i.i.bbcl.disp110 br i1 undef, label %meshBB81.bbcl.disp, label %bb.i4.bbcl.disp111 112meshBB81.bbcl.disp: ; preds = %meshBB81.cl141, %meshBB81.cl, %bb13.fragment.cl135, %bb13.fragment.cl, %bb1.i.fragment.cl, %meshBB85, %meshBB81, %bb.i1, %lpad, %bb13.fragment, %bb1.i.fragment, %bb5113 switch i8 undef, label %meshBB85 [114 i8 44, label %meshBB81115 i8 1, label %meshBB81.cl116 i8 51, label %meshBB81.cl141117 ]118}119 120declare i32 @__gxx_personality_v0(...)121