struct RetireControlUnit
Declaration
struct RetireControlUnit : public HardwareUnit { /* full declaration omitted */ };
Description
This class checks on every cycle if/which instructions can be retired. Instructions are retired in program order. In the event of an instruction being retired, the pipeline that owns this RetireControlUnit (RCU) gets notified. On instruction retired, register updates are all architecturally committed, and any physicall registers previously allocated for the retired instruction are freed.
Declared at: llvm/include/llvm/MCA/HardwareUnits/RetireControlUnit.h:36
Inherits from: HardwareUnit
Method Overview
- public RetireControlUnit(const llvm::MCSchedModel & SM)
- public void consumeCurrentToken()
- public unsigned int dispatch(const llvm::mca::InstRef & IS)
- public void dump() const
- public const llvm::mca::RetireControlUnit::RUToken & getCurrentToken() const
- public unsigned int getMaxRetirePerCycle() const
- public bool isAvailable(unsigned int Quantity = 1) const
- public bool isEmpty() const
- public void onInstructionExecuted(unsigned int TokenID)
- public const llvm::mca::RetireControlUnit::RUToken & peekNextToken() const
Inherited from HardwareUnit:
Methods
¶RetireControlUnit(const llvm::MCSchedModel& SM)
RetireControlUnit(const llvm::MCSchedModel& SM)
Declared at: llvm/include/llvm/MCA/HardwareUnits/RetireControlUnit.h:80
Parameters
- const llvm::MCSchedModel& SM
¶void consumeCurrentToken()
void consumeCurrentToken()
Declared at: llvm/include/llvm/MCA/HardwareUnits/RetireControlUnit.h:99
¶unsigned int dispatch(
const llvm::mca::InstRef& IS)
unsigned int dispatch(
const llvm::mca::InstRef& IS)
Declared at: llvm/include/llvm/MCA/HardwareUnits/RetireControlUnit.h:91
Parameters
- const llvm::mca::InstRef& IS
¶void dump() const
void dump() const
Declared at: llvm/include/llvm/MCA/HardwareUnits/RetireControlUnit.h:105
¶const llvm::mca::RetireControlUnit::RUToken&
getCurrentToken() const
const llvm::mca::RetireControlUnit::RUToken&
getCurrentToken() const
Declared at: llvm/include/llvm/MCA/HardwareUnits/RetireControlUnit.h:94
¶unsigned int getMaxRetirePerCycle() const
unsigned int getMaxRetirePerCycle() const
Declared at: llvm/include/llvm/MCA/HardwareUnits/RetireControlUnit.h:88
¶bool isAvailable(unsigned int Quantity = 1) const
bool isAvailable(unsigned int Quantity = 1) const
Declared at: llvm/include/llvm/MCA/HardwareUnits/RetireControlUnit.h:84
Parameters
- unsigned int Quantity = 1
¶bool isEmpty() const
bool isEmpty() const
Declared at: llvm/include/llvm/MCA/HardwareUnits/RetireControlUnit.h:82
¶void onInstructionExecuted(unsigned int TokenID)
void onInstructionExecuted(unsigned int TokenID)
Declared at: llvm/include/llvm/MCA/HardwareUnits/RetireControlUnit.h:102
Parameters
- unsigned int TokenID
¶const llvm::mca::RetireControlUnit::RUToken&
peekNextToken() const
const llvm::mca::RetireControlUnit::RUToken&
peekNextToken() const
Declared at: llvm/include/llvm/MCA/HardwareUnits/RetireControlUnit.h:96