class WriteState
Declaration
class WriteState { /* full declaration omitted */ };
Description
Tracks uses of a register definition (e.g. register write). Each implicit/explicit register write is associated with an instance of this class. A WriteState object tracks the dependent users of a register write. It also tracks how many cycles are left before the write back stage.
Declared at: llvm/include/llvm/MCA/Instruction.h:99
Method Overview
- public WriteState(const llvm::mca::WriteState & Other)
- public WriteState(const llvm::mca::WriteDescriptor & Desc, llvm::MCPhysReg RegID, bool clearsSuperRegs = false, bool writesZero = false)
- public void addUser(unsigned int IID, llvm::mca::WriteState * Use)
- public void addUser(unsigned int IID, llvm::mca::ReadState * Use, int ReadAdvance)
- public bool clearsSuperRegisters() const
- public void cycleEvent()
- public void dump() const
- public const llvm::mca::CriticalDependency & getCriticalRegDep() const
- public int getCyclesLeft() const
- public const llvm::mca::WriteState * getDependentWrite() const
- public unsigned int getDependentWriteCyclesLeft() const
- public unsigned int getLatency() const
- public unsigned int getNumUsers() const
- public unsigned int getRegisterFileID() const
- public llvm::MCPhysReg getRegisterID() const
- public unsigned int getWriteResourceID() const
- public bool isEliminated() const
- public bool isExecuted() const
- public bool isReady() const
- public bool isWriteZero() const
- public void onInstructionIssued(unsigned int IID)
- public void setDependentWrite(const llvm::mca::WriteState * Other)
- public void setEliminated()
- public void setPRF(unsigned int PRF)
- public void setWriteZero()
- public void writeStartEvent(unsigned int IID, llvm::MCPhysReg RegID, unsigned int Cycles)
Methods
¶WriteState(const llvm::mca::WriteState& Other)
WriteState(const llvm::mca::WriteState& Other)
Declared at: llvm/include/llvm/MCA/Instruction.h:157
Parameters
- const llvm::mca::WriteState& Other
¶WriteState(const llvm::mca::WriteDescriptor& Desc,
llvm::MCPhysReg RegID,
bool clearsSuperRegs = false,
bool writesZero = false)
WriteState(const llvm::mca::WriteDescriptor& Desc,
llvm::MCPhysReg RegID,
bool clearsSuperRegs = false,
bool writesZero = false)
Declared at: llvm/include/llvm/MCA/Instruction.h:150
Parameters
- const llvm::mca::WriteDescriptor& Desc
- llvm::MCPhysReg RegID
- bool clearsSuperRegs = false
- bool writesZero = false
¶void addUser(unsigned int IID,
llvm::mca::WriteState* Use)
void addUser(unsigned int IID,
llvm::mca::WriteState* Use)
Declared at: llvm/include/llvm/MCA/Instruction.h:179
Parameters
- unsigned int IID
- llvm::mca::WriteState* Use
¶void addUser(unsigned int IID,
llvm::mca::ReadState* Use,
int ReadAdvance)
void addUser(unsigned int IID,
llvm::mca::ReadState* Use,
int ReadAdvance)
Declared at: llvm/include/llvm/MCA/Instruction.h:175
Parameters
- unsigned int IID
- llvm::mca::ReadState* Use
- int ReadAdvance
¶bool clearsSuperRegisters() const
bool clearsSuperRegisters() const
Declared at: llvm/include/llvm/MCA/Instruction.h:188
¶void cycleEvent()
void cycleEvent()
Declared at: llvm/include/llvm/MCA/Instruction.h:215
¶void dump() const
void dump() const
Declared at: llvm/include/llvm/MCA/Instruction.h:219
¶const llvm::mca::CriticalDependency&
getCriticalRegDep() const
const llvm::mca::CriticalDependency&
getCriticalRegDep() const
Declared at: llvm/include/llvm/MCA/Instruction.h:169
¶int getCyclesLeft() const
int getCyclesLeft() const
Declared at: llvm/include/llvm/MCA/Instruction.h:160
¶const llvm::mca::WriteState* getDependentWrite()
const
const llvm::mca::WriteState* getDependentWrite()
const
Declared at: llvm/include/llvm/MCA/Instruction.h:168
¶unsigned int getDependentWriteCyclesLeft() const
unsigned int getDependentWriteCyclesLeft() const
Declared at: llvm/include/llvm/MCA/Instruction.h:165
¶unsigned int getLatency() const
unsigned int getLatency() const
Declared at: llvm/include/llvm/MCA/Instruction.h:164
¶unsigned int getNumUsers() const
unsigned int getNumUsers() const
Declared at: llvm/include/llvm/MCA/Instruction.h:181
¶unsigned int getRegisterFileID() const
unsigned int getRegisterFileID() const
Declared at: llvm/include/llvm/MCA/Instruction.h:163
¶llvm::MCPhysReg getRegisterID() const
llvm::MCPhysReg getRegisterID() const
Declared at: llvm/include/llvm/MCA/Instruction.h:162
¶unsigned int getWriteResourceID() const
unsigned int getWriteResourceID() const
Declared at: llvm/include/llvm/MCA/Instruction.h:161
¶bool isEliminated() const
bool isEliminated() const
Declared at: llvm/include/llvm/MCA/Instruction.h:190
¶bool isExecuted() const
bool isExecuted() const
Declared at: llvm/include/llvm/MCA/Instruction.h:199
¶bool isReady() const
bool isReady() const
Declared at: llvm/include/llvm/MCA/Instruction.h:192
¶bool isWriteZero() const
bool isWriteZero() const
Declared at: llvm/include/llvm/MCA/Instruction.h:189
¶void onInstructionIssued(unsigned int IID)
void onInstructionIssued(unsigned int IID)
Declared at: llvm/include/llvm/MCA/Instruction.h:216
Parameters
- unsigned int IID
¶void setDependentWrite(
const llvm::mca::WriteState* Other)
void setDependentWrite(
const llvm::mca::WriteState* Other)
Declared at: llvm/include/llvm/MCA/Instruction.h:203
Parameters
- const llvm::mca::WriteState* Other
¶void setEliminated()
void setEliminated()
Declared at: llvm/include/llvm/MCA/Instruction.h:206
¶void setPRF(unsigned int PRF)
void setPRF(unsigned int PRF)
Declared at: llvm/include/llvm/MCA/Instruction.h:212
Parameters
- unsigned int PRF
¶void setWriteZero()
void setWriteZero()
Declared at: llvm/include/llvm/MCA/Instruction.h:205
¶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:204
Parameters
- unsigned int IID
- llvm::MCPhysReg RegID
- unsigned int Cycles