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
- public InstructionBase(const llvm::mca::InstrDesc & D, const unsigned int Opcode)
- public void addOperand(const llvm::mca::MCAOperand Op)
- public void clearOptimizableMove()
- public bool getBeginGroup() const
- public SmallVectorImpl<llvm::mca::WriteState> & getDefs()
- public ArrayRef<llvm::mca::WriteState> getDefs() const
- public const llvm::mca::InstrDesc & getDesc() const
- public bool getEndGroup() const
- public bool getHasSideEffects() const
- public unsigned int getLatency() const
- public bool getMayLoad() const
- public bool getMayStore() const
- public unsigned int getNumMicroOps() const
- public unsigned int getNumOperands() const
- public unsigned int getNumUsers() const
- public unsigned int getOpcode() const
- public const llvm::mca::MCAOperand * getOperand(const unsigned int Idx) const
- public bool getRetireOOO() const
- public SmallVectorImpl<llvm::mca::ReadState> & getUses()
- public ArrayRef<llvm::mca::ReadState> getUses() const
- public bool hasDependentUsers() const
- public bool isALoadBarrier() const
- public bool isAStoreBarrier() const
- public bool isMemOp() const
- public bool isOptimizableMove() const
- public void setBeginGroup(bool newVal)
- public void setEndGroup(bool newVal)
- public void setHasSideEffects(bool newVal)
- public void setLoadBarrier(bool IsBarrier)
- public void setMayLoad(bool newVal)
- public void setMayStore(bool newVal)
- public void setOptimizableMove()
- public void setRetireOOO(bool newVal)
- public void setStoreBarrier(bool IsBarrier)
Methods
¶InstructionBase(const llvm::mca::InstrDesc& D,
const unsigned int Opcode)
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)
void addOperand(const llvm::mca::MCAOperand Op)
Declared at: llvm/include/llvm/MCA/Instruction.h:560
Parameters
- const llvm::mca::MCAOperand Op
¶void clearOptimizableMove()
void clearOptimizableMove()
Declared at: llvm/include/llvm/MCA/Instruction.h:577
¶bool getBeginGroup() const
bool getBeginGroup() const
Declared at: llvm/include/llvm/MCA/Instruction.h:591
¶SmallVectorImpl<llvm::mca::WriteState>& getDefs()
SmallVectorImpl<llvm::mca::WriteState>& getDefs()
Declared at: llvm/include/llvm/MCA/Instruction.h:535
¶ArrayRef<llvm::mca::WriteState> getDefs() const
ArrayRef<llvm::mca::WriteState> getDefs() const
Declared at: llvm/include/llvm/MCA/Instruction.h:536
¶const llvm::mca::InstrDesc& getDesc() const
const llvm::mca::InstrDesc& getDesc() const
Declared at: llvm/include/llvm/MCA/Instruction.h:539
¶bool getEndGroup() const
bool getEndGroup() const
Declared at: llvm/include/llvm/MCA/Instruction.h:592
¶bool getHasSideEffects() const
bool getHasSideEffects() const
Declared at: llvm/include/llvm/MCA/Instruction.h:590
¶unsigned int getLatency() const
unsigned int getLatency() const
Declared at: llvm/include/llvm/MCA/Instruction.h:541
¶bool getMayLoad() const
bool getMayLoad() const
Declared at: llvm/include/llvm/MCA/Instruction.h:588
¶bool getMayStore() const
bool getMayStore() const
Declared at: llvm/include/llvm/MCA/Instruction.h:589
¶unsigned int getNumMicroOps() const
unsigned int getNumMicroOps() const
Declared at: llvm/include/llvm/MCA/Instruction.h:542
¶unsigned int getNumOperands() const
unsigned int getNumOperands() const
Declared at: llvm/include/llvm/MCA/Instruction.h:559
¶unsigned int getNumUsers() const
unsigned int getNumUsers() const
Declared at: llvm/include/llvm/MCA/Instruction.h:567
¶unsigned int getOpcode() const
unsigned int getOpcode() const
Declared at: llvm/include/llvm/MCA/Instruction.h:543
¶const llvm::mca::MCAOperand* getOperand(
const unsigned int Idx) const
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
bool getRetireOOO() const
Declared at: llvm/include/llvm/MCA/Instruction.h:593
¶SmallVectorImpl<llvm::mca::ReadState>& getUses()
SmallVectorImpl<llvm::mca::ReadState>& getUses()
Declared at: llvm/include/llvm/MCA/Instruction.h:537
¶ArrayRef<llvm::mca::ReadState> getUses() const
ArrayRef<llvm::mca::ReadState> getUses() const
Declared at: llvm/include/llvm/MCA/Instruction.h:538
¶bool hasDependentUsers() const
bool hasDependentUsers() const
Declared at: llvm/include/llvm/MCA/Instruction.h:562
¶bool isALoadBarrier() const
bool isALoadBarrier() const
Declared at: llvm/include/llvm/MCA/Instruction.h:544
¶bool isAStoreBarrier() const
bool isAStoreBarrier() const
Declared at: llvm/include/llvm/MCA/Instruction.h:545
¶bool isMemOp() const
bool isMemOp() const
Declared at: llvm/include/llvm/MCA/Instruction.h:578
¶bool isOptimizableMove() const
bool isOptimizableMove() const
Declared at: llvm/include/llvm/MCA/Instruction.h:575
¶void setBeginGroup(bool newVal)
void setBeginGroup(bool newVal)
Declared at: llvm/include/llvm/MCA/Instruction.h:584
Parameters
- bool newVal
¶void setEndGroup(bool newVal)
void setEndGroup(bool newVal)
Declared at: llvm/include/llvm/MCA/Instruction.h:585
Parameters
- bool newVal
¶void setHasSideEffects(bool newVal)
void setHasSideEffects(bool newVal)
Declared at: llvm/include/llvm/MCA/Instruction.h:583
Parameters
- bool newVal
¶void setLoadBarrier(bool IsBarrier)
void setLoadBarrier(bool IsBarrier)
Declared at: llvm/include/llvm/MCA/Instruction.h:546
Parameters
- bool IsBarrier
¶void setMayLoad(bool newVal)
void setMayLoad(bool newVal)
Declared at: llvm/include/llvm/MCA/Instruction.h:581
Parameters
- bool newVal
¶void setMayStore(bool newVal)
void setMayStore(bool newVal)
Declared at: llvm/include/llvm/MCA/Instruction.h:582
Parameters
- bool newVal
¶void setOptimizableMove()
void setOptimizableMove()
Declared at: llvm/include/llvm/MCA/Instruction.h:576
¶void setRetireOOO(bool newVal)
void setRetireOOO(bool newVal)
Declared at: llvm/include/llvm/MCA/Instruction.h:586
Parameters
- bool newVal
¶void setStoreBarrier(bool IsBarrier)
void setStoreBarrier(bool IsBarrier)
Declared at: llvm/include/llvm/MCA/Instruction.h:547
Parameters
- bool IsBarrier