1*9880d681SAndroid Build Coastguard Worker; RUN: llc -split-dwarf=Enable -O0 %s -mtriple=x86_64-unknown-linux-gnu -filetype=obj -o %t 2*9880d681SAndroid Build Coastguard Worker; RUN: llvm-dwarfdump -debug-dump=all %t | FileCheck %s 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Worker; Based on the debuginfo-tests/sret.cpp code. 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Worker; CHECK: DW_AT_GNU_dwo_id [DW_FORM_data8] (0x51ac5644b1937aa1) 7*9880d681SAndroid Build Coastguard Worker; CHECK: DW_AT_GNU_dwo_id [DW_FORM_data8] (0x51ac5644b1937aa1) 8*9880d681SAndroid Build Coastguard Worker 9*9880d681SAndroid Build Coastguard Worker%class.A = type { i32 (...)**, i32 } 10*9880d681SAndroid Build Coastguard Worker%class.B = type { i8 } 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Worker@_ZTV1A = linkonce_odr unnamed_addr constant [4 x i8*] [i8* null, i8* bitcast ({ i8*, i8* }* @_ZTI1A to i8*), i8* bitcast (void (%class.A*)* @_ZN1AD2Ev to i8*), i8* bitcast (void (%class.A*)* @_ZN1AD0Ev to i8*)] 13*9880d681SAndroid Build Coastguard Worker@_ZTVN10__cxxabiv117__class_type_infoE = external global i8* 14*9880d681SAndroid Build Coastguard Worker@_ZTS1A = linkonce_odr constant [3 x i8] c"1A\00" 15*9880d681SAndroid Build Coastguard Worker@_ZTI1A = linkonce_odr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8*, i8** @_ZTVN10__cxxabiv117__class_type_infoE, i64 2) to i8*), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @_ZTS1A, i32 0, i32 0) } 16*9880d681SAndroid Build Coastguard Worker 17*9880d681SAndroid Build Coastguard Worker@_ZN1AC1Ei = alias void (%class.A*, i32), void (%class.A*, i32)* @_ZN1AC2Ei 18*9880d681SAndroid Build Coastguard Worker@_ZN1AC1ERKS_ = alias void (%class.A*, %class.A*), void (%class.A*, %class.A*)* @_ZN1AC2ERKS_ 19*9880d681SAndroid Build Coastguard Worker 20*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind uwtable 21*9880d681SAndroid Build Coastguard Workerdefine void @_ZN1AC2Ei(%class.A* %this, i32 %i) unnamed_addr #0 align 2 !dbg !49 { 22*9880d681SAndroid Build Coastguard Workerentry: 23*9880d681SAndroid Build Coastguard Worker %this.addr = alloca %class.A*, align 8 24*9880d681SAndroid Build Coastguard Worker %i.addr = alloca i32, align 4 25*9880d681SAndroid Build Coastguard Worker store %class.A* %this, %class.A** %this.addr, align 8 26*9880d681SAndroid Build Coastguard Worker call void @llvm.dbg.declare(metadata %class.A** %this.addr, metadata !67, metadata !DIExpression()), !dbg !69 27*9880d681SAndroid Build Coastguard Worker store i32 %i, i32* %i.addr, align 4 28*9880d681SAndroid Build Coastguard Worker call void @llvm.dbg.declare(metadata i32* %i.addr, metadata !70, metadata !DIExpression()), !dbg !71 29*9880d681SAndroid Build Coastguard Worker %this1 = load %class.A*, %class.A** %this.addr 30*9880d681SAndroid Build Coastguard Worker %0 = bitcast %class.A* %this1 to i8***, !dbg !72 31*9880d681SAndroid Build Coastguard Worker store i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @_ZTV1A, i64 0, i64 2), i8*** %0, !dbg !72 32*9880d681SAndroid Build Coastguard Worker %m_int = getelementptr inbounds %class.A, %class.A* %this1, i32 0, i32 1, !dbg !72 33*9880d681SAndroid Build Coastguard Worker %1 = load i32, i32* %i.addr, align 4, !dbg !72 34*9880d681SAndroid Build Coastguard Worker store i32 %1, i32* %m_int, align 4, !dbg !72 35*9880d681SAndroid Build Coastguard Worker ret void, !dbg !73 36*9880d681SAndroid Build Coastguard Worker} 37*9880d681SAndroid Build Coastguard Worker 38*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind readnone 39*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.dbg.declare(metadata, metadata, metadata) #1 40*9880d681SAndroid Build Coastguard Worker 41*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind uwtable 42*9880d681SAndroid Build Coastguard Workerdefine void @_ZN1AC2ERKS_(%class.A* %this, %class.A* %rhs) unnamed_addr #0 align 2 !dbg !50 { 43*9880d681SAndroid Build Coastguard Workerentry: 44*9880d681SAndroid Build Coastguard Worker %this.addr = alloca %class.A*, align 8 45*9880d681SAndroid Build Coastguard Worker %rhs.addr = alloca %class.A*, align 8 46*9880d681SAndroid Build Coastguard Worker store %class.A* %this, %class.A** %this.addr, align 8 47*9880d681SAndroid Build Coastguard Worker call void @llvm.dbg.declare(metadata %class.A** %this.addr, metadata !74, metadata !DIExpression()), !dbg !75 48*9880d681SAndroid Build Coastguard Worker store %class.A* %rhs, %class.A** %rhs.addr, align 8 49*9880d681SAndroid Build Coastguard Worker call void @llvm.dbg.declare(metadata %class.A** %rhs.addr, metadata !76, metadata !DIExpression()), !dbg !77 50*9880d681SAndroid Build Coastguard Worker %this1 = load %class.A*, %class.A** %this.addr 51*9880d681SAndroid Build Coastguard Worker %0 = bitcast %class.A* %this1 to i8***, !dbg !78 52*9880d681SAndroid Build Coastguard Worker store i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @_ZTV1A, i64 0, i64 2), i8*** %0, !dbg !78 53*9880d681SAndroid Build Coastguard Worker %m_int = getelementptr inbounds %class.A, %class.A* %this1, i32 0, i32 1, !dbg !78 54*9880d681SAndroid Build Coastguard Worker %1 = load %class.A*, %class.A** %rhs.addr, align 8, !dbg !78 55*9880d681SAndroid Build Coastguard Worker %m_int2 = getelementptr inbounds %class.A, %class.A* %1, i32 0, i32 1, !dbg !78 56*9880d681SAndroid Build Coastguard Worker %2 = load i32, i32* %m_int2, align 4, !dbg !78 57*9880d681SAndroid Build Coastguard Worker store i32 %2, i32* %m_int, align 4, !dbg !78 58*9880d681SAndroid Build Coastguard Worker ret void, !dbg !79 59*9880d681SAndroid Build Coastguard Worker} 60*9880d681SAndroid Build Coastguard Worker 61*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind uwtable 62*9880d681SAndroid Build Coastguard Workerdefine %class.A* @_ZN1AaSERKS_(%class.A* %this, %class.A* %rhs) #0 align 2 !dbg !51 { 63*9880d681SAndroid Build Coastguard Workerentry: 64*9880d681SAndroid Build Coastguard Worker %this.addr = alloca %class.A*, align 8 65*9880d681SAndroid Build Coastguard Worker %rhs.addr = alloca %class.A*, align 8 66*9880d681SAndroid Build Coastguard Worker store %class.A* %this, %class.A** %this.addr, align 8 67*9880d681SAndroid Build Coastguard Worker call void @llvm.dbg.declare(metadata %class.A** %this.addr, metadata !80, metadata !DIExpression()), !dbg !81 68*9880d681SAndroid Build Coastguard Worker store %class.A* %rhs, %class.A** %rhs.addr, align 8 69*9880d681SAndroid Build Coastguard Worker call void @llvm.dbg.declare(metadata %class.A** %rhs.addr, metadata !82, metadata !DIExpression()), !dbg !83 70*9880d681SAndroid Build Coastguard Worker %this1 = load %class.A*, %class.A** %this.addr 71*9880d681SAndroid Build Coastguard Worker %0 = load %class.A*, %class.A** %rhs.addr, align 8, !dbg !84 72*9880d681SAndroid Build Coastguard Worker %m_int = getelementptr inbounds %class.A, %class.A* %0, i32 0, i32 1, !dbg !84 73*9880d681SAndroid Build Coastguard Worker %1 = load i32, i32* %m_int, align 4, !dbg !84 74*9880d681SAndroid Build Coastguard Worker %m_int2 = getelementptr inbounds %class.A, %class.A* %this1, i32 0, i32 1, !dbg !84 75*9880d681SAndroid Build Coastguard Worker store i32 %1, i32* %m_int2, align 4, !dbg !84 76*9880d681SAndroid Build Coastguard Worker ret %class.A* %this1, !dbg !85 77*9880d681SAndroid Build Coastguard Worker} 78*9880d681SAndroid Build Coastguard Worker 79*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind uwtable 80*9880d681SAndroid Build Coastguard Workerdefine i32 @_ZN1A7get_intEv(%class.A* %this) #0 align 2 !dbg !52 { 81*9880d681SAndroid Build Coastguard Workerentry: 82*9880d681SAndroid Build Coastguard Worker %this.addr = alloca %class.A*, align 8 83*9880d681SAndroid Build Coastguard Worker store %class.A* %this, %class.A** %this.addr, align 8 84*9880d681SAndroid Build Coastguard Worker call void @llvm.dbg.declare(metadata %class.A** %this.addr, metadata !86, metadata !DIExpression()), !dbg !87 85*9880d681SAndroid Build Coastguard Worker %this1 = load %class.A*, %class.A** %this.addr 86*9880d681SAndroid Build Coastguard Worker %m_int = getelementptr inbounds %class.A, %class.A* %this1, i32 0, i32 1, !dbg !88 87*9880d681SAndroid Build Coastguard Worker %0 = load i32, i32* %m_int, align 4, !dbg !88 88*9880d681SAndroid Build Coastguard Worker ret i32 %0, !dbg !88 89*9880d681SAndroid Build Coastguard Worker} 90*9880d681SAndroid Build Coastguard Worker 91*9880d681SAndroid Build Coastguard Worker; Function Attrs: uwtable 92*9880d681SAndroid Build Coastguard Workerdefine void @_ZN1B9AInstanceEv(%class.A* noalias sret %agg.result, %class.B* %this) #2 align 2 !dbg !53 { 93*9880d681SAndroid Build Coastguard Workerentry: 94*9880d681SAndroid Build Coastguard Worker %this.addr = alloca %class.B*, align 8 95*9880d681SAndroid Build Coastguard Worker %nrvo = alloca i1 96*9880d681SAndroid Build Coastguard Worker %cleanup.dest.slot = alloca i32 97*9880d681SAndroid Build Coastguard Worker store %class.B* %this, %class.B** %this.addr, align 8 98*9880d681SAndroid Build Coastguard Worker call void @llvm.dbg.declare(metadata %class.B** %this.addr, metadata !89, metadata !DIExpression()), !dbg !91 99*9880d681SAndroid Build Coastguard Worker %this1 = load %class.B*, %class.B** %this.addr 100*9880d681SAndroid Build Coastguard Worker store i1 false, i1* %nrvo, !dbg !92 101*9880d681SAndroid Build Coastguard Worker call void @llvm.dbg.declare(metadata %class.A* %agg.result, metadata !93, metadata !DIExpression(DW_OP_deref)), !dbg !92 102*9880d681SAndroid Build Coastguard Worker call void @_ZN1AC1Ei(%class.A* %agg.result, i32 12), !dbg !92 103*9880d681SAndroid Build Coastguard Worker store i1 true, i1* %nrvo, !dbg !94 104*9880d681SAndroid Build Coastguard Worker store i32 1, i32* %cleanup.dest.slot 105*9880d681SAndroid Build Coastguard Worker %nrvo.val = load i1, i1* %nrvo, !dbg !95 106*9880d681SAndroid Build Coastguard Worker br i1 %nrvo.val, label %nrvo.skipdtor, label %nrvo.unused, !dbg !95 107*9880d681SAndroid Build Coastguard Worker 108*9880d681SAndroid Build Coastguard Workernrvo.unused: ; preds = %entry 109*9880d681SAndroid Build Coastguard Worker call void @_ZN1AD2Ev(%class.A* %agg.result), !dbg !96 110*9880d681SAndroid Build Coastguard Worker br label %nrvo.skipdtor, !dbg !96 111*9880d681SAndroid Build Coastguard Worker 112*9880d681SAndroid Build Coastguard Workernrvo.skipdtor: ; preds = %nrvo.unused, %entry 113*9880d681SAndroid Build Coastguard Worker ret void, !dbg !98 114*9880d681SAndroid Build Coastguard Worker} 115*9880d681SAndroid Build Coastguard Worker 116*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind uwtable 117*9880d681SAndroid Build Coastguard Workerdefine linkonce_odr void @_ZN1AD2Ev(%class.A* %this) unnamed_addr #0 align 2 !dbg !63 { 118*9880d681SAndroid Build Coastguard Workerentry: 119*9880d681SAndroid Build Coastguard Worker %this.addr = alloca %class.A*, align 8 120*9880d681SAndroid Build Coastguard Worker store %class.A* %this, %class.A** %this.addr, align 8 121*9880d681SAndroid Build Coastguard Worker call void @llvm.dbg.declare(metadata %class.A** %this.addr, metadata !101, metadata !DIExpression()), !dbg !102 122*9880d681SAndroid Build Coastguard Worker %this1 = load %class.A*, %class.A** %this.addr 123*9880d681SAndroid Build Coastguard Worker ret void, !dbg !103 124*9880d681SAndroid Build Coastguard Worker} 125*9880d681SAndroid Build Coastguard Worker 126*9880d681SAndroid Build Coastguard Worker; Function Attrs: uwtable 127*9880d681SAndroid Build Coastguard Workerdefine i32 @main(i32 %argc, i8** %argv) #2 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) !dbg !54 { 128*9880d681SAndroid Build Coastguard Workerentry: 129*9880d681SAndroid Build Coastguard Worker %retval = alloca i32, align 4 130*9880d681SAndroid Build Coastguard Worker %argc.addr = alloca i32, align 4 131*9880d681SAndroid Build Coastguard Worker %argv.addr = alloca i8**, align 8 132*9880d681SAndroid Build Coastguard Worker %b = alloca %class.B, align 1 133*9880d681SAndroid Build Coastguard Worker %return_val = alloca i32, align 4 134*9880d681SAndroid Build Coastguard Worker %temp.lvalue = alloca %class.A, align 8 135*9880d681SAndroid Build Coastguard Worker %exn.slot = alloca i8* 136*9880d681SAndroid Build Coastguard Worker %ehselector.slot = alloca i32 137*9880d681SAndroid Build Coastguard Worker %a = alloca %class.A, align 8 138*9880d681SAndroid Build Coastguard Worker %cleanup.dest.slot = alloca i32 139*9880d681SAndroid Build Coastguard Worker store i32 0, i32* %retval 140*9880d681SAndroid Build Coastguard Worker store i32 %argc, i32* %argc.addr, align 4 141*9880d681SAndroid Build Coastguard Worker call void @llvm.dbg.declare(metadata i32* %argc.addr, metadata !104, metadata !DIExpression()), !dbg !105 142*9880d681SAndroid Build Coastguard Worker store i8** %argv, i8*** %argv.addr, align 8 143*9880d681SAndroid Build Coastguard Worker call void @llvm.dbg.declare(metadata i8*** %argv.addr, metadata !106, metadata !DIExpression()), !dbg !105 144*9880d681SAndroid Build Coastguard Worker call void @llvm.dbg.declare(metadata %class.B* %b, metadata !107, metadata !DIExpression()), !dbg !108 145*9880d681SAndroid Build Coastguard Worker call void @_ZN1BC2Ev(%class.B* %b), !dbg !108 146*9880d681SAndroid Build Coastguard Worker call void @llvm.dbg.declare(metadata i32* %return_val, metadata !109, metadata !DIExpression()), !dbg !110 147*9880d681SAndroid Build Coastguard Worker call void @_ZN1B9AInstanceEv(%class.A* sret %temp.lvalue, %class.B* %b), !dbg !110 148*9880d681SAndroid Build Coastguard Worker %call = invoke i32 @_ZN1A7get_intEv(%class.A* %temp.lvalue) 149*9880d681SAndroid Build Coastguard Worker to label %invoke.cont unwind label %lpad, !dbg !110 150*9880d681SAndroid Build Coastguard Worker 151*9880d681SAndroid Build Coastguard Workerinvoke.cont: ; preds = %entry 152*9880d681SAndroid Build Coastguard Worker call void @_ZN1AD2Ev(%class.A* %temp.lvalue), !dbg !111 153*9880d681SAndroid Build Coastguard Worker store i32 %call, i32* %return_val, align 4, !dbg !111 154*9880d681SAndroid Build Coastguard Worker call void @llvm.dbg.declare(metadata %class.A* %a, metadata !113, metadata !DIExpression()), !dbg !114 155*9880d681SAndroid Build Coastguard Worker call void @_ZN1B9AInstanceEv(%class.A* sret %a, %class.B* %b), !dbg !114 156*9880d681SAndroid Build Coastguard Worker %0 = load i32, i32* %return_val, align 4, !dbg !115 157*9880d681SAndroid Build Coastguard Worker store i32 %0, i32* %retval, !dbg !115 158*9880d681SAndroid Build Coastguard Worker store i32 1, i32* %cleanup.dest.slot 159*9880d681SAndroid Build Coastguard Worker call void @_ZN1AD2Ev(%class.A* %a), !dbg !116 160*9880d681SAndroid Build Coastguard Worker %1 = load i32, i32* %retval, !dbg !116 161*9880d681SAndroid Build Coastguard Worker ret i32 %1, !dbg !116 162*9880d681SAndroid Build Coastguard Worker 163*9880d681SAndroid Build Coastguard Workerlpad: ; preds = %entry 164*9880d681SAndroid Build Coastguard Worker %2 = landingpad { i8*, i32 } 165*9880d681SAndroid Build Coastguard Worker cleanup, !dbg !116 166*9880d681SAndroid Build Coastguard Worker %3 = extractvalue { i8*, i32 } %2, 0, !dbg !116 167*9880d681SAndroid Build Coastguard Worker store i8* %3, i8** %exn.slot, !dbg !116 168*9880d681SAndroid Build Coastguard Worker %4 = extractvalue { i8*, i32 } %2, 1, !dbg !116 169*9880d681SAndroid Build Coastguard Worker store i32 %4, i32* %ehselector.slot, !dbg !116 170*9880d681SAndroid Build Coastguard Worker invoke void @_ZN1AD2Ev(%class.A* %temp.lvalue) 171*9880d681SAndroid Build Coastguard Worker to label %invoke.cont1 unwind label %terminate.lpad, !dbg !116 172*9880d681SAndroid Build Coastguard Worker 173*9880d681SAndroid Build Coastguard Workerinvoke.cont1: ; preds = %lpad 174*9880d681SAndroid Build Coastguard Worker br label %eh.resume, !dbg !117 175*9880d681SAndroid Build Coastguard Worker 176*9880d681SAndroid Build Coastguard Workereh.resume: ; preds = %invoke.cont1 177*9880d681SAndroid Build Coastguard Worker %exn = load i8*, i8** %exn.slot, !dbg !119 178*9880d681SAndroid Build Coastguard Worker %sel = load i32, i32* %ehselector.slot, !dbg !119 179*9880d681SAndroid Build Coastguard Worker %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0, !dbg !119 180*9880d681SAndroid Build Coastguard Worker %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1, !dbg !119 181*9880d681SAndroid Build Coastguard Worker resume { i8*, i32 } %lpad.val2, !dbg !119 182*9880d681SAndroid Build Coastguard Worker 183*9880d681SAndroid Build Coastguard Workerterminate.lpad: ; preds = %lpad 184*9880d681SAndroid Build Coastguard Worker %5 = landingpad { i8*, i32 } 185*9880d681SAndroid Build Coastguard Worker catch i8* null, !dbg !121 186*9880d681SAndroid Build Coastguard Worker %6 = extractvalue { i8*, i32 } %5, 0, !dbg !121 187*9880d681SAndroid Build Coastguard Worker call void @__clang_call_terminate(i8* %6) #5, !dbg !121 188*9880d681SAndroid Build Coastguard Worker unreachable, !dbg !121 189*9880d681SAndroid Build Coastguard Worker} 190*9880d681SAndroid Build Coastguard Worker 191*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind uwtable 192*9880d681SAndroid Build Coastguard Workerdefine linkonce_odr void @_ZN1BC2Ev(%class.B* %this) unnamed_addr #0 align 2 !dbg !62 { 193*9880d681SAndroid Build Coastguard Workerentry: 194*9880d681SAndroid Build Coastguard Worker %this.addr = alloca %class.B*, align 8 195*9880d681SAndroid Build Coastguard Worker store %class.B* %this, %class.B** %this.addr, align 8 196*9880d681SAndroid Build Coastguard Worker call void @llvm.dbg.declare(metadata %class.B** %this.addr, metadata !123, metadata !DIExpression()), !dbg !124 197*9880d681SAndroid Build Coastguard Worker %this1 = load %class.B*, %class.B** %this.addr 198*9880d681SAndroid Build Coastguard Worker ret void, !dbg !125 199*9880d681SAndroid Build Coastguard Worker} 200*9880d681SAndroid Build Coastguard Worker 201*9880d681SAndroid Build Coastguard Workerdeclare i32 @__gxx_personality_v0(...) 202*9880d681SAndroid Build Coastguard Worker 203*9880d681SAndroid Build Coastguard Worker; Function Attrs: noinline noreturn nounwind 204*9880d681SAndroid Build Coastguard Workerdefine linkonce_odr hidden void @__clang_call_terminate(i8*) #3 { 205*9880d681SAndroid Build Coastguard Worker %2 = call i8* @__cxa_begin_catch(i8* %0) #6 206*9880d681SAndroid Build Coastguard Worker call void @_ZSt9terminatev() #5 207*9880d681SAndroid Build Coastguard Worker unreachable 208*9880d681SAndroid Build Coastguard Worker} 209*9880d681SAndroid Build Coastguard Worker 210*9880d681SAndroid Build Coastguard Workerdeclare i8* @__cxa_begin_catch(i8*) 211*9880d681SAndroid Build Coastguard Worker 212*9880d681SAndroid Build Coastguard Workerdeclare void @_ZSt9terminatev() 213*9880d681SAndroid Build Coastguard Worker 214*9880d681SAndroid Build Coastguard Worker; Function Attrs: uwtable 215*9880d681SAndroid Build Coastguard Workerdefine linkonce_odr void @_ZN1AD0Ev(%class.A* %this) unnamed_addr #2 align 2 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) !dbg !61 { 216*9880d681SAndroid Build Coastguard Workerentry: 217*9880d681SAndroid Build Coastguard Worker %this.addr = alloca %class.A*, align 8 218*9880d681SAndroid Build Coastguard Worker %exn.slot = alloca i8* 219*9880d681SAndroid Build Coastguard Worker %ehselector.slot = alloca i32 220*9880d681SAndroid Build Coastguard Worker store %class.A* %this, %class.A** %this.addr, align 8 221*9880d681SAndroid Build Coastguard Worker call void @llvm.dbg.declare(metadata %class.A** %this.addr, metadata !126, metadata !DIExpression()), !dbg !127 222*9880d681SAndroid Build Coastguard Worker %this1 = load %class.A*, %class.A** %this.addr 223*9880d681SAndroid Build Coastguard Worker invoke void @_ZN1AD2Ev(%class.A* %this1) 224*9880d681SAndroid Build Coastguard Worker to label %invoke.cont unwind label %lpad, !dbg !128 225*9880d681SAndroid Build Coastguard Worker 226*9880d681SAndroid Build Coastguard Workerinvoke.cont: ; preds = %entry 227*9880d681SAndroid Build Coastguard Worker %0 = bitcast %class.A* %this1 to i8*, !dbg !129 228*9880d681SAndroid Build Coastguard Worker call void @_ZdlPv(i8* %0) #7, !dbg !129 229*9880d681SAndroid Build Coastguard Worker ret void, !dbg !129 230*9880d681SAndroid Build Coastguard Worker 231*9880d681SAndroid Build Coastguard Workerlpad: ; preds = %entry 232*9880d681SAndroid Build Coastguard Worker %1 = landingpad { i8*, i32 } 233*9880d681SAndroid Build Coastguard Worker cleanup, !dbg !131 234*9880d681SAndroid Build Coastguard Worker %2 = extractvalue { i8*, i32 } %1, 0, !dbg !131 235*9880d681SAndroid Build Coastguard Worker store i8* %2, i8** %exn.slot, !dbg !131 236*9880d681SAndroid Build Coastguard Worker %3 = extractvalue { i8*, i32 } %1, 1, !dbg !131 237*9880d681SAndroid Build Coastguard Worker store i32 %3, i32* %ehselector.slot, !dbg !131 238*9880d681SAndroid Build Coastguard Worker %4 = bitcast %class.A* %this1 to i8*, !dbg !131 239*9880d681SAndroid Build Coastguard Worker call void @_ZdlPv(i8* %4) #7, !dbg !131 240*9880d681SAndroid Build Coastguard Worker br label %eh.resume, !dbg !131 241*9880d681SAndroid Build Coastguard Worker 242*9880d681SAndroid Build Coastguard Workereh.resume: ; preds = %lpad 243*9880d681SAndroid Build Coastguard Worker %exn = load i8*, i8** %exn.slot, !dbg !133 244*9880d681SAndroid Build Coastguard Worker %sel = load i32, i32* %ehselector.slot, !dbg !133 245*9880d681SAndroid Build Coastguard Worker %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0, !dbg !133 246*9880d681SAndroid Build Coastguard Worker %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1, !dbg !133 247*9880d681SAndroid Build Coastguard Worker resume { i8*, i32 } %lpad.val2, !dbg !133 248*9880d681SAndroid Build Coastguard Worker} 249*9880d681SAndroid Build Coastguard Worker 250*9880d681SAndroid Build Coastguard Worker; Function Attrs: nobuiltin nounwind 251*9880d681SAndroid Build Coastguard Workerdeclare void @_ZdlPv(i8*) #4 252*9880d681SAndroid Build Coastguard Worker 253*9880d681SAndroid Build Coastguard Workerattributes #0 = { nounwind uwtable "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" } 254*9880d681SAndroid Build Coastguard Workerattributes #1 = { nounwind readnone } 255*9880d681SAndroid Build Coastguard Workerattributes #2 = { uwtable "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" } 256*9880d681SAndroid Build Coastguard Workerattributes #3 = { noinline noreturn nounwind } 257*9880d681SAndroid Build Coastguard Workerattributes #4 = { nobuiltin nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" } 258*9880d681SAndroid Build Coastguard Workerattributes #5 = { noreturn nounwind } 259*9880d681SAndroid Build Coastguard Workerattributes #6 = { nounwind } 260*9880d681SAndroid Build Coastguard Workerattributes #7 = { builtin nounwind } 261*9880d681SAndroid Build Coastguard Worker 262*9880d681SAndroid Build Coastguard Worker!llvm.dbg.cu = !{!0} 263*9880d681SAndroid Build Coastguard Worker!llvm.module.flags = !{!64, !65} 264*9880d681SAndroid Build Coastguard Worker!llvm.ident = !{!66} 265*9880d681SAndroid Build Coastguard Worker 266*9880d681SAndroid Build Coastguard Worker!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, producer: "clang version 3.5.0 (trunk 203283) (llvm/trunk 203307)", isOptimized: false, splitDebugFilename: "sret.dwo", emissionKind: FullDebug, file: !1, enums: !2, retainedTypes: !3, globals: !2, imports: !2) 267*9880d681SAndroid Build Coastguard Worker!1 = !DIFile(filename: "sret.cpp", directory: "/usr/local/google/home/echristo/tmp") 268*9880d681SAndroid Build Coastguard Worker!2 = !{} 269*9880d681SAndroid Build Coastguard Worker!3 = !{!4, !37} 270*9880d681SAndroid Build Coastguard Worker!4 = !DICompositeType(tag: DW_TAG_class_type, name: "A", line: 1, size: 128, align: 64, file: !1, elements: !5, vtableHolder: !4, identifier: "_ZTS1A") 271*9880d681SAndroid Build Coastguard Worker!5 = !{!6, !13, !14, !19, !25, !29, !33} 272*9880d681SAndroid Build Coastguard Worker!6 = !DIDerivedType(tag: DW_TAG_member, name: "_vptr$A", size: 64, flags: DIFlagArtificial, file: !1, scope: !7, baseType: !8) 273*9880d681SAndroid Build Coastguard Worker!7 = !DIFile(filename: "sret.cpp", directory: "/usr/local/google/home/echristo/tmp") 274*9880d681SAndroid Build Coastguard Worker!8 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, baseType: !9) 275*9880d681SAndroid Build Coastguard Worker!9 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "__vtbl_ptr_type", size: 64, baseType: !10) 276*9880d681SAndroid Build Coastguard Worker!10 = !DISubroutineType(types: !11) 277*9880d681SAndroid Build Coastguard Worker!11 = !{!12} 278*9880d681SAndroid Build Coastguard Worker!12 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed) 279*9880d681SAndroid Build Coastguard Worker!13 = !DIDerivedType(tag: DW_TAG_member, name: "m_int", line: 13, size: 32, align: 32, offset: 64, flags: DIFlagProtected, file: !1, scope: !4, baseType: !12) 280*9880d681SAndroid Build Coastguard Worker!14 = !DISubprogram(name: "A", line: 4, isLocal: false, isDefinition: false, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 4, file: !1, scope: !4, type: !15) 281*9880d681SAndroid Build Coastguard Worker!15 = !DISubroutineType(types: !16) 282*9880d681SAndroid Build Coastguard Worker!16 = !{null, !17, !12} 283*9880d681SAndroid Build Coastguard Worker!17 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, flags: DIFlagArtificial | DIFlagObjectPointer, baseType: !4) 284*9880d681SAndroid Build Coastguard Worker!19 = !DISubprogram(name: "A", line: 5, isLocal: false, isDefinition: false, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 5, file: !1, scope: !4, type: !20) 285*9880d681SAndroid Build Coastguard Worker!20 = !DISubroutineType(types: !21) 286*9880d681SAndroid Build Coastguard Worker!21 = !{null, !17, !22} 287*9880d681SAndroid Build Coastguard Worker!22 = !DIDerivedType(tag: DW_TAG_reference_type, size: 64, align: 64, baseType: !23) 288*9880d681SAndroid Build Coastguard Worker!23 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !4) 289*9880d681SAndroid Build Coastguard Worker!25 = !DISubprogram(name: "operator=", linkageName: "_ZN1AaSERKS_", line: 7, isLocal: false, isDefinition: false, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 7, file: !1, scope: !4, type: !26) 290*9880d681SAndroid Build Coastguard Worker!26 = !DISubroutineType(types: !27) 291*9880d681SAndroid Build Coastguard Worker!27 = !{!22, !17, !22} 292*9880d681SAndroid Build Coastguard Worker!29 = !DISubprogram(name: "~A", line: 8, isLocal: false, isDefinition: false, virtuality: DW_VIRTUALITY_virtual, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 8, file: !1, scope: !4, type: !30, containingType: !4) 293*9880d681SAndroid Build Coastguard Worker!30 = !DISubroutineType(types: !31) 294*9880d681SAndroid Build Coastguard Worker!31 = !{null, !17} 295*9880d681SAndroid Build Coastguard Worker!33 = !DISubprogram(name: "get_int", linkageName: "_ZN1A7get_intEv", line: 10, isLocal: false, isDefinition: false, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 10, file: !1, scope: !4, type: !34) 296*9880d681SAndroid Build Coastguard Worker!34 = !DISubroutineType(types: !35) 297*9880d681SAndroid Build Coastguard Worker!35 = !{!12, !17} 298*9880d681SAndroid Build Coastguard Worker!37 = !DICompositeType(tag: DW_TAG_class_type, name: "B", line: 38, size: 8, align: 8, file: !1, elements: !38, identifier: "_ZTS1B") 299*9880d681SAndroid Build Coastguard Worker!38 = !{!39, !44} 300*9880d681SAndroid Build Coastguard Worker!39 = !DISubprogram(name: "B", line: 41, isLocal: false, isDefinition: false, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 41, file: !1, scope: !37, type: !40) 301*9880d681SAndroid Build Coastguard Worker!40 = !DISubroutineType(types: !41) 302*9880d681SAndroid Build Coastguard Worker!41 = !{null, !42} 303*9880d681SAndroid Build Coastguard Worker!42 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, flags: DIFlagArtificial | DIFlagObjectPointer, baseType: !37) 304*9880d681SAndroid Build Coastguard Worker!44 = !DISubprogram(name: "AInstance", linkageName: "_ZN1B9AInstanceEv", line: 43, isLocal: false, isDefinition: false, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 43, file: !1, scope: !37, type: !45) 305*9880d681SAndroid Build Coastguard Worker!45 = !DISubroutineType(types: !46) 306*9880d681SAndroid Build Coastguard Worker!46 = !{!4, !42} 307*9880d681SAndroid Build Coastguard Worker!49 = distinct !DISubprogram(name: "A", linkageName: "_ZN1AC2Ei", line: 16, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !0, scopeLine: 18, file: !1, scope: !4, type: !15, declaration: !14, variables: !2) 308*9880d681SAndroid Build Coastguard Worker!50 = distinct !DISubprogram(name: "A", linkageName: "_ZN1AC2ERKS_", line: 21, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !0, scopeLine: 23, file: !1, scope: !4, type: !20, declaration: !19, variables: !2) 309*9880d681SAndroid Build Coastguard Worker!51 = distinct !DISubprogram(name: "operator=", linkageName: "_ZN1AaSERKS_", line: 27, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !0, scopeLine: 28, file: !1, scope: !4, type: !26, declaration: !25, variables: !2) 310*9880d681SAndroid Build Coastguard Worker!52 = distinct !DISubprogram(name: "get_int", linkageName: "_ZN1A7get_intEv", line: 33, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !0, scopeLine: 34, file: !1, scope: !4, type: !34, declaration: !33, variables: !2) 311*9880d681SAndroid Build Coastguard Worker!53 = distinct !DISubprogram(name: "AInstance", linkageName: "_ZN1B9AInstanceEv", line: 47, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !0, scopeLine: 48, file: !1, scope: !37, type: !45, declaration: !44, variables: !2) 312*9880d681SAndroid Build Coastguard Worker!54 = distinct !DISubprogram(name: "main", line: 53, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !0, scopeLine: 54, file: !1, scope: !7, type: !55, variables: !2) 313*9880d681SAndroid Build Coastguard Worker!55 = !DISubroutineType(types: !56) 314*9880d681SAndroid Build Coastguard Worker!56 = !{!12, !12, !57} 315*9880d681SAndroid Build Coastguard Worker!57 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !58) 316*9880d681SAndroid Build Coastguard Worker!58 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !59) 317*9880d681SAndroid Build Coastguard Worker!59 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !60) 318*9880d681SAndroid Build Coastguard Worker!60 = !DIBasicType(tag: DW_TAG_base_type, name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char) 319*9880d681SAndroid Build Coastguard Worker!61 = distinct !DISubprogram(name: "~A", linkageName: "_ZN1AD0Ev", line: 8, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !0, scopeLine: 8, file: !1, scope: !4, type: !30, declaration: !29, variables: !2) 320*9880d681SAndroid Build Coastguard Worker!62 = distinct !DISubprogram(name: "B", linkageName: "_ZN1BC2Ev", line: 41, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !0, scopeLine: 41, file: !1, scope: !37, type: !40, declaration: !39, variables: !2) 321*9880d681SAndroid Build Coastguard Worker!63 = distinct !DISubprogram(name: "~A", linkageName: "_ZN1AD2Ev", line: 8, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !0, scopeLine: 8, file: !1, scope: !4, type: !30, declaration: !29, variables: !2) 322*9880d681SAndroid Build Coastguard Worker!64 = !{i32 2, !"Dwarf Version", i32 4} 323*9880d681SAndroid Build Coastguard Worker!65 = !{i32 1, !"Debug Info Version", i32 3} 324*9880d681SAndroid Build Coastguard Worker!66 = !{!"clang version 3.5.0 (trunk 203283) (llvm/trunk 203307)"} 325*9880d681SAndroid Build Coastguard Worker!67 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !49, type: !68) 326*9880d681SAndroid Build Coastguard Worker!68 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !4) 327*9880d681SAndroid Build Coastguard Worker!69 = !DILocation(line: 0, scope: !49) 328*9880d681SAndroid Build Coastguard Worker!70 = !DILocalVariable(name: "i", line: 16, arg: 2, scope: !49, file: !7, type: !12) 329*9880d681SAndroid Build Coastguard Worker!71 = !DILocation(line: 16, scope: !49) 330*9880d681SAndroid Build Coastguard Worker!72 = !DILocation(line: 18, scope: !49) 331*9880d681SAndroid Build Coastguard Worker!73 = !DILocation(line: 19, scope: !49) 332*9880d681SAndroid Build Coastguard Worker!74 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !50, type: !68) 333*9880d681SAndroid Build Coastguard Worker!75 = !DILocation(line: 0, scope: !50) 334*9880d681SAndroid Build Coastguard Worker!76 = !DILocalVariable(name: "rhs", line: 21, arg: 2, scope: !50, file: !7, type: !22) 335*9880d681SAndroid Build Coastguard Worker!77 = !DILocation(line: 21, scope: !50) 336*9880d681SAndroid Build Coastguard Worker!78 = !DILocation(line: 23, scope: !50) 337*9880d681SAndroid Build Coastguard Worker!79 = !DILocation(line: 24, scope: !50) 338*9880d681SAndroid Build Coastguard Worker!80 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !51, type: !68) 339*9880d681SAndroid Build Coastguard Worker!81 = !DILocation(line: 0, scope: !51) 340*9880d681SAndroid Build Coastguard Worker!82 = !DILocalVariable(name: "rhs", line: 27, arg: 2, scope: !51, file: !7, type: !22) 341*9880d681SAndroid Build Coastguard Worker!83 = !DILocation(line: 27, scope: !51) 342*9880d681SAndroid Build Coastguard Worker!84 = !DILocation(line: 29, scope: !51) 343*9880d681SAndroid Build Coastguard Worker!85 = !DILocation(line: 30, scope: !51) 344*9880d681SAndroid Build Coastguard Worker!86 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !52, type: !68) 345*9880d681SAndroid Build Coastguard Worker!87 = !DILocation(line: 0, scope: !52) 346*9880d681SAndroid Build Coastguard Worker!88 = !DILocation(line: 35, scope: !52) 347*9880d681SAndroid Build Coastguard Worker!89 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !53, type: !90) 348*9880d681SAndroid Build Coastguard Worker!90 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !37) 349*9880d681SAndroid Build Coastguard Worker!91 = !DILocation(line: 0, scope: !53) 350*9880d681SAndroid Build Coastguard Worker!92 = !DILocation(line: 49, scope: !53) 351*9880d681SAndroid Build Coastguard Worker!93 = !DILocalVariable(name: "a", line: 49, scope: !53, file: !7, type: !4) 352*9880d681SAndroid Build Coastguard Worker!94 = !DILocation(line: 50, scope: !53) 353*9880d681SAndroid Build Coastguard Worker!95 = !DILocation(line: 51, scope: !53) 354*9880d681SAndroid Build Coastguard Worker!96 = !DILocation(line: 51, scope: !97) 355*9880d681SAndroid Build Coastguard Worker!97 = distinct !DILexicalBlock(line: 51, column: 0, file: !1, scope: !53) 356*9880d681SAndroid Build Coastguard Worker!98 = !DILocation(line: 51, scope: !99) 357*9880d681SAndroid Build Coastguard Worker!99 = distinct !DILexicalBlock(line: 51, column: 0, file: !1, scope: !100) 358*9880d681SAndroid Build Coastguard Worker!100 = distinct !DILexicalBlock(line: 51, column: 0, file: !1, scope: !53) 359*9880d681SAndroid Build Coastguard Worker!101 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !63, type: !68) 360*9880d681SAndroid Build Coastguard Worker!102 = !DILocation(line: 0, scope: !63) 361*9880d681SAndroid Build Coastguard Worker!103 = !DILocation(line: 8, scope: !63) 362*9880d681SAndroid Build Coastguard Worker!104 = !DILocalVariable(name: "argc", line: 53, arg: 1, scope: !54, file: !7, type: !12) 363*9880d681SAndroid Build Coastguard Worker!105 = !DILocation(line: 53, scope: !54) 364*9880d681SAndroid Build Coastguard Worker!106 = !DILocalVariable(name: "argv", line: 53, arg: 2, scope: !54, file: !7, type: !57) 365*9880d681SAndroid Build Coastguard Worker!107 = !DILocalVariable(name: "b", line: 55, scope: !54, file: !7, type: !37) 366*9880d681SAndroid Build Coastguard Worker!108 = !DILocation(line: 55, scope: !54) 367*9880d681SAndroid Build Coastguard Worker!109 = !DILocalVariable(name: "return_val", line: 56, scope: !54, file: !7, type: !12) 368*9880d681SAndroid Build Coastguard Worker!110 = !DILocation(line: 56, scope: !54) 369*9880d681SAndroid Build Coastguard Worker!111 = !DILocation(line: 56, scope: !112) 370*9880d681SAndroid Build Coastguard Worker!112 = distinct !DILexicalBlock(line: 56, column: 0, file: !1, scope: !54) 371*9880d681SAndroid Build Coastguard Worker!113 = !DILocalVariable(name: "a", line: 58, scope: !54, file: !7, type: !4) 372*9880d681SAndroid Build Coastguard Worker!114 = !DILocation(line: 58, scope: !54) 373*9880d681SAndroid Build Coastguard Worker!115 = !DILocation(line: 59, scope: !54) 374*9880d681SAndroid Build Coastguard Worker!116 = !DILocation(line: 60, scope: !54) 375*9880d681SAndroid Build Coastguard Worker!117 = !DILocation(line: 60, scope: !118) 376*9880d681SAndroid Build Coastguard Worker!118 = distinct !DILexicalBlock(line: 60, column: 0, file: !1, scope: !54) 377*9880d681SAndroid Build Coastguard Worker!119 = !DILocation(line: 60, scope: !120) 378*9880d681SAndroid Build Coastguard Worker!120 = distinct !DILexicalBlock(line: 60, column: 0, file: !1, scope: !54) 379*9880d681SAndroid Build Coastguard Worker!121 = !DILocation(line: 60, scope: !122) 380*9880d681SAndroid Build Coastguard Worker!122 = distinct !DILexicalBlock(line: 60, column: 0, file: !1, scope: !54) 381*9880d681SAndroid Build Coastguard Worker!123 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !62, type: !90) 382*9880d681SAndroid Build Coastguard Worker!124 = !DILocation(line: 0, scope: !62) 383*9880d681SAndroid Build Coastguard Worker!125 = !DILocation(line: 41, scope: !62) 384*9880d681SAndroid Build Coastguard Worker!126 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !61, type: !68) 385*9880d681SAndroid Build Coastguard Worker!127 = !DILocation(line: 0, scope: !61) 386*9880d681SAndroid Build Coastguard Worker!128 = !DILocation(line: 8, scope: !61) 387*9880d681SAndroid Build Coastguard Worker!129 = !DILocation(line: 8, scope: !130) 388*9880d681SAndroid Build Coastguard Worker!130 = distinct !DILexicalBlock(line: 8, column: 0, file: !1, scope: !61) 389*9880d681SAndroid Build Coastguard Worker!131 = !DILocation(line: 8, scope: !132) 390*9880d681SAndroid Build Coastguard Worker!132 = distinct !DILexicalBlock(line: 8, column: 0, file: !1, scope: !61) 391*9880d681SAndroid Build Coastguard Worker!133 = !DILocation(line: 8, scope: !134) 392*9880d681SAndroid Build Coastguard Worker!134 = distinct !DILexicalBlock(line: 8, column: 0, file: !1, scope: !61) 393