summaryrefslogtreecommitdiff
path: root/test/CodeGen
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2011-09-21 23:41:11 +0000
committerDevang Patel <dpatel@apple.com>2011-09-21 23:41:11 +0000
commit1dd4e56d5565d59e9d40ad9e088a05e06f4b70f8 (patch)
treee91f78127a280101e7b563c5c5d082e7c12cdb62 /test/CodeGen
parentef01f32d07f4c7ecd9d116be53c5f3de3138f1ae (diff)
downloadllvm-1dd4e56d5565d59e9d40ad9e088a05e06f4b70f8.tar.gz
llvm-1dd4e56d5565d59e9d40ad9e088a05e06f4b70f8.tar.bz2
llvm-1dd4e56d5565d59e9d40ad9e088a05e06f4b70f8.tar.xz
Do not unnecessarily use AT_specification DIE because it does not add any value.
Few weeks ago, llvm completely inverted the debug info graph. Earlier each debug info node used to keep track of its compile unit, now compile unit keeps track of important nodes. One impact of this change is that the global variable's do not have any context, which should be checked before deciding to use AT_specification DIE. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140282 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen')
-rw-r--r--test/CodeGen/X86/dbg-at-specficiation.ll20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/CodeGen/X86/dbg-at-specficiation.ll b/test/CodeGen/X86/dbg-at-specficiation.ll
new file mode 100644
index 0000000000..aa5e6efede
--- /dev/null
+++ b/test/CodeGen/X86/dbg-at-specficiation.ll
@@ -0,0 +1,20 @@
+; RUN: llc < %s | FileCheck %s
+; Radar 10147769
+; Do not unnecessarily use AT_specification DIE.
+; CHECK-NOT: AT_specification
+
+@a = common global [10 x i32] zeroinitializer, align 16
+
+!llvm.dbg.cu = !{!0}
+
+!0 = metadata !{i32 720913, i32 0, i32 12, metadata !"x.c", metadata !"/private/tmp", metadata !"clang version 3.0 (trunk 140253)", i1 true, i1 false, metadata !"", i32 0, metadata !1, metadata !1, metadata !1, metadata !3} ; [ DW_TAG_compile_unit ]
+!1 = metadata !{metadata !2}
+!2 = metadata !{i32 0}
+!3 = metadata !{metadata !4}
+!4 = metadata !{metadata !5}
+!5 = metadata !{i32 720948, i32 0, null, metadata !"a", metadata !"a", metadata !"", metadata !6, i32 1, metadata !7, i32 0, i32 1, [10 x i32]* @a} ; [ DW_TAG_variable ]
+!6 = metadata !{i32 720937, metadata !"x.c", metadata !"/private/tmp", null} ; [ DW_TAG_file_type ]
+!7 = metadata !{i32 720897, null, metadata !"", null, i32 0, i64 320, i64 32, i32 0, i32 0, metadata !8, metadata !9, i32 0, i32 0} ; [ DW_TAG_array_type ]
+!8 = metadata !{i32 720932, null, metadata !"int", null, i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ]
+!9 = metadata !{metadata !10}
+!10 = metadata !{i32 720929, i64 0, i64 9} ; [ DW_TAG_subrange_type ]