diff options
| author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2016-04-23 21:08:00 +0000 |
|---|---|---|
| committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2016-04-23 21:08:00 +0000 |
| commit | a59d3e5af889662139b8b08f2175f12567491441 (patch) | |
| tree | c91b05e3c724401c8bf6bcbf8ff3bdfd80450ef3 /llvm/test/Transforms | |
| parent | dc88bd6e1fc483d6927604e6b2dc58f9d4d06316 (diff) | |
| download | bcm5719-llvm-a59d3e5af889662139b8b08f2175f12567491441.tar.gz bcm5719-llvm-a59d3e5af889662139b8b08f2175f12567491441.zip | |
DebugInfo: Remove MDString-based type references
Eliminate DITypeIdentifierMap and make DITypeRef a thin wrapper around
DIType*. It is no longer legal to refer to a DICompositeType by its
'identifier:', and DIBuilder no longer retains all types with an
'identifier:' automatically.
Aside from the bitcode upgrade, this is mainly removing logic to resolve
an MDString-based reference to an actualy DIType. The commits leading
up to this have made the implicit type map in DICompileUnit's
'retainedTypes:' field superfluous.
This does not remove DITypeRef, DIScopeRef, DINodeRef, and
DITypeRefArray, or stop using them in DI-related metadata. Although as
of this commit they aren't serving a useful purpose, there are patchces
under review to reuse them for CodeView support.
The tests in LLVM were updated with deref-typerefs.sh, which is attached
to the thread "[RFC] Lazy-loading of debug info metadata":
http://lists.llvm.org/pipermail/llvm-dev/2016-April/098318.html
llvm-svn: 267296
Diffstat (limited to 'llvm/test/Transforms')
| -rw-r--r-- | llvm/test/Transforms/GCOVProfiling/linezero.ll | 8 | ||||
| -rw-r--r-- | llvm/test/Transforms/Inline/alloca-dbgdeclare.ll | 16 | ||||
| -rw-r--r-- | llvm/test/Transforms/SafeStack/debug-loc.ll | 8 | ||||
| -rw-r--r-- | llvm/test/Transforms/Util/split-bit-piece.ll | 2 |
4 files changed, 17 insertions, 17 deletions
diff --git a/llvm/test/Transforms/GCOVProfiling/linezero.ll b/llvm/test/Transforms/GCOVProfiling/linezero.ll index f8903bc067c..2298f125440 100644 --- a/llvm/test/Transforms/GCOVProfiling/linezero.ll +++ b/llvm/test/Transforms/GCOVProfiling/linezero.ll @@ -100,13 +100,13 @@ attributes #3 = { noreturn nounwind } !4 = !DICompositeType(tag: DW_TAG_structure_type, name: "vector", line: 21, size: 8, align: 8, file: !5, elements: !6, identifier: "_ZTS6vector") !5 = !DIFile(filename: "linezero.cc", directory: "PATTERN") !6 = !{!7, !13} -!7 = !DISubprogram(name: "begin", linkageName: "_ZN6vector5beginEv", line: 25, isLocal: false, isDefinition: false, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 25, file: !5, scope: !"_ZTS6vector", type: !8) +!7 = !DISubprogram(name: "begin", linkageName: "_ZN6vector5beginEv", line: 25, isLocal: false, isDefinition: false, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 25, file: !5, scope: !4, type: !8) !8 = !DISubroutineType(types: !9) !9 = !{!10, !12} !10 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !11) !11 = !DIBasicType(tag: DW_TAG_base_type, name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char) -!12 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, flags: DIFlagArtificial | DIFlagObjectPointer, baseType: !"_ZTS6vector") -!13 = !DISubprogram(name: "end", linkageName: "_ZN6vector3endEv", line: 26, isLocal: false, isDefinition: false, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 26, file: !5, scope: !"_ZTS6vector", type: !8) +!12 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, flags: DIFlagArtificial | DIFlagObjectPointer, baseType: !4) +!13 = !DISubprogram(name: "end", linkageName: "_ZN6vector3endEv", line: 26, isLocal: false, isDefinition: false, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 26, file: !5, scope: !4, type: !8) !15 = distinct !DISubprogram(name: "test", linkageName: "_Z4testv", line: 50, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !0, scopeLine: 50, file: !5, scope: !16, type: !17, variables: !2) !16 = !DIFile(filename: "linezero.cc", directory: "PATTERN") !17 = !DISubroutineType(types: !18) @@ -121,7 +121,7 @@ attributes #3 = { noreturn nounwind } !26 = !{!"clang version 3.5.0 (trunk 209871)"} !27 = !DILocalVariable(name: "__range", flags: DIFlagArtificial, scope: !28, type: !29) !28 = distinct !DILexicalBlock(line: 51, column: 0, file: !5, scope: !15) -!29 = !DIDerivedType(tag: DW_TAG_rvalue_reference_type, baseType: !"_ZTS6vector") +!29 = !DIDerivedType(tag: DW_TAG_rvalue_reference_type, baseType: !4) !30 = !DILocation(line: 0, scope: !28) !31 = !DILocation(line: 51, scope: !28) !32 = !DILocalVariable(name: "__begin", flags: DIFlagArtificial, scope: !28, type: !10) diff --git a/llvm/test/Transforms/Inline/alloca-dbgdeclare.ll b/llvm/test/Transforms/Inline/alloca-dbgdeclare.ll index 3430daaae51..d06a9299d92 100644 --- a/llvm/test/Transforms/Inline/alloca-dbgdeclare.ll +++ b/llvm/test/Transforms/Inline/alloca-dbgdeclare.ll @@ -89,9 +89,9 @@ attributes #3 = { noreturn nounwind } !4 = !DICompositeType(tag: DW_TAG_structure_type, name: "A", line: 1, size: 192, align: 64, file: !5, elements: !6, identifier: "_ZTS1A") !5 = !DIFile(filename: "test.cpp", directory: "") !6 = !{!7, !9} -!7 = !DIDerivedType(tag: DW_TAG_member, name: "arg0", line: 2, size: 32, align: 32, file: !5, scope: !"_ZTS1A", baseType: !8) +!7 = !DIDerivedType(tag: DW_TAG_member, name: "arg0", line: 2, size: 32, align: 32, file: !5, scope: !4, baseType: !8) !8 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed) -!9 = !DIDerivedType(tag: DW_TAG_member, name: "arg1", line: 3, size: 128, align: 64, offset: 64, file: !5, scope: !"_ZTS1A", baseType: !10) +!9 = !DIDerivedType(tag: DW_TAG_member, name: "arg1", line: 3, size: 128, align: 64, offset: 64, file: !5, scope: !4, baseType: !10) !10 = !DICompositeType(tag: DW_TAG_array_type, size: 128, align: 64, baseType: !11, elements: !12) !11 = !DIBasicType(tag: DW_TAG_base_type, name: "double", size: 64, align: 64, encoding: DW_ATE_float) !12 = !{!13} @@ -99,16 +99,16 @@ attributes #3 = { noreturn nounwind } !15 = distinct !DISubprogram(name: "fn3", linkageName: "_Z3fn31A", line: 6, isLocal: false, isDefinition: true, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 6, file: !5, scope: !16, type: !17, variables: !19) !16 = !DIFile(filename: "test.cpp", directory: "") !17 = !DISubroutineType(types: !18) -!18 = !{null, !"_ZTS1A"} +!18 = !{null, !4} !19 = !{!20} -!20 = !DILocalVariable(name: "p1", line: 6, arg: 1, scope: !15, file: !16, type: !"_ZTS1A") +!20 = !DILocalVariable(name: "p1", line: 6, arg: 1, scope: !15, file: !16, type: !4) !21 = distinct !DISubprogram(name: "fn4", linkageName: "_Z3fn4v", line: 11, isLocal: false, isDefinition: true, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 11, file: !5, scope: !16, type: !22, variables: !2) !22 = !DISubroutineType(types: !23) !23 = !{null} !24 = distinct !DISubprogram(name: "fn5", linkageName: "_Z3fn5v", line: 13, isLocal: false, isDefinition: true, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 13, file: !5, scope: !16, type: !22, variables: !2) !25 = !{!26, !27} -!26 = !DIGlobalVariable(name: "a", line: 4, isLocal: false, isDefinition: true, scope: null, file: !16, type: !"_ZTS1A", variable: %struct.A* @a) -!27 = !DIGlobalVariable(name: "b", line: 4, isLocal: false, isDefinition: true, scope: null, file: !16, type: !"_ZTS1A", variable: %struct.A* @b) +!26 = !DIGlobalVariable(name: "a", line: 4, isLocal: false, isDefinition: true, scope: null, file: !16, type: !4, variable: %struct.A* @a) +!27 = !DIGlobalVariable(name: "b", line: 4, isLocal: false, isDefinition: true, scope: null, file: !16, type: !4, variable: %struct.A* @b) !28 = !{i32 2, !"Dwarf Version", i32 4} !29 = !{i32 2, !"Debug Info Version", i32 3} !30 = !{!"clang version 3.7.0 (trunk 227480) (llvm/trunk 227517)"} @@ -117,7 +117,7 @@ attributes #3 = { noreturn nounwind } !33 = !DILocation(line: 7, scope: !34) !34 = distinct !DILexicalBlock(line: 7, column: 0, file: !5, scope: !15) !35 = !{!36, !37, i64 0} -!36 = !{!"_ZTS1A", !37, i64 0, !38, i64 8} +!36 = !{!4, !37, i64 0, !38, i64 8} !37 = !{!"int", !38, i64 0} !38 = !{!"omnipotent char", !39, i64 0} !39 = !{!"Simple C/C++ TBAA"} @@ -127,7 +127,7 @@ attributes #3 = { noreturn nounwind } !43 = !{!37, !37, i64 0} !44 = !{!38, !38, i64 0} !45 = !DILocation(line: 9, scope: !15) -!46 = !DILocalVariable(name: "p1", line: 6, arg: 1, scope: !15, file: !16, type: !"_ZTS1A") +!46 = !DILocalVariable(name: "p1", line: 6, arg: 1, scope: !15, file: !16, type: !4) !47 = distinct !DILocation(line: 11, scope: !21) !48 = !DIExpression(DW_OP_bit_piece, 32, 160) !49 = !DILocation(line: 6, scope: !15, inlinedAt: !47) diff --git a/llvm/test/Transforms/SafeStack/debug-loc.ll b/llvm/test/Transforms/SafeStack/debug-loc.ll index 42aacf0ace9..fc0b6f911f7 100644 --- a/llvm/test/Transforms/SafeStack/debug-loc.ll +++ b/llvm/test/Transforms/SafeStack/debug-loc.ll @@ -61,21 +61,21 @@ attributes #2 = { "disable-tail-calls"="false" "less-precise-fpmad"="false" "no- !3 = !{!4} !4 = !DICompositeType(tag: DW_TAG_structure_type, name: "S", file: !1, line: 4, size: 800, align: 8, elements: !5, identifier: "_ZTS1S") !5 = !{!6} -!6 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !"_ZTS1S", file: !1, line: 5, baseType: !7, size: 800, align: 8) +!6 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !4, file: !1, line: 5, baseType: !7, size: 800, align: 8) !7 = !DICompositeType(tag: DW_TAG_array_type, baseType: !8, size: 800, align: 8, elements: !9) !8 = !DIBasicType(name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char) !9 = !{!10} !10 = !DISubrange(count: 100) !12 = distinct !DISubprogram(name: "f", linkageName: "_Z1f1S", scope: !1, file: !1, line: 10, type: !13, isLocal: false, isDefinition: true, scopeLine: 10, flags: DIFlagPrototyped, isOptimized: false, unit: !0, variables: !2) !13 = !DISubroutineType(types: !14) -!14 = !{null, !"_ZTS1S"} +!14 = !{null, !4} !15 = !{i32 2, !"Dwarf Version", i32 4} !16 = !{i32 2, !"Debug Info Version", i32 3} !17 = !{!"clang version 3.8.0 (trunk 254019) (llvm/trunk 254036)"} -!18 = !DILocalVariable(name: "zzz", arg: 1, scope: !12, file: !1, line: 10, type: !"_ZTS1S") +!18 = !DILocalVariable(name: "zzz", arg: 1, scope: !12, file: !1, line: 10, type: !4) !19 = !DIExpression() !20 = !DILocation(line: 10, column: 10, scope: !12) -!21 = !DILocalVariable(name: "xxx", scope: !12, file: !1, line: 11, type: !"_ZTS1S") +!21 = !DILocalVariable(name: "xxx", scope: !12, file: !1, line: 11, type: !4) !22 = !DILocation(line: 11, column: 5, scope: !12) !23 = !DILocation(line: 12, column: 3, scope: !12) !24 = !DILocation(line: 13, column: 3, scope: !12) diff --git a/llvm/test/Transforms/Util/split-bit-piece.ll b/llvm/test/Transforms/Util/split-bit-piece.ll index 08bb52302a4..9343214cd99 100644 --- a/llvm/test/Transforms/Util/split-bit-piece.ll +++ b/llvm/test/Transforms/Util/split-bit-piece.ll @@ -40,6 +40,6 @@ attributes #0 = { nounwind readnone } !8 = !{!"clang version 3.8.0 (trunk 256979) (llvm/trunk 257107)"} !9 = !DILocalVariable(name: "v1", scope: !10, file: !4, line: 136, type: !5) !10 = distinct !DILexicalBlock(scope: !11, file: !4, line: 136, column: 5) -!11 = distinct !DISubprogram(name: "SetHistorySize", linkageName: "_ZN6__tsan9FastState14SetHistorySizeEi", scope: !"_ZTSN6__tsan9FastStateE", file: !4, line: 135, isLocal: false, isDefinition: true, scopeLine: 135, flags: DIFlagPrototyped, isOptimized: false, unit: !0) +!11 = distinct !DISubprogram(name: "SetHistorySize", linkageName: "_ZN6__tsan9FastState14SetHistorySizeEi", scope: !3, file: !4, line: 135, isLocal: false, isDefinition: true, scopeLine: 135, flags: DIFlagPrototyped, isOptimized: false, unit: !0) !12 = !DIExpression() !13 = !DILocation(line: 136, column: 5, scope: !10) |

