| 
    LLVM 22.0.0git
    
   | 
 
#include "Target/AMDGPU/GCNRegPressure.h"
Public Member Functions | |
| GCNUpwardRPTracker (const LiveIntervals &LIS_) | |
| void | reset (const MachineRegisterInfo &MRI, SlotIndex SI) | 
reset tracker at the specified slot index SI.   | |
| void | reset (const MachineBasicBlock &MBB) | 
reset tracker to the end of the MBB.   | |
| void | reset (const MachineInstr &MI) | 
reset tracker to the point just after MI (in program order).   | |
| 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, const LiveRegSet *LiveRegsCopy, bool After) | 
| void | reset (const MachineRegisterInfo &MRI_, const LiveRegSet &LiveRegs_) | 
| Public Member Functions inherited from llvm::GCNRPTracker | |
| void | reset (const MachineRegisterInfo &MRI_, const LiveRegSet &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, const LiveRegSet *LiveRegsCopy, bool After) | 
| void | bumpDeadDefs (ArrayRef< VRegMaskOrUnit > DeadDefs) | 
| Mostly copy/paste from CodeGen/RegisterPressure.cpp.   | |
| LaneBitmask | getLastUsedLanes (Register RegUnit, 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 321 of file GCNRegPressure.h.
      
  | 
  inline | 
Definition at line 323 of file GCNRegPressure.h.
References llvm::GCNRPTracker::GCNRPTracker().
      
  | 
  inline | 
Definition at line 352 of file GCNRegPressure.h.
References llvm::GCNRPTracker::MaxPressure.
Referenced by llvm::dumpMaxRegPressure(), and llvm::GCNRegPressurePrinter::runOnMachineFunction().
      
  | 
  inline | 
Definition at line 356 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 797 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 518 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(), getRegisterPressures(), and llvm::GCNRegPressurePrinter::runOnMachineFunction().
      
  | 
  inline | 
reset tracker to the end of the MBB. 
Definition at line 333 of file GCNRegPressure.h.
References llvm::GCNRPTracker::LIS, MBB, and reset().
      
  | 
  inline | 
reset tracker to the point just after MI (in program order). 
Definition at line 339 of file GCNRegPressure.h.
References llvm::GCNRPTracker::LIS, MI, and reset().
| void GCNRPTracker::reset | ( | const MachineInstr & | MI, | 
| const LiveRegSet * | LiveRegsCopy, | ||
| bool | After ) | 
Definition at line 289 of file GCNRegPressure.cpp.
References llvm::LaneBitmask::getNone(), I, llvm::GCNRPTracker::MRI, P, and TRI.
      
  | 
  inline | 
reset tracker at the specified slot index SI. 
Definition at line 328 of file GCNRegPressure.h.
References llvm::getLiveRegs(), llvm::GCNRPTracker::LIS, llvm::GCNRPTracker::MRI, and llvm::GCNRPTracker::reset().
Referenced by llvm::dumpMaxRegPressure(), reset(), reset(), and llvm::GCNRegPressurePrinter::runOnMachineFunction().
| void GCNRPTracker::reset | ( | const MachineRegisterInfo & | MRI_, | 
| const LiveRegSet & | LiveRegs_ ) | 
Definition at line 299 of file GCNRegPressure.cpp.
References llvm::GCNRPTracker::LIS, MI, llvm::GCNRPTracker::MRI, and P.
      
  | 
  inline | 
Definition at line 354 of file GCNRegPressure.h.
References llvm::GCNRPTracker::CurPressure, and llvm::GCNRPTracker::MaxPressure.
Referenced by getMaxPressureAndReset(), and llvm::GCNRegPressurePrinter::runOnMachineFunction().