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
This commit is contained in:
Vikram S. Adve 2002-09-16 15:18:53 +00:00
parent 1318bed20c
commit 8c6936a58b

View File

@ -112,8 +112,8 @@ MachineInstr::dump() const
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 @@ static inline std::ostream &OutputValue(std::ostream &os,
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 @@ std::ostream &operator<<(std::ostream &os, const MachineOperand &mop)
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;