LLVM 24.0.0git
llvm::GCNUpwardRPTracker Class Reference

#include "Target/AMDGPU/GCNRegPressure.h"

Inheritance diagram for llvm::GCNUpwardRPTracker:
[legend]

Public Member Functions

 GCNUpwardRPTracker (LiveIntervals &LIS_)
void reset (const MachineInstr &MI)
 Resets tracker to the point just after MI (in program order), which can be a debug instruction.
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.
GCNRegPressure getMaxPressureAndReset ()
void reset (const MachineInstr &MI, bool After)
 Resets tracker before or After the provided MI, which can be a debug instruction.
void reset (const MachineBasicBlock &MBB, bool End)
 Resets tracker at the start or End of the MBB.
void reset (const MachineRegisterInfo &MRI, SlotIndex SI)
 Resets tracker at the specified slot index SI.
void reset (const MachineRegisterInfo &MRI, const LiveRegSet &LiveRegs)
 Resets tracker with the provided LiveRegs.
Public Member Functions inherited from llvm::GCNRPTracker
void reset (const MachineRegisterInfo &MRI, const LiveRegSet &LiveRegs)
 Resets tracker with the provided LiveRegs.
const decltype(LiveRegs) & getLiveRegs () const
const MachineInstr * getLastTrackedMI () const
void clearMaxPressure ()
const GCNRegPressure & getMaxPressure () const
void resetMaxPressure ()
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 (LiveIntervals &LIS_)
void reset (const MachineInstr &MI, bool After)
 Resets tracker before or After the provided MI, which can be a debug instruction.
void reset (const MachineBasicBlock &MBB, bool End)
 Resets tracker at the start or End of the MBB.
void reset (const MachineRegisterInfo &MRI, SlotIndex SI)
 Resets tracker at the specified slot index SI.
LaneBitmask getLastUsedLanes (Register Reg, SlotIndex Pos) const
 Mostly copy/paste from CodeGen/RegisterPressure.cpp.
Protected Attributes inherited from llvm::GCNRPTracker
LiveIntervals & LIS
LiveRegSet LiveRegs
GCNRegPressure CurPressure
GCNRegPressure MaxPressure
const MachineInstr * LastTrackedMI = nullptr
const MachineRegisterInfo * MRI = nullptr

Detailed Description

Definition at line 362 of file GCNRegPressure.h.

Constructor & Destructor Documentation

◆ GCNUpwardRPTracker()

llvm::GCNUpwardRPTracker::GCNUpwardRPTracker ( LiveIntervals & LIS_)
inline

Definition at line 364 of file GCNRegPressure.h.

References llvm::GCNRPTracker::GCNRPTracker().

Member Function Documentation

◆ getMaxPressureAndReset()

GCNRegPressure llvm::GCNUpwardRPTracker::getMaxPressureAndReset ( )
inline

◆ isValid()

bool GCNUpwardRPTracker::isValid ( ) const

◆ recede()

void GCNUpwardRPTracker::recede ( const MachineInstr & MI)

◆ reset() [1/5]

void GCNRPTracker::reset ( const MachineBasicBlock & MBB,
bool End )

Resets tracker at the start or End of the MBB.

Definition at line 326 of file GCNRegPressure.cpp.

References assert().

◆ reset() [2/5]

void llvm::GCNUpwardRPTracker::reset ( const MachineInstr & MI)
inline

Resets tracker to the point just after MI (in program order), which can be a debug instruction.

Definition at line 370 of file GCNRegPressure.h.

References MI, and reset().

Referenced by llvm::dumpMaxRegPressure(), reset(), and llvm::GCNRegPressurePrinter::runOnMachineFunction().

◆ reset() [3/5]

void GCNRPTracker::reset ( const MachineInstr & MI,
bool After )

Resets tracker before or After the provided MI, which can be a debug instruction.

Definition at line 323 of file GCNRegPressure.cpp.

◆ reset() [4/5]

void GCNRPTracker::reset ( const MachineRegisterInfo & MRI,
const LiveRegSet & LiveRegs )

Resets tracker with the provided LiveRegs.

Definition at line 335 of file GCNRegPressure.cpp.

◆ reset() [5/5]

void GCNRPTracker::reset ( const MachineRegisterInfo & MRI,
SlotIndex SI )

Resets tracker at the specified slot index SI.

Definition at line 329 of file GCNRegPressure.cpp.

References llvm::GCNRPTracker::LIS, and llvm::LiveInterval::subranges().


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