|
LLVM 24.0.0git
|
Downward RP tracker that relies on the user to provide the next instruction down the instruction stream. More...
#include "Target/AMDGPU/GCNRegPressure.h"
Public Member Functions | |
| GCNManualDownwardRPTracker (LiveIntervals &LIS) | |
| void | advance (const MachineInstr &MI) |
Advances to the state after MI. | |
| 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::GCNDownwardRPTrackerBase | |
| GCNRegPressure | bumpDownwardPressure (const MachineInstr *MI, const SIRegisterInfo *TRI) const |
Mostly copy/paste from CodeGen/RegisterPressure.cpp Calculate the impact MI will have on CurPressure and. | |
| 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::GCNDownwardRPTrackerBase | |
| GCNDownwardRPTrackerBase (LiveIntervals &LIS) | |
| void | retireDeadOperands (const MachineInstr &MI, SlotIndex SI) |
Retires all lanes of MI's register operands that are dead at SI, according to LIS. | |
| void | addDefs (const MachineInstr &MI) |
Adds all lanes (dead or not) defined by MI's register operands to CurPressure. | |
| 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 |
Downward RP tracker that relies on the user to provide the next instruction down the instruction stream.
It still uses LIS for liveness queries.
Definition at line 477 of file GCNRegPressure.h.
|
inline |
Definition at line 479 of file GCNRegPressure.h.
References llvm::GCNDownwardRPTrackerBase::GCNDownwardRPTrackerBase(), and llvm::GCNRPTracker::LIS.
| void GCNManualDownwardRPTracker::advance | ( | const MachineInstr & | MI | ) |
Advances to the state after MI.
Definition at line 782 of file GCNRegPressure.cpp.
References llvm::GCNDownwardRPTrackerBase::addDefs(), llvm::GCNRPTracker::LastTrackedMI, llvm::GCNRPTracker::LIS, MI, and llvm::GCNDownwardRPTrackerBase::retireDeadOperands().
| 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.
| 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.
| void GCNRPTracker::reset | ( | const MachineRegisterInfo & | MRI, |
| const LiveRegSet & | LiveRegs ) |
Resets tracker with the provided LiveRegs.
Definition at line 335 of file GCNRegPressure.cpp.
| void GCNRPTracker::reset | ( | const MachineRegisterInfo & | MRI, |
| SlotIndex | SI ) |
Resets tracker at the specified slot index SI.
Definition at line 329 of file GCNRegPressure.cpp.