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
- public Instruction(const llvm::mca::InstrDesc & D, const unsigned int Opcode)
- public void clearUsedBuffers()
- public const llvm::mca::CriticalDependency & computeCriticalRegDep()
- public void cycleEvent()
- public void dispatch(unsigned int RCUTokenID)
- public void execute(unsigned int IID)
- public void forceExecuted()
- public const llvm::mca::CriticalDependency & getCriticalMemDep() const
- public const llvm::mca::CriticalDependency & getCriticalRegDep() const
- public uint64_t getCriticalResourceMask() const
- public int getCyclesLeft() const
- public unsigned int getLSUTokenID() const
- public unsigned int getRCUTokenID() const
- public uint64_t getUsedBuffers() const
- public bool isDispatched() const
- public bool isEliminated() const
- public bool isExecuted() const
- public bool isExecuting() const
- public bool isInvalid() const
- public bool isPending() const
- public bool isReady() const
- public bool isRetired() const
- public void reset()
- public void retire()
- public void setCriticalMemDep(const llvm::mca::CriticalDependency & MemDep)
- public void setCriticalResourceMask(uint64_t ResourceMask)
- public void setEliminated()
- public void setLSUTokenID(unsigned int LSUTok)
- public void setUsedBuffers(uint64_t Mask)
- public void update()
- public bool updateDispatched()
- public bool updatePending()
Inherited from InstructionBase:
- public addOperand
- public clearOptimizableMove
- public getBeginGroup
- public getDefs
- public getDefs
- public getDesc
- public getEndGroup
- public getHasSideEffects
- public getLatency
- public getMayLoad
- public getMayStore
- public getNumMicroOps
- public getNumOperands
- public getNumUsers
- public getOpcode
- public getOperand
- public getRetireOOO
- public getUses
- public getUses
- public hasDependentUsers
- public isALoadBarrier
- public isAStoreBarrier
- public isMemOp
- public isOptimizableMove
- public setBeginGroup
- public setEndGroup
- public setHasSideEffects
- public setLoadBarrier
- public setMayLoad
- public setMayStore
- public setOptimizableMove
- public setRetireOOO
- public setStoreBarrier
Methods
¶Instruction(const llvm::mca::InstrDesc& D,
const unsigned int Opcode)
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()
void clearUsedBuffers()
Declared at: llvm/include/llvm/MCA/Instruction.h:661
¶const llvm::mca::CriticalDependency&
computeCriticalRegDep()
const llvm::mca::CriticalDependency&
computeCriticalRegDep()
Declared at: llvm/include/llvm/MCA/Instruction.h:704
¶void cycleEvent()
void cycleEvent()
Declared at: llvm/include/llvm/MCA/Instruction.h:714
¶void dispatch(unsigned int RCUTokenID)
void dispatch(unsigned int RCUTokenID)
Declared at: llvm/include/llvm/MCA/Instruction.h:668
Parameters
- unsigned int RCUTokenID
¶void execute(unsigned int IID)
void execute(unsigned int IID)
Declared at: llvm/include/llvm/MCA/Instruction.h:672
Parameters
- unsigned int IID
¶void forceExecuted()
void forceExecuted()
Declared at: llvm/include/llvm/MCA/Instruction.h:694
¶const llvm::mca::CriticalDependency&
getCriticalMemDep() const
const llvm::mca::CriticalDependency&
getCriticalMemDep() const
Declared at: llvm/include/llvm/MCA/Instruction.h:703
¶const llvm::mca::CriticalDependency&
getCriticalRegDep() const
const llvm::mca::CriticalDependency&
getCriticalRegDep() const
Declared at: llvm/include/llvm/MCA/Instruction.h:702
¶uint64_t getCriticalResourceMask() const
uint64_t getCriticalResourceMask() const
Declared at: llvm/include/llvm/MCA/Instruction.h:709
¶int getCyclesLeft() const
int getCyclesLeft() const
Declared at: llvm/include/llvm/MCA/Instruction.h:663
¶unsigned int getLSUTokenID() const
unsigned int getLSUTokenID() const
Declared at: llvm/include/llvm/MCA/Instruction.h:656
¶unsigned int getRCUTokenID() const
unsigned int getRCUTokenID() const
Declared at: llvm/include/llvm/MCA/Instruction.h:655
¶uint64_t getUsedBuffers() const
uint64_t getUsedBuffers() const
Declared at: llvm/include/llvm/MCA/Instruction.h:659
¶bool isDispatched() const
bool isDispatched() const
Declared at: llvm/include/llvm/MCA/Instruction.h:685
¶bool isEliminated() const
bool isEliminated() const
Declared at: llvm/include/llvm/MCA/Instruction.h:691
¶bool isExecuted() const
bool isExecuted() const
Declared at: llvm/include/llvm/MCA/Instruction.h:689
¶bool isExecuting() const
bool isExecuting() const
Declared at: llvm/include/llvm/MCA/Instruction.h:688
¶bool isInvalid() const
bool isInvalid() const
Declared at: llvm/include/llvm/MCA/Instruction.h:684
¶bool isPending() const
bool isPending() const
Declared at: llvm/include/llvm/MCA/Instruction.h:686
¶bool isReady() const
bool isReady() const
Declared at: llvm/include/llvm/MCA/Instruction.h:687
¶bool isRetired() const
bool isRetired() const
Declared at: llvm/include/llvm/MCA/Instruction.h:690
¶void reset()
void reset()
Declared at: llvm/include/llvm/MCA/Instruction.h:653
¶void retire()
void retire()
Declared at: llvm/include/llvm/MCA/Instruction.h:697
¶void setCriticalMemDep(
const llvm::mca::CriticalDependency& MemDep)
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)
void setCriticalResourceMask(
uint64_t ResourceMask)
Declared at: llvm/include/llvm/MCA/Instruction.h:710
Parameters
- uint64_t ResourceMask
¶void setEliminated()
void setEliminated()
Declared at: llvm/include/llvm/MCA/Instruction.h:695
¶void setLSUTokenID(unsigned int LSUTok)
void setLSUTokenID(unsigned int LSUTok)
Declared at: llvm/include/llvm/MCA/Instruction.h:657
Parameters
- unsigned int LSUTok
¶void setUsedBuffers(uint64_t Mask)
void setUsedBuffers(uint64_t Mask)
Declared at: llvm/include/llvm/MCA/Instruction.h:660
Parameters
- uint64_t Mask
¶void update()
void update()
Declared at: llvm/include/llvm/MCA/Instruction.h:680
¶bool updateDispatched()
bool updateDispatched()
Declared at: llvm/include/llvm/MCA/Instruction.h:681
¶bool updatePending()
bool updatePending()
Declared at: llvm/include/llvm/MCA/Instruction.h:682