[llvm] [TRI] Remove reserved registers in getRegPressureSetLimit (PR #118787)
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 5 09:40:27 PST 2024
================
@@ -195,40 +195,3 @@ void RegisterClassInfo::compute(const TargetRegisterClass *RC) const {
// RCI is now up-to-date.
RCI.Tag = Tag;
}
-
-/// This is not accurate because two overlapping register sets may have some
-/// nonoverlapping reserved registers. However, computing the allocation order
-/// for all register classes would be too expensive.
-unsigned RegisterClassInfo::computePSetLimit(unsigned Idx) const {
- const TargetRegisterClass *RC = nullptr;
- unsigned NumRCUnits = 0;
- for (const TargetRegisterClass *C : TRI->regclasses()) {
- const int *PSetID = TRI->getRegClassPressureSets(C);
- for (; *PSetID != -1; ++PSetID) {
- if ((unsigned)*PSetID == Idx)
- break;
- }
- if (*PSetID == -1)
- continue;
-
- // Found a register class that counts against this pressure set.
- // For efficiency, only compute the set order for the largest set.
- unsigned NUnits = TRI->getRegClassWeight(C).WeightLimit;
- if (!RC || NUnits > NumRCUnits) {
- RC = C;
- NumRCUnits = NUnits;
- }
- }
- assert(RC && "Failed to find register class");
- compute(RC);
----------------
topperc wrote:
Oh, I see its still called from RegClassInfo::get
https://github.com/llvm/llvm-project/pull/118787
More information about the llvm-commits
mailing list