LLVM  10.0.0svn
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 227 of file Instruction.h.

Constructor & Destructor Documentation

◆ ReadState()

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

Definition at line 257 of file Instruction.h.

Member Function Documentation

◆ cycleEvent()

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

Definition at line 106 of file Instruction.cpp.

References llvm::mca::UNKNOWN_CYCLES.

◆ getCriticalRegDep()

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

Definition at line 266 of file Instruction.h.

◆ getDescriptor()

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

Definition at line 262 of file Instruction.h.

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

◆ getRegisterFileID()

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

Definition at line 265 of file Instruction.h.

◆ getRegisterID()

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

◆ getSchedClass()

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

Definition at line 263 of file Instruction.h.

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

◆ isImplicitRead()

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

Definition at line 270 of file Instruction.h.

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

◆ isIndependentFromDef()

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

Definition at line 272 of file Instruction.h.

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

◆ isPending()

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

Definition at line 268 of file Instruction.h.

Referenced by llvm::mca::Instruction::updateDispatched().

◆ isReady()

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

◆ isReadZero()

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

Definition at line 282 of file Instruction.h.

◆ setDependentWrites()

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

Definition at line 277 of file Instruction.h.

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

◆ setIndependentFromDef()

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

Definition at line 273 of file Instruction.h.

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

◆ setPRF()

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

Definition at line 284 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: