class InstructionBase

Declaration

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

Description

Base class for instructions consumed by the simulation pipeline. This class tracks data dependencies as well as generic properties of the instruction.

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

Member Variables

private const llvm::mca::InstrDesc& Desc
private bool IsOptimizableMove
private SmallVector<llvm::mca::WriteState, 2> Defs
private SmallVector<llvm::mca::ReadState, 4> Uses
private std::vector<MCAOperand> Operands
private unsigned int Opcode
private bool IsALoadBarrier
private bool IsAStoreBarrier
private bool MayLoad
private bool MayStore
private bool HasSideEffects
private bool BeginGroup
private bool EndGroup
private bool RetireOOO

Method Overview

Methods

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

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

Parameters

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

void addOperand(const llvm::mca::MCAOperand Op)

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

Parameters

const llvm::mca::MCAOperand Op

void clearOptimizableMove()

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

bool getBeginGroup() const

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

SmallVectorImpl<llvm::mca::WriteState>& getDefs()

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

ArrayRef<llvm::mca::WriteState> getDefs() const

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

const llvm::mca::InstrDesc& getDesc() const

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

bool getEndGroup() const

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

bool getHasSideEffects() const

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

unsigned int getLatency() const

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

bool getMayLoad() const

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

bool getMayStore() const

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

unsigned int getNumMicroOps() const

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

unsigned int getNumOperands() const

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

unsigned int getNumUsers() const

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

unsigned int getOpcode() const

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

const llvm::mca::MCAOperand* getOperand(
    const unsigned int Idx) const

Description

Return the MCAOperand which corresponds to index Idx within the original MCInst.

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

Parameters

const unsigned int Idx

bool getRetireOOO() const

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

SmallVectorImpl<llvm::mca::ReadState>& getUses()

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

ArrayRef<llvm::mca::ReadState> getUses() const

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

bool hasDependentUsers() const

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

bool isALoadBarrier() const

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

bool isAStoreBarrier() const

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

bool isMemOp() const

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

bool isOptimizableMove() const

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

void setBeginGroup(bool newVal)

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

Parameters

bool newVal

void setEndGroup(bool newVal)

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

Parameters

bool newVal

void setHasSideEffects(bool newVal)

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

Parameters

bool newVal

void setLoadBarrier(bool IsBarrier)

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

Parameters

bool IsBarrier

void setMayLoad(bool newVal)

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

Parameters

bool newVal

void setMayStore(bool newVal)

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

Parameters

bool newVal

void setOptimizableMove()

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

void setRetireOOO(bool newVal)

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

Parameters

bool newVal

void setStoreBarrier(bool IsBarrier)

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

Parameters

bool IsBarrier