From: David Blaikie Date: Sat, 15 Jun 2013 00:33:47 +0000 (+0000) Subject: Debug Info: Don't print the display name and colon prefix for DEBUG_VALUE comments... X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=702ff96ff3157e0761d206cca2dc0a4c3e7c13a9;p=oota-llvm.git Debug Info: Don't print the display name and colon prefix for DEBUG_VALUE comments if the display name is empty git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184026 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp index 69ff3290573..7f4ba7a0d93 100644 --- a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -562,8 +562,11 @@ static bool emitDebugValueComment(const MachineInstr *MI, AsmPrinter &AP) { // cast away const; DIetc do not take const operands for some reason. DIVariable V(const_cast(MI->getOperand(2).getMetadata())); - if (V.getContext().isSubprogram()) - OS << DISubprogram(V.getContext()).getDisplayName() << ":"; + if (V.getContext().isSubprogram()) { + StringRef Name = DISubprogram(V.getContext()).getDisplayName(); + if (!Name.empty()) + OS << Name << ":"; + } OS << V.getName() << " <- "; // Register or immediate value. Register 0 means undef. diff --git a/test/CodeGen/X86/dbg-value-terminator.ll b/test/CodeGen/X86/dbg-value-terminator.ll index ed0b2129a7b..e7c12507d80 100644 --- a/test/CodeGen/X86/dbg-value-terminator.ll +++ b/test/CodeGen/X86/dbg-value-terminator.ll @@ -6,7 +6,7 @@ ; terminator. ; ; CHECK: test: -; CHECK: ##DEBUG_VALUE: :i +; CHECK: ##DEBUG_VALUE: i %a = type { i32, i32 } define hidden fastcc %a* @test() #1 {