LLVM  14.0.0git
Public Member Functions | List of all members
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 ()
 
void cycleEvent ()
 
void writeStartEvent (unsigned IID, MCPhysReg RegID, unsigned Cycles)
 
void setDependentWrites (unsigned Writes)
 
bool isReadZero () const
 
void setReadZero ()
 
void setPRF (unsigned ID)
 

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 326 of file Instruction.h.

Constructor & Destructor Documentation

◆ ReadState()

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

Definition at line 356 of file Instruction.h.

Member Function Documentation

◆ cycleEvent()

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

Definition at line 107 of file Instruction.cpp.

References llvm::mca::UNKNOWN_CYCLES.

◆ getCriticalRegDep()

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

Definition at line 365 of file Instruction.h.

◆ getDescriptor()

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

◆ getRegisterFileID()

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

Definition at line 364 of file Instruction.h.

◆ getRegisterID()

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

◆ getSchedClass()

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

Definition at line 362 of file Instruction.h.

References llvm::mca::ReadDescriptor::SchedClassID.

◆ isImplicitRead()

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

Definition at line 369 of file Instruction.h.

References llvm::mca::ReadDescriptor::isImplicitRead().

◆ isIndependentFromDef()

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

Definition at line 371 of file Instruction.h.

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

◆ isPending()

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

Definition at line 367 of file Instruction.h.

◆ isReady()

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

Definition at line 368 of file Instruction.h.

◆ isReadZero()

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

Definition at line 381 of file Instruction.h.

◆ setDependentWrites()

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

Definition at line 376 of file Instruction.h.

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

◆ setIndependentFromDef()

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

Definition at line 372 of file Instruction.h.

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

◆ setPRF()

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

Definition at line 383 of file Instruction.h.

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

◆ 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: