Manman Ren | e9a52e1 | 2013-07-29 18:12:58 +0000 | [diff] [blame] | 1 | ; RUN: llc -O0 < %s | FileCheck %s |
| 2 | ; CHECK: @DEBUG_VALUE: foobar_func_block_invoke_0:mydata <- [SP+{{[0-9]+}}] |
Devang Patel | c93ef81 | 2011-06-22 00:03:42 +0000 | [diff] [blame] | 3 | ; Radar 9331779 |
| 4 | target 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" |
Evan Cheng | 68132d8 | 2011-12-20 18:26:50 +0000 | [diff] [blame] | 5 | target triple = "thumbv7-apple-ios" |
Devang Patel | c93ef81 | 2011-06-22 00:03:42 +0000 | [diff] [blame] | 6 | |
| 7 | %0 = type opaque |
| 8 | %1 = type { [4 x i32] } |
| 9 | %2 = type <{ i8*, i32, i32, i8*, %struct.Re*, i8*, %3*, %struct.my_struct* }> |
| 10 | %3 = type opaque |
| 11 | %struct.CP = type { float, float } |
| 12 | %struct.CR = type { %struct.CP, %struct.CP } |
| 13 | %struct.Re = type { i32, i32 } |
| 14 | %struct.__block_byref_mydata = type { i8*, %struct.__block_byref_mydata*, i32, i32, i8*, i8*, %0* } |
| 15 | %struct.my_struct = type opaque |
| 16 | |
| 17 | @"\01L_OBJC_SELECTOR_REFERENCES_13" = external hidden global i8*, section "__DATA, __objc_selrefs, literal_pointers, no_dead_strip" |
| 18 | @"OBJC_IVAR_$_MyWork._bounds" = external hidden global i32, section "__DATA, __objc_const", align 4 |
| 19 | @"OBJC_IVAR_$_MyWork._data" = external hidden global i32, section "__DATA, __objc_const", align 4 |
| 20 | @"\01L_OBJC_SELECTOR_REFERENCES_222" = external hidden global i8*, section "__DATA, __objc_selrefs, literal_pointers, no_dead_strip" |
| 21 | |
Adrian Prantl | 87b7eb9 | 2014-10-01 18:55:02 +0000 | [diff] [blame] | 22 | declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone |
Devang Patel | c93ef81 | 2011-06-22 00:03:42 +0000 | [diff] [blame] | 23 | |
| 24 | declare i8* @objc_msgSend(i8*, i8*, ...) |
| 25 | |
Adrian Prantl | 87b7eb9 | 2014-10-01 18:55:02 +0000 | [diff] [blame] | 26 | declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone |
Devang Patel | c93ef81 | 2011-06-22 00:03:42 +0000 | [diff] [blame] | 27 | |
| 28 | declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i32, i1) nounwind |
| 29 | |
Peter Collingbourne | d4bff30 | 2015-11-05 22:03:56 +0000 | [diff] [blame^] | 30 | define 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 { |
Devang Patel | c93ef81 | 2011-06-22 00:03:42 +0000 | [diff] [blame] | 31 | %1 = alloca %0*, align 4 |
| 32 | %bounds = alloca %struct.CR, align 4 |
| 33 | %data = alloca %struct.CR, align 4 |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 34 | call void @llvm.dbg.value(metadata i8* %.block_descriptor, i64 0, metadata !27, metadata !DIExpression()), !dbg !129 |
Devang Patel | c93ef81 | 2011-06-22 00:03:42 +0000 | [diff] [blame] | 35 | store %0* %loadedMydata, %0** %1, align 4 |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 36 | call void @llvm.dbg.declare(metadata %0** %1, metadata !130, metadata !DIExpression()), !dbg !131 |
Devang Patel | c93ef81 | 2011-06-22 00:03:42 +0000 | [diff] [blame] | 37 | %2 = bitcast %struct.CR* %bounds to %1* |
David Blaikie | 79e6c74 | 2015-02-27 19:29:02 +0000 | [diff] [blame] | 38 | %3 = getelementptr %1, %1* %2, i32 0, i32 0 |
Devang Patel | c93ef81 | 2011-06-22 00:03:42 +0000 | [diff] [blame] | 39 | store [4 x i32] %bounds.coerce0, [4 x i32]* %3 |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 40 | call void @llvm.dbg.declare(metadata %struct.CR* %bounds, metadata !132, metadata !DIExpression()), !dbg !133 |
Devang Patel | c93ef81 | 2011-06-22 00:03:42 +0000 | [diff] [blame] | 41 | %4 = bitcast %struct.CR* %data to %1* |
David Blaikie | 79e6c74 | 2015-02-27 19:29:02 +0000 | [diff] [blame] | 42 | %5 = getelementptr %1, %1* %4, i32 0, i32 0 |
Devang Patel | c93ef81 | 2011-06-22 00:03:42 +0000 | [diff] [blame] | 43 | store [4 x i32] %data.coerce0, [4 x i32]* %5 |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 44 | call void @llvm.dbg.declare(metadata %struct.CR* %data, metadata !134, metadata !DIExpression()), !dbg !135 |
Devang Patel | c93ef81 | 2011-06-22 00:03:42 +0000 | [diff] [blame] | 45 | %6 = bitcast i8* %.block_descriptor to %2* |
David Blaikie | 79e6c74 | 2015-02-27 19:29:02 +0000 | [diff] [blame] | 46 | %7 = getelementptr inbounds %2, %2* %6, i32 0, i32 6 |
Duncan P. N. Exon Smith | be7ea19 | 2014-12-15 19:07:53 +0000 | [diff] [blame] | 47 | call void @llvm.dbg.declare(metadata %2* %6, metadata !136, metadata !163), !dbg !137 |
| 48 | call void @llvm.dbg.declare(metadata %2* %6, metadata !138, metadata !164), !dbg !137 |
| 49 | call void @llvm.dbg.declare(metadata %2* %6, metadata !139, metadata !165), !dbg !140 |
David Blaikie | a79ac14 | 2015-02-27 21:17:42 +0000 | [diff] [blame] | 50 | %8 = load %0*, %0** %1, align 4, !dbg !141 |
| 51 | %9 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_13", !dbg !141 |
Devang Patel | c93ef81 | 2011-06-22 00:03:42 +0000 | [diff] [blame] | 52 | %10 = bitcast %0* %8 to i8*, !dbg !141 |
| 53 | %11 = call i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* %10, i8* %9), !dbg !141 |
| 54 | %12 = bitcast i8* %11 to %0*, !dbg !141 |
David Blaikie | 79e6c74 | 2015-02-27 19:29:02 +0000 | [diff] [blame] | 55 | %13 = getelementptr inbounds %2, %2* %6, i32 0, i32 5, !dbg !141 |
David Blaikie | a79ac14 | 2015-02-27 21:17:42 +0000 | [diff] [blame] | 56 | %14 = load i8*, i8** %13, !dbg !141 |
Devang Patel | c93ef81 | 2011-06-22 00:03:42 +0000 | [diff] [blame] | 57 | %15 = bitcast i8* %14 to %struct.__block_byref_mydata*, !dbg !141 |
David Blaikie | 79e6c74 | 2015-02-27 19:29:02 +0000 | [diff] [blame] | 58 | %16 = getelementptr inbounds %struct.__block_byref_mydata, %struct.__block_byref_mydata* %15, i32 0, i32 1, !dbg !141 |
David Blaikie | a79ac14 | 2015-02-27 21:17:42 +0000 | [diff] [blame] | 59 | %17 = load %struct.__block_byref_mydata*, %struct.__block_byref_mydata** %16, !dbg !141 |
David Blaikie | 79e6c74 | 2015-02-27 19:29:02 +0000 | [diff] [blame] | 60 | %18 = getelementptr inbounds %struct.__block_byref_mydata, %struct.__block_byref_mydata* %17, i32 0, i32 6, !dbg !141 |
Devang Patel | c93ef81 | 2011-06-22 00:03:42 +0000 | [diff] [blame] | 61 | store %0* %12, %0** %18, align 4, !dbg !141 |
David Blaikie | 79e6c74 | 2015-02-27 19:29:02 +0000 | [diff] [blame] | 62 | %19 = getelementptr inbounds %2, %2* %6, i32 0, i32 6, !dbg !143 |
David Blaikie | a79ac14 | 2015-02-27 21:17:42 +0000 | [diff] [blame] | 63 | %20 = load %3*, %3** %19, align 4, !dbg !143 |
| 64 | %21 = load i32, i32* @"OBJC_IVAR_$_MyWork._data", !dbg !143 |
Devang Patel | c93ef81 | 2011-06-22 00:03:42 +0000 | [diff] [blame] | 65 | %22 = bitcast %3* %20 to i8*, !dbg !143 |
David Blaikie | 79e6c74 | 2015-02-27 19:29:02 +0000 | [diff] [blame] | 66 | %23 = getelementptr inbounds i8, i8* %22, i32 %21, !dbg !143 |
Devang Patel | c93ef81 | 2011-06-22 00:03:42 +0000 | [diff] [blame] | 67 | %24 = bitcast i8* %23 to %struct.CR*, !dbg !143 |
| 68 | %25 = bitcast %struct.CR* %24 to i8*, !dbg !143 |
| 69 | %26 = bitcast %struct.CR* %data to i8*, !dbg !143 |
| 70 | call void @llvm.memcpy.p0i8.p0i8.i32(i8* %25, i8* %26, i32 16, i32 4, i1 false), !dbg !143 |
David Blaikie | 79e6c74 | 2015-02-27 19:29:02 +0000 | [diff] [blame] | 71 | %27 = getelementptr inbounds %2, %2* %6, i32 0, i32 6, !dbg !144 |
David Blaikie | a79ac14 | 2015-02-27 21:17:42 +0000 | [diff] [blame] | 72 | %28 = load %3*, %3** %27, align 4, !dbg !144 |
| 73 | %29 = load i32, i32* @"OBJC_IVAR_$_MyWork._bounds", !dbg !144 |
Devang Patel | c93ef81 | 2011-06-22 00:03:42 +0000 | [diff] [blame] | 74 | %30 = bitcast %3* %28 to i8*, !dbg !144 |
David Blaikie | 79e6c74 | 2015-02-27 19:29:02 +0000 | [diff] [blame] | 75 | %31 = getelementptr inbounds i8, i8* %30, i32 %29, !dbg !144 |
Devang Patel | c93ef81 | 2011-06-22 00:03:42 +0000 | [diff] [blame] | 76 | %32 = bitcast i8* %31 to %struct.CR*, !dbg !144 |
| 77 | %33 = bitcast %struct.CR* %32 to i8*, !dbg !144 |
| 78 | %34 = bitcast %struct.CR* %bounds to i8*, !dbg !144 |
| 79 | call void @llvm.memcpy.p0i8.p0i8.i32(i8* %33, i8* %34, i32 16, i32 4, i1 false), !dbg !144 |
David Blaikie | 79e6c74 | 2015-02-27 19:29:02 +0000 | [diff] [blame] | 80 | %35 = getelementptr inbounds %2, %2* %6, i32 0, i32 6, !dbg !145 |
David Blaikie | a79ac14 | 2015-02-27 21:17:42 +0000 | [diff] [blame] | 81 | %36 = load %3*, %3** %35, align 4, !dbg !145 |
David Blaikie | 79e6c74 | 2015-02-27 19:29:02 +0000 | [diff] [blame] | 82 | %37 = getelementptr inbounds %2, %2* %6, i32 0, i32 5, !dbg !145 |
David Blaikie | a79ac14 | 2015-02-27 21:17:42 +0000 | [diff] [blame] | 83 | %38 = load i8*, i8** %37, !dbg !145 |
Devang Patel | c93ef81 | 2011-06-22 00:03:42 +0000 | [diff] [blame] | 84 | %39 = bitcast i8* %38 to %struct.__block_byref_mydata*, !dbg !145 |
David Blaikie | 79e6c74 | 2015-02-27 19:29:02 +0000 | [diff] [blame] | 85 | %40 = getelementptr inbounds %struct.__block_byref_mydata, %struct.__block_byref_mydata* %39, i32 0, i32 1, !dbg !145 |
David Blaikie | a79ac14 | 2015-02-27 21:17:42 +0000 | [diff] [blame] | 86 | %41 = load %struct.__block_byref_mydata*, %struct.__block_byref_mydata** %40, !dbg !145 |
David Blaikie | 79e6c74 | 2015-02-27 19:29:02 +0000 | [diff] [blame] | 87 | %42 = getelementptr inbounds %struct.__block_byref_mydata, %struct.__block_byref_mydata* %41, i32 0, i32 6, !dbg !145 |
David Blaikie | a79ac14 | 2015-02-27 21:17:42 +0000 | [diff] [blame] | 88 | %43 = load %0*, %0** %42, align 4, !dbg !145 |
| 89 | %44 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_222", !dbg !145 |
Devang Patel | c93ef81 | 2011-06-22 00:03:42 +0000 | [diff] [blame] | 90 | %45 = bitcast %3* %36 to i8*, !dbg !145 |
| 91 | call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, %0*)*)(i8* %45, i8* %44, %0* %43), !dbg !145 |
| 92 | ret void, !dbg !146 |
| 93 | } |
| 94 | |
| 95 | !llvm.dbg.cu = !{!0} |
Manman Ren | 409558f | 2013-11-22 21:49:45 +0000 | [diff] [blame] | 96 | !llvm.module.flags = !{!162} |
Devang Patel | c93ef81 | 2011-06-22 00:03:42 +0000 | [diff] [blame] | 97 | |
Duncan P. N. Exon Smith | 55ca964 | 2015-08-03 17:26:41 +0000 | [diff] [blame] | 98 | !0 = distinct !DICompileUnit(language: DW_LANG_ObjC, producer: "Apple clang version 2.1", isOptimized: false, runtimeVersion: 2, emissionKind: 1, file: !153, enums: !147, retainedTypes: !{}, subprograms: !148) |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 99 | !1 = !DICompositeType(tag: DW_TAG_enumeration_type, line: 248, size: 32, align: 32, file: !160, scope: !0, elements: !3) |
| 100 | !2 = !DIFile(filename: "header.h", directory: "/Volumes/Sandbox/llvm") |
Duncan P. N. Exon Smith | be7ea19 | 2014-12-15 19:07:53 +0000 | [diff] [blame] | 101 | !3 = !{!4} |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 102 | !4 = !DIEnumerator(name: "Ver1", value: 0) ; [ DW_TAG_enumerator ] |
| 103 | !5 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Mode", line: 79, size: 32, align: 32, file: !160, scope: !0, elements: !7) |
| 104 | !6 = !DIFile(filename: "header2.h", directory: "/Volumes/Sandbox/llvm") |
Duncan P. N. Exon Smith | be7ea19 | 2014-12-15 19:07:53 +0000 | [diff] [blame] | 105 | !7 = !{!8} |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 106 | !8 = !DIEnumerator(name: "One", value: 0) ; [ DW_TAG_enumerator ] |
| 107 | !9 = !DICompositeType(tag: DW_TAG_enumeration_type, line: 15, size: 32, align: 32, file: !149, scope: !0, elements: !11) |
| 108 | !10 = !DIFile(filename: "header3.h", directory: "/Volumes/Sandbox/llvm") |
Duncan P. N. Exon Smith | be7ea19 | 2014-12-15 19:07:53 +0000 | [diff] [blame] | 109 | !11 = !{!12, !13} |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 110 | !12 = !DIEnumerator(name: "Unknown", value: 0) ; [ DW_TAG_enumerator ] |
| 111 | !13 = !DIEnumerator(name: "Known", value: 1) ; [ DW_TAG_enumerator ] |
| 112 | !14 = !DICompositeType(tag: DW_TAG_enumeration_type, line: 20, size: 32, align: 32, file: !150, scope: !0, elements: !16) |
| 113 | !15 = !DIFile(filename: "Private.h", directory: "/Volumes/Sandbox/llvm") |
Duncan P. N. Exon Smith | be7ea19 | 2014-12-15 19:07:53 +0000 | [diff] [blame] | 114 | !16 = !{!17, !18} |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 115 | !17 = !DIEnumerator(name: "Single", value: 0) ; [ DW_TAG_enumerator ] |
| 116 | !18 = !DIEnumerator(name: "Double", value: 1) ; [ DW_TAG_enumerator ] |
| 117 | !19 = !DICompositeType(tag: DW_TAG_enumeration_type, line: 14, size: 32, align: 32, file: !151, scope: !0, elements: !21) |
| 118 | !20 = !DIFile(filename: "header4.h", directory: "/Volumes/Sandbox/llvm") |
Duncan P. N. Exon Smith | be7ea19 | 2014-12-15 19:07:53 +0000 | [diff] [blame] | 119 | !21 = !{!22} |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 120 | !22 = !DIEnumerator(name: "Eleven", value: 0) ; [ DW_TAG_enumerator ] |
Peter Collingbourne | d4bff30 | 2015-11-05 22:03:56 +0000 | [diff] [blame^] | 121 | !23 = distinct !DISubprogram(name: "foobar_func_block_invoke_0", line: 609, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 609, file: !152, scope: !24, type: !25) |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 122 | !24 = !DIFile(filename: "MyLibrary.m", directory: "/Volumes/Sandbox/llvm") |
| 123 | !25 = !DISubroutineType(types: !26) |
Duncan P. N. Exon Smith | be7ea19 | 2014-12-15 19:07:53 +0000 | [diff] [blame] | 124 | !26 = !{null} |
Duncan P. N. Exon Smith | ed013cd | 2015-07-31 18:58:39 +0000 | [diff] [blame] | 125 | !27 = !DILocalVariable(name: ".block_descriptor", line: 609, arg: 1, flags: DIFlagArtificial, scope: !23, file: !24, type: !28) |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 126 | !28 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, scope: !0, baseType: !29) |
| 127 | !29 = !DICompositeType(tag: DW_TAG_structure_type, name: "__block_literal_14", line: 609, size: 256, align: 32, file: !152, scope: !24, elements: !30) |
Duncan P. N. Exon Smith | be7ea19 | 2014-12-15 19:07:53 +0000 | [diff] [blame] | 128 | !30 = !{!31, !33, !35, !36, !37, !48, !89, !124} |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 129 | !31 = !DIDerivedType(tag: DW_TAG_member, name: "__isa", line: 609, size: 32, align: 32, file: !152, scope: !24, baseType: !32) |
| 130 | !32 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, scope: !0, baseType: null) |
| 131 | !33 = !DIDerivedType(tag: DW_TAG_member, name: "__flags", line: 609, size: 32, align: 32, offset: 32, file: !152, scope: !24, baseType: !34) |
| 132 | !34 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed) |
| 133 | !35 = !DIDerivedType(tag: DW_TAG_member, name: "__reserved", line: 609, size: 32, align: 32, offset: 64, file: !152, scope: !24, baseType: !34) |
| 134 | !36 = !DIDerivedType(tag: DW_TAG_member, name: "__FuncPtr", line: 609, size: 32, align: 32, offset: 96, file: !152, scope: !24, baseType: !32) |
| 135 | !37 = !DIDerivedType(tag: DW_TAG_member, name: "__descriptor", line: 609, size: 32, align: 32, offset: 128, file: !152, scope: !24, baseType: !38) |
| 136 | !38 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, scope: !0, baseType: !39) |
| 137 | !39 = !DICompositeType(tag: DW_TAG_structure_type, name: "__block_descriptor_withcopydispose", line: 307, size: 128, align: 32, file: !153, scope: !0, elements: !41) |
| 138 | !40 = !DIFile(filename: "MyLibrary.i", directory: "/Volumes/Sandbox/llvm") |
Duncan P. N. Exon Smith | be7ea19 | 2014-12-15 19:07:53 +0000 | [diff] [blame] | 139 | !41 = !{!42, !44, !45, !47} |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 140 | !42 = !DIDerivedType(tag: DW_TAG_member, name: "reserved", line: 307, size: 32, align: 32, file: !153, scope: !40, baseType: !43) |
| 141 | !43 = !DIBasicType(tag: DW_TAG_base_type, name: "long unsigned int", size: 32, align: 32, encoding: DW_ATE_unsigned) |
| 142 | !44 = !DIDerivedType(tag: DW_TAG_member, name: "Size", line: 307, size: 32, align: 32, offset: 32, file: !153, scope: !40, baseType: !43) |
| 143 | !45 = !DIDerivedType(tag: DW_TAG_member, name: "CopyFuncPtr", line: 307, size: 32, align: 32, offset: 64, file: !153, scope: !40, baseType: !46) |
| 144 | !46 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, scope: !0, baseType: !32) |
| 145 | !47 = !DIDerivedType(tag: DW_TAG_member, name: "DestroyFuncPtr", line: 307, size: 32, align: 32, offset: 96, file: !153, scope: !40, baseType: !46) |
| 146 | !48 = !DIDerivedType(tag: DW_TAG_member, name: "mydata", line: 609, size: 32, align: 32, offset: 160, file: !152, scope: !24, baseType: !49) |
| 147 | !49 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, scope: !0, baseType: !50) |
| 148 | !50 = !DICompositeType(tag: DW_TAG_structure_type, size: 224, flags: DIFlagBlockByrefStruct, file: !152, scope: !24, elements: !51) |
Duncan P. N. Exon Smith | be7ea19 | 2014-12-15 19:07:53 +0000 | [diff] [blame] | 149 | !51 = !{!52, !53, !54, !55, !56, !57, !58} |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 150 | !52 = !DIDerivedType(tag: DW_TAG_member, name: "__isa", size: 32, align: 32, file: !152, scope: !24, baseType: !32) |
| 151 | !53 = !DIDerivedType(tag: DW_TAG_member, name: "__forwarding", size: 32, align: 32, offset: 32, file: !152, scope: !24, baseType: !32) |
| 152 | !54 = !DIDerivedType(tag: DW_TAG_member, name: "__flags", size: 32, align: 32, offset: 64, file: !152, scope: !24, baseType: !34) |
| 153 | !55 = !DIDerivedType(tag: DW_TAG_member, name: "__size", size: 32, align: 32, offset: 96, file: !152, scope: !24, baseType: !34) |
| 154 | !56 = !DIDerivedType(tag: DW_TAG_member, name: "__copy_helper", size: 32, align: 32, offset: 128, file: !152, scope: !24, baseType: !32) |
| 155 | !57 = !DIDerivedType(tag: DW_TAG_member, name: "__destroy_helper", size: 32, align: 32, offset: 160, file: !152, scope: !24, baseType: !32) |
| 156 | !58 = !DIDerivedType(tag: DW_TAG_member, name: "mydata", size: 32, align: 32, offset: 192, file: !152, scope: !24, baseType: !59) |
| 157 | !59 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, scope: !0, baseType: !60) |
| 158 | !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) |
| 159 | !61 = !DIFile(filename: "header11.h", directory: "/Volumes/Sandbox/llvm") |
Duncan P. N. Exon Smith | be7ea19 | 2014-12-15 19:07:53 +0000 | [diff] [blame] | 160 | !62 = !{!63, !71, !75, !79} |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 161 | !63 = !DIDerivedType(tag: DW_TAG_inheritance, file: !61, baseType: !64) |
| 162 | !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) |
| 163 | !65 = !DIFile(filename: "NSO.h", directory: "/Volumes/Sandbox/llvm") |
Duncan P. N. Exon Smith | be7ea19 | 2014-12-15 19:07:53 +0000 | [diff] [blame] | 164 | !66 = !{!67} |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 165 | !67 = !DIDerivedType(tag: DW_TAG_member, name: "isa", line: 67, size: 32, align: 32, flags: DIFlagProtected, file: !155, scope: !65, baseType: !68, extraData: !"") |
| 166 | !68 = !DIDerivedType(tag: DW_TAG_typedef, name: "Class", line: 197, file: !153, scope: !0, baseType: !69) |
| 167 | !69 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, scope: !0, baseType: !70) |
| 168 | !70 = !DICompositeType(tag: DW_TAG_structure_type, name: "objc_class", flags: DIFlagFwdDecl, file: !153, scope: !0) |
| 169 | !71 = !DIDerivedType(tag: DW_TAG_member, name: "_mydataRef", line: 28, size: 32, align: 32, offset: 32, file: !154, scope: !61, baseType: !72, extraData: !"") |
| 170 | !72 = !DIDerivedType(tag: DW_TAG_typedef, name: "CFTypeRef", line: 313, file: !152, scope: !0, baseType: !73) |
| 171 | !73 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, scope: !0, baseType: !74) |
| 172 | !74 = !DIDerivedType(tag: DW_TAG_const_type, scope: !0, baseType: null) |
| 173 | !75 = !DIDerivedType(tag: DW_TAG_member, name: "_scale", line: 29, size: 32, align: 32, offset: 64, file: !154, scope: !61, baseType: !76, extraData: !"") |
| 174 | !76 = !DIDerivedType(tag: DW_TAG_typedef, name: "Float", line: 89, file: !156, scope: !0, baseType: !78) |
| 175 | !77 = !DIFile(filename: "header12.h", directory: "/Volumes/Sandbox/llvm") |
| 176 | !78 = !DIBasicType(tag: DW_TAG_base_type, name: "float", size: 32, align: 32, encoding: DW_ATE_float) |
| 177 | !79 = !DIDerivedType(tag: DW_TAG_member, name: "_mydataFlags", line: 37, size: 8, align: 8, offset: 96, file: !154, scope: !61, baseType: !80, extraData: !"") |
| 178 | !80 = !DICompositeType(tag: DW_TAG_structure_type, line: 30, size: 8, align: 8, file: !154, scope: !0, elements: !81) |
Duncan P. N. Exon Smith | be7ea19 | 2014-12-15 19:07:53 +0000 | [diff] [blame] | 179 | !81 = !{!82, !84, !85, !86, !87, !88} |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 180 | !82 = !DIDerivedType(tag: DW_TAG_member, name: "named", line: 31, size: 1, align: 32, file: !154, scope: !61, baseType: !83) |
| 181 | !83 = !DIBasicType(tag: DW_TAG_base_type, name: "unsigned int", size: 32, align: 32, encoding: DW_ATE_unsigned) |
| 182 | !84 = !DIDerivedType(tag: DW_TAG_member, name: "mydataO", line: 32, size: 3, align: 32, offset: 1, file: !154, scope: !61, baseType: !83) |
| 183 | !85 = !DIDerivedType(tag: DW_TAG_member, name: "cached", line: 33, size: 1, align: 32, offset: 4, file: !154, scope: !61, baseType: !83) |
| 184 | !86 = !DIDerivedType(tag: DW_TAG_member, name: "hasBeenCached", line: 34, size: 1, align: 32, offset: 5, file: !154, scope: !61, baseType: !83) |
| 185 | !87 = !DIDerivedType(tag: DW_TAG_member, name: "hasPattern", line: 35, size: 1, align: 32, offset: 6, file: !154, scope: !61, baseType: !83) |
| 186 | !88 = !DIDerivedType(tag: DW_TAG_member, name: "isCIMydata", line: 36, size: 1, align: 32, offset: 7, file: !154, scope: !61, baseType: !83) |
| 187 | !89 = !DIDerivedType(tag: DW_TAG_member, name: "self", line: 609, size: 32, align: 32, offset: 192, file: !152, scope: !24, baseType: !90) |
| 188 | !90 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, scope: !0, baseType: !91) |
| 189 | !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) |
Duncan P. N. Exon Smith | be7ea19 | 2014-12-15 19:07:53 +0000 | [diff] [blame] | 190 | !92 = !{!93, !98, !101, !107, !123} |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 191 | !93 = !DIDerivedType(tag: DW_TAG_inheritance, file: !152, scope: !91, baseType: !94) |
| 192 | !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) |
| 193 | !95 = !DIFile(filename: "header13.h", directory: "/Volumes/Sandbox/llvm") |
Duncan P. N. Exon Smith | be7ea19 | 2014-12-15 19:07:53 +0000 | [diff] [blame] | 194 | !96 = !{!97} |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 195 | !97 = !DIDerivedType(tag: DW_TAG_inheritance, file: !95, baseType: !64) |
| 196 | !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: !"") |
| 197 | !99 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint64_t", line: 55, file: !153, scope: !0, baseType: !100) |
| 198 | !100 = !DIBasicType(tag: DW_TAG_base_type, name: "long long unsigned int", size: 64, align: 32, encoding: DW_ATE_unsigned) |
| 199 | !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: !"") |
| 200 | !102 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, scope: !0, baseType: !103) |
| 201 | !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) |
| 202 | !104 = !DIFile(filename: "header14.h", directory: "/Volumes/Sandbox/llvm") |
Duncan P. N. Exon Smith | be7ea19 | 2014-12-15 19:07:53 +0000 | [diff] [blame] | 203 | !105 = !{!106} |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 204 | !106 = !DIDerivedType(tag: DW_TAG_inheritance, file: !104, baseType: !64) |
| 205 | !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: !"") |
| 206 | !108 = !DIDerivedType(tag: DW_TAG_typedef, name: "CR", line: 33, file: !153, scope: !0, baseType: !109) |
| 207 | !109 = !DICompositeType(tag: DW_TAG_structure_type, name: "CR", line: 29, size: 128, align: 32, file: !156, scope: !0, elements: !110) |
Duncan P. N. Exon Smith | be7ea19 | 2014-12-15 19:07:53 +0000 | [diff] [blame] | 208 | !110 = !{!111, !117} |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 209 | !111 = !DIDerivedType(tag: DW_TAG_member, name: "origin", line: 30, size: 64, align: 32, file: !156, scope: !77, baseType: !112) |
| 210 | !112 = !DIDerivedType(tag: DW_TAG_typedef, name: "CP", line: 17, file: !156, scope: !0, baseType: !113) |
| 211 | !113 = !DICompositeType(tag: DW_TAG_structure_type, name: "CP", line: 13, size: 64, align: 32, file: !156, scope: !0, elements: !114) |
Duncan P. N. Exon Smith | be7ea19 | 2014-12-15 19:07:53 +0000 | [diff] [blame] | 212 | !114 = !{!115, !116} |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 213 | !115 = !DIDerivedType(tag: DW_TAG_member, name: "x", line: 14, size: 32, align: 32, file: !156, scope: !77, baseType: !76) |
| 214 | !116 = !DIDerivedType(tag: DW_TAG_member, name: "y", line: 15, size: 32, align: 32, offset: 32, file: !156, scope: !77, baseType: !76) |
| 215 | !117 = !DIDerivedType(tag: DW_TAG_member, name: "size", line: 31, size: 64, align: 32, offset: 64, file: !156, scope: !77, baseType: !118) |
| 216 | !118 = !DIDerivedType(tag: DW_TAG_typedef, name: "Size", line: 25, file: !156, scope: !0, baseType: !119) |
| 217 | !119 = !DICompositeType(tag: DW_TAG_structure_type, name: "Size", line: 21, size: 64, align: 32, file: !156, scope: !0, elements: !120) |
Duncan P. N. Exon Smith | be7ea19 | 2014-12-15 19:07:53 +0000 | [diff] [blame] | 218 | !120 = !{!121, !122} |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 219 | !121 = !DIDerivedType(tag: DW_TAG_member, name: "width", line: 22, size: 32, align: 32, file: !156, scope: !77, baseType: !76) |
| 220 | !122 = !DIDerivedType(tag: DW_TAG_member, name: "height", line: 23, size: 32, align: 32, offset: 32, file: !156, scope: !77, baseType: !76) |
| 221 | !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: !"") |
| 222 | !124 = !DIDerivedType(tag: DW_TAG_member, name: "semi", line: 609, size: 32, align: 32, offset: 224, file: !152, scope: !24, baseType: !125) |
| 223 | !125 = !DIDerivedType(tag: DW_TAG_typedef, name: "d_t", line: 35, file: !152, scope: !0, baseType: !126) |
| 224 | !126 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, scope: !0, baseType: !127) |
| 225 | !127 = !DICompositeType(tag: DW_TAG_structure_type, name: "my_struct", line: 49, flags: DIFlagFwdDecl, file: !159, scope: !0) |
| 226 | !128 = !DIFile(filename: "header15.h", directory: "/Volumes/Sandbox/llvm") |
| 227 | !129 = !DILocation(line: 609, column: 144, scope: !23) |
Duncan P. N. Exon Smith | ed013cd | 2015-07-31 18:58:39 +0000 | [diff] [blame] | 228 | !130 = !DILocalVariable(name: "loadedMydata", line: 609, arg: 2, scope: !23, file: !24, type: !59) |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 229 | !131 = !DILocation(line: 609, column: 155, scope: !23) |
Duncan P. N. Exon Smith | ed013cd | 2015-07-31 18:58:39 +0000 | [diff] [blame] | 230 | !132 = !DILocalVariable(name: "bounds", line: 609, arg: 3, scope: !23, file: !24, type: !108) |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 231 | !133 = !DILocation(line: 609, column: 175, scope: !23) |
Duncan P. N. Exon Smith | ed013cd | 2015-07-31 18:58:39 +0000 | [diff] [blame] | 232 | !134 = !DILocalVariable(name: "data", line: 609, arg: 4, scope: !23, file: !24, type: !108) |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 233 | !135 = !DILocation(line: 609, column: 190, scope: !23) |
Duncan P. N. Exon Smith | ed013cd | 2015-07-31 18:58:39 +0000 | [diff] [blame] | 234 | !136 = !DILocalVariable(name: "mydata", line: 604, scope: !23, file: !24, type: !50) |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 235 | !137 = !DILocation(line: 604, column: 49, scope: !23) |
Duncan P. N. Exon Smith | ed013cd | 2015-07-31 18:58:39 +0000 | [diff] [blame] | 236 | !138 = !DILocalVariable(name: "self", line: 604, scope: !23, file: !40, type: !90) |
| 237 | !139 = !DILocalVariable(name: "semi", line: 607, scope: !23, file: !24, type: !125) |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 238 | !140 = !DILocation(line: 607, column: 30, scope: !23) |
| 239 | !141 = !DILocation(line: 610, column: 17, scope: !142) |
| 240 | !142 = distinct !DILexicalBlock(line: 609, column: 200, file: !152, scope: !23) |
| 241 | !143 = !DILocation(line: 611, column: 17, scope: !142) |
| 242 | !144 = !DILocation(line: 612, column: 17, scope: !142) |
| 243 | !145 = !DILocation(line: 613, column: 17, scope: !142) |
| 244 | !146 = !DILocation(line: 615, column: 13, scope: !142) |
Duncan P. N. Exon Smith | be7ea19 | 2014-12-15 19:07:53 +0000 | [diff] [blame] | 245 | !147 = !{!1, !1, !5, !5, !9, !14, !19, !19, !14, !14, !14, !19, !19, !19} |
| 246 | !148 = !{!23} |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 247 | !149 = !DIFile(filename: "header3.h", directory: "/Volumes/Sandbox/llvm") |
| 248 | !150 = !DIFile(filename: "Private.h", directory: "/Volumes/Sandbox/llvm") |
| 249 | !151 = !DIFile(filename: "header4.h", directory: "/Volumes/Sandbox/llvm") |
| 250 | !152 = !DIFile(filename: "MyLibrary.m", directory: "/Volumes/Sandbox/llvm") |
| 251 | !153 = !DIFile(filename: "MyLibrary.i", directory: "/Volumes/Sandbox/llvm") |
| 252 | !154 = !DIFile(filename: "header11.h", directory: "/Volumes/Sandbox/llvm") |
| 253 | !155 = !DIFile(filename: "NSO.h", directory: "/Volumes/Sandbox/llvm") |
| 254 | !156 = !DIFile(filename: "header12.h", directory: "/Volumes/Sandbox/llvm") |
| 255 | !157 = !DIFile(filename: "header13.h", directory: "/Volumes/Sandbox/llvm") |
| 256 | !158 = !DIFile(filename: "header14.h", directory: "/Volumes/Sandbox/llvm") |
| 257 | !159 = !DIFile(filename: "header15.h", directory: "/Volumes/Sandbox/llvm") |
| 258 | !160 = !DIFile(filename: "header.h", directory: "/Volumes/Sandbox/llvm") |
Duncan P. N. Exon Smith | be7ea19 | 2014-12-15 19:07:53 +0000 | [diff] [blame] | 259 | !161 = !{!"header2.h", !"/Volumes/Sandbox/llvm"} |
Duncan P. N. Exon Smith | e274180 | 2015-03-03 17:24:31 +0000 | [diff] [blame] | 260 | !162 = !{i32 1, !"Debug Info Version", i32 3} |
Duncan P. N. Exon Smith | a9308c4 | 2015-04-29 16:38:44 +0000 | [diff] [blame] | 261 | !163 = !DIExpression(DW_OP_plus, 20, DW_OP_deref, DW_OP_plus, 4, DW_OP_deref, DW_OP_plus, 24) |
| 262 | !164 = !DIExpression(DW_OP_deref, DW_OP_plus, 24) |
| 263 | !165 = !DIExpression(DW_OP_deref, DW_OP_plus, 28) |