[llvm-commits] [llvm] r90857 - in /llvm/trunk: lib/CodeGen/AsmPrinter/DwarfDebug.cpp test/DebugInfo/2009-12-08-DeadGV.ll

Devang Patel dpatel at apple.com
Tue Dec 8 07:01:36 PST 2009


Author: dpatel
Date: Tue Dec  8 09:01:35 2009
New Revision: 90857

URL: http://llvm.org/viewvc/llvm-project?rev=90857&view=rev
Log:
Do not try to push dead variable's debug info into namespace info.

Added:
    llvm/trunk/test/DebugInfo/2009-12-08-DeadGV.ll
Modified:
    llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp

Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp?rev=90857&r1=90856&r2=90857&view=diff

==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp Tue Dec  8 09:01:35 2009
@@ -1837,9 +1837,11 @@
       constructGlobalVariableDIE(*I);
     else if (GVContext.isNameSpace()) {
       DIE *GVDie = createGlobalVariableDIE(ModuleCU, GV);
-      DINameSpace NS(GVContext.getNode());
-      DIE *NDie = getOrCreateNameSpace(NS);
-      NDie->addChild(GVDie);
+      if (GVDie) {
+        DINameSpace NS(GVContext.getNode());
+        DIE *NDie = getOrCreateNameSpace(NS);
+        NDie->addChild(GVDie);
+      }
     }
     else 
       ScopedGVs.push_back(*I);

Added: llvm/trunk/test/DebugInfo/2009-12-08-DeadGV.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/2009-12-08-DeadGV.ll?rev=90857&view=auto

==============================================================================
--- llvm/trunk/test/DebugInfo/2009-12-08-DeadGV.ll (added)
+++ llvm/trunk/test/DebugInfo/2009-12-08-DeadGV.ll Tue Dec  8 09:01:35 2009
@@ -0,0 +1,18 @@
+; RUN: llc  %s -o /dev/null
+; PR 5713
+
+define i32 @_Z3foov() nounwind readnone ssp {
+entry:
+  ret i32 0, !dbg !4
+}
+
+!llvm.dbg.gv = !{!0}
+
+!0 = metadata !{i32 458804, i32 0, metadata !1, metadata !"X", metadata !"X", metadata !"_ZN1A1XE", metadata !2, i32 3, metadata !3, i1 false, i1 true, null}; [DW_TAG_variable ]
+!1 = metadata !{i32 458809, metadata !2, metadata !"A", metadata !2, i32 2}; [DW_TAG_namespace ]
+!2 = metadata !{i32 458769, i32 0, i32 4, metadata !"ng.cc", metadata !"/tmp", metadata !"4.2.1 (Based on Apple Inc. build 5653) (LLVM build)", i1 true, i1 true, metadata !"", i32 0}; [DW_TAG_compile_unit ]
+!3 = metadata !{i32 458788, metadata !2, metadata !"int", metadata !2, i32 0, i64 32, i64 32, i64 0, i32 0, i32 5}; [DW_TAG_base_type ]
+!4 = metadata !{i32 7, i32 0, metadata !5, null}
+!5 = metadata !{i32 458798, i32 0, metadata !2, metadata !"foo", metadata !"foo", metadata !"_Z3foov", metadata !2, i32 6, metadata !6, i1 false, i1 true, i32 0, i32 0, null}; [DW_TAG_subprogram ]
+!6 = metadata !{i32 458773, metadata !2, metadata !"", metadata !2, i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !7, i32 0}; [DW_TAG_subroutine_type ]
+!7 = metadata !{metadata !3}





More information about the llvm-commits mailing list