class RegisterFile
Declaration
class RegisterFile : public HardwareUnit { /* full declaration omitted */ };Description
Manages hardware register files, and tracks register definitions for register renaming purposes.
Declared at: llvm/include/llvm/MCA/HardwareUnits/RegisterFile.h:36
Inherits from: HardwareUnit
Method Overview
- public RegisterFile(const llvm::MCSchedModel & SM, const llvm::MCRegisterInfo & mri, unsigned int NumRegs = 0)
- public void addRegisterRead(llvm::mca::ReadState & RS, const llvm::MCSubtargetInfo & STI) const
- public void addRegisterWrite(llvm::mca::WriteRef Write, MutableArrayRef<unsigned int> UsedPhysRegs)
- public void cycleStart()
- public void dump() const
- public unsigned int getNumRegisterFiles() const
- public unsigned int isAvailable(ArrayRef<llvm::MCPhysReg> Regs) const
- public void removeRegisterWrite(const llvm::mca::WriteState & WS, MutableArrayRef<unsigned int> FreedPhysRegs)
- public bool tryEliminateMove(llvm::mca::WriteState & WS, llvm::mca::ReadState & RS)
Inherited from HardwareUnit:
Methods
¶RegisterFile(const llvm::MCSchedModel& SM,
const llvm::MCRegisterInfo& mri,
unsigned int NumRegs = 0)
RegisterFile(const llvm::MCSchedModel& SM,
const llvm::MCRegisterInfo& mri,
unsigned int NumRegs = 0)Declared at: llvm/include/llvm/MCA/HardwareUnits/RegisterFile.h:188
Parameters
- const llvm::MCSchedModel& SM
- const llvm::MCRegisterInfo& mri
- unsigned int NumRegs = 0
¶void addRegisterRead(
llvm::mca::ReadState& RS,
const llvm::MCSubtargetInfo& STI) const
void addRegisterRead(
llvm::mca::ReadState& RS,
const llvm::MCSubtargetInfo& STI) constDeclared at: llvm/include/llvm/MCA/HardwareUnits/RegisterFile.h:199
Parameters
- llvm::mca::ReadState& RS
- const llvm::MCSubtargetInfo& STI
¶void addRegisterWrite(
llvm::mca::WriteRef Write,
MutableArrayRef<unsigned int> UsedPhysRegs)
void addRegisterWrite(
llvm::mca::WriteRef Write,
MutableArrayRef<unsigned int> UsedPhysRegs)Declared at: llvm/include/llvm/MCA/HardwareUnits/RegisterFile.h:195
Parameters
- llvm::mca::WriteRef Write
- MutableArrayRef<unsigned int> UsedPhysRegs
¶void cycleStart()
void cycleStart()Declared at: llvm/include/llvm/MCA/HardwareUnits/RegisterFile.h:229
¶void dump() const
void dump() constDeclared at: llvm/include/llvm/MCA/HardwareUnits/RegisterFile.h:232
¶unsigned int getNumRegisterFiles() const
unsigned int getNumRegisterFiles() constDeclared at: llvm/include/llvm/MCA/HardwareUnits/RegisterFile.h:226
¶unsigned int isAvailable(
ArrayRef<llvm::MCPhysReg> Regs) const
unsigned int isAvailable(
ArrayRef<llvm::MCPhysReg> Regs) constDeclared at: llvm/include/llvm/MCA/HardwareUnits/RegisterFile.h:223
Parameters
- ArrayRef<llvm::MCPhysReg> Regs
¶void removeRegisterWrite(
const llvm::mca::WriteState& WS,
MutableArrayRef<unsigned int> FreedPhysRegs)
void removeRegisterWrite(
const llvm::mca::WriteState& WS,
MutableArrayRef<unsigned int> FreedPhysRegs)Declared at: llvm/include/llvm/MCA/HardwareUnits/RegisterFile.h:204
Parameters
- const llvm::mca::WriteState& WS
- MutableArrayRef<unsigned int> FreedPhysRegs
¶bool tryEliminateMove(llvm::mca::WriteState& WS,
llvm::mca::ReadState& RS)
bool tryEliminateMove(llvm::mca::WriteState& WS,
llvm::mca::ReadState& RS)Declared at: llvm/include/llvm/MCA/HardwareUnits/RegisterFile.h:212