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:
- include/llvm/CodeGen/RegisterClassInfo.h
- lib/CodeGen/RegisterClassInfo.cpp