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

A stage that simulates a queue of instruction opcodes. More...

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

Public Member Functions
MicroOpQueueStage (unsigned Size, unsigned IPC=0, bool ZeroLatencyStage=true)
bool isAvailable (const InstRef &IR) const override
Returns true if it can execute IR during this cycle.
bool hasWorkToComplete () const override
Returns true if some instructions are still executing this stage.
Error execute (InstRef &IR) override
The primary action that this stage performs on instruction IR.
Error cycleStart () override
Called once at the start of each cycle.
Error cycleEnd () override
Called once at the end of each cycle.
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.

A stage that simulates a queue of instruction opcodes.

Definition at line 26 of file MicroOpQueueStage.h.

llvm::mca::MicroOpQueueStage::MicroOpQueueStage ( unsigned Size,
unsigned IPC = 0,
bool ZeroLatencyStage = true )

cycleEnd()

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

cycleStart()

Error llvm::mca::MicroOpQueueStage::cycleStart ( ) 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 56 of file MicroOpQueueStage.cpp.

execute()

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

hasWorkToComplete()

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

isAvailable()

bool llvm::mca::MicroOpQueueStage::isAvailable ( const InstRef & IR) const inlineoverridevirtual

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