xref: /aosp_15_r20/external/llvm/test/DebugInfo/X86/sret.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
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