|
LLVM
8.0.1
|
Tracks uses of a register definition (e.g. More...
#include "llvm/MCA/Instruction.h"
Public Member Functions | |
| WriteState (const WriteDescriptor &Desc, unsigned RegID, bool clearsSuperRegs=false, bool writesZero=false) | |
| WriteState (const WriteState &Other)=default | |
| WriteState & | operator= (const WriteState &Other)=default |
| int | getCyclesLeft () const |
| unsigned | getWriteResourceID () const |
| unsigned | getRegisterID () const |
| unsigned | getRegisterFileID () const |
| unsigned | getLatency () const |
| void | addUser (ReadState *Use, int ReadAdvance) |
| void | addUser (WriteState *Use) |
| unsigned | getDependentWriteCyclesLeft () const |
| unsigned | getNumUsers () const |
| bool | clearsSuperRegisters () const |
| bool | isWriteZero () const |
| bool | isEliminated () const |
| bool | isExecuted () const |
| const WriteState * | getDependentWrite () const |
| void | setDependentWrite (WriteState *Other) |
| void | writeStartEvent (unsigned Cycles) |
| void | setWriteZero () |
| void | setEliminated () |
| void | setPRF (unsigned PRF) |
| void | cycleEvent () |
| void | onInstructionIssued () |
| void | dump () const |
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 90 of file Instruction.h.
|
inline |
Definition at line 139 of file Instruction.h.
References Other.
|
default |
| void llvm::mca::WriteState::addUser | ( | ReadState * | Use, |
| int | ReadAdvance | ||
| ) |
Definition at line 58 of file Instruction.cpp.
References llvm::find_if(), llvm::max(), llvm::mca::UNKNOWN_CYCLES, Users, and llvm::mca::ReadState::writeStartEvent().
Referenced by llvm::mca::RegisterFile::addRegisterWrite().
| void llvm::mca::WriteState::addUser | ( | WriteState * | Use | ) |
Definition at line 75 of file Instruction.cpp.
References assert(), llvm::max(), setDependentWrite(), llvm::mca::UNKNOWN_CYCLES, and writeStartEvent().
|
inline |
Definition at line 169 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 86 of file Instruction.cpp.
References llvm::mca::UNKNOWN_CYCLES.
| void llvm::mca::WriteState::dump | ( | ) | const |
Definition at line 115 of file Instruction.cpp.
References llvm::dbgs(), getLatency(), and llvm::mca::ReadState::getRegisterID().
|
inline |
Definition at line 149 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::removeRegisterWrite().
|
inline |
Definition at line 176 of file Instruction.h.
|
inline |
Definition at line 158 of file Instruction.h.
|
inline |
Definition at line 153 of file Instruction.h.
References llvm::mca::WriteDescriptor::Latency.
|
inline |
Definition at line 162 of file Instruction.h.
References llvm::SmallVectorBase::size().
Referenced by llvm::mca::InstructionBase::hasDependentUsers().
|
inline |
Definition at line 152 of file Instruction.h.
|
inline |
Definition at line 151 of file Instruction.h.
References llvm::mca::WriteDescriptor::RegisterID.
Referenced by llvm::mca::RegisterFile::addRegisterWrite(), llvm::mca::RegisterFile::removeRegisterWrite(), and llvm::mca::RegisterFile::tryEliminateMove().
|
inline |
Definition at line 150 of file Instruction.h.
References llvm::mca::WriteDescriptor::SClassOrWriteResourceID.
|
inline |
Definition at line 171 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::addRegisterWrite(), llvm::mca::Instruction::isEliminated(), and llvm::mca::RegisterFile::removeRegisterWrite().
|
inline |
Definition at line 172 of file Instruction.h.
Referenced by llvm::mca::WriteRef::isAvailable().
|
inline |
Definition at line 170 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::addRegisterWrite(), and llvm::mca::RegisterFile::removeRegisterWrite().
| void llvm::mca::WriteState::onInstructionIssued | ( | ) |
Definition at line 40 of file Instruction.cpp.
References assert(), getLatency(), llvm::max(), llvm::mca::UNKNOWN_CYCLES, Users, and llvm::mca::ReadState::writeStartEvent().
|
default |
|
inline |
Definition at line 177 of file Instruction.h.
Referenced by addUser().
|
inline |
Definition at line 184 of file Instruction.h.
References assert(), and llvm::SmallVectorBase::empty().
Referenced by llvm::mca::RegisterFile::tryEliminateMove().
|
inline |
Definition at line 190 of file Instruction.h.
References llvm::dump().
Referenced by llvm::mca::RegisterFile::addRegisterWrite().
|
inline |
Definition at line 183 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::tryEliminateMove().
|
inline |
Definition at line 178 of file Instruction.h.
Referenced by addUser().
1.8.13