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)

    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

    Declared 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)

    Declared at: llvm/include/llvm/MCA/HardwareUnits/RegisterFile.h:195

    Parameters

    llvm::mca::WriteRef Write
    MutableArrayRef<unsigned int> UsedPhysRegs

    void cycleStart()

    Declared at: llvm/include/llvm/MCA/HardwareUnits/RegisterFile.h:229

    void dump() const

    Declared at: llvm/include/llvm/MCA/HardwareUnits/RegisterFile.h:232

    unsigned int getNumRegisterFiles() const

    Declared at: llvm/include/llvm/MCA/HardwareUnits/RegisterFile.h:226

    unsigned int isAvailable(
        ArrayRef<llvm::MCPhysReg> Regs) const

    Declared 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)

    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)

    Declared at: llvm/include/llvm/MCA/HardwareUnits/RegisterFile.h:212

    Parameters

    llvm::mca::WriteState& WS
    llvm::mca::ReadState& RS