LLVM 23.0.0git
llvm::GCNUpwardRPTracker Class Reference

#include "Target/AMDGPU/GCNRegPressure.h"

Inheritance diagram for llvm::GCNUpwardRPTracker:
[legend]

Public Member Functions

 GCNUpwardRPTracker (const 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.
const GCNRegPressuregetMaxPressure () const
void resetMaxPressure ()
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 MachineInstrgetLastTrackedMI () const
void clearMaxPressure ()
GCNRegPressure getPressure () const
decltype(LiveRegsmoveLiveRegs ()

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, 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 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 LiveIntervalsLIS
LiveRegSet LiveRegs
GCNRegPressure CurPressure
GCNRegPressure MaxPressure
const MachineInstrLastTrackedMI = nullptr
const MachineRegisterInfoMRI = nullptr

Detailed Description

Definition at line 374 of file GCNRegPressure.h.

Constructor & Destructor Documentation

◆ GCNUpwardRPTracker()

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

Definition at line 376 of file GCNRegPressure.h.

References llvm::GCNRPTracker::GCNRPTracker().

Member Function Documentation

◆ getMaxPressure()

const GCNRegPressure & llvm::GCNUpwardRPTracker::getMaxPressure ( ) const
inline

◆ getMaxPressureAndReset()

GCNRegPressure llvm::GCNUpwardRPTracker::getMaxPressureAndReset ( )
inline

Definition at line 397 of file GCNRegPressure.h.

References llvm::GCNRPTracker::MaxPressure, and resetMaxPressure().

◆ 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 339 of file GCNRegPressure.cpp.

◆ 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 382 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 336 of file GCNRegPressure.cpp.

References llvm::GCNRPTracker::MRI.

◆ reset() [4/5]

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

Resets tracker with the provided LiveRegs.

Definition at line 351 of file GCNRegPressure.cpp.

References llvm::LaneBitmask::getNone(), InRange(), llvm::GCNRPTracker::LIS, MI, llvm::GCNRPTracker::MRI, llvm::LaneBitmask::none(), and TRI.

◆ reset() [5/5]

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

Resets tracker at the specified slot index SI.

Definition at line 342 of file GCNRegPressure.cpp.

◆ resetMaxPressure()

void llvm::GCNUpwardRPTracker::resetMaxPressure ( )
inline

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