class Stage

Declaration

class Stage { /* full declaration omitted */ };

Declared at: llvm/include/llvm/MCA/Stages/Stage.h:27

Method Overview

Methods

Stage()

Declared at: llvm/include/llvm/MCA/Stages/Stage.h:38

void addListener(
    llvm::mca::HWEventListener* Listener)

Description

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

Declared at: llvm/include/llvm/MCA/Stages/Stage.h:76

Parameters

llvm::mca::HWEventListener* Listener

bool checkNextStage(
    const llvm::mca::InstRef& IR) const

Declared at: llvm/include/llvm/MCA/Stages/Stage.h:62

Parameters

const llvm::mca::InstRef& IR

virtual llvm::Error cycleEnd()

Description

Called once at the end of each cycle.

Declared at: llvm/include/llvm/MCA/Stages/Stage.h:52

virtual 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/Stage.h:49

virtual 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/Stage.h:55

Parameters

llvm::mca::InstRef& IR

const std::set<HWEventListener*>& getListeners()
    const

Declared at: llvm/include/llvm/MCA/Stages/Stage.h:35

virtual bool hasWorkToComplete() const

Description

Returns true if some instructions are still executing this stage.

Declared at: llvm/include/llvm/MCA/Stages/Stage.h:45

virtual 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/Stage.h:42

Parameters

const llvm::mca::InstRef& IR

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

Description

Called when an instruction is ready to move the next pipeline stage. Stages are responsible for moving instructions to their immediate successor stages.

Declared at: llvm/include/llvm/MCA/Stages/Stage.h:70

Parameters

llvm::mca::InstRef& IR

template <typename EventT>
void notifyEvent(const EventT& Event) const

Description

Notify listeners of a particular hardware event.

Declared at: llvm/include/llvm/MCA/Stages/Stage.h:79

Templates

EventT

Parameters

const EventT& Event

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

Declared at: llvm/include/llvm/MCA/Stages/Stage.h:57

Parameters

llvm::mca::Stage* NextStage

virtual ~Stage()

Declared at: llvm/include/llvm/MCA/Stages/Stage.h:39