LLVM 22.0.0git
llvm::mca::ReadState Class Reference

Tracks register operand latency in cycles. More...

#include "llvm/MCA/Instruction.h"

Public Member Functions

 ReadState (const ReadDescriptor &Desc, MCPhysReg RegID)
const ReadDescriptorgetDescriptor () const
unsigned getSchedClass () const
MCPhysReg getRegisterID () const
unsigned getRegisterFileID () const
const CriticalDependencygetCriticalRegDep () const
bool isPending () const
bool isReady () const
bool isImplicitRead () const
bool isIndependentFromDef () const
void setIndependentFromDef ()
LLVM_ABI void cycleEvent ()
LLVM_ABI void writeStartEvent (unsigned IID, MCPhysReg RegID, unsigned Cycles)
void setDependentWrites (unsigned Writes)
bool isReadZero () const
void setReadZero ()
void setPRF (unsigned ID)
void dump () const

Detailed 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.

Definition at line 327 of file Instruction.h.

Constructor & Destructor Documentation

◆ ReadState()

llvm::mca::ReadState::ReadState ( const ReadDescriptor & Desc,
MCPhysReg RegID )
inline

Definition at line 357 of file Instruction.h.

References llvm::mca::UNKNOWN_CYCLES.

Member Function Documentation

◆ cycleEvent()

void llvm::mca::ReadState::cycleEvent ( )

Definition at line 107 of file Instruction.cpp.

References llvm::mca::UNKNOWN_CYCLES.

◆ dump()

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

Definition at line 132 of file Instruction.cpp.

References llvm::dbgs(), and getRegisterID().

◆ getCriticalRegDep()

const CriticalDependency & llvm::mca::ReadState::getCriticalRegDep ( ) const
inline

Definition at line 366 of file Instruction.h.

◆ getDescriptor()

const ReadDescriptor & llvm::mca::ReadState::getDescriptor ( ) const
inline

◆ getRegisterFileID()

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

Definition at line 365 of file Instruction.h.

◆ getRegisterID()

◆ getSchedClass()

unsigned llvm::mca::ReadState::getSchedClass ( ) const
inline

Definition at line 363 of file Instruction.h.

◆ isImplicitRead()

bool llvm::mca::ReadState::isImplicitRead ( ) const
inline

Definition at line 370 of file Instruction.h.

◆ isIndependentFromDef()

bool llvm::mca::ReadState::isIndependentFromDef ( ) const
inline

Definition at line 372 of file Instruction.h.

Referenced by llvm::mca::RegisterFile::addRegisterRead().

◆ isPending()

bool llvm::mca::ReadState::isPending ( ) const
inline

Definition at line 368 of file Instruction.h.

◆ isReady()

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

Definition at line 369 of file Instruction.h.

◆ isReadZero()

bool llvm::mca::ReadState::isReadZero ( ) const
inline

Definition at line 382 of file Instruction.h.

◆ setDependentWrites()

void llvm::mca::ReadState::setDependentWrites ( unsigned Writes)
inline

Definition at line 377 of file Instruction.h.

Referenced by llvm::mca::RegisterFile::addRegisterRead().

◆ setIndependentFromDef()

void llvm::mca::ReadState::setIndependentFromDef ( )
inline

Definition at line 373 of file Instruction.h.

Referenced by llvm::mca::InstrBuilder::createInstruction().

◆ setPRF()

void llvm::mca::ReadState::setPRF ( unsigned ID)
inline

◆ setReadZero()

void llvm::mca::ReadState::setReadZero ( )
inline

◆ writeStartEvent()

void llvm::mca::ReadState::writeStartEvent ( unsigned IID,
MCPhysReg RegID,
unsigned Cycles )

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