llvm::RegAllocEvictionAdvisor

Interface to the eviction advisor for choosing live ranges to evict.

Synopsis

Declared in <llvm/CodeGen/RegAllocEvictionAdvisor.h>

class RegAllocEvictionAdvisor;

Member Functions

NameDescription
RegAllocEvictionAdvisor [constructor]Constructors
~RegAllocEvictionAdvisor [destructor] [virtual]Destroy this eviction advisor.
canEvictHintInterference [virtual]Find out if we can evict the live ranges occupying the given PhysReg, which is a hint (preferred register) for VirtReg.
isUnusedCalleeSavedReg Returns true if the given PhysReg is a callee saved register and has not been used for allocation yet.
isUrgentEviction Returns true if this is an urgent eviction.
tryFindEvictionCandidate [virtual]Find a physical register that can be freed by eviction, or NoRegister.

Protected Member Functions

NameDescription
RegAllocEvictionAdvisor [constructor]Construct an advisor for MF backed by greedy allocator RA.
canAllocatePhysReg Return true if allocating PhysReg is worthwhile under the cost limit.
canReassign Return true if VirtReg can be reassigned away from FromReg.
getOrderLimit Get the upper limit of elements in Order that need to be analyzed.

Protected Data Members

NameDescription
EnableLocalReassign Run or not the local reassignment heuristic. This information is obtained from the TargetSubtargetInfo.
LIS Live interval analysis for the current function.
MF Machine function currently being allocated.
MRI Machine register info for the current function.
Matrix Live register matrix used to query interference.
RA Greedy register allocator that owns related analyses.
RegClassInfo Cached register class information for the current function.
RegCosts Per-physical-register cost-per-use values.
TRI Target register info for the current subtarget.
VRM Mapping from virtual to physical registers.

Derived Classes

NameDescription
DefaultEvictionAdvisor Default heuristic eviction advisor used by greedy register allocation.