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

Tracks uses of a register definition (e.g. More...

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

Public Member Functions
WriteState (const WriteDescriptor &Desc, MCPhysReg RegID, bool clearsSuperRegs=false, bool writesZero=false)
WriteState (const WriteState &Other)=default
WriteState & operator= (const WriteState &Other)=default
int getCyclesLeft () const
unsigned getWriteResourceID () const
MCPhysReg getRegisterID () const
void setRegisterID (const MCPhysReg RegID)
unsigned getRegisterFileID () const
unsigned getLatency () const
unsigned getDependentWriteCyclesLeft () const
const WriteState * getDependentWrite () const
const CriticalDependency & getCriticalRegDep () const
LLVM_ABI void addUser (unsigned IID, ReadState *Use, int ReadAdvance)
LLVM_ABI void addUser (unsigned IID, WriteState *Use)
unsigned getNumUsers () const
bool clearsSuperRegisters () const
bool isWriteZero () const
bool isEliminated () const
bool isReady () const
bool isExecuted () const
void setDependentWrite (const WriteState *Other)
LLVM_ABI void writeStartEvent (unsigned IID, MCPhysReg RegID, unsigned Cycles)
void setWriteZero ()
void setEliminated ()
void setPRF (unsigned PRF)
LLVM_ABI void cycleEvent ()
LLVM_ABI void onInstructionIssued (unsigned IID)
void dump () const

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.

Definition at line 196 of file Instruction.h.

WriteState() [2/2]

addUser() [1/2]

void llvm::mca::WriteState::addUser ( unsigned IID,
ReadState * Use,
int ReadAdvance )

addUser() [2/2]

clearsSuperRegisters()

bool llvm::mca::WriteState::clearsSuperRegisters ( ) const inline

cycleEvent()

void llvm::mca::WriteState::cycleEvent ( )

dump()

void llvm::mca::WriteState::dump ( ) const

getCriticalRegDep()

getCyclesLeft()

int llvm::mca::WriteState::getCyclesLeft ( ) const inline

getDependentWrite()

const WriteState * llvm::mca::WriteState::getDependentWrite ( ) const inline

getDependentWriteCyclesLeft()

unsigned llvm::mca::WriteState::getDependentWriteCyclesLeft ( ) const inline

getLatency()

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

getNumUsers()

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

getRegisterFileID()

unsigned llvm::mca::WriteState::getRegisterFileID ( ) const inline

getRegisterID()

MCPhysReg llvm::mca::WriteState::getRegisterID ( ) const inline

getWriteResourceID()

unsigned llvm::mca::WriteState::getWriteResourceID ( ) const inline

isEliminated()

bool llvm::mca::WriteState::isEliminated ( ) const inline

isExecuted()

bool llvm::mca::WriteState::isExecuted ( ) const inline

isReady()

bool llvm::mca::WriteState::isReady ( ) const inline

isWriteZero()

bool llvm::mca::WriteState::isWriteZero ( ) const inline

onInstructionIssued()

void llvm::mca::WriteState::onInstructionIssued ( unsigned IID )

operator=()

setDependentWrite()

void llvm::mca::WriteState::setDependentWrite ( const WriteState * Other) inline

setEliminated()

void llvm::mca::WriteState::setEliminated ( ) inline

setPRF()

void llvm::mca::WriteState::setPRF ( unsigned PRF) inline

setRegisterID()

void llvm::mca::WriteState::setRegisterID ( const MCPhysReg RegID) inline

setWriteZero()

void llvm::mca::WriteState::setWriteZero ( ) inline

writeStartEvent()


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