[CodeGen] Do not pass MF into MachineRegisterInfo methods. NFC. (#84770)

MachineRegisterInfo already knows the MF so there is no need to pass it
in as an argument.
This commit is contained in:
Jay Foad 2024-03-11 15:35:05 +00:00 committed by GitHub
parent cd5504637b
commit 63a5dc4aed
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
12 changed files with 22 additions and 26 deletions

View File

@ -244,14 +244,13 @@ public:
bool isUpdatedCSRsInitialized() const { return IsUpdatedCSRsInitialized; }
/// Returns true if a register can be used as an argument to a function.
bool isArgumentRegister(const MachineFunction &MF, MCRegister Reg) const;
bool isArgumentRegister(MCRegister Reg) const;
/// Returns true if a register is a fixed register.
bool isFixedRegister(const MachineFunction &MF, MCRegister Reg) const;
bool isFixedRegister(MCRegister Reg) const;
/// Returns true if a register is a general purpose register.
bool isGeneralPurposeRegister(const MachineFunction &MF,
MCRegister Reg) const;
bool isGeneralPurposeRegister(MCRegister Reg) const;
/// Disables the register from the list of CSRs.
/// I.e. the register will not appear as part of the CSR mask.
@ -930,7 +929,7 @@ public:
/// freezeReservedRegs - Called by the register allocator to freeze the set
/// of reserved registers before allocation begins.
void freezeReservedRegs(const MachineFunction&);
void freezeReservedRegs();
/// reserveReg -- Mark a register as reserved so checks like isAllocatable
/// will not suggest using it. This should not be used during the middle

View File

@ -574,7 +574,7 @@ MIRParserImpl::initializeMachineFunction(const yaml::MachineFunction &YamlMF,
// FIXME: This is a temporary workaround until the reserved registers can be
// serialized.
MachineRegisterInfo &MRI = MF.getRegInfo();
MRI.freezeReservedRegs(MF);
MRI.freezeReservedRegs();
computeFunctionProperties(MF);

View File

@ -759,7 +759,7 @@ MachineFunction *MachineOutliner::createOutlinedFunction(
MF.getProperties().set(MachineFunctionProperties::Property::NoPHIs);
MF.getProperties().set(MachineFunctionProperties::Property::NoVRegs);
MF.getProperties().set(MachineFunctionProperties::Property::TracksLiveness);
MF.getRegInfo().freezeReservedRegs(MF);
MF.getRegInfo().freezeReservedRegs();
// Compute live-in set for outlined fn
const MachineRegisterInfo &MRI = MF.getRegInfo();

View File

@ -517,8 +517,8 @@ LLVM_DUMP_METHOD void MachineRegisterInfo::dumpUses(Register Reg) const {
}
#endif
void MachineRegisterInfo::freezeReservedRegs(const MachineFunction &MF) {
ReservedRegs = getTargetRegisterInfo()->getReservedRegs(MF);
void MachineRegisterInfo::freezeReservedRegs() {
ReservedRegs = getTargetRegisterInfo()->getReservedRegs(*MF);
assert(ReservedRegs.size() == getTargetRegisterInfo()->getNumRegs() &&
"Invalid ReservedRegs vector from target");
}
@ -660,17 +660,14 @@ bool MachineRegisterInfo::isReservedRegUnit(unsigned Unit) const {
return false;
}
bool MachineRegisterInfo::isArgumentRegister(const MachineFunction &MF,
MCRegister Reg) const {
return getTargetRegisterInfo()->isArgumentRegister(MF, Reg);
bool MachineRegisterInfo::isArgumentRegister(MCRegister Reg) const {
return getTargetRegisterInfo()->isArgumentRegister(*MF, Reg);
}
bool MachineRegisterInfo::isFixedRegister(const MachineFunction &MF,
MCRegister Reg) const {
return getTargetRegisterInfo()->isFixedRegister(MF, Reg);
bool MachineRegisterInfo::isFixedRegister(MCRegister Reg) const {
return getTargetRegisterInfo()->isFixedRegister(*MF, Reg);
}
bool MachineRegisterInfo::isGeneralPurposeRegister(const MachineFunction &MF,
MCRegister Reg) const {
return getTargetRegisterInfo()->isGeneralPurposeRegister(MF, Reg);
bool MachineRegisterInfo::isGeneralPurposeRegister(MCRegister Reg) const {
return getTargetRegisterInfo()->isGeneralPurposeRegister(*MF, Reg);
}

View File

@ -61,7 +61,7 @@ void RegAllocBase::init(VirtRegMap &vrm, LiveIntervals &lis,
VRM = &vrm;
LIS = &lis;
Matrix = &mat;
MRI->freezeReservedRegs(vrm.getMachineFunction());
MRI->freezeReservedRegs();
RegClassInfo.runOnMachineFunction(vrm.getMachineFunction());
}

View File

@ -1740,7 +1740,7 @@ bool RegAllocFast::runOnMachineFunction(MachineFunction &MF) {
TRI = STI.getRegisterInfo();
TII = STI.getInstrInfo();
MFI = &MF.getFrameInfo();
MRI->freezeReservedRegs(MF);
MRI->freezeReservedRegs();
RegClassInfo.runOnMachineFunction(MF);
unsigned NumRegUnits = TRI->getNumRegUnits();
UsedInInstr.clear();

View File

@ -809,7 +809,7 @@ bool RegAllocPBQP::runOnMachineFunction(MachineFunction &MF) {
std::unique_ptr<Spiller> VRegSpiller(
createInlineSpiller(*this, MF, VRM, DefaultVRAI));
MF.getRegInfo().freezeReservedRegs(MF);
MF.getRegInfo().freezeReservedRegs();
LLVM_DEBUG(dbgs() << "PBQP Register Allocating for " << MF.getName() << "\n");

View File

@ -2336,7 +2336,7 @@ bool TargetLoweringBase::isLoadBitCastBeneficial(
}
void TargetLoweringBase::finalizeLowering(MachineFunction &MF) const {
MF.getRegInfo().freezeReservedRegs(MF);
MF.getRegInfo().freezeReservedRegs();
}
MachineMemOperand::Flags TargetLoweringBase::getLoadMemOperandFlags(

View File

@ -183,7 +183,7 @@ static MachineFunction &createFrameHelperMachineFunction(Module *M,
MF.getProperties().reset(MachineFunctionProperties::Property::TracksLiveness);
MF.getProperties().reset(MachineFunctionProperties::Property::IsSSA);
MF.getProperties().set(MachineFunctionProperties::Property::NoVRegs);
MF.getRegInfo().freezeReservedRegs(MF);
MF.getRegInfo().freezeReservedRegs();
// Create entry block.
BasicBlock *EntryBB = BasicBlock::Create(C, "entry", F);

View File

@ -156,7 +156,7 @@ void SIPreAllocateWWMRegs::rewriteRegs(MachineFunction &MF) {
RegsToRewrite.clear();
// Update the set of reserved registers to include WWM ones.
MRI->freezeReservedRegs(MF);
MRI->freezeReservedRegs();
}
#ifndef NDEBUG

View File

@ -305,7 +305,7 @@ Error assembleToStream(const ExegesisTarget &ET,
// prologue/epilogue pass needs the reserved registers to be frozen, this
// is usually done by the SelectionDAGISel pass.
MF.getRegInfo().freezeReservedRegs(MF);
MF.getRegInfo().freezeReservedRegs();
// We create the pass manager, run the passes to populate AsmBuffer.
MCContext &MCContext = MMIWP->getMMI().getContext();

View File

@ -414,7 +414,7 @@ static std::unique_ptr<MachineFunction> cloneMF(MachineFunction *SrcMF,
if (!DstMF->cloneInfoFrom(*SrcMF, Src2DstMBB))
report_fatal_error("target does not implement MachineFunctionInfo cloning");
DstMRI->freezeReservedRegs(*DstMF);
DstMRI->freezeReservedRegs();
DstMF->verify(nullptr, "", /*AbortOnError=*/true);
return DstMF;