In CodeGenPrepare's debug output, use WriteAsOperand instead of
authorDan Gohman <gohman@apple.com>
Fri, 13 Feb 2009 17:45:12 +0000 (17:45 +0000)
committerDan Gohman <gohman@apple.com>
Fri, 13 Feb 2009 17:45:12 +0000 (17:45 +0000)
printing getName(), so that unnamed values are printed correctly.

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

lib/Transforms/Scalar/CodeGenPrepare.cpp

index 12c76e852514b6f7c4513951b0093bab480a07e8..f2288dae3bf5d6eeba27d7c938ef9c36f0a110c5 100644 (file)
@@ -29,6 +29,7 @@
 #include "llvm/Transforms/Utils/Local.h"
 #include "llvm/ADT/DenseMap.h"
 #include "llvm/ADT/SmallSet.h"
+#include "llvm/Assembly/Writer.h"
 #include "llvm/Support/CallSite.h"
 #include "llvm/Support/CommandLine.h"
 #include "llvm/Support/Compiler.h"
@@ -574,19 +575,28 @@ static inline OStream &operator<<(OStream &OS, const ExtAddrMode &AM) {
 void ExtAddrMode::print(OStream &OS) const {
   bool NeedPlus = false;
   OS << "[";
-  if (BaseGV)
+  if (BaseGV) {
     OS << (NeedPlus ? " + " : "")
-       << "GV:%" << BaseGV->getName(), NeedPlus = true;
+       << "GV:";
+    WriteAsOperand(*OS.stream(), BaseGV, /*PrintType=*/false);
+    NeedPlus = true;
+  }
 
   if (BaseOffs)
     OS << (NeedPlus ? " + " : "") << BaseOffs, NeedPlus = true;
 
-  if (BaseReg)
+  if (BaseReg) {
     OS << (NeedPlus ? " + " : "")
-       << "Base:%" << BaseReg->getName(), NeedPlus = true;
-  if (Scale)
+       << "Base:";
+    WriteAsOperand(*OS.stream(), BaseReg, /*PrintType=*/false);
+    NeedPlus = true;
+  }
+  if (Scale) {
     OS << (NeedPlus ? " + " : "")
-       << Scale << "*%" << ScaledReg->getName(), NeedPlus = true;
+       << Scale << "*";
+    WriteAsOperand(*OS.stream(), ScaledReg, /*PrintType=*/false);
+    NeedPlus = true;
+  }
 
   OS << ']';
 }