LLVM  6.0.0svn
Public Member Functions | List of all members
llvm::PressureChange Class Reference

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
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ PressureChange() [1/2]

llvm::PressureChange::PressureChange ( )
default

◆ PressureChange() [2/2]

llvm::PressureChange::PressureChange ( unsigned  id)
inline

Definition at line 110 of file RegisterPressure.h.

References assert(), and llvm::max().

Member Function Documentation

◆ getPSet()

unsigned llvm::PressureChange::getPSet ( ) const
inline

◆ getPSetOrMax()

unsigned llvm::PressureChange::getPSetOrMax ( ) const
inline

Definition at line 122 of file RegisterPressure.h.

References llvm::max().

Referenced by tryPressure().

◆ getUnitInc()

int llvm::PressureChange::getUnitInc ( ) const
inline

◆ isValid()

bool llvm::PressureChange::isValid ( ) const
inline

◆ operator==()

bool llvm::PressureChange::operator== ( const PressureChange RHS) const
inline

Definition at line 130 of file RegisterPressure.h.

◆ setUnitInc()

void llvm::PressureChange::setUnitInc ( int  Inc)
inline

The documentation for this class was generated from the following file: