LLVM API Documentation
#include <RegisterPressure.h>
Public Member Functions | |
PressureChange () | |
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 100 of file RegisterPressure.h.
llvm::PressureChange::PressureChange | ( | ) | [inline] |
Definition at line 104 of file RegisterPressure.h.
llvm::PressureChange::PressureChange | ( | unsigned | id | ) | [inline] |
Definition at line 105 of file RegisterPressure.h.
unsigned llvm::PressureChange::getPSet | ( | ) | const [inline] |
Definition at line 111 of file RegisterPressure.h.
References isValid().
Referenced by llvm::PressureDiff::addPressureChange(), llvm::RegPressureTracker::getMaxUpwardPressureDelta(), llvm::ConvergingVLIWScheduler::traceCandidate(), llvm::GenericSchedulerBase::traceCandidate(), and llvm::GenericScheduler::tryCandidate().
unsigned llvm::PressureChange::getPSetOrMax | ( | ) | const [inline] |
Definition at line 116 of file RegisterPressure.h.
Referenced by tryPressure().
int llvm::PressureChange::getUnitInc | ( | ) | const [inline] |
Definition at line 118 of file RegisterPressure.h.
Referenced by llvm::PressureDiff::addPressureChange(), llvm::RegPressureTracker::getMaxDownwardPressureDelta(), llvm::RegPressureTracker::getMaxUpwardPressureDelta(), llvm::ConvergingVLIWScheduler::SchedulingCost(), llvm::ConvergingVLIWScheduler::traceCandidate(), llvm::GenericSchedulerBase::traceCandidate(), llvm::GenericScheduler::tryCandidate(), and tryPressure().
bool llvm::PressureChange::isValid | ( | ) | const [inline] |
Definition at line 109 of file RegisterPressure.h.
Referenced by llvm::PressureDiff::addPressureChange(), collectPDiff(), computeMaxPressureDelta(), llvm::RegPressureTracker::getMaxUpwardPressureDelta(), getPSet(), llvm::RegPressureTracker::getUpwardPressureDelta(), llvm::ConvergingVLIWScheduler::traceCandidate(), llvm::GenericSchedulerBase::traceCandidate(), and llvm::GenericScheduler::tryCandidate().
bool llvm::PressureChange::operator== | ( | const PressureChange & | RHS | ) | const [inline] |
Definition at line 122 of file RegisterPressure.h.
void llvm::PressureChange::setUnitInc | ( | int | Inc | ) | [inline] |
Definition at line 120 of file RegisterPressure.h.
Referenced by llvm::PressureDiff::addPressureChange(), computeExcessPressureDelta(), computeMaxPressureDelta(), and llvm::RegPressureTracker::getUpwardPressureDelta().