LLVM: llvm::mca::ExecuteStage Class Reference (original) (raw)

#include "[llvm/MCA/Stages/ExecuteStage.h](ExecuteStage%5F8h%5Fsource.html)"

Public Member Functions
ExecuteStage (Scheduler &S)
ExecuteStage (Scheduler &S, bool ShouldPerformBottleneckAnalysis)
bool hasWorkToComplete () const override
Returns true if some instructions are still executing this stage.
bool isAvailable (const InstRef &IR) const override
Returns true if it can execute IR during this cycle.
Error cycleStart () override
Called once at the start of each cycle.
Error cycleEnd () override
Called once at the end of each cycle.
Error execute (InstRef &IR) override
The primary action that this stage performs on instruction IR.
void notifyInstructionIssued (const InstRef &IR, MutableArrayRef< ResourceUse > Used) const
void notifyInstructionExecuted (const InstRef &IR) const
void notifyInstructionPending (const InstRef &IR) const
void notifyInstructionReady (const InstRef &IR) const
void notifyResourceAvailable (const ResourceRef &RR) const
void notifyReservedOrReleasedBuffers (const InstRef &IR, bool Reserved) const
Public Member Functions inherited from llvm::mca::Stage
Stage ()=default
virtual ~Stage ()
virtual Error cycleResume ()
Called after the pipeline is resumed from pausing state.
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.
void addListener (HWEventListener *Listener)
Add a listener to receive callbacks during the execution of this stage.
template
void notifyEvent (const EventT &Event) const
Notify listeners of a particular hardware event.

Definition at line 28 of file ExecuteStage.h.

llvm::mca::ExecuteStage::ExecuteStage ( Scheduler & S) inline

ExecuteStage() [2/2]

llvm::mca::ExecuteStage::ExecuteStage ( Scheduler & S, bool ShouldPerformBottleneckAnalysis ) inline

cycleEnd()

Error llvm::mca::ExecuteStage::cycleEnd ( ) overridevirtual

cycleStart()

Error llvm::mca::ExecuteStage::cycleStart ( ) overridevirtual

execute()

Error llvm::mca::ExecuteStage::execute ( InstRef & IR) overridevirtual

hasWorkToComplete()

bool llvm::mca::ExecuteStage::hasWorkToComplete ( ) const inlineoverridevirtual

isAvailable()

bool llvm::mca::ExecuteStage::isAvailable ( const InstRef & IR) const overridevirtual

notifyInstructionExecuted()

void llvm::mca::ExecuteStage::notifyInstructionExecuted ( const InstRef & IR ) const

notifyInstructionIssued()

notifyInstructionPending()

void llvm::mca::ExecuteStage::notifyInstructionPending ( const InstRef & IR ) const

notifyInstructionReady()

void llvm::mca::ExecuteStage::notifyInstructionReady ( const InstRef & IR ) const

notifyReservedOrReleasedBuffers()

void llvm::mca::ExecuteStage::notifyReservedOrReleasedBuffers ( const InstRef & IR,
bool Reserved ) const

notifyResourceAvailable()

void llvm::mca::ExecuteStage::notifyResourceAvailable ( const ResourceRef & RR ) const

The documentation for this class was generated from the following files: