1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu 2*9880d681SAndroid Build Coastguard Worker; pr5600 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Worker%struct..0__pthread_mutex_s = type { i32, i32, i32, i32, i32, i32, %struct.__pthread_list_t } 5*9880d681SAndroid Build Coastguard Worker%struct.ASN1ObjHeader = type { i8, %"struct.__gmp_expr<__mpz_struct [1],__mpz_struct [1]>", i64, i32, i32, i32 } 6*9880d681SAndroid Build Coastguard Worker%struct.ASN1Object = type { i32 (...)**, i32, i32, i64 } 7*9880d681SAndroid Build Coastguard Worker%struct.ASN1Unit = type { [4 x i32 (%struct.ASN1ObjHeader*, %struct.ASN1Object**)*], %"struct.std::ASN1ObjList" } 8*9880d681SAndroid Build Coastguard Worker%"struct.__gmp_expr<__mpz_struct [1],__mpz_struct [1]>" = type { [1 x %struct.__mpz_struct] } 9*9880d681SAndroid Build Coastguard Worker%struct.__mpz_struct = type { i32, i32, i64* } 10*9880d681SAndroid Build Coastguard Worker%struct.__pthread_list_t = type { %struct.__pthread_list_t*, %struct.__pthread_list_t* } 11*9880d681SAndroid Build Coastguard Worker%struct.pthread_attr_t = type { i64, [48 x i8] } 12*9880d681SAndroid Build Coastguard Worker%struct.pthread_mutex_t = type { %struct..0__pthread_mutex_s } 13*9880d681SAndroid Build Coastguard Worker%struct.pthread_mutexattr_t = type { i32 } 14*9880d681SAndroid Build Coastguard Worker%"struct.std::ASN1ObjList" = type { %"struct.std::_Vector_base<ASN1Object*,std::allocator<ASN1Object*> >" } 15*9880d681SAndroid Build Coastguard Worker%"struct.std::_Vector_base<ASN1Object*,std::allocator<ASN1Object*> >" = type { %"struct.std::_Vector_base<ASN1Object*,std::allocator<ASN1Object*> >::_Vector_impl" } 16*9880d681SAndroid Build Coastguard Worker%"struct.std::_Vector_base<ASN1Object*,std::allocator<ASN1Object*> >::_Vector_impl" = type { %struct.ASN1Object**, %struct.ASN1Object**, %struct.ASN1Object** } 17*9880d681SAndroid Build Coastguard Worker%struct.xmstream = type { i8*, i64, i64, i64, i8 } 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Workerdeclare void @_ZNSt6vectorIP10ASN1ObjectSaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_(%"struct.std::ASN1ObjList"* nocapture, i64, %struct.ASN1Object** nocapture) 20*9880d681SAndroid Build Coastguard Worker 21*9880d681SAndroid Build Coastguard Workerdeclare i32 @_Z17LoadObjectFromBERR8xmstreamPP10ASN1ObjectPPF10ASN1StatusP13ASN1ObjHeaderS3_E(%struct.xmstream*, %struct.ASN1Object**, i32 (%struct.ASN1ObjHeader*, %struct.ASN1Object**)**) 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Workerdefine i32 @_ZN8ASN1Unit4loadER8xmstreamjm18ASN1LengthEncoding(%struct.ASN1Unit* %this, %struct.xmstream* nocapture %stream, i32 %numObjects, i64 %size, i32 %lEncoding) personality i32 (...)* @__gxx_personality_v0 { 24*9880d681SAndroid Build Coastguard Workerentry: 25*9880d681SAndroid Build Coastguard Worker br label %meshBB85 26*9880d681SAndroid Build Coastguard Worker 27*9880d681SAndroid Build Coastguard Workerbb5: ; preds = %bb13.fragment.cl135, %bb13.fragment.cl, %bb.i.i.bbcl.disp, %bb13.fragment 28*9880d681SAndroid Build Coastguard Worker %0 = invoke i32 @_Z17LoadObjectFromBERR8xmstreamPP10ASN1ObjectPPF10ASN1StatusP13ASN1ObjHeaderS3_E(%struct.xmstream* undef, %struct.ASN1Object** undef, i32 (%struct.ASN1ObjHeader*, %struct.ASN1Object**)** undef) 29*9880d681SAndroid Build Coastguard Worker to label %meshBB81.bbcl.disp unwind label %lpad ; <i32> [#uses=0] 30*9880d681SAndroid Build Coastguard Worker 31*9880d681SAndroid Build Coastguard Workerbb10.fragment: ; preds = %bb13.fragment.bbcl.disp 32*9880d681SAndroid Build Coastguard Worker br i1 undef, label %bb1.i.fragment.bbcl.disp, label %bb.i.i.bbcl.disp 33*9880d681SAndroid Build Coastguard Worker 34*9880d681SAndroid Build Coastguard Workerbb1.i.fragment: ; preds = %bb1.i.fragment.bbcl.disp 35*9880d681SAndroid Build Coastguard Worker invoke void @_ZNSt6vectorIP10ASN1ObjectSaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_(%"struct.std::ASN1ObjList"* undef, i64 undef, %struct.ASN1Object** undef) 36*9880d681SAndroid Build Coastguard Worker to label %meshBB81.bbcl.disp unwind label %lpad 37*9880d681SAndroid Build Coastguard Worker 38*9880d681SAndroid Build Coastguard Workerbb13.fragment: ; preds = %bb13.fragment.bbcl.disp 39*9880d681SAndroid Build Coastguard Worker br i1 undef, label %meshBB81.bbcl.disp, label %bb5 40*9880d681SAndroid Build Coastguard Worker 41*9880d681SAndroid Build Coastguard Workerbb.i4: ; preds = %bb.i4.bbcl.disp, %bb1.i.fragment.bbcl.disp 42*9880d681SAndroid Build Coastguard Worker ret i32 undef 43*9880d681SAndroid Build Coastguard Worker 44*9880d681SAndroid Build Coastguard Workerbb1.i5: ; preds = %bb.i1 45*9880d681SAndroid Build Coastguard Worker ret i32 undef 46*9880d681SAndroid Build Coastguard Worker 47*9880d681SAndroid Build Coastguard Workerlpad: ; preds = %bb1.i.fragment.cl, %bb1.i.fragment, %bb5 48*9880d681SAndroid Build Coastguard Worker %.SV10.phi807 = phi i8* [ undef, %bb1.i.fragment.cl ], [ undef, %bb1.i.fragment ], [ undef, %bb5 ] ; <i8*> [#uses=1] 49*9880d681SAndroid Build Coastguard Worker %exn = landingpad {i8*, i32} 50*9880d681SAndroid Build Coastguard Worker cleanup 51*9880d681SAndroid Build Coastguard Worker %1 = load i8, i8* %.SV10.phi807, align 8 ; <i8> [#uses=0] 52*9880d681SAndroid Build Coastguard Worker br i1 undef, label %meshBB81.bbcl.disp, label %bb13.fragment.bbcl.disp 53*9880d681SAndroid Build Coastguard Worker 54*9880d681SAndroid Build Coastguard Workerbb.i1: ; preds = %bb.i.i.bbcl.disp 55*9880d681SAndroid Build Coastguard Worker br i1 undef, label %meshBB81.bbcl.disp, label %bb1.i5 56*9880d681SAndroid Build Coastguard Worker 57*9880d681SAndroid Build Coastguard WorkermeshBB81: ; preds = %meshBB81.bbcl.disp, %bb.i.i.bbcl.disp 58*9880d681SAndroid Build Coastguard Worker br i1 undef, label %meshBB81.bbcl.disp, label %bb.i4.bbcl.disp 59*9880d681SAndroid Build Coastguard Worker 60*9880d681SAndroid Build Coastguard WorkermeshBB85: ; preds = %meshBB81.bbcl.disp, %bb.i4.bbcl.disp, %bb1.i.fragment.bbcl.disp, %bb.i.i.bbcl.disp, %entry 61*9880d681SAndroid Build Coastguard Worker br i1 undef, label %meshBB81.bbcl.disp, label %bb13.fragment.bbcl.disp 62*9880d681SAndroid Build Coastguard Worker 63*9880d681SAndroid Build Coastguard Workerbb.i.i.bbcl.disp: ; preds = %bb10.fragment 64*9880d681SAndroid Build Coastguard Worker switch i8 undef, label %meshBB85 [ 65*9880d681SAndroid Build Coastguard Worker i8 123, label %bb.i1 66*9880d681SAndroid Build Coastguard Worker i8 97, label %bb5 67*9880d681SAndroid Build Coastguard Worker i8 44, label %meshBB81 68*9880d681SAndroid Build Coastguard Worker i8 1, label %meshBB81.cl 69*9880d681SAndroid Build Coastguard Worker i8 51, label %meshBB81.cl141 70*9880d681SAndroid Build Coastguard Worker ] 71*9880d681SAndroid Build Coastguard Worker 72*9880d681SAndroid Build Coastguard Workerbb1.i.fragment.cl: ; preds = %bb1.i.fragment.bbcl.disp 73*9880d681SAndroid Build Coastguard Worker invoke void @_ZNSt6vectorIP10ASN1ObjectSaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_(%"struct.std::ASN1ObjList"* undef, i64 undef, %struct.ASN1Object** undef) 74*9880d681SAndroid Build Coastguard Worker to label %meshBB81.bbcl.disp unwind label %lpad 75*9880d681SAndroid Build Coastguard Worker 76*9880d681SAndroid Build Coastguard Workerbb1.i.fragment.bbcl.disp: ; preds = %bb10.fragment 77*9880d681SAndroid Build Coastguard Worker switch i8 undef, label %bb.i4 [ 78*9880d681SAndroid Build Coastguard Worker i8 97, label %bb1.i.fragment 79*9880d681SAndroid Build Coastguard Worker i8 7, label %bb1.i.fragment.cl 80*9880d681SAndroid Build Coastguard Worker i8 35, label %bb.i4.cl 81*9880d681SAndroid Build Coastguard Worker i8 77, label %meshBB85 82*9880d681SAndroid Build Coastguard Worker ] 83*9880d681SAndroid Build Coastguard Worker 84*9880d681SAndroid Build Coastguard Workerbb13.fragment.cl: ; preds = %bb13.fragment.bbcl.disp 85*9880d681SAndroid Build Coastguard Worker br i1 undef, label %meshBB81.bbcl.disp, label %bb5 86*9880d681SAndroid Build Coastguard Worker 87*9880d681SAndroid Build Coastguard Workerbb13.fragment.cl135: ; preds = %bb13.fragment.bbcl.disp 88*9880d681SAndroid Build Coastguard Worker br i1 undef, label %meshBB81.bbcl.disp, label %bb5 89*9880d681SAndroid Build Coastguard Worker 90*9880d681SAndroid Build Coastguard Workerbb13.fragment.bbcl.disp: ; preds = %meshBB85, %lpad 91*9880d681SAndroid Build Coastguard Worker switch i8 undef, label %bb10.fragment [ 92*9880d681SAndroid Build Coastguard Worker i8 67, label %bb13.fragment.cl 93*9880d681SAndroid Build Coastguard Worker i8 108, label %bb13.fragment 94*9880d681SAndroid Build Coastguard Worker i8 58, label %bb13.fragment.cl135 95*9880d681SAndroid Build Coastguard Worker ] 96*9880d681SAndroid Build Coastguard Worker 97*9880d681SAndroid Build Coastguard Workerbb.i4.cl: ; preds = %bb.i4.bbcl.disp, %bb1.i.fragment.bbcl.disp 98*9880d681SAndroid Build Coastguard Worker ret i32 undef 99*9880d681SAndroid Build Coastguard Worker 100*9880d681SAndroid Build Coastguard Workerbb.i4.bbcl.disp: ; preds = %meshBB81.cl141, %meshBB81.cl, %meshBB81 101*9880d681SAndroid Build Coastguard Worker switch i8 undef, label %bb.i4 [ 102*9880d681SAndroid Build Coastguard Worker i8 35, label %bb.i4.cl 103*9880d681SAndroid Build Coastguard Worker i8 77, label %meshBB85 104*9880d681SAndroid Build Coastguard Worker ] 105*9880d681SAndroid Build Coastguard Worker 106*9880d681SAndroid Build Coastguard WorkermeshBB81.cl: ; preds = %meshBB81.bbcl.disp, %bb.i.i.bbcl.disp 107*9880d681SAndroid Build Coastguard Worker br i1 undef, label %meshBB81.bbcl.disp, label %bb.i4.bbcl.disp 108*9880d681SAndroid Build Coastguard Worker 109*9880d681SAndroid Build Coastguard WorkermeshBB81.cl141: ; preds = %meshBB81.bbcl.disp, %bb.i.i.bbcl.disp 110*9880d681SAndroid Build Coastguard Worker br i1 undef, label %meshBB81.bbcl.disp, label %bb.i4.bbcl.disp 111*9880d681SAndroid Build Coastguard Worker 112*9880d681SAndroid Build Coastguard WorkermeshBB81.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, %bb5 113*9880d681SAndroid Build Coastguard Worker switch i8 undef, label %meshBB85 [ 114*9880d681SAndroid Build Coastguard Worker i8 44, label %meshBB81 115*9880d681SAndroid Build Coastguard Worker i8 1, label %meshBB81.cl 116*9880d681SAndroid Build Coastguard Worker i8 51, label %meshBB81.cl141 117*9880d681SAndroid Build Coastguard Worker ] 118*9880d681SAndroid Build Coastguard Worker} 119*9880d681SAndroid Build Coastguard Worker 120*9880d681SAndroid Build Coastguard Workerdeclare i32 @__gxx_personality_v0(...) 121