LLVM 22.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 198 of file Instruction.h.
|
inline |
Definition at line 249 of file Instruction.h.
References llvm::mca::UNKNOWN_CYCLES.
Referenced by addUser(), getDependentWrite(), operator=(), setDependentWrite(), and WriteState().
|
default |
References llvm::Other, and WriteState().
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(), llvm::mca::UNKNOWN_CYCLES, and WriteState().
|
inline |
Definition at line 288 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(), and getRegisterID().
Referenced by llvm::mca::WriteRef::dump().
|
inline |
Definition at line 269 of file Instruction.h.
|
inline |
Definition at line 259 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::checkRAWHazards(), dump(), and llvm::mca::RegisterFile::removeRegisterWrite().
|
inline |
Definition at line 268 of file Instruction.h.
References WriteState().
|
inline |
Definition at line 265 of file Instruction.h.
Referenced by isReady().
|
inline |
Definition at line 264 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::addRegisterWrite(), dump(), isReady(), and onInstructionIssued().
|
inline |
Definition at line 281 of file Instruction.h.
|
inline |
Definition at line 263 of file Instruction.h.
|
inline |
Definition at line 261 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::addRegisterWrite(), llvm::mca::RegisterFile::canEliminateMove(), llvm::mca::RegisterFile::collectWrites(), dump(), llvm::mca::RegisterFile::removeRegisterWrite(), and llvm::mca::RegisterFile::tryEliminateMoveOrSwap().
|
inline |
Definition at line 260 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::checkRAWHazards().
|
inline |
Definition at line 290 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::addRegisterWrite(), and llvm::mca::RegisterFile::removeRegisterWrite().
|
inline |
Definition at line 299 of file Instruction.h.
References llvm::mca::UNKNOWN_CYCLES.
|
inline |
Definition at line 292 of file Instruction.h.
References getDependentWriteCyclesLeft(), and getLatency().
|
inline |
Definition at line 289 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, and llvm::mca::ReadState::writeStartEvent().
|
default |
References llvm::Other, and WriteState().
|
inline |
Definition at line 303 of file Instruction.h.
References llvm::Other, and WriteState().
|
inline |
Definition at line 306 of file Instruction.h.
References assert().
Referenced by llvm::mca::RegisterFile::tryEliminateMoveOrSwap().
|
inline |
Definition at line 312 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::addRegisterWrite().
Definition at line 262 of file Instruction.h.
|
inline |
Definition at line 305 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::tryEliminateMoveOrSwap().
Definition at line 21 of file Instruction.cpp.