LLVM 20.0.0git
|
Tracks uses of a register definition (e.g. More...
#include "llvm/MCA/Instruction.h"
Tracks uses of a register definition (e.g.
register write).
Each implicit/explicit register write is associated with an instance of this class. A WriteState object tracks the dependent users of a register write. It also tracks how many cycles are left before the write back stage.
Definition at line 197 of file Instruction.h.
|
inline |
Definition at line 248 of file Instruction.h.
|
default |
Definition at line 72 of file Instruction.cpp.
References llvm::mca::UNKNOWN_CYCLES.
Referenced by llvm::mca::RegisterFile::addRegisterRead(), and llvm::mca::RegisterFile::addRegisterWrite().
void llvm::mca::WriteState::addUser | ( | unsigned | IID, |
WriteState * | Use | ||
) |
Definition at line 85 of file Instruction.cpp.
References assert(), and llvm::mca::UNKNOWN_CYCLES.
|
inline |
Definition at line 287 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::addRegisterWrite(), llvm::mca::RegisterFile::canEliminateMove(), and llvm::mca::RegisterFile::removeRegisterWrite().
void llvm::mca::WriteState::cycleEvent | ( | ) |
Definition at line 96 of file Instruction.cpp.
References llvm::mca::UNKNOWN_CYCLES.
void llvm::mca::WriteState::dump | ( | ) | const |
Definition at line 125 of file Instruction.cpp.
References llvm::dbgs(), getCyclesLeft(), getLatency(), getRegisterID(), and llvm::mca::WriteDescriptor::OpIndex.
Referenced by llvm::mca::WriteRef::dump().
|
inline |
Definition at line 268 of file Instruction.h.
|
inline |
Definition at line 258 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::checkRAWHazards(), dump(), llvm::mca::WriteRef::getWriteBackCycle(), and llvm::mca::RegisterFile::removeRegisterWrite().
|
inline |
Definition at line 267 of file Instruction.h.
|
inline |
Definition at line 264 of file Instruction.h.
Referenced by isReady().
|
inline |
Definition at line 263 of file Instruction.h.
References llvm::mca::WriteDescriptor::Latency.
Referenced by llvm::mca::RegisterFile::addRegisterWrite(), dump(), isReady(), and onInstructionIssued().
|
inline |
Definition at line 280 of file Instruction.h.
References Users.
|
inline |
Definition at line 262 of file Instruction.h.
|
inline |
Definition at line 260 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::addRegisterWrite(), llvm::mca::RegisterFile::canEliminateMove(), llvm::mca::RegisterFile::collectWrites(), llvm::mca::WriteRef::commit(), dump(), llvm::mca::WriteRef::getRegisterID(), llvm::mca::RegisterFile::removeRegisterWrite(), and llvm::mca::RegisterFile::tryEliminateMoveOrSwap().
|
inline |
Definition at line 259 of file Instruction.h.
References llvm::mca::WriteDescriptor::SClassOrWriteResourceID.
Referenced by llvm::mca::RegisterFile::checkRAWHazards(), llvm::mca::WriteRef::commit(), and llvm::mca::WriteRef::getWriteResourceID().
|
inline |
Definition at line 289 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::addRegisterWrite(), and llvm::mca::RegisterFile::removeRegisterWrite().
|
inline |
Definition at line 298 of file Instruction.h.
References llvm::mca::UNKNOWN_CYCLES.
Referenced by llvm::mca::WriteRef::commit(), llvm::mca::WriteRef::hasKnownWriteBackCycle(), and llvm::mca::WriteRef::notifyExecuted().
|
inline |
Definition at line 291 of file Instruction.h.
References getDependentWriteCyclesLeft(), and getLatency().
|
inline |
Definition at line 288 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::addRegisterWrite(), llvm::mca::WriteRef::isWriteZero(), and llvm::mca::RegisterFile::removeRegisterWrite().
void llvm::mca::WriteState::onInstructionIssued | ( | unsigned | IID | ) |
Definition at line 54 of file Instruction.cpp.
References assert(), getLatency(), llvm::mca::UNKNOWN_CYCLES, writeStartEvent(), and llvm::mca::ReadState::writeStartEvent().
|
default |
|
inline |
Definition at line 302 of file Instruction.h.
References llvm::Other.
|
inline |
Definition at line 305 of file Instruction.h.
References assert(), and Users.
Referenced by llvm::mca::RegisterFile::tryEliminateMoveOrSwap().
|
inline |
Definition at line 311 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::addRegisterWrite().
Definition at line 261 of file Instruction.h.
|
inline |
Definition at line 304 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::tryEliminateMoveOrSwap().
Definition at line 21 of file Instruction.cpp.
References llvm::mca::CriticalDependency::Cycles, llvm::mca::CriticalDependency::IID, and llvm::mca::CriticalDependency::RegID.
Referenced by onInstructionIssued().