LLVM 17.0.0git
|
#include "Target/AMDGPU/GCNRegPressure.h"
Public Member Functions | |
GCNUpwardRPTracker (const LiveIntervals &LIS_) | |
void | reset (const MachineInstr &MI, const LiveRegSet *LiveRegs=nullptr) |
void | recede (const MachineInstr &MI) |
bool | isValid () const |
![]() | |
const decltype(LiveRegs) & | getLiveRegs () const |
const MachineInstr * | getLastTrackedMI () const |
void | clearMaxPressure () |
decltype(MaxPressure) | moveMaxPressure () |
decltype(LiveRegs) | moveLiveRegs () |
Additional Inherited Members | |
![]() | |
using | LiveRegSet = DenseMap< unsigned, LaneBitmask > |
![]() | |
GCNRPTracker (const LiveIntervals &LIS_) | |
void | reset (const MachineInstr &MI, const LiveRegSet *LiveRegsCopy, bool After) |
![]() | |
const LiveIntervals & | LIS |
LiveRegSet | LiveRegs |
GCNRegPressure | CurPressure |
GCNRegPressure | MaxPressure |
const MachineInstr * | LastTrackedMI = nullptr |
const MachineRegisterInfo * | MRI = nullptr |
Definition at line 143 of file GCNRegPressure.h.
|
inline |
Definition at line 145 of file GCNRegPressure.h.
bool GCNUpwardRPTracker::isValid | ( | ) | const |
Definition at line 446 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(), llvm::reportMismatch(), and SI.
Referenced by llvm::GCNIterativeScheduler::getRegionPressure().
void GCNUpwardRPTracker::recede | ( | const MachineInstr & | MI | ) |
Definition at line 270 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(), llvm::getRegPressure(), I, llvm::GCNRegPressure::inc(), llvm::GCNRPTracker::LastTrackedMI, llvm::GCNRPTracker::LIS, llvm::GCNRPTracker::LiveRegs, llvm::max(), llvm::GCNRPTracker::MaxPressure, MI, and llvm::GCNRPTracker::MRI.
Referenced by llvm::GCNIterativeScheduler::getRegionPressure().
void GCNUpwardRPTracker::reset | ( | const MachineInstr & | MI, |
const LiveRegSet * | LiveRegs = nullptr |
||
) |
Definition at line 265 of file GCNRegPressure.cpp.
References MI, and llvm::GCNRPTracker::reset().
Referenced by llvm::GCNIterativeScheduler::getRegionPressure().