eliminate a copy of the machineoperand printing stuff. Keep the copy that
authorChris Lattner <sabre@nondot.org>
Sun, 30 Dec 2007 21:03:30 +0000 (21:03 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 30 Dec 2007 21:03:30 +0000 (21:03 +0000)
knows how to print offsets.

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

lib/CodeGen/MachineInstr.cpp

index 49ceab7041548d31edccbea0da435142f315cabb..7e778c6efd7b4b182609927c25734834f26fdfbe 100644 (file)
@@ -282,7 +282,6 @@ static void OutputReg(std::ostream &os, unsigned 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()) {
@@ -302,7 +301,9 @@ static void print(const MachineOperand &MO, std::ostream &OS,
     OS << "<fi#" << MO.getFrameIndex() << ">";
     break;
   case MachineOperand::MO_ConstantPoolIndex:
-    OS << "<cp#" << MO.getConstantPoolIndex() << ">";
+    OS << "<cp#" << MO.getConstantPoolIndex();
+    if (MO.getOffset()) OS << "+" << MO.getOffset();
+    OS << ">";
     break;
   case MachineOperand::MO_JumpTableIndex:
     OS << "<jt#" << MO.getJumpTableIndex() << ">";
@@ -393,37 +394,6 @@ void MachineInstr::print(std::ostream &os) const {
 }
 
 void MachineOperand::print(std::ostream &OS) const {
-  switch (getType()) {
-  case MO_Register:
-    OutputReg(OS, getReg());
-    if (isDef()) OS << "<d>";
-    break;
-  case MO_Immediate:
-    OS << getImm();
-    break;
-  case MO_MachineBasicBlock:
-    OS << "<mbb:"
-       << ((Value*)getMachineBasicBlock()->getBasicBlock())->getName()
-       << "@" << (void*)getMachineBasicBlock() << ">";
-    break;
-  case MO_FrameIndex:
-    OS << "<fi#" << getFrameIndex() << ">";
-    break;
-  case MO_ConstantPoolIndex:
-    OS << "<cp#" << getConstantPoolIndex() << ">";
-    break;
-  case MO_JumpTableIndex:
-    OS << "<jt#" << getJumpTableIndex() << ">";
-    break;
-  case MO_GlobalAddress:
-    OS << "<ga:" << ((Value*)getGlobal())->getName() << ">";
-    break;
-  case MO_ExternalSymbol:
-    OS << "<es:" << getSymbolName() << ">";
-    break;
-  default:
-    assert(0 && "Unrecognized operand type");
-    break;
-  }
+  ::print(*this, OS, 0);
 }