|
@@ -49,9 +49,6 @@ void RegScavenger::initRegState() {
|
|
|
// All register units start out unused.
|
|
|
RegUnitsAvailable.set();
|
|
|
|
|
|
- if (!MBB)
|
|
|
- return;
|
|
|
-
|
|
|
// Live-in registers are in use.
|
|
|
for (const auto &LI : MBB->liveins())
|
|
|
setRegUsed(LI.PhysReg, LI.LaneMask);
|
|
@@ -63,8 +60,8 @@ void RegScavenger::initRegState() {
|
|
|
setRegUsed(I);
|
|
|
}
|
|
|
|
|
|
-void RegScavenger::enterBasicBlock(MachineBasicBlock *mbb) {
|
|
|
- MachineFunction &MF = *mbb->getParent();
|
|
|
+void RegScavenger::enterBasicBlock(MachineBasicBlock &MBB) {
|
|
|
+ MachineFunction &MF = *MBB.getParent();
|
|
|
TII = MF.getSubtarget().getInstrInfo();
|
|
|
TRI = MF.getSubtarget().getRegisterInfo();
|
|
|
MRI = &MF.getRegInfo();
|
|
@@ -78,15 +75,15 @@ void RegScavenger::enterBasicBlock(MachineBasicBlock *mbb) {
|
|
|
"Cannot use register scavenger with inaccurate liveness");
|
|
|
|
|
|
// Self-initialize.
|
|
|
- if (!MBB) {
|
|
|
+ if (!this->MBB) {
|
|
|
NumRegUnits = TRI->getNumRegUnits();
|
|
|
RegUnitsAvailable.resize(NumRegUnits);
|
|
|
KillRegUnits.resize(NumRegUnits);
|
|
|
DefRegUnits.resize(NumRegUnits);
|
|
|
TmpRegUnits.resize(NumRegUnits);
|
|
|
}
|
|
|
+ this->MBB = &MBB;
|
|
|
|
|
|
- MBB = mbb;
|
|
|
initRegState();
|
|
|
|
|
|
Tracking = false;
|