LLVM 22.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 () |
LLVM_ABI void | cycleEvent () |
LLVM_ABI void | writeStartEvent (unsigned IID, MCPhysReg RegID, unsigned Cycles) |
void | setDependentWrites (unsigned Writes) |
bool | isReadZero () const |
void | setReadZero () |
void | setPRF (unsigned ID) |
void | dump () const |
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 327 of file Instruction.h.
|
inline |
Definition at line 357 of file Instruction.h.
References llvm::mca::UNKNOWN_CYCLES.
void llvm::mca::ReadState::cycleEvent | ( | ) |
Definition at line 107 of file Instruction.cpp.
References llvm::mca::UNKNOWN_CYCLES.
void llvm::mca::ReadState::dump | ( | ) | const |
Definition at line 132 of file Instruction.cpp.
References llvm::dbgs(), and getRegisterID().
|
inline |
Definition at line 366 of file Instruction.h.
|
inline |
Definition at line 362 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::addRegisterRead(), llvm::mca::RegisterFile::checkRAWHazards(), and llvm::mca::RegisterFile::collectWrites().
|
inline |
Definition at line 365 of file Instruction.h.
|
inline |
Definition at line 364 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::addRegisterRead(), llvm::mca::RegisterFile::canEliminateMove(), llvm::mca::RegisterFile::collectWrites(), dump(), and llvm::mca::RegisterFile::tryEliminateMoveOrSwap().
|
inline |
Definition at line 363 of file Instruction.h.
|
inline |
Definition at line 370 of file Instruction.h.
|
inline |
Definition at line 372 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::addRegisterRead().
|
inline |
Definition at line 368 of file Instruction.h.
|
inline |
Definition at line 369 of file Instruction.h.
|
inline |
Definition at line 382 of file Instruction.h.
|
inline |
Definition at line 377 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::addRegisterRead().
|
inline |
Definition at line 373 of file Instruction.h.
Referenced by llvm::mca::InstrBuilder::createInstruction().
|
inline |
Definition at line 384 of file Instruction.h.
References llvm::mca::InstructionError< T >::ID.
Referenced by llvm::mca::RegisterFile::addRegisterRead().
|
inline |
Definition at line 383 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(), and llvm::mca::UNKNOWN_CYCLES.
Referenced by llvm::mca::RegisterFile::addRegisterRead(), and llvm::mca::WriteState::onInstructionIssued().