LLVM 20.0.0git
|
Tracks register operand latency in cycles. More...
#include "llvm/MCA/Instruction.h"
Public Member Functions | |
ReadState (const ReadDescriptor &Desc, MCPhysReg RegID) | |
const ReadDescriptor & | getDescriptor () const |
unsigned | getSchedClass () const |
MCPhysReg | getRegisterID () const |
unsigned | getRegisterFileID () const |
const CriticalDependency & | getCriticalRegDep () 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) |
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.
|
inline |
Definition at line 356 of file Instruction.h.
void llvm::mca::ReadState::cycleEvent | ( | ) |
Definition at line 107 of file Instruction.cpp.
References llvm::mca::UNKNOWN_CYCLES.
|
inline |
Definition at line 365 of file Instruction.h.
|
inline |
Definition at line 361 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::addRegisterRead(), llvm::mca::RegisterFile::checkRAWHazards(), and llvm::mca::RegisterFile::collectWrites().
|
inline |
Definition at line 364 of file Instruction.h.
|
inline |
Definition at line 363 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::addRegisterRead(), llvm::mca::RegisterFile::canEliminateMove(), llvm::mca::RegisterFile::collectWrites(), and llvm::mca::RegisterFile::tryEliminateMoveOrSwap().
|
inline |
Definition at line 362 of file Instruction.h.
References llvm::mca::ReadDescriptor::SchedClassID.
|
inline |
Definition at line 369 of file Instruction.h.
References llvm::mca::ReadDescriptor::isImplicitRead().
|
inline |
Definition at line 371 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::addRegisterRead().
|
inline |
Definition at line 367 of file Instruction.h.
|
inline |
Definition at line 368 of file Instruction.h.
|
inline |
Definition at line 381 of file Instruction.h.
|
inline |
Definition at line 376 of file Instruction.h.
References Writes.
Referenced by llvm::mca::RegisterFile::addRegisterRead().
|
inline |
Definition at line 372 of file Instruction.h.
Referenced by llvm::mca::InstrBuilder::createInstruction().
|
inline |
Definition at line 383 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::addRegisterRead().
|
inline |
Definition at line 382 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::addRegisterRead(), and llvm::mca::RegisterFile::tryEliminateMoveOrSwap().
Definition at line 30 of file Instruction.cpp.
References assert(), llvm::mca::CriticalDependency::Cycles, llvm::mca::CriticalDependency::IID, llvm::mca::CriticalDependency::RegID, and llvm::mca::UNKNOWN_CYCLES.
Referenced by llvm::mca::RegisterFile::addRegisterRead(), and llvm::mca::WriteState::onInstructionIssued().