diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2021-02-16 20:13:02 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2021-02-16 20:13:02 +0000 |
| commit | b60736ec1405bb0a8dd40989f67ef4c93da068ab (patch) | |
| tree | 5c43fbb7c9fc45f0f87e0e6795a86267dbd12f9d /llvm/lib/Target/AMDGPU/GCNRegPressure.cpp | |
| parent | cfca06d7963fa0909f90483b42a6d7d194d01e08 (diff) | |
Diffstat (limited to 'llvm/lib/Target/AMDGPU/GCNRegPressure.cpp')
| -rw-r--r-- | llvm/lib/Target/AMDGPU/GCNRegPressure.cpp | 38 |
1 files changed, 9 insertions, 29 deletions
diff --git a/llvm/lib/Target/AMDGPU/GCNRegPressure.cpp b/llvm/lib/Target/AMDGPU/GCNRegPressure.cpp index 86a3cb9af32f..aeec3e886327 100644 --- a/llvm/lib/Target/AMDGPU/GCNRegPressure.cpp +++ b/llvm/lib/Target/AMDGPU/GCNRegPressure.cpp @@ -12,25 +12,7 @@ //===----------------------------------------------------------------------===// #include "GCNRegPressure.h" -#include "AMDGPUSubtarget.h" -#include "SIRegisterInfo.h" -#include "llvm/ADT/SmallVector.h" -#include "llvm/CodeGen/LiveInterval.h" -#include "llvm/CodeGen/LiveIntervals.h" -#include "llvm/CodeGen/MachineInstr.h" -#include "llvm/CodeGen/MachineOperand.h" -#include "llvm/CodeGen/MachineRegisterInfo.h" #include "llvm/CodeGen/RegisterPressure.h" -#include "llvm/CodeGen/SlotIndexes.h" -#include "llvm/CodeGen/TargetRegisterInfo.h" -#include "llvm/Config/llvm-config.h" -#include "llvm/MC/LaneBitmask.h" -#include "llvm/Support/Compiler.h" -#include "llvm/Support/Debug.h" -#include "llvm/Support/ErrorHandling.h" -#include "llvm/Support/raw_ostream.h" -#include <algorithm> -#include <cassert> using namespace llvm; @@ -87,9 +69,9 @@ bool llvm::isEqual(const GCNRPTracker::LiveRegSet &S1, /////////////////////////////////////////////////////////////////////////////// // GCNRegPressure -unsigned GCNRegPressure::getRegKind(unsigned Reg, +unsigned GCNRegPressure::getRegKind(Register Reg, const MachineRegisterInfo &MRI) { - assert(Register::isVirtualRegister(Reg)); + assert(Reg.isVirtual()); const auto RC = MRI.getRegClass(Reg); auto STI = static_cast<const SIRegisterInfo*>(MRI.getTargetRegisterInfo()); return STI->isSGPRClass(RC) ? @@ -199,7 +181,7 @@ void GCNRegPressure::print(raw_ostream &OS, const GCNSubtarget *ST) const { static LaneBitmask getDefRegMask(const MachineOperand &MO, const MachineRegisterInfo &MRI) { - assert(MO.isDef() && MO.isReg() && Register::isVirtualRegister(MO.getReg())); + assert(MO.isDef() && MO.isReg() && MO.getReg().isVirtual()); // We don't rely on read-undef flag because in case of tentative schedule // tracking it isn't set correctly yet. This works correctly however since @@ -212,7 +194,7 @@ static LaneBitmask getDefRegMask(const MachineOperand &MO, static LaneBitmask getUsedRegMask(const MachineOperand &MO, const MachineRegisterInfo &MRI, const LiveIntervals &LIS) { - assert(MO.isUse() && MO.isReg() && Register::isVirtualRegister(MO.getReg())); + assert(MO.isUse() && MO.isReg() && MO.getReg().isVirtual()); if (auto SubReg = MO.getSubReg()) return MRI.getTargetRegisterInfo()->getSubRegIndexLaneMask(SubReg); @@ -233,7 +215,7 @@ collectVirtualRegUses(const MachineInstr &MI, const LiveIntervals &LIS, const MachineRegisterInfo &MRI) { SmallVector<RegisterMaskPair, 8> Res; for (const auto &MO : MI.operands()) { - if (!MO.isReg() || !Register::isVirtualRegister(MO.getReg())) + if (!MO.isReg() || !MO.getReg().isVirtual()) continue; if (!MO.isUse() || !MO.readsReg()) continue; @@ -241,9 +223,8 @@ collectVirtualRegUses(const MachineInstr &MI, const LiveIntervals &LIS, auto const UsedMask = getUsedRegMask(MO, MRI, LIS); auto Reg = MO.getReg(); - auto I = std::find_if(Res.begin(), Res.end(), [Reg](const RegisterMaskPair &RM) { - return RM.RegUnit == Reg; - }); + auto I = llvm::find_if( + Res, [Reg](const RegisterMaskPair &RM) { return RM.RegUnit == Reg; }); if (I != Res.end()) I->LaneMask |= UsedMask; else @@ -330,8 +311,7 @@ void GCNUpwardRPTracker::recede(const MachineInstr &MI) { MaxPressure = max(AtMIPressure, MaxPressure); for (const auto &MO : MI.operands()) { - if (!MO.isReg() || !MO.isDef() || - !Register::isVirtualRegister(MO.getReg()) || MO.isDead()) + if (!MO.isReg() || !MO.isDef() || !MO.getReg().isVirtual() || MO.isDead()) continue; auto Reg = MO.getReg(); @@ -410,7 +390,7 @@ void GCNDownwardRPTracker::advanceToNext() { if (!MO.isReg() || !MO.isDef()) continue; Register Reg = MO.getReg(); - if (!Register::isVirtualRegister(Reg)) + if (!Reg.isVirtual()) continue; auto &LiveMask = LiveRegs[Reg]; auto PrevMask = LiveMask; |
