|
LLVM 23.0.0git
|
#include "Target/AMDGPU/GCNRegPressure.h"
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. | |
| 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 LiveIntervals & | LIS |
| LiveRegSet | LiveRegs |
| GCNRegPressure | CurPressure |
| GCNRegPressure | MaxPressure |
| const MachineInstr * | LastTrackedMI = nullptr |
| const MachineRegisterInfo * | MRI = nullptr |
Definition at line 374 of file GCNRegPressure.h.
|
inline |
Definition at line 376 of file GCNRegPressure.h.
References llvm::GCNRPTracker::GCNRPTracker().
|
inline |
Definition at line 393 of file GCNRegPressure.h.
References llvm::GCNRPTracker::MaxPressure.
Referenced by llvm::dumpMaxRegPressure(), and llvm::GCNRegPressurePrinter::runOnMachineFunction().
|
inline |
Definition at line 397 of file GCNRegPressure.h.
References llvm::GCNRPTracker::MaxPressure, and resetMaxPressure().
| bool GCNUpwardRPTracker::isValid | ( | ) | const |
returns whether the tracker's state after receding MI corresponds to reported by LIS.
Definition at line 877 of file GCNRegPressure.cpp.
References llvm::GCNRPTracker::CurPressure, llvm::dbgs(), llvm::getLiveRegs(), llvm::getRegPressure(), llvm::isEqual(), llvm::GCNRPTracker::LIS, llvm::GCNRPTracker::LiveRegs, llvm::GCNRPTracker::MRI, llvm::print(), and llvm::reportMismatch().
| void GCNUpwardRPTracker::recede | ( | const MachineInstr & | MI | ) |
Move to the state of RP just before the MI .
If UseInternalIterator is set, also update the internal iterators. Setting UseInternalIterator to false allows for an externally managed iterator / program order.
Definition at line 587 of file GCNRegPressure.cpp.
References assert(), collectVirtualRegUses(), llvm::GCNRPTracker::CurPressure, getDefRegMask(), llvm::LaneBitmask::getNone(), llvm::getRegPressure(), I, llvm::GCNRegPressure::inc(), llvm::GCNRPTracker::LastTrackedMI, llvm::GCNRPTracker::LIS, llvm::GCNRPTracker::LiveRegs, llvm::max(), llvm::GCNRPTracker::MaxPressure, MI, llvm::GCNRPTracker::MRI, and llvm::LaneBitmask::none().
Referenced by llvm::dumpMaxRegPressure(), llvm::GCNSchedStrategy::getRegisterPressures(), and llvm::GCNRegPressurePrinter::runOnMachineFunction().
| 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.
|
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.
Referenced by llvm::dumpMaxRegPressure(), reset(), and llvm::GCNRegPressurePrinter::runOnMachineFunction().
| 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.
| 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.
| void GCNRPTracker::reset | ( | const MachineRegisterInfo & | MRI, |
| SlotIndex | SI ) |
Resets tracker at the specified slot index SI.
Definition at line 342 of file GCNRegPressure.cpp.
|
inline |
Definition at line 395 of file GCNRegPressure.h.
References llvm::GCNRPTracker::CurPressure, and llvm::GCNRPTracker::MaxPressure.
Referenced by getMaxPressureAndReset(), and llvm::GCNRegPressurePrinter::runOnMachineFunction().