[llvm] 6ca2a9f - [CodeGen] Use Register in SDep interface. NFC (#129734)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 4 12:26:32 PST 2025
Author: Craig Topper
Date: 2025-03-04T12:26:28-08:00
New Revision: 6ca2a9f2df281354b74bdd80b1600140243d9220
URL: https://github.com/llvm/llvm-project/commit/6ca2a9f2df281354b74bdd80b1600140243d9220
DIFF: https://github.com/llvm/llvm-project/commit/6ca2a9f2df281354b74bdd80b1600140243d9220.diff
LOG: [CodeGen] Use Register in SDep interface. NFC (#129734)
Added:
Modified:
llvm/include/llvm/CodeGen/ScheduleDAG.h
llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
llvm/lib/CodeGen/MachineScheduler.cpp
Removed:
################################################################################
diff --git a/llvm/include/llvm/CodeGen/ScheduleDAG.h b/llvm/include/llvm/CodeGen/ScheduleDAG.h
index 54e65335edf3a..1c8d92d149adc 100644
--- a/llvm/include/llvm/CodeGen/ScheduleDAG.h
+++ b/llvm/include/llvm/CodeGen/ScheduleDAG.h
@@ -101,20 +101,18 @@ class TargetRegisterInfo;
SDep() : Dep(nullptr, Data) {}
/// Constructs an SDep with the specified values.
- SDep(SUnit *S, Kind kind, unsigned Reg)
- : Dep(S, kind), Contents() {
+ SDep(SUnit *S, Kind kind, Register Reg) : Dep(S, kind), Contents() {
switch (kind) {
default:
llvm_unreachable("Reg given for non-register dependence!");
case Anti:
case Output:
- assert(Reg != 0 &&
- "SDep::Anti and SDep::Output must use a non-zero Reg!");
- Contents.Reg = Reg;
+ assert(Reg && "SDep::Anti and SDep::Output must use a non-zero Reg!");
+ Contents.Reg = Reg.id();
Latency = 0;
break;
case Data:
- Contents.Reg = Reg;
+ Contents.Reg = Reg.id();
Latency = 1;
break;
}
@@ -208,14 +206,12 @@ class TargetRegisterInfo;
}
/// Tests if this is a Data dependence that is associated with a register.
- bool isAssignedRegDep() const {
- return getKind() == Data && Contents.Reg != 0;
- }
+ bool isAssignedRegDep() const { return getKind() == Data && Contents.Reg; }
/// Returns the register associated with this edge. This is only valid on
/// Data, Anti, and Output edges. On Data edges, this value may be zero,
/// meaning there is no associated register.
- unsigned getReg() const {
+ Register getReg() const {
assert((getKind() == Data || getKind() == Anti || getKind() == Output) &&
"getReg called on non-register dependence edge!");
return Contents.Reg;
@@ -225,14 +221,14 @@ class TargetRegisterInfo;
/// Data, Anti, and Output edges. On Anti and Output edges, this value must
/// not be zero. On Data edges, the value may be zero, which would mean that
/// no specific register is associated with this edge.
- void setReg(unsigned Reg) {
+ void setReg(Register Reg) {
assert((getKind() == Data || getKind() == Anti || getKind() == Output) &&
"setReg called on non-register dependence edge!");
- assert((getKind() != Anti || Reg != 0) &&
+ assert((getKind() != Anti || Reg) &&
"SDep::Anti edge cannot use the zero register!");
- assert((getKind() != Output || Reg != 0) &&
+ assert((getKind() != Output || Reg) &&
"SDep::Output edge cannot use the zero register!");
- Contents.Reg = Reg;
+ Contents.Reg = Reg.id();
}
void dump(const TargetRegisterInfo *TRI = nullptr) const;
diff --git a/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp b/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
index 73200e705f213..72bcd5874ff83 100644
--- a/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
+++ b/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
@@ -829,7 +829,7 @@ unsigned AggressiveAntiDepBreaker::BreakAntiDependencies(
if ((Edge->getKind() != SDep::Anti) &&
(Edge->getKind() != SDep::Output)) continue;
- MCRegister AntiDepReg = MCRegister::from(Edge->getReg());
+ MCRegister AntiDepReg = Edge->getReg().asMCReg();
LLVM_DEBUG(dbgs() << "\tAntidep reg: " << printReg(AntiDepReg, TRI));
assert(AntiDepReg && "Anti-dependence on reg0?");
diff --git a/llvm/lib/CodeGen/MachineScheduler.cpp b/llvm/lib/CodeGen/MachineScheduler.cpp
index 2a790a2c7c163..0eecceea3dd1e 100644
--- a/llvm/lib/CodeGen/MachineScheduler.cpp
+++ b/llvm/lib/CodeGen/MachineScheduler.cpp
@@ -3968,8 +3968,7 @@ void GenericScheduler::reschedulePhysReg(SUnit *SU, bool isTop) {
// Find already scheduled copies with a single physreg dependence and move
// them just above the scheduled instruction.
for (SDep &Dep : Deps) {
- if (Dep.getKind() != SDep::Data ||
- !Register::isPhysicalRegister(Dep.getReg()))
+ if (Dep.getKind() != SDep::Data || !Dep.getReg().isPhysical())
continue;
SUnit *DepSU = Dep.getSUnit();
if (isTop ? DepSU->Succs.size() > 1 : DepSU->Preds.size() > 1)
More information about the llvm-commits
mailing list