Dump routine now writes out allocated register numbers if available.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3737 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/MachineInstr.cpp b/lib/CodeGen/MachineInstr.cpp
index d3608c1..e12922e 100644
--- a/lib/CodeGen/MachineInstr.cpp
+++ b/lib/CodeGen/MachineInstr.cpp
@@ -112,8 +112,8 @@
   cerr << "  " << *this;
 }
 
-static inline std::ostream &OutputValue(std::ostream &os,
-                                        const Value* val)
+static inline std::ostream&
+OutputValue(std::ostream &os, const Value* val)
 {
   os << "(val ";
   if (val && val->hasName())
@@ -122,6 +122,12 @@
     return os << (void*) val << ")";              // print address only
 }
 
+static inline std::ostream&
+OutputReg(std::ostream &os, unsigned int regNum)
+{
+  return os << "%mreg(" << regNum << ")";
+}
+
 std::ostream &operator<<(std::ostream& os, const MachineInstr& minstr)
 {
   os << TargetInstrDescriptors[minstr.opCode].opCodeString;
@@ -165,14 +171,17 @@
     case MachineOperand::MO_VirtualRegister:
       os << "%reg";
       OutputValue(os, mop.getVRegValue());
+      if (mop.hasAllocatedReg())
+        os << "==" << OutputReg(os, mop.getAllocatedRegNum());
       break;
     case MachineOperand::MO_CCRegister:
       os << "%ccreg";
       OutputValue(os, mop.getVRegValue());
+      if (mop.hasAllocatedReg())
+        os << "==" << OutputReg(os, mop.getAllocatedRegNum());
       break;
     case MachineOperand::MO_MachineRegister:
-      os << "%reg";
-      os << "(" << mop.getMachineRegNum() << ")";
+      OutputReg(os, mop.getMachineRegNum());
       break;
     case MachineOperand::MO_SignExtendedImmed:
       os << (long)mop.immedVal;