[llvm] 2ae9a74 - [CodeGen] Use `TRI::regunits()` (NFC) (#137356)
via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 25 22:49:20 PDT 2025
Author: Sergei Barannikov
Date: 2025-04-26T08:49:17+03:00
New Revision: 2ae9a74bf1421950bd404fec099b1f9998093916
URL: https://github.com/llvm/llvm-project/commit/2ae9a74bf1421950bd404fec099b1f9998093916
DIFF: https://github.com/llvm/llvm-project/commit/2ae9a74bf1421950bd404fec099b1f9998093916.diff
LOG: [CodeGen] Use `TRI::regunits()` (NFC) (#137356)
Added:
Modified:
llvm/include/llvm/CodeGen/RegisterClassInfo.h
llvm/lib/CodeGen/MachineLICM.cpp
Removed:
################################################################################
diff --git a/llvm/include/llvm/CodeGen/RegisterClassInfo.h b/llvm/include/llvm/CodeGen/RegisterClassInfo.h
index 800bebea0dddb..99beae761c40b 100644
--- a/llvm/include/llvm/CodeGen/RegisterClassInfo.h
+++ b/llvm/include/llvm/CodeGen/RegisterClassInfo.h
@@ -117,8 +117,8 @@ class RegisterClassInfo {
/// CalleeSavedAliases.
MCRegister getLastCalleeSavedAlias(MCRegister PhysReg) const {
MCRegister CSR;
- for (MCRegUnitIterator UI(PhysReg, TRI); UI.isValid(); ++UI) {
- CSR = CalleeSavedAliases[*UI];
+ for (MCRegUnit Unit : TRI->regunits(PhysReg)) {
+ CSR = CalleeSavedAliases[Unit];
if (CSR)
break;
}
diff --git a/llvm/lib/CodeGen/MachineLICM.cpp b/llvm/lib/CodeGen/MachineLICM.cpp
index 9ea0e5a88092b..0c6057931d78f 100644
--- a/llvm/lib/CodeGen/MachineLICM.cpp
+++ b/llvm/lib/CodeGen/MachineLICM.cpp
@@ -495,8 +495,8 @@ static void applyBitsNotInRegMaskToRegUnitsMask(const TargetRegisterInfo &TRI,
break;
if (PhysReg && !((Word >> Bit) & 1)) {
- for (MCRegUnitIterator RUI(PhysReg, &TRI); RUI.isValid(); ++RUI)
- RUsFromRegsNotInMask.set(*RUI);
+ for (MCRegUnit Unit : TRI.regunits(PhysReg))
+ RUsFromRegsNotInMask.set(Unit);
}
}
}
@@ -542,10 +542,10 @@ void MachineLICMImpl::ProcessMI(MachineInstr *MI, BitVector &RUDefs,
if (!MO.isDef()) {
if (!HasNonInvariantUse) {
- for (MCRegUnitIterator RUI(Reg, TRI); RUI.isValid(); ++RUI) {
+ for (MCRegUnit Unit : TRI->regunits(Reg)) {
// If it's using a non-loop-invariant register, then it's obviously
// not safe to hoist.
- if (RUDefs.test(*RUI) || RUClobbers.test(*RUI)) {
+ if (RUDefs.test(Unit) || RUClobbers.test(Unit)) {
HasNonInvariantUse = true;
break;
}
@@ -555,8 +555,8 @@ void MachineLICMImpl::ProcessMI(MachineInstr *MI, BitVector &RUDefs,
}
if (MO.isImplicit()) {
- for (MCRegUnitIterator RUI(Reg, TRI); RUI.isValid(); ++RUI)
- RUClobbers.set(*RUI);
+ for (MCRegUnit Unit : TRI->regunits(Reg))
+ RUClobbers.set(Unit);
if (!MO.isDead())
// Non-dead implicit def? This cannot be hoisted.
RuledOut = true;
@@ -575,17 +575,17 @@ void MachineLICMImpl::ProcessMI(MachineInstr *MI, BitVector &RUDefs,
// If we have already seen another instruction that defines the same
// register, then this is not safe. Two defs is indicated by setting a
// PhysRegClobbers bit.
- for (MCRegUnitIterator RUI(Reg, TRI); RUI.isValid(); ++RUI) {
- if (RUDefs.test(*RUI)) {
- RUClobbers.set(*RUI);
+ for (MCRegUnit Unit : TRI->regunits(Reg)) {
+ if (RUDefs.test(Unit)) {
+ RUClobbers.set(Unit);
RuledOut = true;
- } else if (RUClobbers.test(*RUI)) {
+ } else if (RUClobbers.test(Unit)) {
// MI defined register is seen defined by another instruction in
// the loop, it cannot be a LICM candidate.
RuledOut = true;
}
- RUDefs.set(*RUI);
+ RUDefs.set(Unit);
}
}
@@ -625,8 +625,8 @@ void MachineLICMImpl::HoistRegionPostRA(MachineLoop *CurLoop) {
// FIXME: That means a reload that're reused in successor block(s) will not
// be LICM'ed.
for (const auto &LI : BB->liveins()) {
- for (MCRegUnitIterator RUI(LI.PhysReg, TRI); RUI.isValid(); ++RUI)
- RUDefs.set(*RUI);
+ for (MCRegUnit Unit : TRI->regunits(LI.PhysReg))
+ RUDefs.set(Unit);
}
// Funclet entry blocks will clobber all registers
@@ -661,8 +661,8 @@ void MachineLICMImpl::HoistRegionPostRA(MachineLoop *CurLoop) {
Register Reg = MO.getReg();
if (!Reg)
continue;
- for (MCRegUnitIterator RUI(Reg, TRI); RUI.isValid(); ++RUI)
- TermRUs.set(*RUI);
+ for (MCRegUnit Unit : TRI->regunits(Reg))
+ TermRUs.set(Unit);
}
}
@@ -681,8 +681,8 @@ void MachineLICMImpl::HoistRegionPostRA(MachineLoop *CurLoop) {
Register Def = Candidate.Def;
bool Safe = true;
- for (MCRegUnitIterator RUI(Def, TRI); RUI.isValid(); ++RUI) {
- if (RUClobbers.test(*RUI) || TermRUs.test(*RUI)) {
+ for (MCRegUnit Unit : TRI->regunits(Def)) {
+ if (RUClobbers.test(Unit) || TermRUs.test(Unit)) {
Safe = false;
break;
}
@@ -695,8 +695,8 @@ void MachineLICMImpl::HoistRegionPostRA(MachineLoop *CurLoop) {
for (const MachineOperand &MO : MI->all_uses()) {
if (!MO.getReg())
continue;
- for (MCRegUnitIterator RUI(MO.getReg(), TRI); RUI.isValid(); ++RUI) {
- if (RUDefs.test(*RUI) || RUClobbers.test(*RUI)) {
+ for (MCRegUnit Unit : TRI->regunits(MO.getReg())) {
+ if (RUDefs.test(Unit) || RUClobbers.test(Unit)) {
// If it's using a non-loop-invariant register, then it's obviously
// not safe to hoist.
Safe = false;
More information about the llvm-commits
mailing list