LLVM
13.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 99 of file Instruction.h.
|
inline |
Definition at line 150 of file Instruction.h.
|
default |
Definition at line 71 of file Instruction.cpp.
References llvm::max(), and 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 84 of file Instruction.cpp.
References assert(), llvm::max(), and llvm::mca::UNKNOWN_CYCLES.
|
inline |
Definition at line 188 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::addRegisterWrite(), llvm::mca::RegisterFile::removeRegisterWrite(), and llvm::mca::RegisterFile::tryEliminateMove().
void llvm::mca::WriteState::cycleEvent | ( | ) |
Definition at line 95 of file Instruction.cpp.
References llvm::mca::UNKNOWN_CYCLES.
void llvm::mca::WriteState::dump | ( | ) | const |
Definition at line 124 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 169 of file Instruction.h.
|
inline |
Definition at line 160 of file Instruction.h.
Referenced by llvm::mca::checkRegisterHazard(), dump(), and llvm::mca::RegisterFile::removeRegisterWrite().
|
inline |
Definition at line 168 of file Instruction.h.
|
inline |
Definition at line 165 of file Instruction.h.
Referenced by isReady().
|
inline |
Definition at line 164 of file Instruction.h.
References llvm::mca::WriteDescriptor::Latency.
Referenced by dump(), isReady(), and onInstructionIssued().
|
inline |
Definition at line 181 of file Instruction.h.
References Users.
|
inline |
Definition at line 163 of file Instruction.h.
|
inline |
Definition at line 162 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::addRegisterWrite(), llvm::mca::checkRegisterHazard(), llvm::mca::RegisterFile::collectWrites(), dump(), llvm::mca::RegisterFile::removeRegisterWrite(), and llvm::mca::RegisterFile::tryEliminateMove().
|
inline |
Definition at line 161 of file Instruction.h.
References llvm::mca::WriteDescriptor::SClassOrWriteResourceID.
Referenced by llvm::mca::RegisterFile::addRegisterRead(), and llvm::mca::checkRegisterHazard().
|
inline |
Definition at line 190 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::addRegisterWrite(), and llvm::mca::RegisterFile::removeRegisterWrite().
|
inline |
Definition at line 199 of file Instruction.h.
References llvm::mca::UNKNOWN_CYCLES.
Referenced by llvm::mca::WriteRef::isAvailable().
|
inline |
Definition at line 192 of file Instruction.h.
References getDependentWriteCyclesLeft(), and getLatency().
|
inline |
Definition at line 189 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 53 of file Instruction.cpp.
References assert(), getLatency(), llvm::max(), llvm::mca::UNKNOWN_CYCLES, writeStartEvent(), and llvm::mca::ReadState::writeStartEvent().
|
default |
|
inline |
Definition at line 203 of file Instruction.h.
References Other.
|
inline |
Definition at line 206 of file Instruction.h.
References assert(), and Users.
Referenced by llvm::mca::RegisterFile::tryEliminateMove().
|
inline |
Definition at line 212 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::addRegisterWrite().
|
inline |
Definition at line 205 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::tryEliminateMove().
void llvm::mca::WriteState::writeStartEvent | ( | unsigned | IID, |
MCPhysReg | RegID, | ||
unsigned | Cycles | ||
) |
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().