[llvm] 03cf9ba - [CodeGen] Use MCRegister::id() to avoid implicit conversions to unsigned. NFC (#159965)
via llvm-commits
llvm-commits at lists.llvm.org
Sun Sep 21 23:07:45 PDT 2025
Author: Craig Topper
Date: 2025-09-21T23:07:41-07:00
New Revision: 03cf9ba7e051c8212d931d3125bf46e0d6ca92f4
URL: https://github.com/llvm/llvm-project/commit/03cf9ba7e051c8212d931d3125bf46e0d6ca92f4
DIFF: https://github.com/llvm/llvm-project/commit/03cf9ba7e051c8212d931d3125bf46e0d6ca92f4.diff
LOG: [CodeGen] Use MCRegister::id() to avoid implicit conversions to unsigned. NFC (#159965)
Added:
Modified:
llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp
llvm/lib/CodeGen/ExecutionDomainFix.cpp
Removed:
################################################################################
diff --git a/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp b/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
index e0f80b0a57f2b..6567bd403c857 100644
--- a/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
+++ b/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
@@ -68,7 +68,7 @@ AggressiveAntiDepState::AggressiveAntiDepState(const unsigned TargetRegs,
}
unsigned AggressiveAntiDepState::GetGroup(MCRegister Reg) {
- unsigned Node = GroupNodeIndices[Reg];
+ unsigned Node = GroupNodeIndices[Reg.id()];
while (GroupNodes[Node] != Node)
Node = GroupNodes[Node];
@@ -106,14 +106,14 @@ unsigned AggressiveAntiDepState::LeaveGroup(MCRegister Reg) {
// it.
unsigned idx = GroupNodes.size();
GroupNodes.push_back(idx);
- GroupNodeIndices[Reg] = idx;
+ GroupNodeIndices[Reg.id()] = idx;
return idx;
}
bool AggressiveAntiDepState::IsLive(MCRegister Reg) {
// KillIndex must be defined and DefIndex not defined for a register
// to be live.
- return((KillIndices[Reg] != ~0u) && (DefIndices[Reg] == ~0u));
+ return ((KillIndices[Reg.id()] != ~0u) && (DefIndices[Reg.id()] == ~0u));
}
AggressiveAntiDepBreaker::AggressiveAntiDepBreaker(
@@ -154,10 +154,10 @@ void AggressiveAntiDepBreaker::StartBlock(MachineBasicBlock *BB) {
for (MachineBasicBlock *Succ : BB->successors())
for (const auto &LI : Succ->liveins()) {
for (MCRegAliasIterator AI(LI.PhysReg, TRI, true); AI.isValid(); ++AI) {
- unsigned Reg = *AI;
+ MCRegister Reg = *AI;
State->UnionGroups(Reg, 0);
- KillIndices[Reg] = BB->size();
- DefIndices[Reg] = ~0u;
+ KillIndices[Reg.id()] = BB->size();
+ DefIndices[Reg.id()] = ~0u;
}
}
@@ -174,8 +174,8 @@ void AggressiveAntiDepBreaker::StartBlock(MachineBasicBlock *BB) {
for (MCRegAliasIterator AI(Reg, TRI, true); AI.isValid(); ++AI) {
MCRegister AliasReg = *AI;
State->UnionGroups(AliasReg, 0);
- KillIndices[AliasReg] = BB->size();
- DefIndices[AliasReg] = ~0u;
+ KillIndices[AliasReg.id()] = BB->size();
+ DefIndices[AliasReg.id()] = ~0u;
}
}
}
@@ -307,8 +307,8 @@ void AggressiveAntiDepBreaker::HandleLastUse(MCRegister Reg, unsigned KillIdx,
}
if (!State->IsLive(Reg)) {
- KillIndices[Reg] = KillIdx;
- DefIndices[Reg] = ~0u;
+ KillIndices[Reg.id()] = KillIdx;
+ DefIndices[Reg.id()] = ~0u;
RegRefs.erase(Reg);
State->LeaveGroup(Reg);
LLVM_DEBUG(if (header) {
@@ -651,7 +651,7 @@ bool AggressiveAntiDepBreaker::FindSuitableFreeRegisters(
LLVM_DEBUG(dbgs() << " " << printReg(NewReg, TRI));
// Check if Reg can be renamed to NewReg.
- if (!RenameRegisterMap[Reg].test(NewReg)) {
+ if (!RenameRegisterMap[Reg].test(NewReg.id())) {
LLVM_DEBUG(dbgs() << "(no rename)");
goto next_super_reg;
}
@@ -660,7 +660,8 @@ bool AggressiveAntiDepBreaker::FindSuitableFreeRegisters(
// Regs's kill, it's safe to replace Reg with NewReg. We
// must also check all aliases of NewReg, because we can't define a
// register when any sub or super is already live.
- if (State->IsLive(NewReg) || (KillIndices[Reg] > DefIndices[NewReg])) {
+ if (State->IsLive(NewReg) ||
+ (KillIndices[Reg.id()] > DefIndices[NewReg.id()])) {
LLVM_DEBUG(dbgs() << "(live)");
goto next_super_reg;
} else {
@@ -668,7 +669,7 @@ bool AggressiveAntiDepBreaker::FindSuitableFreeRegisters(
for (MCRegAliasIterator AI(NewReg, TRI, false); AI.isValid(); ++AI) {
MCRegister AliasReg = *AI;
if (State->IsLive(AliasReg) ||
- (KillIndices[Reg] > DefIndices[AliasReg])) {
+ (KillIndices[Reg.id()] > DefIndices[AliasReg.id()])) {
LLVM_DEBUG(dbgs()
<< "(alias " << printReg(AliasReg, TRI) << " live)");
found = true;
@@ -940,15 +941,15 @@ unsigned AggressiveAntiDepBreaker::BreakAntiDependencies(
// the state as if it were dead.
State->UnionGroups(NewReg, 0);
RegRefs.erase(NewReg);
- DefIndices[NewReg] = DefIndices[CurrReg];
- KillIndices[NewReg] = KillIndices[CurrReg];
+ DefIndices[NewReg.id()] = DefIndices[CurrReg.id()];
+ KillIndices[NewReg.id()] = KillIndices[CurrReg.id()];
State->UnionGroups(CurrReg, 0);
RegRefs.erase(CurrReg);
- DefIndices[CurrReg] = KillIndices[CurrReg];
- KillIndices[CurrReg] = ~0u;
- assert(((KillIndices[CurrReg] == ~0u) !=
- (DefIndices[CurrReg] == ~0u)) &&
+ DefIndices[CurrReg.id()] = KillIndices[CurrReg.id()];
+ KillIndices[CurrReg.id()] = ~0u;
+ assert(((KillIndices[CurrReg.id()] == ~0u) !=
+ (DefIndices[CurrReg.id()] == ~0u)) &&
"Kill and Def maps aren't consistent for AntiDepReg!");
}
diff --git a/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp b/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp
index f873616cfedea..86377cff2d29d 100644
--- a/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp
+++ b/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp
@@ -70,7 +70,7 @@ void CriticalAntiDepBreaker::StartBlock(MachineBasicBlock *BB) {
MCRegister Reg = *AI;
Classes[Reg.id()] = reinterpret_cast<TargetRegisterClass *>(-1);
KillIndices[Reg.id()] = BBSize;
- DefIndices[Reg] = ~0u;
+ DefIndices[Reg.id()] = ~0u;
}
}
@@ -412,11 +412,12 @@ MCRegister CriticalAntiDepBreaker::findSuitableFreeRegister(
assert(((KillIndices[AntiDepReg.id()] == ~0u) !=
(DefIndices[AntiDepReg.id()] == ~0u)) &&
"Kill and Def maps aren't consistent for AntiDepReg!");
- assert(((KillIndices[NewReg] == ~0u) != (DefIndices[NewReg] == ~0u))
- && "Kill and Def maps aren't consistent for NewReg!");
- if (KillIndices[NewReg] != ~0u ||
- Classes[NewReg] == reinterpret_cast<TargetRegisterClass *>(-1) ||
- KillIndices[AntiDepReg.id()] > DefIndices[NewReg])
+ assert(((KillIndices[NewReg.id()] == ~0u) !=
+ (DefIndices[NewReg.id()] == ~0u)) &&
+ "Kill and Def maps aren't consistent for NewReg!");
+ if (KillIndices[NewReg.id()] != ~0u ||
+ Classes[NewReg.id()] == reinterpret_cast<TargetRegisterClass *>(-1) ||
+ KillIndices[AntiDepReg.id()] > DefIndices[NewReg.id()])
continue;
// If NewReg overlaps any of the forbidden registers, we can't use it.
bool Forbidden = false;
@@ -641,8 +642,8 @@ BreakAntiDependencies(const std::vector<SUnit> &SUnits,
std::multimap<MCRegister, MachineOperand *>::iterator>
Range = RegRefs.equal_range(AntiDepReg);
if (MCRegister NewReg = findSuitableFreeRegister(
- Range.first, Range.second, AntiDepReg, LastNewReg[AntiDepReg], RC,
- ForbidRegs)) {
+ Range.first, Range.second, AntiDepReg,
+ LastNewReg[AntiDepReg.id()], RC, ForbidRegs)) {
LLVM_DEBUG(dbgs() << "Breaking anti-dependence edge on "
<< printReg(AntiDepReg, TRI) << " with "
<< RegRefs.count(AntiDepReg) << " references"
diff --git a/llvm/lib/CodeGen/ExecutionDomainFix.cpp b/llvm/lib/CodeGen/ExecutionDomainFix.cpp
index 0ce095ab1d804..0b2f47d5adf7b 100644
--- a/llvm/lib/CodeGen/ExecutionDomainFix.cpp
+++ b/llvm/lib/CodeGen/ExecutionDomainFix.cpp
@@ -18,7 +18,7 @@ using namespace llvm;
iterator_range<SmallVectorImpl<int>::const_iterator>
ExecutionDomainFix::regIndices(MCRegister Reg) const {
assert(Reg < AliasMap.size() && "Invalid register");
- const auto &Entry = AliasMap[Reg];
+ const auto &Entry = AliasMap[Reg.id()];
return make_range(Entry.begin(), Entry.end());
}
More information about the llvm-commits
mailing list