mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-26 12:20:42 +00:00
Replace TargetRegisterInfo::printReg with a PrintReg class that also works without a TRI instance.
Print virtual registers numbered from 0 instead of the arbitrary FirstVirtualRegister. The first virtual register is printed as %vreg0. TRI::NoRegister is printed as %noreg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123107 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -262,8 +262,8 @@ void RAFast::spillVirtReg(MachineBasicBlock::iterator MI,
|
||||
// instruction, not on the spill.
|
||||
bool SpillKill = LR.LastUse != MI;
|
||||
LR.Dirty = false;
|
||||
DEBUG(dbgs() << "Spilling %reg" << LRI->first
|
||||
<< " in " << TRI->getName(LR.PhysReg));
|
||||
DEBUG(dbgs() << "Spilling " << PrintReg(LRI->first, TRI)
|
||||
<< " in " << PrintReg(LR.PhysReg, TRI));
|
||||
const TargetRegisterClass *RC = MRI->getRegClass(LRI->first);
|
||||
int FI = getStackSpaceFor(LRI->first, RC);
|
||||
DEBUG(dbgs() << " to stack slot #" << FI << "\n");
|
||||
@@ -461,8 +461,8 @@ unsigned RAFast::calcSpillCost(unsigned PhysReg) const {
|
||||
/// register must not be used for anything else when this is called.
|
||||
///
|
||||
void RAFast::assignVirtToPhysReg(LiveRegEntry &LRE, unsigned PhysReg) {
|
||||
DEBUG(dbgs() << "Assigning %reg" << LRE.first << " to "
|
||||
<< TRI->getName(PhysReg) << "\n");
|
||||
DEBUG(dbgs() << "Assigning " << PrintReg(LRE.first, TRI) << " to "
|
||||
<< PrintReg(PhysReg, TRI) << "\n");
|
||||
PhysRegState[PhysReg] = LRE.first;
|
||||
assert(!LRE.second.PhysReg && "Already assigned a physreg");
|
||||
LRE.second.PhysReg = PhysReg;
|
||||
@@ -506,8 +506,8 @@ void RAFast::allocVirtReg(MachineInstr *MI, LiveRegEntry &LRE, unsigned Hint) {
|
||||
return assignVirtToPhysReg(LRE, PhysReg);
|
||||
}
|
||||
|
||||
DEBUG(dbgs() << "Allocating %reg" << VirtReg << " from " << RC->getName()
|
||||
<< "\n");
|
||||
DEBUG(dbgs() << "Allocating " << PrintReg(VirtReg) << " from "
|
||||
<< RC->getName() << "\n");
|
||||
|
||||
unsigned BestReg = 0, BestCost = spillImpossible;
|
||||
for (TargetRegisterClass::iterator I = AOB; I != AOE; ++I) {
|
||||
@@ -587,8 +587,8 @@ RAFast::reloadVirtReg(MachineInstr *MI, unsigned OpNum,
|
||||
allocVirtReg(MI, *LRI, Hint);
|
||||
const TargetRegisterClass *RC = MRI->getRegClass(VirtReg);
|
||||
int FrameIndex = getStackSpaceFor(VirtReg, RC);
|
||||
DEBUG(dbgs() << "Reloading %reg" << VirtReg << " into "
|
||||
<< TRI->getName(LR.PhysReg) << "\n");
|
||||
DEBUG(dbgs() << "Reloading " << PrintReg(VirtReg, TRI) << " into "
|
||||
<< PrintReg(LR.PhysReg, TRI) << "\n");
|
||||
TII->loadRegFromStackSlot(*MBB, MI, LR.PhysReg, FrameIndex, RC, TRI);
|
||||
++NumLoads;
|
||||
} else if (LR.Dirty) {
|
||||
@@ -660,7 +660,7 @@ void RAFast::handleThroughOperands(MachineInstr *MI,
|
||||
if (MO.isEarlyClobber() || MI->isRegTiedToDefOperand(i) ||
|
||||
(MO.getSubReg() && MI->readsVirtualRegister(Reg))) {
|
||||
if (ThroughRegs.insert(Reg))
|
||||
DEBUG(dbgs() << " %reg" << Reg);
|
||||
DEBUG(dbgs() << ' ' << PrintReg(Reg));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -764,7 +764,7 @@ void RAFast::AllocateBasicBlock() {
|
||||
dbgs() << "*";
|
||||
break;
|
||||
default:
|
||||
dbgs() << "=%reg" << PhysRegState[Reg];
|
||||
dbgs() << '=' << PrintReg(PhysRegState[Reg]);
|
||||
if (LiveVirtRegs[PhysRegState[Reg]].Dirty)
|
||||
dbgs() << "*";
|
||||
assert(LiveVirtRegs[PhysRegState[Reg]].PhysReg == Reg &&
|
||||
|
||||
Reference in New Issue
Block a user