|
LLVM 23.0.0git
|
#include "Target/AMDGPU/GCNRegPressure.h"
Public Types | |
| using | LiveRegSet = DenseMap<unsigned, LaneBitmask> |
Public Member Functions | |
| 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 () |
Protected Member Functions | |
| 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 | |
| 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.
Definition at line 323 of file GCNRegPressure.h.
|
inlineprotected |
Definition at line 332 of file GCNRegPressure.h.
References LIS.
Referenced by llvm::GCNDownwardRPTracker::GCNDownwardRPTracker(), and llvm::GCNUpwardRPTracker::GCNUpwardRPTracker().
|
protected |
Mostly copy/paste from CodeGen/RegisterPressure.cpp.
|
inline |
Definition at line 357 of file GCNRegPressure.h.
References MaxPressure.
|
inline |
Definition at line 355 of file GCNRegPressure.h.
References LastTrackedMI.
|
protected |
Mostly copy/paste from CodeGen/RegisterPressure.cpp.
Definition at line 575 of file GCNRegPressure.cpp.
References llvm::SlotIndex::getBaseIndex(), getLanesWithProperty(), LIS, and MRI.
Referenced by llvm::GCNDownwardRPTracker::bumpDownwardPressure().
Definition at line 354 of file GCNRegPressure.h.
References LiveRegs.
Referenced by llvm::GCNRegPressurePrinter::runOnMachineFunction().
|
inline |
Definition at line 359 of file GCNRegPressure.h.
References CurPressure.
Referenced by llvm::GCNSchedStrategy::getRegisterPressures(), and llvm::GCNRegPressurePrinter::runOnMachineFunction().
|
inline |
Definition at line 361 of file GCNRegPressure.h.
References LiveRegs.
|
protected |
Resets tracker at the start or End of the MBB.
Definition at line 552 of file GCNRegPressure.cpp.
|
protected |
Resets tracker before or After the provided MI, which can be a debug instruction.
Definition at line 524 of file GCNRegPressure.cpp.
References LIS, MI, MRI, reset(), and llvm::skipDebugInstructionsForward().
Referenced by llvm::GCNDownwardRPTracker::reset(), reset(), and reset().
| void GCNRPTracker::reset | ( | const MachineRegisterInfo & | MRI, |
| const LiveRegSet & | LiveRegs ) |
Resets tracker with the provided LiveRegs.
Definition at line 565 of file GCNRegPressure.cpp.
References CurPressure, llvm::getRegPressure(), LastTrackedMI, LiveRegs, MaxPressure, and MRI.
|
protected |
Resets tracker at the specified slot index SI.
Definition at line 558 of file GCNRegPressure.cpp.
References CurPressure, llvm::getLiveRegs(), llvm::getRegPressure(), LastTrackedMI, LIS, LiveRegs, MaxPressure, and MRI.
|
protected |
Definition at line 328 of file GCNRegPressure.h.
Referenced by llvm::GCNDownwardRPTracker::advanceBeforeNext(), llvm::GCNDownwardRPTracker::advanceToNext(), llvm::GCNDownwardRPTracker::bumpDownwardPressure(), getPressure(), llvm::GCNUpwardRPTracker::isValid(), llvm::GCNUpwardRPTracker::recede(), reset(), reset(), and llvm::GCNUpwardRPTracker::resetMaxPressure().
|
protected |
Definition at line 329 of file GCNRegPressure.h.
Referenced by llvm::GCNDownwardRPTracker::advanceBeforeNext(), llvm::GCNDownwardRPTracker::advanceToNext(), llvm::GCNDownwardRPTracker::bumpDownwardPressure(), getLastTrackedMI(), llvm::GCNUpwardRPTracker::recede(), reset(), and reset().
|
protected |
Definition at line 326 of file GCNRegPressure.h.
Referenced by llvm::GCNDownwardRPTracker::advanceBeforeNext(), llvm::GCNDownwardRPTracker::bumpDownwardPressure(), GCNRPTracker(), getLastUsedLanes(), llvm::GCNUpwardRPTracker::isValid(), llvm::GCNUpwardRPTracker::recede(), reset(), reset(), reset(), and llvm::GCNUpwardRPTracker::reset().
|
protected |
Definition at line 327 of file GCNRegPressure.h.
Referenced by llvm::GCNDownwardRPTracker::advanceBeforeNext(), llvm::GCNDownwardRPTracker::advanceToNext(), bumpDeadDefs(), llvm::GCNDownwardRPTracker::bumpDownwardPressure(), getLiveRegs(), llvm::GCNUpwardRPTracker::isValid(), moveLiveRegs(), llvm::GCNUpwardRPTracker::recede(), reset(), and reset().
|
protected |
Definition at line 328 of file GCNRegPressure.h.
Referenced by llvm::GCNDownwardRPTracker::advanceBeforeNext(), llvm::GCNDownwardRPTracker::advanceToNext(), clearMaxPressure(), llvm::GCNUpwardRPTracker::getMaxPressure(), llvm::GCNUpwardRPTracker::getMaxPressureAndReset(), llvm::GCNDownwardRPTracker::moveMaxPressure(), llvm::GCNUpwardRPTracker::recede(), reset(), reset(), and llvm::GCNUpwardRPTracker::resetMaxPressure().
|
mutableprotected |
Definition at line 330 of file GCNRegPressure.h.
Referenced by llvm::GCNDownwardRPTracker::advanceBeforeNext(), llvm::GCNDownwardRPTracker::advanceToNext(), bumpDeadDefs(), llvm::GCNDownwardRPTracker::bumpDownwardPressure(), getLastUsedLanes(), llvm::GCNUpwardRPTracker::isValid(), llvm::GCNUpwardRPTracker::recede(), reset(), reset(), reset(), llvm::GCNUpwardRPTracker::reset(), and llvm::GCNUpwardRPTracker::reset().