LLVM 20.0.0git
|
#include "Target/AMDGPU/GCNRegPressure.h"
Public Member Functions | |
GCNDownwardRPTracker (const LiveIntervals &LIS_) | |
MachineBasicBlock::const_iterator | getNext () const |
GCNRegPressure | moveMaxPressure () |
bool | reset (const MachineInstr &MI, const LiveRegSet *LiveRegs=nullptr) |
bool | advanceBeforeNext () |
void | advanceToNext () |
bool | advance () |
bool | advance (MachineBasicBlock::const_iterator End) |
bool | advance (MachineBasicBlock::const_iterator Begin, MachineBasicBlock::const_iterator End, const LiveRegSet *LiveRegsCopy=nullptr) |
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 226 of file GCNRegPressure.h.
|
inline |
Definition at line 233 of file GCNRegPressure.h.
bool GCNDownwardRPTracker::advance | ( | ) |
Definition at line 505 of file GCNRegPressure.cpp.
References advanceBeforeNext(), and advanceToNext().
Referenced by advance().
bool GCNDownwardRPTracker::advance | ( | MachineBasicBlock::const_iterator | Begin, |
MachineBasicBlock::const_iterator | End, | ||
const LiveRegSet * | LiveRegsCopy = nullptr |
||
) |
Definition at line 519 of file GCNRegPressure.cpp.
bool GCNDownwardRPTracker::advance | ( | MachineBasicBlock::const_iterator | End | ) |
Definition at line 513 of file GCNRegPressure.cpp.
bool GCNDownwardRPTracker::advanceBeforeNext | ( | ) |
Definition at line 433 of file GCNRegPressure.cpp.
References assert(), 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::SlotIndex::getBaseIndex(), llvm::SlotIndex::getDeadSlot(), llvm::LiveIntervals::getInstructionIndex(), llvm::LiveIntervals::getInterval(), llvm::LaneBitmask::getNone(), llvm::LiveInterval::hasSubRanges(), llvm::GCNRegPressure::inc(), llvm::SmallSet< T, N, C >::insert(), llvm::GCNRPTracker::LastTrackedMI, llvm::GCNRPTracker::LIS, llvm::LiveRange::liveAt(), llvm::GCNRPTracker::LiveRegs, llvm_unreachable, llvm::max(), llvm::GCNRPTracker::MaxPressure, llvm::GCNRPTracker::MRI, llvm::MachineInstr::operands(), and llvm::LiveInterval::subranges().
Referenced by advance(), and llvm::GCNRegPressurePrinter::runOnMachineFunction().
void GCNDownwardRPTracker::advanceToNext | ( | ) |
Definition at line 487 of file GCNRegPressure.cpp.
References llvm::MachineInstr::all_defs(), llvm::GCNRPTracker::CurPressure, getDefRegMask(), llvm::GCNRegPressure::inc(), llvm::GCNRPTracker::LastTrackedMI, llvm::GCNRPTracker::LiveRegs, llvm::max(), llvm::GCNRPTracker::MaxPressure, llvm::GCNRPTracker::MRI, and llvm::skipDebugInstructionsForward().
Referenced by advance(), and llvm::GCNRegPressurePrinter::runOnMachineFunction().
|
inline |
Definition at line 235 of file GCNRegPressure.h.
|
inline |
Definition at line 238 of file GCNRegPressure.h.
References llvm::GCNRegPressure::clear(), and llvm::GCNRPTracker::MaxPressure.
bool GCNDownwardRPTracker::reset | ( | const MachineInstr & | MI, |
const LiveRegSet * | LiveRegs = nullptr |
||
) |
Definition at line 420 of file GCNRegPressure.cpp.
References llvm::GCNRPTracker::LastTrackedMI, MI, llvm::GCNRPTracker::MRI, llvm::GCNRPTracker::reset(), and llvm::skipDebugInstructionsForward().
Referenced by advance(), and llvm::GCNRegPressurePrinter::runOnMachineFunction().