LLVM
8.0.1
|
#include "llvm/MCA/Stages/RetireStage.h"
Public Member Functions | |
RetireStage (RetireControlUnit &R, RegisterFile &F) | |
bool | hasWorkToComplete () const override |
Returns true if some instructions are still executing this stage. More... | |
Error | cycleStart () override |
Called once at the start of each cycle. More... | |
Error | execute (InstRef &IR) override |
The primary action that this stage performs on instruction IR. More... | |
void | notifyInstructionRetired (const InstRef &IR) const |
Public Member Functions inherited from llvm::mca::Stage | |
Stage () | |
virtual | ~Stage () |
virtual bool | isAvailable (const InstRef &IR) const |
Returns true if it can execute IR during this cycle. More... | |
virtual Error | cycleEnd () |
Called once at the end of each cycle. More... | |
void | setNextInSequence (Stage *NextStage) |
bool | checkNextStage (const InstRef &IR) const |
Error | moveToTheNextStage (InstRef &IR) |
Called when an instruction is ready to move the next pipeline stage. More... | |
void | addListener (HWEventListener *Listener) |
Add a listener to receive callbacks during the execution of this stage. More... | |
template<typename EventT > | |
void | notifyEvent (const EventT &Event) const |
Notify listeners of a particular hardware event. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from llvm::mca::Stage | |
const std::set< HWEventListener * > & | getListeners () const |
Definition at line 27 of file RetireStage.h.
|
inline |
Definition at line 36 of file RetireStage.h.
|
overridevirtual |
Called once at the start of each cycle.
This can be used as a setup phase to prepare for the executions during the cycle.
Reimplemented from llvm::mca::Stage.
Definition at line 26 of file RetireStage.cpp.
References llvm::mca::RetireControlUnit::consumeCurrentToken(), llvm::mca::RetireControlUnit::RUToken::Executed, llvm::mca::RetireControlUnit::getMaxRetirePerCycle(), llvm::mca::RetireControlUnit::RUToken::IR, llvm::mca::RetireControlUnit::isEmpty(), notifyInstructionRetired(), and llvm::mca::RetireControlUnit::peekCurrentToken().
Referenced by hasWorkToComplete().
|
overridevirtual |
The primary action that this stage performs on instruction IR.
Implements llvm::mca::Stage.
Definition at line 46 of file RetireStage.cpp.
References llvm::mca::InstRef::getInstruction(), llvm::mca::Instruction::getRCUTokenID(), and llvm::mca::RetireControlUnit::onInstructionExecuted().
Referenced by hasWorkToComplete().
|
inlineoverridevirtual |
Returns true if some instructions are still executing this stage.
Implements llvm::mca::Stage.
Definition at line 39 of file RetireStage.h.
References cycleStart(), execute(), IR, and notifyInstructionRetired().
Definition at line 51 of file RetireStage.cpp.
References llvm::dbgs(), llvm::mca::InstRef::getInstruction(), llvm::mca::RegisterFile::getNumRegisterFiles(), LLVM_DEBUG, and llvm::mca::RegisterFile::removeRegisterWrite().
Referenced by cycleStart(), and hasWorkToComplete().