LLVM: llvm::GCNUpwardRPTracker Class Reference (original) (raw)

#include "[Target/AMDGPU/GCNRegPressure.h](GCNRegPressure%5F8h%5Fsource.html)"

Public Member Functions
GCNUpwardRPTracker (const LiveIntervals &LIS_)
void reset (const MachineRegisterInfo &MRI, SlotIndex SI)
reset tracker at the specified slot index SI.
void reset (const MachineBasicBlock &MBB)
reset tracker to the end of the MBB.
void reset (const MachineInstr &MI)
reset tracker to the point just after MI (in program order).
void recede (const MachineInstr &MI)
Move to the state of RP just before the MI .
bool isValid () const
returns whether the tracker's state after receding MI corresponds to reported by LIS.
const GCNRegPressure & getMaxPressure () const
void resetMaxPressure ()
GCNRegPressure getMaxPressureAndReset ()
void reset (const MachineInstr &MI, const LiveRegSet *LiveRegsCopy, bool After)
void reset (const MachineRegisterInfo &MRI_, const LiveRegSet &LiveRegs_)
Public Member Functions inherited from llvm::GCNRPTracker
void reset (const MachineRegisterInfo &MRI_, const LiveRegSet &LiveRegs_)
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)
void bumpDeadDefs (ArrayRef< VRegMaskOrUnit > DeadDefs)
Mostly copy/paste from CodeGen/RegisterPressure.cpp.
LaneBitmask getLastUsedLanes (Register Reg, SlotIndex Pos) const
Mostly copy/paste from CodeGen/RegisterPressure.cpp.
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 321 of file GCNRegPressure.h.

getMaxPressure()

getMaxPressureAndReset()

GCNRegPressure llvm::GCNUpwardRPTracker::getMaxPressureAndReset ( ) inline

isValid()

bool GCNUpwardRPTracker::isValid ( ) const

recede()

Move to the state of RP just before the MI .

If UseInternalIterator is set, also update the internal iterators. Setting UseInternalIterator to false allows for an externally managed iterator / program order.

Definition at line 511 of file GCNRegPressure.cpp.

References assert(), collectVirtualRegUses(), llvm::GCNRPTracker::CurPressure, 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::dumpMaxRegPressure(), getRegisterPressures(), and llvm::GCNRegPressurePrinter::runOnMachineFunction().

reset() [1/5]

reset() [2/5]

reset() [3/5]

reset() [4/5]

reset() [5/5]

resetMaxPressure()

void llvm::GCNUpwardRPTracker::resetMaxPressure ( ) inline

The documentation for this class was generated from the following files: