LLVM 24.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 GCNRegPressure & getMaxPressure () 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 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, 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
const LiveIntervals & LIS
LiveRegSet LiveRegs
GCNRegPressure CurPressure
GCNRegPressure MaxPressure
const MachineInstr * LastTrackedMI = nullptr
const MachineRegisterInfo * MRI = nullptr

Detailed Description

Definition at line 371 of file GCNRegPressure.h.

Constructor & Destructor Documentation

◆ GCNUpwardRPTracker()

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

Definition at line 373 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 394 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 379 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.

◆ reset() [4/5]

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

Resets tracker with the provided LiveRegs.

Definition at line 348 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: