forked from OSchip/llvm-project
Dump routine now writes out allocated register numbers if available.
llvm-svn: 3737
This commit is contained in:
parent
e567179aaa
commit
751130215f
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue