LLVM: llvm::mca::LSUnit::MemoryGroup Class Reference (original ) (raw )A node of a memory dependency graph. More...
#include "[llvm/MCA/HardwareUnits/LSUnit.h](LSUnit%5F8h%5Fsource.html)"
A node of a memory dependency graph.
A MemoryGroup describes a set of instructions with same memory dependencies.
By construction, instructions of a MemoryGroup don't depend on each other. At dispatch stage, instructions are mapped by the LSUnit to MemoryGroups. A Memory group identifier is then stored as a "token" in field Instruction::LSUTokenID of each dispatched instructions. That token is used internally by the LSUnit to track memory dependencies.
Definition at line 246 of file LSUnit.h .
llvm::mca::LSUnit::MemoryGroup::MemoryGroup ( )
default
◆ MemoryGroup() [2/2]
llvm::mca::LSUnit::MemoryGroup::MemoryGroup ( MemoryGroup && )
default
◆ addInstruction()
void llvm::mca::LSUnit::MemoryGroup::addInstruction ( )
inline
◆ addSuccessor()
void llvm::mca::LSUnit::MemoryGroup::addSuccessor ( MemoryGroup * Group , bool IsDataDependent )
inline
◆ cycleEvent()
void llvm::mca::LSUnit::MemoryGroup::cycleEvent ( )
inline
◆ getCriticalMemoryInstruction()
const InstRef & llvm::mca::LSUnit::MemoryGroup::getCriticalMemoryInstruction ( ) const
inline
◆ getCriticalPredecessor()◆ getNumExecuted()
unsigned llvm::mca::LSUnit::MemoryGroup::getNumExecuted ( ) const
inline
◆ getNumExecutedPredecessors()
unsigned llvm::mca::LSUnit::MemoryGroup::getNumExecutedPredecessors ( ) const
inline
◆ getNumExecuting()
unsigned llvm::mca::LSUnit::MemoryGroup::getNumExecuting ( ) const
inline
◆ getNumExecutingPredecessors()
unsigned llvm::mca::LSUnit::MemoryGroup::getNumExecutingPredecessors ( ) const
inline
◆ getNumInstructions()
unsigned llvm::mca::LSUnit::MemoryGroup::getNumInstructions ( ) const
inline
◆ getNumPredecessors()
unsigned llvm::mca::LSUnit::MemoryGroup::getNumPredecessors ( ) const
inline
◆ getNumSuccessors()
size_t llvm::mca::LSUnit::MemoryGroup::getNumSuccessors ( ) const
inline
◆ isExecuted()
bool llvm::mca::LSUnit::MemoryGroup::isExecuted ( ) const
inline
◆ isExecuting()
bool llvm::mca::LSUnit::MemoryGroup::isExecuting ( ) const
inline
◆ isPending()
bool llvm::mca::LSUnit::MemoryGroup::isPending ( ) const
inline
◆ isReady()
bool llvm::mca::LSUnit::MemoryGroup::isReady ( ) const
inline
◆ isWaiting()
bool llvm::mca::LSUnit::MemoryGroup::isWaiting ( ) const
inline
◆ onGroupExecuted()
void llvm::mca::LSUnit::MemoryGroup::onGroupExecuted ( )
inline
◆ onGroupIssued()
void llvm::mca::LSUnit::MemoryGroup::onGroupIssued ( const InstRef & IR , bool ShouldUpdateCriticalDep )
inline
◆ onInstructionExecuted()
void llvm::mca::LSUnit::MemoryGroup::onInstructionExecuted ( const InstRef & IR )
inline
◆ onInstructionIssued()
void llvm::mca::LSUnit::MemoryGroup::onInstructionIssued ( const InstRef & IR )
inline
The documentation for this class was generated from the following file: