LLVM 20.0.0git
|
#include "Target/AMDGPU/GCNRegPressure.h"
Public Member Functions | |
GCNUpwardRPTracker (const LiveIntervals &LIS_) | |
void | reset (const MachineRegisterInfo &MRI_, const LiveRegSet &LiveRegs_) |
void | reset (const MachineRegisterInfo &MRI, SlotIndex SI) |
void | reset (const MachineBasicBlock &MBB) |
void | reset (const MachineInstr &MI) |
void | recede (const MachineInstr &MI) |
bool | isValid () const |
const GCNRegPressure & | getMaxPressure () const |
void | resetMaxPressure () |
GCNRegPressure | getMaxPressureAndReset () |
Public Member Functions inherited from llvm::GCNRPTracker | |
const decltype(LiveRegs) & | getLiveRegs () const |
const MachineInstr * | getLastTrackedMI () const |
void | clearMaxPressure () |
GCNRegPressure | getPressure () const |
decltype(LiveRegs) | moveLiveRegs () |
Additional Inherited Members | |
Public Types inherited from llvm::GCNRPTracker | |
using | LiveRegSet = DenseMap< unsigned, LaneBitmask > |
Protected Member Functions inherited from llvm::GCNRPTracker | |
GCNRPTracker (const LiveIntervals &LIS_) | |
void | reset (const MachineInstr &MI, const LiveRegSet *LiveRegsCopy, bool After) |
Protected Attributes inherited from llvm::GCNRPTracker | |
const LiveIntervals & | LIS |
LiveRegSet | LiveRegs |
GCNRegPressure | CurPressure |
GCNRegPressure | MaxPressure |
const MachineInstr * | LastTrackedMI = nullptr |
const MachineRegisterInfo * | MRI = nullptr |
Definition at line 185 of file GCNRegPressure.h.
|
inline |
Definition at line 187 of file GCNRegPressure.h.
|
inline |
Definition at line 215 of file GCNRegPressure.h.
References llvm::GCNRPTracker::MaxPressure.
Referenced by llvm::GCNRegPressurePrinter::runOnMachineFunction().
|
inline |
Definition at line 219 of file GCNRegPressure.h.
References llvm::GCNRPTracker::MaxPressure, and resetMaxPressure().
Referenced by llvm::GCNIterativeScheduler::getRegionPressure().
bool GCNUpwardRPTracker::isValid | ( | ) | const |
Definition at line 551 of file GCNRegPressure.cpp.
References llvm::GCNRPTracker::CurPressure, llvm::dbgs(), llvm::SlotIndex::getBaseIndex(), llvm::LiveIntervals::getInstructionIndex(), llvm::getLiveRegs(), llvm::getRegPressure(), llvm::MachineRegisterInfo::getTargetRegisterInfo(), llvm::isEqual(), llvm::GCNRPTracker::LIS, llvm::GCNRPTracker::LiveRegs, llvm::GCNRPTracker::MRI, llvm::print(), and llvm::reportMismatch().
Referenced by llvm::GCNIterativeScheduler::getRegionPressure().
void GCNUpwardRPTracker::recede | ( | const MachineInstr & | MI | ) |
Definition at line 357 of file GCNRegPressure.cpp.
References assert(), collectVirtualRegUses(), llvm::GCNRPTracker::CurPressure, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::erase(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), getDefRegMask(), llvm::LaneBitmask::getNone(), llvm::getRegPressure(), I, llvm::GCNRegPressure::inc(), llvm::GCNRPTracker::LastTrackedMI, llvm::GCNRPTracker::LIS, llvm::GCNRPTracker::LiveRegs, llvm::max(), llvm::GCNRPTracker::MaxPressure, MI, llvm::GCNRPTracker::MRI, and llvm::LaneBitmask::none().
Referenced by llvm::GCNIterativeScheduler::getRegionPressure(), and llvm::GCNRegPressurePrinter::runOnMachineFunction().
|
inline |
Definition at line 198 of file GCNRegPressure.h.
References llvm::SlotIndexes::getMBBEndIdx(), llvm::LiveIntervals::getSlotIndexes(), llvm::GCNRPTracker::LIS, MBB, and reset().
|
inline |
Definition at line 204 of file GCNRegPressure.h.
References llvm::SlotIndex::getDeadSlot(), llvm::LiveIntervals::getInstructionIndex(), llvm::GCNRPTracker::LIS, MI, and reset().
|
inline |
Definition at line 193 of file GCNRegPressure.h.
References llvm::getLiveRegs(), llvm::GCNRPTracker::LIS, llvm::GCNRPTracker::MRI, and reset().
void GCNUpwardRPTracker::reset | ( | const MachineRegisterInfo & | MRI_, |
const LiveRegSet & | LiveRegs_ | ||
) |
Definition at line 349 of file GCNRegPressure.cpp.
References llvm::GCNRPTracker::CurPressure, llvm::getRegPressure(), llvm::GCNRPTracker::LastTrackedMI, llvm::GCNRPTracker::LiveRegs, llvm::GCNRPTracker::MaxPressure, and llvm::GCNRPTracker::MRI.
Referenced by llvm::GCNIterativeScheduler::getRegionPressure(), reset(), and llvm::GCNRegPressurePrinter::runOnMachineFunction().
|
inline |
Definition at line 217 of file GCNRegPressure.h.
References llvm::GCNRPTracker::CurPressure, and llvm::GCNRPTracker::MaxPressure.
Referenced by getMaxPressureAndReset(), and llvm::GCNRegPressurePrinter::runOnMachineFunction().