class ReadState

Declaration

class ReadState { /* full declaration omitted */ };

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.

Declared at: llvm/include/llvm/MCA/Instruction.h:326

Member Variables

private const llvm::mca::ReadDescriptor* RD
private llvm::MCPhysReg RegisterID
private unsigned int PRFID
private unsigned int DependentWrites
private int CyclesLeft
private unsigned int TotalCycles
private llvm::mca::CriticalDependency CRD
private bool IsReady
private bool IsZero
private bool IndependentFromDef

Method Overview

Methods

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

Declared at: llvm/include/llvm/MCA/Instruction.h:356

Parameters

const llvm::mca::ReadDescriptor& Desc
llvm::MCPhysReg RegID

void cycleEvent()

Declared at: llvm/include/llvm/MCA/Instruction.h:374

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

Declared at: llvm/include/llvm/MCA/Instruction.h:365

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

Declared at: llvm/include/llvm/MCA/Instruction.h:361

unsigned int getRegisterFileID() const

Declared at: llvm/include/llvm/MCA/Instruction.h:364

llvm::MCPhysReg getRegisterID() const

Declared at: llvm/include/llvm/MCA/Instruction.h:363

unsigned int getSchedClass() const

Declared at: llvm/include/llvm/MCA/Instruction.h:362

bool isImplicitRead() const

Declared at: llvm/include/llvm/MCA/Instruction.h:369

bool isIndependentFromDef() const

Declared at: llvm/include/llvm/MCA/Instruction.h:371

bool isPending() const

Declared at: llvm/include/llvm/MCA/Instruction.h:367

bool isReadZero() const

Declared at: llvm/include/llvm/MCA/Instruction.h:381

bool isReady() const

Declared at: llvm/include/llvm/MCA/Instruction.h:368

void setDependentWrites(unsigned int Writes)

Declared at: llvm/include/llvm/MCA/Instruction.h:376

Parameters

unsigned int Writes

void setIndependentFromDef()

Declared at: llvm/include/llvm/MCA/Instruction.h:372

void setPRF(unsigned int ID)

Declared at: llvm/include/llvm/MCA/Instruction.h:383

Parameters

unsigned int ID

void setReadZero()

Declared at: llvm/include/llvm/MCA/Instruction.h:382

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

Declared at: llvm/include/llvm/MCA/Instruction.h:375

Parameters

unsigned int IID
llvm::MCPhysReg RegID
unsigned int Cycles