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/SafeStack | |
| 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/SafeStack')
| -rw-r--r-- | llvm/test/Transforms/SafeStack/debug-loc.ll | 8 |
1 files changed, 4 insertions, 4 deletions
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) |

