class Instruction

Declaration

class Instruction : public InstructionBase { /* full declaration omitted */ };

Description

An instruction propagated through the simulated instruction pipeline. This class is used to monitor changes to the internal state of instructions that are sent to the various components of the simulated hardware pipeline.

Declared at: llvm/include/llvm/MCA/Instruction.h:600

Inherits from: InstructionBase

Member Variables

private enum InstrStage Stage
private int CyclesLeft
private unsigned int RCUTokenID
private unsigned int LSUTokenID
private uint64_t UsedBuffers
private llvm::mca::CriticalDependency CriticalRegDep
private llvm::mca::CriticalDependency CriticalMemDep
private uint64_t CriticalResourceMask
private bool IsEliminated

Method Overview

Inherited from InstructionBase:

Methods

Instruction(const llvm::mca::InstrDesc& D,
            const unsigned int Opcode)

Declared at: llvm/include/llvm/MCA/Instruction.h:647

Parameters

const llvm::mca::InstrDesc& D
const unsigned int Opcode

void clearUsedBuffers()

Declared at: llvm/include/llvm/MCA/Instruction.h:661

const llvm::mca::CriticalDependency&
computeCriticalRegDep()

Declared at: llvm/include/llvm/MCA/Instruction.h:704

void cycleEvent()

Declared at: llvm/include/llvm/MCA/Instruction.h:714

void dispatch(unsigned int RCUTokenID)

Declared at: llvm/include/llvm/MCA/Instruction.h:668

Parameters

unsigned int RCUTokenID

void execute(unsigned int IID)

Declared at: llvm/include/llvm/MCA/Instruction.h:672

Parameters

unsigned int IID

void forceExecuted()

Declared at: llvm/include/llvm/MCA/Instruction.h:694

const llvm::mca::CriticalDependency&
getCriticalMemDep() const

Declared at: llvm/include/llvm/MCA/Instruction.h:703

const llvm::mca::CriticalDependency&
getCriticalRegDep() const

Declared at: llvm/include/llvm/MCA/Instruction.h:702

uint64_t getCriticalResourceMask() const

Declared at: llvm/include/llvm/MCA/Instruction.h:709

int getCyclesLeft() const

Declared at: llvm/include/llvm/MCA/Instruction.h:663

unsigned int getLSUTokenID() const

Declared at: llvm/include/llvm/MCA/Instruction.h:656

unsigned int getRCUTokenID() const

Declared at: llvm/include/llvm/MCA/Instruction.h:655

uint64_t getUsedBuffers() const

Declared at: llvm/include/llvm/MCA/Instruction.h:659

bool isDispatched() const

Declared at: llvm/include/llvm/MCA/Instruction.h:685

bool isEliminated() const

Declared at: llvm/include/llvm/MCA/Instruction.h:691

bool isExecuted() const

Declared at: llvm/include/llvm/MCA/Instruction.h:689

bool isExecuting() const

Declared at: llvm/include/llvm/MCA/Instruction.h:688

bool isInvalid() const

Declared at: llvm/include/llvm/MCA/Instruction.h:684

bool isPending() const

Declared at: llvm/include/llvm/MCA/Instruction.h:686

bool isReady() const

Declared at: llvm/include/llvm/MCA/Instruction.h:687

bool isRetired() const

Declared at: llvm/include/llvm/MCA/Instruction.h:690

void reset()

Declared at: llvm/include/llvm/MCA/Instruction.h:653

void retire()

Declared at: llvm/include/llvm/MCA/Instruction.h:697

void setCriticalMemDep(
    const llvm::mca::CriticalDependency& MemDep)

Declared at: llvm/include/llvm/MCA/Instruction.h:705

Parameters

const llvm::mca::CriticalDependency& MemDep

void setCriticalResourceMask(
    uint64_t ResourceMask)

Declared at: llvm/include/llvm/MCA/Instruction.h:710

Parameters

uint64_t ResourceMask

void setEliminated()

Declared at: llvm/include/llvm/MCA/Instruction.h:695

void setLSUTokenID(unsigned int LSUTok)

Declared at: llvm/include/llvm/MCA/Instruction.h:657

Parameters

unsigned int LSUTok

void setUsedBuffers(uint64_t Mask)

Declared at: llvm/include/llvm/MCA/Instruction.h:660

Parameters

uint64_t Mask

void update()

Declared at: llvm/include/llvm/MCA/Instruction.h:680

bool updateDispatched()

Declared at: llvm/include/llvm/MCA/Instruction.h:681

bool updatePending()

Declared at: llvm/include/llvm/MCA/Instruction.h:682