LLVM: llvm::RegisterClassInfo Class Reference (original) (raw)

#include "[llvm/CodeGen/RegisterClassInfo.h](RegisterClassInfo%5F8h%5Fsource.html)"

Public Member Functions
LLVM_ABI RegisterClassInfo ()
LLVM_ABI void runOnMachineFunction (const MachineFunction &MF, bool Rev=false)
runOnFunction - Prepare to answer questions about MF.
unsigned getNumAllocatableRegs (const TargetRegisterClass *RC) const
getNumAllocatableRegs - Returns the number of actually allocatable registers in RC in the current function.
ArrayRef< MCPhysReg > getOrder (const TargetRegisterClass *RC) const
getOrder - Returns the preferred allocation order for RC.
bool isProperSubClass (const TargetRegisterClass *RC) const
isProperSubClass - Returns true if RC has a legal super-class with more allocatable registers.
MCRegister getLastCalleeSavedAlias (MCRegister PhysReg) const
getLastCalleeSavedAlias - Returns the last callee saved register that overlaps PhysReg, or NoRegister if PhysReg doesn't overlap a CalleeSavedAliases.
uint8_t getMinCost (const TargetRegisterClass *RC) const
Get the minimum register cost in RC's allocation order.
unsigned getLastCostChange (const TargetRegisterClass *RC) const
Get the position of the last cost change in getOrder(RC).
unsigned getRegPressureSetLimit (unsigned Idx) const
Get the register unit limit for the given pressure set index.
Protected Member Functions
LLVM_ABI unsigned computePSetLimit (unsigned Idx) const
This is not accurate because two overlapping register sets may have some nonoverlapping reserved registers.

Definition at line 30 of file RegisterClassInfo.h.

RegisterClassInfo::RegisterClassInfo ( ) default

computePSetLimit()

getLastCalleeSavedAlias()

getLastCalleeSavedAlias - Returns the last callee saved register that overlaps PhysReg, or NoRegister if PhysReg doesn't overlap a CalleeSavedAliases.

Definition at line 123 of file RegisterClassInfo.h.

getLastCostChange()

Get the position of the last cost change in getOrder(RC).

All registers in getOrder(RC).slice(getLastCostChange(RC)) will have the same cost according to RegCosts[Reg].

Definition at line 144 of file RegisterClassInfo.h.

getMinCost()

Get the minimum register cost in RC's allocation order.

This is the smallest value in RegCosts[Reg] for all the registers in getOrder(RC).

Definition at line 136 of file RegisterClassInfo.h.

getNumAllocatableRegs()

getOrder()

getRegPressureSetLimit()

unsigned llvm::RegisterClassInfo::getRegPressureSetLimit ( unsigned Idx) const inline

isProperSubClass()

isProperSubClass - Returns true if RC has a legal super-class with more allocatable registers.

Register classes like GR32_NOSP are not proper sub-classes because esp is not allocatable. Similarly, tGPR is not a proper sub-class in Thumb mode because the GPR super-class is not legal.

Definition at line 116 of file RegisterClassInfo.h.

runOnMachineFunction()


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