LLVM  9.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, unsigned RegID)
 
const ReadDescriptorgetDescriptor () const
 
unsigned getSchedClass () const
 
unsigned 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, unsigned 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 226 of file Instruction.h.

Constructor & Destructor Documentation

◆ ReadState()

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

Definition at line 256 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 265 of file Instruction.h.

◆ getDescriptor()

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

Definition at line 261 of file Instruction.h.

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

◆ getRegisterFileID()

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

Definition at line 264 of file Instruction.h.

◆ getRegisterID()

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

◆ getSchedClass()

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

Definition at line 262 of file Instruction.h.

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

◆ isImplicitRead()

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

Definition at line 269 of file Instruction.h.

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

◆ isIndependentFromDef()

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

Definition at line 271 of file Instruction.h.

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

◆ isPending()

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

Definition at line 267 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 281 of file Instruction.h.

◆ setDependentWrites()

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

Definition at line 276 of file Instruction.h.

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

◆ setIndependentFromDef()

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

Definition at line 272 of file Instruction.h.

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

◆ setPRF()

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

Definition at line 283 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,
unsigned  RegID,
unsigned  Cycles 
)

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