LLVM  8.0.1
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
 
bool isReady () const
 
bool isImplicitRead () const
 
bool isIndependentFromDef () const
 
void setIndependentFromDef ()
 
void cycleEvent ()
 
void writeStartEvent (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 205 of file Instruction.h.

Constructor & Destructor Documentation

◆ ReadState()

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

Definition at line 233 of file Instruction.h.

Member Function Documentation

◆ cycleEvent()

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

Definition at line 97 of file Instruction.cpp.

References llvm::mca::UNKNOWN_CYCLES.

◆ getDescriptor()

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

Definition at line 238 of file Instruction.h.

◆ getRegisterFileID()

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

Definition at line 241 of file Instruction.h.

◆ getRegisterID()

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

◆ getSchedClass()

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

Definition at line 239 of file Instruction.h.

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

◆ isImplicitRead()

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

Definition at line 244 of file Instruction.h.

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

◆ isIndependentFromDef()

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

Definition at line 246 of file Instruction.h.

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

◆ isReady()

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

◆ isReadZero()

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

Definition at line 256 of file Instruction.h.

◆ setDependentWrites()

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

Definition at line 251 of file Instruction.h.

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

◆ setIndependentFromDef()

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

Definition at line 247 of file Instruction.h.

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

◆ setPRF()

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

Definition at line 258 of file Instruction.h.

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

◆ setReadZero()

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

◆ writeStartEvent()

void llvm::mca::ReadState::writeStartEvent ( unsigned  Cycles)

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