xref: /aosp_15_r20/external/llvm/test/CodeGen/ARM/debug-info-blocks.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -filetype=obj -O0 < %s | llvm-dwarfdump - | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker; debug_info content
4*9880d681SAndroid Build Coastguard Worker; CHECK: DW_AT_name {{.*}} "foobar_func_block_invoke_0"
5*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: DW_TAG_subprogram
6*9880d681SAndroid Build Coastguard Worker; CHECK: DW_TAG_variable
7*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: DW_TAG
8*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: DW_AT_location [DW_FORM_sec_offset]	([[MYDATA_LOC:0x[0-9a-f]*]])
9*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: DW_AT_name {{.*}} "mydata"
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Worker; debug_loc content
12*9880d681SAndroid Build Coastguard Worker; CHECK: .debug_loc contents:
13*9880d681SAndroid Build Coastguard Worker; CHECK: [[MYDATA_LOC]]: Beginning address offset: {{.*}}
14*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: {{0x[0-9a-f]*}}: Beginning address offset
15*9880d681SAndroid Build Coastguard Worker; CHECK: Location description: {{.*}} 23 04 06 23 18
16*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: {{0x[0-9a-f]*}}: Beginning address offset
17*9880d681SAndroid Build Coastguard Worker; CHECK: Location description: {{.*}} 23 04 06 23 18
18*9880d681SAndroid Build Coastguard Worker
19*9880d681SAndroid Build Coastguard Worker; Radar 9331779
20*9880d681SAndroid Build Coastguard Workertarget datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:32-f32:32:32-f64:32:32-v64:32:64-v128:32:128-a0:0:32-n32"
21*9880d681SAndroid Build Coastguard Workertarget triple = "thumbv7-apple-ios"
22*9880d681SAndroid Build Coastguard Worker
23*9880d681SAndroid Build Coastguard Worker%0 = type opaque
24*9880d681SAndroid Build Coastguard Worker%1 = type { [4 x i32] }
25*9880d681SAndroid Build Coastguard Worker%2 = type <{ i8*, i32, i32, i8*, %struct.Re*, i8*, %3*, %struct.my_struct* }>
26*9880d681SAndroid Build Coastguard Worker%3 = type opaque
27*9880d681SAndroid Build Coastguard Worker%struct.CP = type { float, float }
28*9880d681SAndroid Build Coastguard Worker%struct.CR = type { %struct.CP, %struct.CP }
29*9880d681SAndroid Build Coastguard Worker%struct.Re = type { i32, i32 }
30*9880d681SAndroid Build Coastguard Worker%struct.__block_byref_mydata = type { i8*, %struct.__block_byref_mydata*, i32, i32, i8*, i8*, %0* }
31*9880d681SAndroid Build Coastguard Worker%struct.my_struct = type opaque
32*9880d681SAndroid Build Coastguard Worker
33*9880d681SAndroid Build Coastguard Worker@"\01L_OBJC_SELECTOR_REFERENCES_13" = external hidden global i8*, section "__DATA, __objc_selrefs, literal_pointers, no_dead_strip"
34*9880d681SAndroid Build Coastguard Worker@"OBJC_IVAR_$_MyWork._bounds" = external hidden global i32, section "__DATA, __objc_const", align 4
35*9880d681SAndroid Build Coastguard Worker@"OBJC_IVAR_$_MyWork._data" = external hidden global i32, section "__DATA, __objc_const", align 4
36*9880d681SAndroid Build Coastguard Worker@"\01L_OBJC_SELECTOR_REFERENCES_222" = external hidden global i8*, section "__DATA, __objc_selrefs, literal_pointers, no_dead_strip"
37*9880d681SAndroid Build Coastguard Worker
38*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone
39*9880d681SAndroid Build Coastguard Worker
40*9880d681SAndroid Build Coastguard Workerdeclare i8* @objc_msgSend(i8*, i8*, ...)
41*9880d681SAndroid Build Coastguard Worker
42*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
43*9880d681SAndroid Build Coastguard Worker
44*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i32, i1) nounwind
45*9880d681SAndroid Build Coastguard Worker
46*9880d681SAndroid Build Coastguard Workerdefine hidden void @foobar_func_block_invoke_0(i8* %.block_descriptor, %0* %loadedMydata, [4 x i32] %bounds.coerce0, [4 x i32] %data.coerce0) ssp !dbg !23 {
47*9880d681SAndroid Build Coastguard Worker  %1 = alloca %0*, align 4
48*9880d681SAndroid Build Coastguard Worker  %bounds = alloca %struct.CR, align 4
49*9880d681SAndroid Build Coastguard Worker  %data = alloca %struct.CR, align 4
50*9880d681SAndroid Build Coastguard Worker  call void @llvm.dbg.value(metadata i8* %.block_descriptor, i64 0, metadata !27, metadata !DIExpression()), !dbg !129
51*9880d681SAndroid Build Coastguard Worker  store %0* %loadedMydata, %0** %1, align 4
52*9880d681SAndroid Build Coastguard Worker  call void @llvm.dbg.declare(metadata %0** %1, metadata !130, metadata !DIExpression()), !dbg !131
53*9880d681SAndroid Build Coastguard Worker  %2 = bitcast %struct.CR* %bounds to %1*
54*9880d681SAndroid Build Coastguard Worker  %3 = getelementptr %1, %1* %2, i32 0, i32 0
55*9880d681SAndroid Build Coastguard Worker  store [4 x i32] %bounds.coerce0, [4 x i32]* %3
56*9880d681SAndroid Build Coastguard Worker  call void @llvm.dbg.declare(metadata %struct.CR* %bounds, metadata !132, metadata !DIExpression()), !dbg !133
57*9880d681SAndroid Build Coastguard Worker  %4 = bitcast %struct.CR* %data to %1*
58*9880d681SAndroid Build Coastguard Worker  %5 = getelementptr %1, %1* %4, i32 0, i32 0
59*9880d681SAndroid Build Coastguard Worker  store [4 x i32] %data.coerce0, [4 x i32]* %5
60*9880d681SAndroid Build Coastguard Worker  call void @llvm.dbg.declare(metadata %struct.CR* %data, metadata !134, metadata !DIExpression()), !dbg !135
61*9880d681SAndroid Build Coastguard Worker  %6 = bitcast i8* %.block_descriptor to %2*
62*9880d681SAndroid Build Coastguard Worker  %7 = getelementptr inbounds %2, %2* %6, i32 0, i32 6
63*9880d681SAndroid Build Coastguard Worker  call void @llvm.dbg.declare(metadata %2* %6, metadata !136, metadata !163), !dbg !137
64*9880d681SAndroid Build Coastguard Worker  call void @llvm.dbg.declare(metadata %2* %6, metadata !138, metadata !164), !dbg !137
65*9880d681SAndroid Build Coastguard Worker  call void @llvm.dbg.declare(metadata %2* %6, metadata !139, metadata !165), !dbg !140
66*9880d681SAndroid Build Coastguard Worker  %8 = load %0*, %0** %1, align 4, !dbg !141
67*9880d681SAndroid Build Coastguard Worker  %9 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_13", !dbg !141
68*9880d681SAndroid Build Coastguard Worker  %10 = bitcast %0* %8 to i8*, !dbg !141
69*9880d681SAndroid Build Coastguard Worker  %11 = call i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* %10, i8* %9), !dbg !141
70*9880d681SAndroid Build Coastguard Worker  %12 = bitcast i8* %11 to %0*, !dbg !141
71*9880d681SAndroid Build Coastguard Worker  %13 = getelementptr inbounds %2, %2* %6, i32 0, i32 5, !dbg !141
72*9880d681SAndroid Build Coastguard Worker  %14 = load i8*, i8** %13, !dbg !141
73*9880d681SAndroid Build Coastguard Worker  %15 = bitcast i8* %14 to %struct.__block_byref_mydata*, !dbg !141
74*9880d681SAndroid Build Coastguard Worker  %16 = getelementptr inbounds %struct.__block_byref_mydata, %struct.__block_byref_mydata* %15, i32 0, i32 1, !dbg !141
75*9880d681SAndroid Build Coastguard Worker  %17 = load %struct.__block_byref_mydata*, %struct.__block_byref_mydata** %16, !dbg !141
76*9880d681SAndroid Build Coastguard Worker  %18 = getelementptr inbounds %struct.__block_byref_mydata, %struct.__block_byref_mydata* %17, i32 0, i32 6, !dbg !141
77*9880d681SAndroid Build Coastguard Worker  store %0* %12, %0** %18, align 4, !dbg !141
78*9880d681SAndroid Build Coastguard Worker  %19 = getelementptr inbounds %2, %2* %6, i32 0, i32 6, !dbg !143
79*9880d681SAndroid Build Coastguard Worker  %20 = load %3*, %3** %19, align 4, !dbg !143
80*9880d681SAndroid Build Coastguard Worker  %21 = load i32, i32* @"OBJC_IVAR_$_MyWork._data", !dbg !143
81*9880d681SAndroid Build Coastguard Worker  %22 = bitcast %3* %20 to i8*, !dbg !143
82*9880d681SAndroid Build Coastguard Worker  %23 = getelementptr inbounds i8, i8* %22, i32 %21, !dbg !143
83*9880d681SAndroid Build Coastguard Worker  %24 = bitcast i8* %23 to %struct.CR*, !dbg !143
84*9880d681SAndroid Build Coastguard Worker  %25 = bitcast %struct.CR* %24 to i8*, !dbg !143
85*9880d681SAndroid Build Coastguard Worker  %26 = bitcast %struct.CR* %data to i8*, !dbg !143
86*9880d681SAndroid Build Coastguard Worker  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %25, i8* %26, i32 16, i32 4, i1 false), !dbg !143
87*9880d681SAndroid Build Coastguard Worker  %27 = getelementptr inbounds %2, %2* %6, i32 0, i32 6, !dbg !144
88*9880d681SAndroid Build Coastguard Worker  %28 = load %3*, %3** %27, align 4, !dbg !144
89*9880d681SAndroid Build Coastguard Worker  %29 = load i32, i32* @"OBJC_IVAR_$_MyWork._bounds", !dbg !144
90*9880d681SAndroid Build Coastguard Worker  %30 = bitcast %3* %28 to i8*, !dbg !144
91*9880d681SAndroid Build Coastguard Worker  %31 = getelementptr inbounds i8, i8* %30, i32 %29, !dbg !144
92*9880d681SAndroid Build Coastguard Worker  %32 = bitcast i8* %31 to %struct.CR*, !dbg !144
93*9880d681SAndroid Build Coastguard Worker  %33 = bitcast %struct.CR* %32 to i8*, !dbg !144
94*9880d681SAndroid Build Coastguard Worker  %34 = bitcast %struct.CR* %bounds to i8*, !dbg !144
95*9880d681SAndroid Build Coastguard Worker  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %33, i8* %34, i32 16, i32 4, i1 false), !dbg !144
96*9880d681SAndroid Build Coastguard Worker  %35 = getelementptr inbounds %2, %2* %6, i32 0, i32 6, !dbg !145
97*9880d681SAndroid Build Coastguard Worker  %36 = load %3*, %3** %35, align 4, !dbg !145
98*9880d681SAndroid Build Coastguard Worker  %37 = getelementptr inbounds %2, %2* %6, i32 0, i32 5, !dbg !145
99*9880d681SAndroid Build Coastguard Worker  %38 = load i8*, i8** %37, !dbg !145
100*9880d681SAndroid Build Coastguard Worker  %39 = bitcast i8* %38 to %struct.__block_byref_mydata*, !dbg !145
101*9880d681SAndroid Build Coastguard Worker  %40 = getelementptr inbounds %struct.__block_byref_mydata, %struct.__block_byref_mydata* %39, i32 0, i32 1, !dbg !145
102*9880d681SAndroid Build Coastguard Worker  %41 = load %struct.__block_byref_mydata*, %struct.__block_byref_mydata** %40, !dbg !145
103*9880d681SAndroid Build Coastguard Worker  %42 = getelementptr inbounds %struct.__block_byref_mydata, %struct.__block_byref_mydata* %41, i32 0, i32 6, !dbg !145
104*9880d681SAndroid Build Coastguard Worker  %43 = load %0*, %0** %42, align 4, !dbg !145
105*9880d681SAndroid Build Coastguard Worker  %44 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_222", !dbg !145
106*9880d681SAndroid Build Coastguard Worker  %45 = bitcast %3* %36 to i8*, !dbg !145
107*9880d681SAndroid Build Coastguard Worker  call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, %0*)*)(i8* %45, i8* %44, %0* %43), !dbg !145
108*9880d681SAndroid Build Coastguard Worker  ret void, !dbg !146
109*9880d681SAndroid Build Coastguard Worker}
110*9880d681SAndroid Build Coastguard Worker
111*9880d681SAndroid Build Coastguard Worker!llvm.dbg.cu = !{!0}
112*9880d681SAndroid Build Coastguard Worker!llvm.module.flags = !{!162}
113*9880d681SAndroid Build Coastguard Worker
114*9880d681SAndroid Build Coastguard Worker!0 = distinct !DICompileUnit(language: DW_LANG_ObjC, producer: "Apple clang version 2.1", isOptimized: false, runtimeVersion: 2, emissionKind: FullDebug, file: !153, enums: !147, retainedTypes: !{})
115*9880d681SAndroid Build Coastguard Worker!1 = !DICompositeType(tag: DW_TAG_enumeration_type, line: 248, size: 32, align: 32, file: !160, scope: !0, elements: !3)
116*9880d681SAndroid Build Coastguard Worker!2 = !DIFile(filename: "header.h", directory: "/Volumes/Sandbox/llvm")
117*9880d681SAndroid Build Coastguard Worker!3 = !{!4}
118*9880d681SAndroid Build Coastguard Worker!4 = !DIEnumerator(name: "Ver1", value: 0) ; [ DW_TAG_enumerator ]
119*9880d681SAndroid Build Coastguard Worker!5 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Mode", line: 79, size: 32, align: 32, file: !160, scope: !0, elements: !7)
120*9880d681SAndroid Build Coastguard Worker!6 = !DIFile(filename: "header2.h", directory: "/Volumes/Sandbox/llvm")
121*9880d681SAndroid Build Coastguard Worker!7 = !{!8}
122*9880d681SAndroid Build Coastguard Worker!8 = !DIEnumerator(name: "One", value: 0) ; [ DW_TAG_enumerator ]
123*9880d681SAndroid Build Coastguard Worker!9 = !DICompositeType(tag: DW_TAG_enumeration_type, line: 15, size: 32, align: 32, file: !149, scope: !0, elements: !11)
124*9880d681SAndroid Build Coastguard Worker!10 = !DIFile(filename: "header3.h", directory: "/Volumes/Sandbox/llvm")
125*9880d681SAndroid Build Coastguard Worker!11 = !{!12, !13}
126*9880d681SAndroid Build Coastguard Worker!12 = !DIEnumerator(name: "Unknown", value: 0) ; [ DW_TAG_enumerator ]
127*9880d681SAndroid Build Coastguard Worker!13 = !DIEnumerator(name: "Known", value: 1) ; [ DW_TAG_enumerator ]
128*9880d681SAndroid Build Coastguard Worker!14 = !DICompositeType(tag: DW_TAG_enumeration_type, line: 20, size: 32, align: 32, file: !150, scope: !0, elements: !16)
129*9880d681SAndroid Build Coastguard Worker!15 = !DIFile(filename: "Private.h", directory: "/Volumes/Sandbox/llvm")
130*9880d681SAndroid Build Coastguard Worker!16 = !{!17, !18}
131*9880d681SAndroid Build Coastguard Worker!17 = !DIEnumerator(name: "Single", value: 0) ; [ DW_TAG_enumerator ]
132*9880d681SAndroid Build Coastguard Worker!18 = !DIEnumerator(name: "Double", value: 1) ; [ DW_TAG_enumerator ]
133*9880d681SAndroid Build Coastguard Worker!19 = !DICompositeType(tag: DW_TAG_enumeration_type, line: 14, size: 32, align: 32, file: !151, scope: !0, elements: !21)
134*9880d681SAndroid Build Coastguard Worker!20 = !DIFile(filename: "header4.h", directory: "/Volumes/Sandbox/llvm")
135*9880d681SAndroid Build Coastguard Worker!21 = !{!22}
136*9880d681SAndroid Build Coastguard Worker!22 = !DIEnumerator(name: "Eleven", value: 0) ; [ DW_TAG_enumerator ]
137*9880d681SAndroid Build Coastguard Worker!23 = distinct !DISubprogram(name: "foobar_func_block_invoke_0", line: 609, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !0, scopeLine: 609, file: !152, scope: !24, type: !25)
138*9880d681SAndroid Build Coastguard Worker!24 = !DIFile(filename: "MyLibrary.m", directory: "/Volumes/Sandbox/llvm")
139*9880d681SAndroid Build Coastguard Worker!25 = !DISubroutineType(types: !26)
140*9880d681SAndroid Build Coastguard Worker!26 = !{null}
141*9880d681SAndroid Build Coastguard Worker!27 = !DILocalVariable(name: ".block_descriptor", line: 609, arg: 1, flags: DIFlagArtificial, scope: !23, file: !24, type: !28)
142*9880d681SAndroid Build Coastguard Worker!28 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, scope: !0, baseType: !29)
143*9880d681SAndroid Build Coastguard Worker!29 = !DICompositeType(tag: DW_TAG_structure_type, name: "__block_literal_14", line: 609, size: 256, align: 32, file: !152, scope: !24, elements: !30)
144*9880d681SAndroid Build Coastguard Worker!30 = !{!31, !33, !35, !36, !37, !48, !89, !124}
145*9880d681SAndroid Build Coastguard Worker!31 = !DIDerivedType(tag: DW_TAG_member, name: "__isa", line: 609, size: 32, align: 32, file: !152, scope: !24, baseType: !32)
146*9880d681SAndroid Build Coastguard Worker!32 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, scope: !0, baseType: null)
147*9880d681SAndroid Build Coastguard Worker!33 = !DIDerivedType(tag: DW_TAG_member, name: "__flags", line: 609, size: 32, align: 32, offset: 32, file: !152, scope: !24, baseType: !34)
148*9880d681SAndroid Build Coastguard Worker!34 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
149*9880d681SAndroid Build Coastguard Worker!35 = !DIDerivedType(tag: DW_TAG_member, name: "__reserved", line: 609, size: 32, align: 32, offset: 64, file: !152, scope: !24, baseType: !34)
150*9880d681SAndroid Build Coastguard Worker!36 = !DIDerivedType(tag: DW_TAG_member, name: "__FuncPtr", line: 609, size: 32, align: 32, offset: 96, file: !152, scope: !24, baseType: !32)
151*9880d681SAndroid Build Coastguard Worker!37 = !DIDerivedType(tag: DW_TAG_member, name: "__descriptor", line: 609, size: 32, align: 32, offset: 128, file: !152, scope: !24, baseType: !38)
152*9880d681SAndroid Build Coastguard Worker!38 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, scope: !0, baseType: !39)
153*9880d681SAndroid Build Coastguard Worker!39 = !DICompositeType(tag: DW_TAG_structure_type, name: "__block_descriptor_withcopydispose", line: 307, size: 128, align: 32, file: !153, scope: !0, elements: !41)
154*9880d681SAndroid Build Coastguard Worker!40 = !DIFile(filename: "MyLibrary.i", directory: "/Volumes/Sandbox/llvm")
155*9880d681SAndroid Build Coastguard Worker!41 = !{!42, !44, !45, !47}
156*9880d681SAndroid Build Coastguard Worker!42 = !DIDerivedType(tag: DW_TAG_member, name: "reserved", line: 307, size: 32, align: 32, file: !153, scope: !40, baseType: !43)
157*9880d681SAndroid Build Coastguard Worker!43 = !DIBasicType(tag: DW_TAG_base_type, name: "long unsigned int", size: 32, align: 32, encoding: DW_ATE_unsigned)
158*9880d681SAndroid Build Coastguard Worker!44 = !DIDerivedType(tag: DW_TAG_member, name: "Size", line: 307, size: 32, align: 32, offset: 32, file: !153, scope: !40, baseType: !43)
159*9880d681SAndroid Build Coastguard Worker!45 = !DIDerivedType(tag: DW_TAG_member, name: "CopyFuncPtr", line: 307, size: 32, align: 32, offset: 64, file: !153, scope: !40, baseType: !46)
160*9880d681SAndroid Build Coastguard Worker!46 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, scope: !0, baseType: !32)
161*9880d681SAndroid Build Coastguard Worker!47 = !DIDerivedType(tag: DW_TAG_member, name: "DestroyFuncPtr", line: 307, size: 32, align: 32, offset: 96, file: !153, scope: !40, baseType: !46)
162*9880d681SAndroid Build Coastguard Worker!48 = !DIDerivedType(tag: DW_TAG_member, name: "mydata", line: 609, size: 32, align: 32, offset: 160, file: !152, scope: !24, baseType: !49)
163*9880d681SAndroid Build Coastguard Worker!49 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, scope: !0, baseType: !50)
164*9880d681SAndroid Build Coastguard Worker!50 = !DICompositeType(tag: DW_TAG_structure_type, size: 224, flags: DIFlagBlockByrefStruct, file: !152, scope: !24, elements: !51)
165*9880d681SAndroid Build Coastguard Worker!51 = !{!52, !53, !54, !55, !56, !57, !58}
166*9880d681SAndroid Build Coastguard Worker!52 = !DIDerivedType(tag: DW_TAG_member, name: "__isa", size: 32, align: 32, file: !152, scope: !24, baseType: !32)
167*9880d681SAndroid Build Coastguard Worker!53 = !DIDerivedType(tag: DW_TAG_member, name: "__forwarding", size: 32, align: 32, offset: 32, file: !152, scope: !24, baseType: !32)
168*9880d681SAndroid Build Coastguard Worker!54 = !DIDerivedType(tag: DW_TAG_member, name: "__flags", size: 32, align: 32, offset: 64, file: !152, scope: !24, baseType: !34)
169*9880d681SAndroid Build Coastguard Worker!55 = !DIDerivedType(tag: DW_TAG_member, name: "__size", size: 32, align: 32, offset: 96, file: !152, scope: !24, baseType: !34)
170*9880d681SAndroid Build Coastguard Worker!56 = !DIDerivedType(tag: DW_TAG_member, name: "__copy_helper", size: 32, align: 32, offset: 128, file: !152, scope: !24, baseType: !32)
171*9880d681SAndroid Build Coastguard Worker!57 = !DIDerivedType(tag: DW_TAG_member, name: "__destroy_helper", size: 32, align: 32, offset: 160, file: !152, scope: !24, baseType: !32)
172*9880d681SAndroid Build Coastguard Worker!58 = !DIDerivedType(tag: DW_TAG_member, name: "mydata", size: 32, align: 32, offset: 192, file: !152, scope: !24, baseType: !59)
173*9880d681SAndroid Build Coastguard Worker!59 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, scope: !0, baseType: !60)
174*9880d681SAndroid Build Coastguard Worker!60 = !DICompositeType(tag: DW_TAG_structure_type, name: "UIMydata", line: 26, size: 128, align: 32, runtimeLang: DW_LANG_ObjC, file: !154, scope: !24, elements: !62)
175*9880d681SAndroid Build Coastguard Worker!61 = !DIFile(filename: "header11.h", directory: "/Volumes/Sandbox/llvm")
176*9880d681SAndroid Build Coastguard Worker!62 = !{!63, !71, !75, !79}
177*9880d681SAndroid Build Coastguard Worker!63 = !DIDerivedType(tag: DW_TAG_inheritance, file: !61, baseType: !64)
178*9880d681SAndroid Build Coastguard Worker!64 = !DICompositeType(tag: DW_TAG_structure_type, name: "NSO", line: 66, size: 32, align: 32, runtimeLang: DW_LANG_ObjC, file: !155, scope: !40, elements: !66)
179*9880d681SAndroid Build Coastguard Worker!65 = !DIFile(filename: "NSO.h", directory: "/Volumes/Sandbox/llvm")
180*9880d681SAndroid Build Coastguard Worker!66 = !{!67}
181*9880d681SAndroid Build Coastguard Worker!67 = !DIDerivedType(tag: DW_TAG_member, name: "isa", line: 67, size: 32, align: 32, flags: DIFlagProtected, file: !155, scope: !65, baseType: !68, extraData: !"")
182*9880d681SAndroid Build Coastguard Worker!68 = !DIDerivedType(tag: DW_TAG_typedef, name: "Class", line: 197, file: !153, scope: !0, baseType: !69)
183*9880d681SAndroid Build Coastguard Worker!69 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, scope: !0, baseType: !70)
184*9880d681SAndroid Build Coastguard Worker!70 = !DICompositeType(tag: DW_TAG_structure_type, name: "objc_class", flags: DIFlagFwdDecl, file: !153, scope: !0)
185*9880d681SAndroid Build Coastguard Worker!71 = !DIDerivedType(tag: DW_TAG_member, name: "_mydataRef", line: 28, size: 32, align: 32, offset: 32, file: !154, scope: !61, baseType: !72, extraData: !"")
186*9880d681SAndroid Build Coastguard Worker!72 = !DIDerivedType(tag: DW_TAG_typedef, name: "CFTypeRef", line: 313, file: !152, scope: !0, baseType: !73)
187*9880d681SAndroid Build Coastguard Worker!73 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, scope: !0, baseType: !74)
188*9880d681SAndroid Build Coastguard Worker!74 = !DIDerivedType(tag: DW_TAG_const_type, scope: !0, baseType: null)
189*9880d681SAndroid Build Coastguard Worker!75 = !DIDerivedType(tag: DW_TAG_member, name: "_scale", line: 29, size: 32, align: 32, offset: 64, file: !154, scope: !61, baseType: !76, extraData: !"")
190*9880d681SAndroid Build Coastguard Worker!76 = !DIDerivedType(tag: DW_TAG_typedef, name: "Float", line: 89, file: !156, scope: !0, baseType: !78)
191*9880d681SAndroid Build Coastguard Worker!77 = !DIFile(filename: "header12.h", directory: "/Volumes/Sandbox/llvm")
192*9880d681SAndroid Build Coastguard Worker!78 = !DIBasicType(tag: DW_TAG_base_type, name: "float", size: 32, align: 32, encoding: DW_ATE_float)
193*9880d681SAndroid Build Coastguard Worker!79 = !DIDerivedType(tag: DW_TAG_member, name: "_mydataFlags", line: 37, size: 8, align: 8, offset: 96, file: !154, scope: !61, baseType: !80, extraData: !"")
194*9880d681SAndroid Build Coastguard Worker!80 = !DICompositeType(tag: DW_TAG_structure_type, line: 30, size: 8, align: 8, file: !154, scope: !0, elements: !81)
195*9880d681SAndroid Build Coastguard Worker!81 = !{!82, !84, !85, !86, !87, !88}
196*9880d681SAndroid Build Coastguard Worker!82 = !DIDerivedType(tag: DW_TAG_member, name: "named", line: 31, size: 1, align: 32, file: !154, scope: !61, baseType: !83)
197*9880d681SAndroid Build Coastguard Worker!83 = !DIBasicType(tag: DW_TAG_base_type, name: "unsigned int", size: 32, align: 32, encoding: DW_ATE_unsigned)
198*9880d681SAndroid Build Coastguard Worker!84 = !DIDerivedType(tag: DW_TAG_member, name: "mydataO", line: 32, size: 3, align: 32, offset: 1, file: !154, scope: !61, baseType: !83)
199*9880d681SAndroid Build Coastguard Worker!85 = !DIDerivedType(tag: DW_TAG_member, name: "cached", line: 33, size: 1, align: 32, offset: 4, file: !154, scope: !61, baseType: !83)
200*9880d681SAndroid Build Coastguard Worker!86 = !DIDerivedType(tag: DW_TAG_member, name: "hasBeenCached", line: 34, size: 1, align: 32, offset: 5, file: !154, scope: !61, baseType: !83)
201*9880d681SAndroid Build Coastguard Worker!87 = !DIDerivedType(tag: DW_TAG_member, name: "hasPattern", line: 35, size: 1, align: 32, offset: 6, file: !154, scope: !61, baseType: !83)
202*9880d681SAndroid Build Coastguard Worker!88 = !DIDerivedType(tag: DW_TAG_member, name: "isCIMydata", line: 36, size: 1, align: 32, offset: 7, file: !154, scope: !61, baseType: !83)
203*9880d681SAndroid Build Coastguard Worker!89 = !DIDerivedType(tag: DW_TAG_member, name: "self", line: 609, size: 32, align: 32, offset: 192, file: !152, scope: !24, baseType: !90)
204*9880d681SAndroid Build Coastguard Worker!90 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, scope: !0, baseType: !91)
205*9880d681SAndroid Build Coastguard Worker!91 = !DICompositeType(tag: DW_TAG_structure_type, name: "MyWork", line: 36, size: 384, align: 32, runtimeLang: DW_LANG_ObjC, file: !152, scope: !40, elements: !92)
206*9880d681SAndroid Build Coastguard Worker!92 = !{!93, !98, !101, !107, !123}
207*9880d681SAndroid Build Coastguard Worker!93 = !DIDerivedType(tag: DW_TAG_inheritance, file: !152, scope: !91, baseType: !94)
208*9880d681SAndroid Build Coastguard Worker!94 = !DICompositeType(tag: DW_TAG_structure_type, name: "twork", line: 43, size: 32, align: 32, runtimeLang: DW_LANG_ObjC, file: !157, scope: !40, elements: !96)
209*9880d681SAndroid Build Coastguard Worker!95 = !DIFile(filename: "header13.h", directory: "/Volumes/Sandbox/llvm")
210*9880d681SAndroid Build Coastguard Worker!96 = !{!97}
211*9880d681SAndroid Build Coastguard Worker!97 = !DIDerivedType(tag: DW_TAG_inheritance, file: !95, baseType: !64)
212*9880d681SAndroid Build Coastguard Worker!98 = !DIDerivedType(tag: DW_TAG_member, name: "_itemID", line: 38, size: 64, align: 32, offset: 32, flags: DIFlagPrivate, file: !152, scope: !24, baseType: !99, extraData: !"")
213*9880d681SAndroid Build Coastguard Worker!99 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint64_t", line: 55, file: !153, scope: !0, baseType: !100)
214*9880d681SAndroid Build Coastguard Worker!100 = !DIBasicType(tag: DW_TAG_base_type, name: "long long unsigned int", size: 64, align: 32, encoding: DW_ATE_unsigned)
215*9880d681SAndroid Build Coastguard Worker!101 = !DIDerivedType(tag: DW_TAG_member, name: "_library", line: 39, size: 32, align: 32, offset: 96, flags: DIFlagPrivate, file: !152, scope: !24, baseType: !102, extraData: !"")
216*9880d681SAndroid Build Coastguard Worker!102 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, scope: !0, baseType: !103)
217*9880d681SAndroid Build Coastguard Worker!103 = !DICompositeType(tag: DW_TAG_structure_type, name: "MyLibrary2", line: 22, size: 32, align: 32, runtimeLang: DW_LANG_ObjC, file: !158, scope: !40, elements: !105)
218*9880d681SAndroid Build Coastguard Worker!104 = !DIFile(filename: "header14.h", directory: "/Volumes/Sandbox/llvm")
219*9880d681SAndroid Build Coastguard Worker!105 = !{!106}
220*9880d681SAndroid Build Coastguard Worker!106 = !DIDerivedType(tag: DW_TAG_inheritance, file: !104, baseType: !64)
221*9880d681SAndroid Build Coastguard Worker!107 = !DIDerivedType(tag: DW_TAG_member, name: "_bounds", line: 40, size: 128, align: 32, offset: 128, flags: DIFlagPrivate, file: !152, scope: !24, baseType: !108, extraData: !"")
222*9880d681SAndroid Build Coastguard Worker!108 = !DIDerivedType(tag: DW_TAG_typedef, name: "CR", line: 33, file: !153, scope: !0, baseType: !109)
223*9880d681SAndroid Build Coastguard Worker!109 = !DICompositeType(tag: DW_TAG_structure_type, name: "CR", line: 29, size: 128, align: 32, file: !156, scope: !0, elements: !110)
224*9880d681SAndroid Build Coastguard Worker!110 = !{!111, !117}
225*9880d681SAndroid Build Coastguard Worker!111 = !DIDerivedType(tag: DW_TAG_member, name: "origin", line: 30, size: 64, align: 32, file: !156, scope: !77, baseType: !112)
226*9880d681SAndroid Build Coastguard Worker!112 = !DIDerivedType(tag: DW_TAG_typedef, name: "CP", line: 17, file: !156, scope: !0, baseType: !113)
227*9880d681SAndroid Build Coastguard Worker!113 = !DICompositeType(tag: DW_TAG_structure_type, name: "CP", line: 13, size: 64, align: 32, file: !156, scope: !0, elements: !114)
228*9880d681SAndroid Build Coastguard Worker!114 = !{!115, !116}
229*9880d681SAndroid Build Coastguard Worker!115 = !DIDerivedType(tag: DW_TAG_member, name: "x", line: 14, size: 32, align: 32, file: !156, scope: !77, baseType: !76)
230*9880d681SAndroid Build Coastguard Worker!116 = !DIDerivedType(tag: DW_TAG_member, name: "y", line: 15, size: 32, align: 32, offset: 32, file: !156, scope: !77, baseType: !76)
231*9880d681SAndroid Build Coastguard Worker!117 = !DIDerivedType(tag: DW_TAG_member, name: "size", line: 31, size: 64, align: 32, offset: 64, file: !156, scope: !77, baseType: !118)
232*9880d681SAndroid Build Coastguard Worker!118 = !DIDerivedType(tag: DW_TAG_typedef, name: "Size", line: 25, file: !156, scope: !0, baseType: !119)
233*9880d681SAndroid Build Coastguard Worker!119 = !DICompositeType(tag: DW_TAG_structure_type, name: "Size", line: 21, size: 64, align: 32, file: !156, scope: !0, elements: !120)
234*9880d681SAndroid Build Coastguard Worker!120 = !{!121, !122}
235*9880d681SAndroid Build Coastguard Worker!121 = !DIDerivedType(tag: DW_TAG_member, name: "width", line: 22, size: 32, align: 32, file: !156, scope: !77, baseType: !76)
236*9880d681SAndroid Build Coastguard Worker!122 = !DIDerivedType(tag: DW_TAG_member, name: "height", line: 23, size: 32, align: 32, offset: 32, file: !156, scope: !77, baseType: !76)
237*9880d681SAndroid Build Coastguard Worker!123 = !DIDerivedType(tag: DW_TAG_member, name: "_data", line: 40, size: 128, align: 32, offset: 256, flags: DIFlagPrivate, file: !152, scope: !24, baseType: !108, extraData: !"")
238*9880d681SAndroid Build Coastguard Worker!124 = !DIDerivedType(tag: DW_TAG_member, name: "semi", line: 609, size: 32, align: 32, offset: 224, file: !152, scope: !24, baseType: !125)
239*9880d681SAndroid Build Coastguard Worker!125 = !DIDerivedType(tag: DW_TAG_typedef, name: "d_t", line: 35, file: !152, scope: !0, baseType: !126)
240*9880d681SAndroid Build Coastguard Worker!126 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, scope: !0, baseType: !127)
241*9880d681SAndroid Build Coastguard Worker!127 = !DICompositeType(tag: DW_TAG_structure_type, name: "my_struct", line: 49, flags: DIFlagFwdDecl, file: !159, scope: !0)
242*9880d681SAndroid Build Coastguard Worker!128 = !DIFile(filename: "header15.h", directory: "/Volumes/Sandbox/llvm")
243*9880d681SAndroid Build Coastguard Worker!129 = !DILocation(line: 609, column: 144, scope: !23)
244*9880d681SAndroid Build Coastguard Worker!130 = !DILocalVariable(name: "loadedMydata", line: 609, arg: 2, scope: !23, file: !24, type: !59)
245*9880d681SAndroid Build Coastguard Worker!131 = !DILocation(line: 609, column: 155, scope: !23)
246*9880d681SAndroid Build Coastguard Worker!132 = !DILocalVariable(name: "bounds", line: 609, arg: 3, scope: !23, file: !24, type: !108)
247*9880d681SAndroid Build Coastguard Worker!133 = !DILocation(line: 609, column: 175, scope: !23)
248*9880d681SAndroid Build Coastguard Worker!134 = !DILocalVariable(name: "data", line: 609, arg: 4, scope: !23, file: !24, type: !108)
249*9880d681SAndroid Build Coastguard Worker!135 = !DILocation(line: 609, column: 190, scope: !23)
250*9880d681SAndroid Build Coastguard Worker!136 = !DILocalVariable(name: "mydata", line: 604, scope: !23, file: !24, type: !50)
251*9880d681SAndroid Build Coastguard Worker!137 = !DILocation(line: 604, column: 49, scope: !23)
252*9880d681SAndroid Build Coastguard Worker!138 = !DILocalVariable(name: "self", line: 604, scope: !23, file: !40, type: !90)
253*9880d681SAndroid Build Coastguard Worker!139 = !DILocalVariable(name: "semi", line: 607, scope: !23, file: !24, type: !125)
254*9880d681SAndroid Build Coastguard Worker!140 = !DILocation(line: 607, column: 30, scope: !23)
255*9880d681SAndroid Build Coastguard Worker!141 = !DILocation(line: 610, column: 17, scope: !142)
256*9880d681SAndroid Build Coastguard Worker!142 = distinct !DILexicalBlock(line: 609, column: 200, file: !152, scope: !23)
257*9880d681SAndroid Build Coastguard Worker!143 = !DILocation(line: 611, column: 17, scope: !142)
258*9880d681SAndroid Build Coastguard Worker!144 = !DILocation(line: 612, column: 17, scope: !142)
259*9880d681SAndroid Build Coastguard Worker!145 = !DILocation(line: 613, column: 17, scope: !142)
260*9880d681SAndroid Build Coastguard Worker!146 = !DILocation(line: 615, column: 13, scope: !142)
261*9880d681SAndroid Build Coastguard Worker!147 = !{!1, !1, !5, !5, !9, !14, !19, !19, !14, !14, !14, !19, !19, !19}
262*9880d681SAndroid Build Coastguard Worker!149 = !DIFile(filename: "header3.h", directory: "/Volumes/Sandbox/llvm")
263*9880d681SAndroid Build Coastguard Worker!150 = !DIFile(filename: "Private.h", directory: "/Volumes/Sandbox/llvm")
264*9880d681SAndroid Build Coastguard Worker!151 = !DIFile(filename: "header4.h", directory: "/Volumes/Sandbox/llvm")
265*9880d681SAndroid Build Coastguard Worker!152 = !DIFile(filename: "MyLibrary.m", directory: "/Volumes/Sandbox/llvm")
266*9880d681SAndroid Build Coastguard Worker!153 = !DIFile(filename: "MyLibrary.i", directory: "/Volumes/Sandbox/llvm")
267*9880d681SAndroid Build Coastguard Worker!154 = !DIFile(filename: "header11.h", directory: "/Volumes/Sandbox/llvm")
268*9880d681SAndroid Build Coastguard Worker!155 = !DIFile(filename: "NSO.h", directory: "/Volumes/Sandbox/llvm")
269*9880d681SAndroid Build Coastguard Worker!156 = !DIFile(filename: "header12.h", directory: "/Volumes/Sandbox/llvm")
270*9880d681SAndroid Build Coastguard Worker!157 = !DIFile(filename: "header13.h", directory: "/Volumes/Sandbox/llvm")
271*9880d681SAndroid Build Coastguard Worker!158 = !DIFile(filename: "header14.h", directory: "/Volumes/Sandbox/llvm")
272*9880d681SAndroid Build Coastguard Worker!159 = !DIFile(filename: "header15.h", directory: "/Volumes/Sandbox/llvm")
273*9880d681SAndroid Build Coastguard Worker!160 = !DIFile(filename: "header.h", directory: "/Volumes/Sandbox/llvm")
274*9880d681SAndroid Build Coastguard Worker!161 = !{!"header2.h", !"/Volumes/Sandbox/llvm"}
275*9880d681SAndroid Build Coastguard Worker!162 = !{i32 1, !"Debug Info Version", i32 3}
276*9880d681SAndroid Build Coastguard Worker!163 = !DIExpression(DW_OP_plus, 20, DW_OP_deref, DW_OP_plus, 4, DW_OP_deref, DW_OP_plus, 24)
277*9880d681SAndroid Build Coastguard Worker!164 = !DIExpression(DW_OP_deref, DW_OP_plus, 24)
278*9880d681SAndroid Build Coastguard Worker!165 = !DIExpression(DW_OP_deref, DW_OP_plus, 28)
279