llvm::IntervalPressure

Register pressure computed over a SlotIndex-delimited instruction region.

Synopsis

Declared in <llvm/CodeGen/RegisterPressure.h>

struct IntervalPressure
    : RegisterPressure

Description

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.

Base Classes

NameDescription
RegisterPressureBase class for register pressure results.

Member Functions

NameDescription
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.

Data Members

NameDescription
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.