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

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

Public Member Functions
Stage ()=default
virtual ~Stage ()
virtual bool isAvailable (const InstRef &IR) const
Returns true if it can execute IR during this cycle.
virtual bool hasWorkToComplete () const =0
Returns true if some instructions are still executing this stage.
virtual Error cycleStart ()
Called once at the start of each cycle.
virtual Error cycleResume ()
Called after the pipeline is resumed from pausing state.
virtual Error cycleEnd ()
Called once at the end of each cycle.
virtual Error execute (InstRef &IR)=0
The primary action that this stage performs on instruction IR.
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 Stage.h.

llvm::mca::Stage::Stage ( ) default

~Stage()

llvm::mca::Stage::~Stage ( ) virtualdefault

addListener()

Add a listener to receive callbacks during the execution of this stage.

Definition at line 23 of file Stage.cpp.

checkNextStage()

cycleEnd()

virtual Error llvm::mca::Stage::cycleEnd ( ) inlinevirtual

cycleResume()

virtual Error llvm::mca::Stage::cycleResume ( ) inlinevirtual

cycleStart()

virtual Error llvm::mca::Stage::cycleStart ( ) inlinevirtual

execute()

virtual Error llvm::mca::Stage::execute ( InstRef & IR) pure virtual

getListeners()

hasWorkToComplete()

virtual bool llvm::mca::Stage::hasWorkToComplete ( ) const pure virtual

isAvailable()

virtual bool llvm::mca::Stage::isAvailable ( const InstRef & IR) const inlinevirtual

moveToTheNextStage()

Error llvm::mca::Stage::moveToTheNextStage ( InstRef & IR) inline

notifyEvent()

template

void llvm::mca::Stage::notifyEvent ( const EventT & Event) const inline

setNextInSequence()

void llvm::mca::Stage::setNextInSequence ( Stage * NextStage) inline

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