LLVM 17.0.0git
|
#include "Target/AMDGPU/GCNRegPressure.h"
Public Member Functions | |
GCNDownwardRPTracker (const LiveIntervals &LIS_) | |
MachineBasicBlock::const_iterator | getNext () const |
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) |
![]() | |
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 159 of file GCNRegPressure.h.
|
inline |
Definition at line 166 of file GCNRegPressure.h.
bool GCNDownwardRPTracker::advance | ( | ) |
Definition at line 400 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 414 of file GCNRegPressure.cpp.
bool GCNDownwardRPTracker::advance | ( | MachineBasicBlock::const_iterator | End | ) |
Definition at line 408 of file GCNRegPressure.cpp.
bool GCNDownwardRPTracker::advanceBeforeNext | ( | ) |
Definition at line 326 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(), SI, and llvm::LiveInterval::subranges().
Referenced by advance().
void GCNDownwardRPTracker::advanceToNext | ( | ) |
Definition at line 380 of file GCNRegPressure.cpp.
References llvm::GCNRPTracker::CurPressure, getDefRegMask(), llvm::GCNRegPressure::inc(), llvm::GCNRPTracker::LastTrackedMI, llvm::GCNRPTracker::LiveRegs, llvm::max(), llvm::GCNRPTracker::MaxPressure, llvm::GCNRPTracker::MRI, llvm::MachineInstr::operands(), and llvm::skipDebugInstructionsForward().
Referenced by advance().
|
inline |
Definition at line 168 of file GCNRegPressure.h.
bool GCNDownwardRPTracker::reset | ( | const MachineInstr & | MI, |
const LiveRegSet * | LiveRegs = nullptr |
||
) |
Definition at line 313 of file GCNRegPressure.cpp.
References llvm::GCNRPTracker::LastTrackedMI, MI, llvm::GCNRPTracker::MRI, llvm::GCNRPTracker::reset(), and llvm::skipDebugInstructionsForward().
Referenced by advance().