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

Inherited from Stage:

Methods

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

Declared at: llvm/include/llvm/MCA/Stages/ExecuteStage.h:50

Parameters

llvm::mca::Scheduler& S

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()

Description

Called once at the end of each cycle.

Declared at: llvm/include/llvm/MCA/Stages/ExecuteStage.h:72

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)

Description

The primary action that this stage performs on instruction IR.

Declared at: llvm/include/llvm/MCA/Stages/ExecuteStage.h:73

Parameters

llvm::mca::InstRef& IR

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

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

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

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

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

Parameters

const llvm::mca::InstRef& IR

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

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

Declared at: llvm/include/llvm/MCA/Stages/ExecuteStage.h:81

Parameters

const llvm::mca::ResourceRef& RR