simpilfy some register printing code.
authorChris Lattner <sabre@nondot.org>
Sun, 30 Dec 2007 21:08:36 +0000 (21:08 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 30 Dec 2007 21:08:36 +0000 (21:08 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45458 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/MachineInstr.cpp

index 7e778c6efd7b4b182609927c25734834f26fdfbe..0dfb7c72b3a28cd6e1ccbabc2aac881fe4c3006a 100644 (file)
@@ -267,26 +267,16 @@ void MachineInstr::dump() const {
   cerr << "  " << *this;
 }
 
-static void OutputReg(std::ostream &os, unsigned RegNo,
-                      const MRegisterInfo *MRI = 0) {
-  if (MRegisterInfo::isPhysicalRegister(RegNo)) {
-    if (MRI)
-      os << "%" << MRI->get(RegNo).Name;
-    else
-      os << "%mreg" << RegNo;
-  } else {
-    os << "%reg" << RegNo;
-  }
-}
-
 static void print(const MachineOperand &MO, std::ostream &OS,
                   const TargetMachine *TM) {
-  const MRegisterInfo *MRI = 0;
-  if (TM) MRI = TM->getRegisterInfo();
-
   switch (MO.getType()) {
   case MachineOperand::MO_Register:
-    OutputReg(OS, MO.getReg(), MRI);
+    if (MO.getReg() == 0 || MRegisterInfo::isVirtualRegister(MO.getReg()))
+      OS << "%reg" << MO.getReg();
+    else if (TM)
+      OS << "%" << TM->getRegisterInfo()->get(MO.getReg()).Name;
+    else
+      OS << "%mreg" << MO.getReg();
     if (MO.isDef()) OS << "<d>";
     break;
   case MachineOperand::MO_Immediate: