class ExecuteStage
Declaration
class ExecuteStage : public Stage { /* full declaration omitted */ };
Declared at: llvm/include/llvm/MCA/Stages/ExecuteStage.h:28
Inherits from: Stage
Method Overview
- public ExecuteStage(llvm::mca::Scheduler & S)
- public ExecuteStage(llvm::mca::Scheduler & S, bool ShouldPerformBottleneckAnalysis)
- public llvm::Error cycleEnd()
- public llvm::Error cycleStart()
- public llvm::Error execute(llvm::mca::InstRef & IR)
- public bool hasWorkToComplete() const
- public bool isAvailable(const llvm::mca::InstRef & IR) const
- public void notifyInstructionExecuted(const llvm::mca::InstRef & IR) const
- public void notifyInstructionIssued(const llvm::mca::InstRef & IR, MutableArrayRef<std::pair<ResourceRef, ResourceCycles>> Used) const
- public void notifyInstructionPending(const llvm::mca::InstRef & IR) const
- public void notifyInstructionReady(const llvm::mca::InstRef & IR) const
- public void notifyReservedOrReleasedBuffers(const llvm::mca::InstRef & IR, bool Reserved) const
- public void notifyResourceAvailable(const llvm::mca::ResourceRef & RR) const
Inherited from Stage:
- public addListener
- public checkNextStage
- public cycleEnd
- public cycleStart
- public execute
- protected getListeners
- public hasWorkToComplete
- public isAvailable
- public moveToTheNextStage
- public notifyEvent
- public setNextInSequence
Methods
¶ExecuteStage(llvm::mca::Scheduler& S)
ExecuteStage(llvm::mca::Scheduler& S)
Declared at: llvm/include/llvm/MCA/Stages/ExecuteStage.h:50
Parameters
¶ExecuteStage(llvm::mca::Scheduler& S,
bool ShouldPerformBottleneckAnalysis)
ExecuteStage(llvm::mca::Scheduler& S,
bool ShouldPerformBottleneckAnalysis)
Declared at: llvm/include/llvm/MCA/Stages/ExecuteStage.h:51
Parameters
- llvm::mca::Scheduler& S
- bool ShouldPerformBottleneckAnalysis
¶llvm::Error cycleEnd()
llvm::Error cycleEnd()
Description
Called once at the end of each cycle.
Declared at: llvm/include/llvm/MCA/Stages/ExecuteStage.h:72
¶llvm::Error cycleStart()
llvm::Error cycleStart()
Description
Called once at the start of each cycle. This can be used as a setup phase to prepare for the executions during the cycle.
Declared at: llvm/include/llvm/MCA/Stages/ExecuteStage.h:71
¶llvm::Error execute(llvm::mca::InstRef& IR)
llvm::Error execute(llvm::mca::InstRef& IR)
Description
The primary action that this stage performs on instruction IR.
Declared at: llvm/include/llvm/MCA/Stages/ExecuteStage.h:73
Parameters
¶bool hasWorkToComplete() const
bool hasWorkToComplete() const
Description
Returns true if some instructions are still executing this stage.
Declared at: llvm/include/llvm/MCA/Stages/ExecuteStage.h:61
¶bool isAvailable(
const llvm::mca::InstRef& IR) const
bool isAvailable(
const llvm::mca::InstRef& IR) const
Description
Returns true if it can execute IR during this cycle.
Declared at: llvm/include/llvm/MCA/Stages/ExecuteStage.h:62
Parameters
- const llvm::mca::InstRef& IR
¶void notifyInstructionExecuted(
const llvm::mca::InstRef& IR) const
void notifyInstructionExecuted(
const llvm::mca::InstRef& IR) const
Declared at: llvm/include/llvm/MCA/Stages/ExecuteStage.h:78
Parameters
- const llvm::mca::InstRef& IR
¶void notifyInstructionIssued(
const llvm::mca::InstRef& IR,
MutableArrayRef<
std::pair<ResourceRef, ResourceCycles>>
Used) const
void notifyInstructionIssued(
const llvm::mca::InstRef& IR,
MutableArrayRef<
std::pair<ResourceRef, ResourceCycles>>
Used) const
Declared at: llvm/include/llvm/MCA/Stages/ExecuteStage.h:75
Parameters
- const llvm::mca::InstRef& IR
- MutableArrayRef< std::pair<ResourceRef, ResourceCycles>> Used
¶void notifyInstructionPending(
const llvm::mca::InstRef& IR) const
void notifyInstructionPending(
const llvm::mca::InstRef& IR) const
Declared at: llvm/include/llvm/MCA/Stages/ExecuteStage.h:79
Parameters
- const llvm::mca::InstRef& IR
¶void notifyInstructionReady(
const llvm::mca::InstRef& IR) const
void notifyInstructionReady(
const llvm::mca::InstRef& IR) const
Declared at: llvm/include/llvm/MCA/Stages/ExecuteStage.h:80
Parameters
- const llvm::mca::InstRef& IR
¶void notifyReservedOrReleasedBuffers(
const llvm::mca::InstRef& IR,
bool Reserved) const
void notifyReservedOrReleasedBuffers(
const llvm::mca::InstRef& IR,
bool Reserved) const
Declared at: llvm/include/llvm/MCA/Stages/ExecuteStage.h:84
Parameters
- const llvm::mca::InstRef& IR
- bool Reserved
¶void notifyResourceAvailable(
const llvm::mca::ResourceRef& RR) const
void notifyResourceAvailable(
const llvm::mca::ResourceRef& RR) const
Declared at: llvm/include/llvm/MCA/Stages/ExecuteStage.h:81
Parameters
- const llvm::mca::ResourceRef& RR