Register pressure computed over a SlotIndex-delimited instruction region.
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.
| Name | Description |
|---|---|
RegisterPressure | Base class for register pressure results. |
| Name | Description |
|---|---|
dump | Dump max pressure and live in/out registers to the debug stream. |
openBottom | Open the bottom of the region if it is not after PrevBottom. |
openTop | Open the top of the region if it is not at or before NextTop. |
reset | Clear this result so it can be used for another round of tracking. |
| Name | Description |
|---|---|
BottomIdx | Slot index of the bottom of the tracked region. |
LiveInRegs | List of live in virtual registers or physical register units. |
LiveOutRegs | List of live-out virtual registers or physical register units. |
MaxSetPressure | Map of max reg pressure indexed by pressure set ID, not class ID. |
TopIdx | Record the boundary of the region being tracked. |