LLVM
8.0.1
|
Capture a change in pressure for a single pressure set. More...
#include "llvm/CodeGen/RegisterPressure.h"
Public Member Functions | |
PressureChange ()=default | |
PressureChange (unsigned id) | |
bool | isValid () const |
unsigned | getPSet () const |
unsigned | getPSetOrMax () const |
int | getUnitInc () const |
void | setUnitInc (int Inc) |
bool | operator== (const PressureChange &RHS) const |
Capture a change in pressure for a single pressure set.
UnitInc may be expressed in terms of upward or downward pressure depending on the client and will be dynamically adjusted for current liveness.
Pressure increments are tiny, typically 1-2 units, and this is only for heuristics, so we don't check UnitInc overflow. Instead, we may have a higher level assert that pressure is consistent within a region. We also effectively ignore dead defs which don't affect heuristics much.
Definition at line 104 of file RegisterPressure.h.
|
default |
|
inline |
Definition at line 110 of file RegisterPressure.h.
References assert(), and llvm::max().
|
inline |
Definition at line 116 of file RegisterPressure.h.
References assert().
Referenced by llvm::PressureDiff::addPressureChange(), computeLiveOuts(), llvm::PressureDiff::dump(), llvm::RegPressureTracker::getMaxUpwardPressureDelta(), llvm::GenericScheduler::initCandidate(), llvm::ConvergingVLIWScheduler::traceCandidate(), and llvm::GenericSchedulerBase::traceCandidate().
|
inline |
Definition at line 122 of file RegisterPressure.h.
References llvm::max().
Referenced by llvm::tryPressure().
|
inline |
Definition at line 126 of file RegisterPressure.h.
Referenced by llvm::PressureDiff::addPressureChange(), computeLiveOuts(), llvm::PressureDiff::dump(), llvm::RegPressureTracker::getMaxDownwardPressureDelta(), llvm::RegPressureTracker::getMaxUpwardPressureDelta(), llvm::GenericScheduler::initCandidate(), llvm::GCNMaxOccupancySchedStrategy::initialize(), llvm::ConvergingVLIWScheduler::SchedulingCost(), llvm::ConvergingVLIWScheduler::traceCandidate(), llvm::GenericSchedulerBase::traceCandidate(), and llvm::tryPressure().
|
inline |
Definition at line 114 of file RegisterPressure.h.
Referenced by llvm::PressureDiffs::addInstruction(), llvm::PressureDiff::addPressureChange(), computeLiveOuts(), computeMaxPressureDelta(), llvm::PressureDiff::dump(), llvm::RegPressureTracker::getMaxUpwardPressureDelta(), llvm::RegPressureTracker::getUpwardPressureDelta(), llvm::GenericScheduler::initCandidate(), llvm::ConvergingVLIWScheduler::traceCandidate(), llvm::GenericSchedulerBase::traceCandidate(), and llvm::tryPressure().
|
inline |
Definition at line 130 of file RegisterPressure.h.
|
inline |
Definition at line 128 of file RegisterPressure.h.
Referenced by llvm::PressureDiff::addPressureChange(), computeExcessPressureDelta(), computeMaxPressureDelta(), llvm::RegPressureTracker::getUpwardPressureDelta(), and llvm::GCNMaxOccupancySchedStrategy::initialize().