|
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 196 of file Instruction.h.
|
inline |
Definition at line 247 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 286 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 267 of file Instruction.h.
|
inline |
Definition at line 257 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::checkRAWHazards(), dump(), and llvm::mca::RegisterFile::removeRegisterWrite().
|
inline |
Definition at line 266 of file Instruction.h.
References WriteState().
|
inline |
Definition at line 263 of file Instruction.h.
Referenced by isReady().
|
inline |
Definition at line 262 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::addRegisterWrite(), dump(), isReady(), and onInstructionIssued().
|
inline |
Definition at line 279 of file Instruction.h.
|
inline |
Definition at line 261 of file Instruction.h.
|
inline |
Definition at line 259 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 258 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::checkRAWHazards().
|
inline |
Definition at line 288 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::addRegisterWrite(), and llvm::mca::RegisterFile::removeRegisterWrite().
|
inline |
Definition at line 297 of file Instruction.h.
References llvm::mca::UNKNOWN_CYCLES.
|
inline |
Definition at line 290 of file Instruction.h.
References getDependentWriteCyclesLeft(), and getLatency().
|
inline |
Definition at line 287 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(), and llvm::mca::UNKNOWN_CYCLES.
|
default |
References llvm::Other, and WriteState().
|
inline |
Definition at line 301 of file Instruction.h.
References llvm::Other, and WriteState().
|
inline |
Definition at line 304 of file Instruction.h.
References assert().
Referenced by llvm::mca::RegisterFile::tryEliminateMoveOrSwap().
|
inline |
Definition at line 310 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::addRegisterWrite().
Definition at line 260 of file Instruction.h.
|
inline |
Definition at line 303 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::tryEliminateMoveOrSwap().
Definition at line 21 of file Instruction.cpp.