LLVM
8.0.1
|
An instruction propagated through the simulated instruction pipeline. More...
#include "llvm/MCA/Instruction.h"
Public Member Functions | |
Instruction (const InstrDesc &D) | |
unsigned | getRCUTokenID () const |
int | getCyclesLeft () const |
void | dispatch (unsigned RCUTokenID) |
void | execute () |
void | update () |
bool | isDispatched () const |
bool | isReady () const |
bool | isExecuting () const |
bool | isExecuted () const |
bool | isRetired () const |
bool | isEliminated () const |
void | forceExecuted () |
void | retire () |
void | cycleEvent () |
Public Member Functions inherited from llvm::mca::InstructionBase | |
InstructionBase (const InstrDesc &D) | |
SmallVectorImpl< WriteState > & | getDefs () |
const ArrayRef< WriteState > | getDefs () const |
SmallVectorImpl< ReadState > & | getUses () |
const ArrayRef< ReadState > | getUses () const |
const InstrDesc & | getDesc () const |
unsigned | getLatency () const |
bool | hasDependentUsers () const |
unsigned | getNumUsers () const |
bool | isOptimizableMove () const |
void | setOptimizableMove () |
An instruction propagated through the simulated instruction pipeline.
This class is used to monitor changes to the internal state of instructions that are sent to the various components of the simulated hardware pipeline.
Definition at line 407 of file Instruction.h.
Definition at line 428 of file Instruction.h.
void llvm::mca::Instruction::cycleEvent | ( | ) |
Definition at line 178 of file Instruction.cpp.
References assert(), llvm::tgtok::Def, llvm::mca::ReadState::isReady(), and llvm::max().
Referenced by llvm::mca::Scheduler::cycleEvent().
void llvm::mca::Instruction::dispatch | ( | unsigned | RCUTokenID | ) |
Definition at line 129 of file Instruction.cpp.
References assert().
void llvm::mca::Instruction::execute | ( | ) |
Definition at line 138 of file Instruction.cpp.
References assert(), and getLatency().
Referenced by llvm::mca::Scheduler::isAvailable().
void llvm::mca::Instruction::forceExecuted | ( | ) |
Definition at line 153 of file Instruction.cpp.
References assert().
Referenced by llvm::mca::verifyInstructionEliminated().
|
inline |
Definition at line 433 of file Instruction.h.
|
inline |
Definition at line 432 of file Instruction.h.
Referenced by llvm::mca::RetireStage::execute().
|
inline |
Definition at line 452 of file Instruction.h.
|
inline |
Definition at line 458 of file Instruction.h.
References llvm::all_of(), llvm::mca::WriteState::isEliminated(), and llvm::RISCVFenceField::W.
Referenced by llvm::mca::ExecuteStage::execute(), and llvm::mca::verifyInstructionEliminated().
|
inline |
Definition at line 455 of file Instruction.h.
Referenced by llvm::mca::ExecuteStage::isAvailable(), llvm::mca::Scheduler::isAvailable(), and llvm::mca::Scheduler::select().
|
inline |
Definition at line 454 of file Instruction.h.
Referenced by llvm::mca::Scheduler::isAvailable().
|
inline |
Definition at line 453 of file Instruction.h.
Referenced by llvm::mca::Scheduler::isReady(), llvm::mca::Scheduler::issueInstruction(), and llvm::mca::verifyInstructionEliminated().
|
inline |
Definition at line 456 of file Instruction.h.
|
inline |
Definition at line 467 of file Instruction.h.
References assert().
Referenced by llvm::mca::RetireControlUnit::consumeCurrentToken().
void llvm::mca::Instruction::update | ( | ) |
Definition at line 159 of file Instruction.cpp.
References llvm::all_of(), assert(), llvm::tgtok::Def, getLatency(), and llvm::mca::ReadState::isReady().
Referenced by llvm::mca::Scheduler::issueInstruction().