LLVM 20.0.0git
|
RegisterPressure computed within a region of instructions delimited by TopIdx and BottomIdx. More...
#include "llvm/CodeGen/RegisterPressure.h"
Public Member Functions | |
void | reset () |
Clear the result so it can be used for another round of pressure tracking. | |
void | openTop (SlotIndex NextTop) |
If the current top is not less than or equal to the next index, open it. | |
void | openBottom (SlotIndex PrevBottom) |
If the current bottom is not greater than the previous index, open it. | |
Public Member Functions inherited from llvm::RegisterPressure | |
void | dump (const TargetRegisterInfo *TRI) const |
Public Attributes | |
SlotIndex | TopIdx |
Record the boundary of the region being tracked. | |
SlotIndex | BottomIdx |
Public Attributes inherited from llvm::RegisterPressure | |
std::vector< unsigned > | MaxSetPressure |
Map of max reg pressure indexed by pressure set ID, not class ID. | |
SmallVector< RegisterMaskPair, 8 > | LiveInRegs |
List of live in virtual registers or physical register units. | |
SmallVector< RegisterMaskPair, 8 > | LiveOutRegs |
RegisterPressure computed within a region of instructions delimited by TopIdx and BottomIdx.
During pressure computation, the maximum pressure per register pressure set is increased. Once pressure within a region is fully computed, the live-in and live-out sets are recorded.
This is preferable to RegionPressure when LiveIntervals are available, because delimiting regions by SlotIndex is more robust and convenient than holding block iterators. The block contents can change without invalidating the pressure result.
Definition at line 67 of file RegisterPressure.h.
void IntervalPressure::openBottom | ( | SlotIndex | PrevBottom | ) |
If the current bottom is not greater than the previous index, open it.
Definition at line 209 of file RegisterPressure.cpp.
References BottomIdx, and llvm::RegisterPressure::LiveInRegs.
void IntervalPressure::openTop | ( | SlotIndex | NextTop | ) |
If the current top is not less than or equal to the next index, open it.
We happen to need the SlotIndex for the next top for pressure update.
Definition at line 193 of file RegisterPressure.cpp.
References llvm::RegisterPressure::LiveInRegs, and TopIdx.
void IntervalPressure::reset | ( | ) |
Clear the result so it can be used for another round of pressure tracking.
Definition at line 176 of file RegisterPressure.cpp.
References BottomIdx, llvm::RegisterPressure::LiveInRegs, llvm::RegisterPressure::LiveOutRegs, llvm::RegisterPressure::MaxSetPressure, and TopIdx.
SlotIndex llvm::IntervalPressure::BottomIdx |
Definition at line 70 of file RegisterPressure.h.
Referenced by openBottom(), and reset().
SlotIndex llvm::IntervalPressure::TopIdx |
Record the boundary of the region being tracked.
Definition at line 69 of file RegisterPressure.h.