LLVM: llvm::mca::InstructionBase Class Reference (original) (raw)

Base class for instructions consumed by the simulation pipeline. More...

#include "[llvm/MCA/Instruction.h](MCA%5F2Instruction%5F8h%5Fsource.html)"

Public Member Functions
InstructionBase (const InstrDesc &D, const unsigned Opcode)
SmallVectorImpl< WriteState > & getDefs ()
ArrayRef< WriteState > getDefs () const
SmallVectorImpl< ReadState > & getUses ()
ArrayRef< ReadState > getUses () const
const InstrDesc & getDesc () const
unsigned getLatency () const
unsigned getNumMicroOps () const
unsigned getOpcode () const
bool isALoadBarrier () const
bool isAStoreBarrier () const
void setLoadBarrier (bool IsBarrier)
void setStoreBarrier (bool IsBarrier)
const MCAOperand * getOperand (const unsigned Idx) const
Return the MCAOperand which corresponds to index Idx within the original MCInst.
unsigned getNumOperands () const
void addOperand (const MCAOperand Op)
bool hasDependentUsers () const
unsigned getNumUsers () const
bool isOptimizableMove () const
void setOptimizableMove ()
void clearOptimizableMove ()
bool isMemOp () const
void setMayLoad (bool newVal)
void setMayStore (bool newVal)
void setHasSideEffects (bool newVal)
void setBeginGroup (bool newVal)
void setEndGroup (bool newVal)
void setRetireOOO (bool newVal)
bool getMayLoad () const
bool getMayStore () const
bool getHasSideEffects () const
bool getBeginGroup () const
bool getEndGroup () const
bool getRetireOOO () const

Base class for instructions consumed by the simulation pipeline.

This class tracks data dependencies as well as generic properties of the instruction.

Definition at line 499 of file Instruction.h.

addOperand()

clearOptimizableMove()

void llvm::mca::InstructionBase::clearOptimizableMove ( ) inline

getBeginGroup()

bool llvm::mca::InstructionBase::getBeginGroup ( ) const inline

getDefs() [1/2]

getDefs() [2/2]

getDesc()

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

getEndGroup()

bool llvm::mca::InstructionBase::getEndGroup ( ) const inline

getHasSideEffects()

bool llvm::mca::InstructionBase::getHasSideEffects ( ) const inline

getLatency()

unsigned llvm::mca::InstructionBase::getLatency ( ) const inline

getMayLoad()

bool llvm::mca::InstructionBase::getMayLoad ( ) const inline

getMayStore()

bool llvm::mca::InstructionBase::getMayStore ( ) const inline

getNumMicroOps()

unsigned llvm::mca::InstructionBase::getNumMicroOps ( ) const inline

getNumOperands()

unsigned llvm::mca::InstructionBase::getNumOperands ( ) const inline

getNumUsers()

unsigned llvm::mca::InstructionBase::getNumUsers ( ) const inline

getOpcode()

unsigned llvm::mca::InstructionBase::getOpcode ( ) const inline

getOperand()

getRetireOOO()

bool llvm::mca::InstructionBase::getRetireOOO ( ) const inline

getUses() [1/2]

getUses() [2/2]

hasDependentUsers()

bool llvm::mca::InstructionBase::hasDependentUsers ( ) const inline

isALoadBarrier()

bool llvm::mca::InstructionBase::isALoadBarrier ( ) const inline

isAStoreBarrier()

bool llvm::mca::InstructionBase::isAStoreBarrier ( ) const inline

isMemOp()

bool llvm::mca::InstructionBase::isMemOp ( ) const inline

isOptimizableMove()

bool llvm::mca::InstructionBase::isOptimizableMove ( ) const inline

setBeginGroup()

void llvm::mca::InstructionBase::setBeginGroup ( bool newVal) inline

setEndGroup()

void llvm::mca::InstructionBase::setEndGroup ( bool newVal) inline

setHasSideEffects()

void llvm::mca::InstructionBase::setHasSideEffects ( bool newVal) inline

setLoadBarrier()

void llvm::mca::InstructionBase::setLoadBarrier ( bool IsBarrier) inline

setMayLoad()

void llvm::mca::InstructionBase::setMayLoad ( bool newVal) inline

setMayStore()

void llvm::mca::InstructionBase::setMayStore ( bool newVal) inline

setOptimizableMove()

void llvm::mca::InstructionBase::setOptimizableMove ( ) inline

setRetireOOO()

void llvm::mca::InstructionBase::setRetireOOO ( bool newVal) inline

setStoreBarrier()

void llvm::mca::InstructionBase::setStoreBarrier ( bool IsBarrier) inline

The documentation for this class was generated from the following file: