Use an AssemblyAnnotatorWriter to clean up IVUsers' debug output.
authorDan Gohman <gohman@apple.com>
Wed, 10 Feb 2010 20:42:37 +0000 (20:42 +0000)
committerDan Gohman <gohman@apple.com>
Wed, 10 Feb 2010 20:42:37 +0000 (20:42 +0000)
The "uses=" comments are just clutter in this context.

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

lib/Analysis/IVUsers.cpp

index 9c472ae73bc13fbe097cd6f3f5f889e32e969c21..d3dcab0052b612c5fa8401af76147d89e4986cdd 100644 (file)
@@ -21,6 +21,7 @@
 #include "llvm/Analysis/Dominators.h"
 #include "llvm/Analysis/LoopPass.h"
 #include "llvm/Analysis/ScalarEvolutionExpressions.h"
+#include "llvm/Assembly/AsmAnnotationWriter.h"
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/Support/Debug.h"
 #include "llvm/Support/raw_ostream.h"
@@ -340,6 +341,13 @@ const SCEV *IVUsers::getCanonicalExpr(const IVStrideUse &U) const {
   return RetVal;
 }
 
+namespace {
+
+// Suppress extraneous comments.
+class IVUsersAsmAnnotator : public AssemblyAnnotationWriter {};
+
+}
+
 void IVUsers::print(raw_ostream &OS, const Module *M) const {
   OS << "IV Users for loop ";
   WriteAsOperand(OS, L->getHeader(), false);
@@ -349,6 +357,7 @@ void IVUsers::print(raw_ostream &OS, const Module *M) const {
   }
   OS << ":\n";
 
+  IVUsersAsmAnnotator Annotator;
   for (unsigned Stride = 0, e = StrideOrder.size(); Stride != e; ++Stride) {
     std::map<const SCEV *, IVUsersOfOneStride*>::const_iterator SI =
       IVUsesByStride.find(StrideOrder[Stride]);
@@ -364,7 +373,7 @@ void IVUsers::print(raw_ostream &OS, const Module *M) const {
       if (UI->isUseOfPostIncrementedValue())
         OS << " (post-inc)";
       OS << " in ";
-      UI->getUser()->print(OS);
+      UI->getUser()->print(OS, &Annotator);
       OS << '\n';
     }
   }