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:326
Member Variables
- private const llvm::mca::ReadDescriptor* RD
- private llvm::MCPhysReg RegisterID
- private unsigned int PRFID
- private unsigned int DependentWrites
- private int CyclesLeft
- private unsigned int TotalCycles
- private llvm::mca::CriticalDependency CRD
- private bool IsReady
- private bool IsZero
- private bool IndependentFromDef
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:356
Parameters
- const llvm::mca::ReadDescriptor& Desc
- llvm::MCPhysReg RegID
¶void cycleEvent()
void cycleEvent()
Declared at: llvm/include/llvm/MCA/Instruction.h:374
¶const llvm::mca::CriticalDependency&
getCriticalRegDep() const
const llvm::mca::CriticalDependency&
getCriticalRegDep() const
Declared at: llvm/include/llvm/MCA/Instruction.h:365
¶const llvm::mca::ReadDescriptor& getDescriptor()
const
const llvm::mca::ReadDescriptor& getDescriptor()
const
Declared at: llvm/include/llvm/MCA/Instruction.h:361
¶unsigned int getRegisterFileID() const
unsigned int getRegisterFileID() const
Declared at: llvm/include/llvm/MCA/Instruction.h:364
¶llvm::MCPhysReg getRegisterID() const
llvm::MCPhysReg getRegisterID() const
Declared at: llvm/include/llvm/MCA/Instruction.h:363
¶unsigned int getSchedClass() const
unsigned int getSchedClass() const
Declared at: llvm/include/llvm/MCA/Instruction.h:362
¶bool isImplicitRead() const
bool isImplicitRead() const
Declared at: llvm/include/llvm/MCA/Instruction.h:369
¶bool isIndependentFromDef() const
bool isIndependentFromDef() const
Declared at: llvm/include/llvm/MCA/Instruction.h:371
¶bool isPending() const
bool isPending() const
Declared at: llvm/include/llvm/MCA/Instruction.h:367
¶bool isReadZero() const
bool isReadZero() const
Declared at: llvm/include/llvm/MCA/Instruction.h:381
¶bool isReady() const
bool isReady() const
Declared at: llvm/include/llvm/MCA/Instruction.h:368
¶void setDependentWrites(unsigned int Writes)
void setDependentWrites(unsigned int Writes)
Declared at: llvm/include/llvm/MCA/Instruction.h:376
Parameters
- unsigned int Writes
¶void setIndependentFromDef()
void setIndependentFromDef()
Declared at: llvm/include/llvm/MCA/Instruction.h:372
¶void setPRF(unsigned int ID)
void setPRF(unsigned int ID)
Declared at: llvm/include/llvm/MCA/Instruction.h:383
Parameters
- unsigned int ID
¶void setReadZero()
void setReadZero()
Declared at: llvm/include/llvm/MCA/Instruction.h:382
¶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:375
Parameters
- unsigned int IID
- llvm::MCPhysReg RegID
- unsigned int Cycles