Fix this code to use DIScope instead of DICompileUnit, as in r90181.
authorDan Gohman <gohman@apple.com>
Sat, 5 Dec 2009 00:23:29 +0000 (00:23 +0000)
committerDan Gohman <gohman@apple.com>
Sat, 5 Dec 2009 00:23:29 +0000 (00:23 +0000)
Don't print "SrcLine"; just print the filename and line number, which
is obvious enough and more informative.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90631 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/AsmPrinter/AsmPrinter.cpp
test/FrontendC++/2009-07-15-LineNumbers.cpp

index 5e54e6781e6c573bfb3d3391fc056d41f76c7698..a8f164cd9c27325631e0a9fe1fd41137a1604c2b 100644 (file)
@@ -1837,15 +1837,16 @@ void AsmPrinter::EmitComments(const MachineInstr &MI) const {
 
     // Print source line info.
     O.PadToColumn(MAI->getCommentColumn());
-    O << MAI->getCommentString() << " SrcLine ";
-    if (DLT.Scope) {
-      DICompileUnit CU(DLT.Scope);
-      if (!CU.isNull())
-        O << CU.getFilename() << " ";
-    }
-    O << DLT.Line;
+    O << MAI->getCommentString() << ' ';
+    DIScope Scope(DLT.Scope);
+    // Omit the directory, because it's likely to be long and uninteresting.
+    if (!Scope.isNull())
+      O << Scope.getFilename();
+    else
+      O << "<unknown>";
+    O << ':' << DLT.Line;
     if (DLT.Col != 0)
-      O << ":" << DLT.Col;
+      O << ':' << DLT.Col;
     Newline = true;
   }
 
index 5b448eae14bbd6ff65bb4401a5b1cd454bb8b4a7..a8eda77e4a72d70de4d0a2b70fbf89ea55a7ad4b 100644 (file)
@@ -1,7 +1,7 @@
 // This is a regression test on debug info to make sure that we can
 // print line numbers in asm.
 // RUN: %llvmgcc -S -O0 -g %s -o - | \
-// RUN:    llc --disable-fp-elim -O0 -relocation-model=pic | grep {SrcLine 25}
+// RUN:    llc --disable-fp-elim -O0 -relocation-model=pic | grep { 2009-07-15-LineNumbers.cpp:25$}
 
 #include <stdlib.h>