class ReadState
Declaration
class ReadState { /* full declaration omitted */ };
Description
Tracks register operand latency in cycles. A read may be dependent on more than one write. This occurs when some writes only partially update the register associated to this read.
Declared at: llvm/include/llvm/MCA/Instruction.h:227
Method Overview
- public ReadState(const llvm::mca::ReadDescriptor & Desc, llvm::MCPhysReg RegID)
- public void cycleEvent()
- public const llvm::mca::CriticalDependency & getCriticalRegDep() const
- public const llvm::mca::ReadDescriptor & getDescriptor() const
- public unsigned int getRegisterFileID() const
- public llvm::MCPhysReg getRegisterID() const
- public unsigned int getSchedClass() const
- public bool isImplicitRead() const
- public bool isIndependentFromDef() const
- public bool isPending() const
- public bool isReadZero() const
- public bool isReady() const
- public void setDependentWrites(unsigned int Writes)
- public void setIndependentFromDef()
- public void setPRF(unsigned int ID)
- public void setReadZero()
- public void writeStartEvent(unsigned int IID, llvm::MCPhysReg RegID, unsigned int Cycles)
Methods
¶ReadState(const llvm::mca::ReadDescriptor& Desc,
llvm::MCPhysReg RegID)
ReadState(const llvm::mca::ReadDescriptor& Desc,
llvm::MCPhysReg RegID)
Declared at: llvm/include/llvm/MCA/Instruction.h:257
Parameters
- const llvm::mca::ReadDescriptor& Desc
- llvm::MCPhysReg RegID
¶void cycleEvent()
void cycleEvent()
Declared at: llvm/include/llvm/MCA/Instruction.h:275
¶const llvm::mca::CriticalDependency&
getCriticalRegDep() const
const llvm::mca::CriticalDependency&
getCriticalRegDep() const
Declared at: llvm/include/llvm/MCA/Instruction.h:266
¶const llvm::mca::ReadDescriptor& getDescriptor()
const
const llvm::mca::ReadDescriptor& getDescriptor()
const
Declared at: llvm/include/llvm/MCA/Instruction.h:262
¶unsigned int getRegisterFileID() const
unsigned int getRegisterFileID() const
Declared at: llvm/include/llvm/MCA/Instruction.h:265
¶llvm::MCPhysReg getRegisterID() const
llvm::MCPhysReg getRegisterID() const
Declared at: llvm/include/llvm/MCA/Instruction.h:264
¶unsigned int getSchedClass() const
unsigned int getSchedClass() const
Declared at: llvm/include/llvm/MCA/Instruction.h:263
¶bool isImplicitRead() const
bool isImplicitRead() const
Declared at: llvm/include/llvm/MCA/Instruction.h:270
¶bool isIndependentFromDef() const
bool isIndependentFromDef() const
Declared at: llvm/include/llvm/MCA/Instruction.h:272
¶bool isPending() const
bool isPending() const
Declared at: llvm/include/llvm/MCA/Instruction.h:268
¶bool isReadZero() const
bool isReadZero() const
Declared at: llvm/include/llvm/MCA/Instruction.h:282
¶bool isReady() const
bool isReady() const
Declared at: llvm/include/llvm/MCA/Instruction.h:269
¶void setDependentWrites(unsigned int Writes)
void setDependentWrites(unsigned int Writes)
Declared at: llvm/include/llvm/MCA/Instruction.h:277
Parameters
- unsigned int Writes
¶void setIndependentFromDef()
void setIndependentFromDef()
Declared at: llvm/include/llvm/MCA/Instruction.h:273
¶void setPRF(unsigned int ID)
void setPRF(unsigned int ID)
Declared at: llvm/include/llvm/MCA/Instruction.h:284
Parameters
- unsigned int ID
¶void setReadZero()
void setReadZero()
Declared at: llvm/include/llvm/MCA/Instruction.h:283
¶void writeStartEvent(unsigned int IID,
llvm::MCPhysReg RegID,
unsigned int Cycles)
void writeStartEvent(unsigned int IID,
llvm::MCPhysReg RegID,
unsigned int Cycles)
Declared at: llvm/include/llvm/MCA/Instruction.h:276
Parameters
- unsigned int IID
- llvm::MCPhysReg RegID
- unsigned int Cycles