LLVM 22.0.0git
|
An instruction propagated through the simulated instruction pipeline. More...
#include "llvm/MCA/Instruction.h"
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 605 of file Instruction.h.
Definition at line 652 of file Instruction.h.
References D(), llvm::mca::InstructionBase::InstructionBase(), and llvm::mca::UNKNOWN_CYCLES.
|
inline |
Definition at line 666 of file Instruction.h.
const CriticalDependency & llvm::mca::Instruction::computeCriticalRegDep | ( | ) |
Definition at line 138 of file Instruction.cpp.
References llvm::mca::CriticalDependency::Cycles, llvm::mca::InstructionBase::getDefs(), and llvm::mca::InstructionBase::getUses().
void llvm::mca::Instruction::cycleEvent | ( | ) |
Definition at line 239 of file Instruction.cpp.
References assert(), llvm::mca::InstructionBase::getDefs(), llvm::mca::InstructionBase::getUses(), isDispatched(), isExecuting(), isPending(), isReady(), and update().
void llvm::mca::Instruction::dispatch | ( | unsigned | RCUTokenID | ) |
Definition at line 170 of file Instruction.cpp.
References assert(), updateDispatched(), and updatePending().
void llvm::mca::Instruction::execute | ( | unsigned | IID | ) |
Definition at line 180 of file Instruction.cpp.
References assert(), llvm::mca::InstructionBase::getDefs(), and llvm::mca::InstructionBase::getLatency().
void llvm::mca::Instruction::forceExecuted | ( | ) |
Definition at line 195 of file Instruction.cpp.
References assert().
|
inline |
Definition at line 708 of file Instruction.h.
|
inline |
Definition at line 707 of file Instruction.h.
|
inline |
Definition at line 714 of file Instruction.h.
|
inline |
Definition at line 668 of file Instruction.h.
Referenced by llvm::mca::LSUnit::MemoryGroup::onInstructionIssued().
|
inline |
Definition at line 661 of file Instruction.h.
Referenced by llvm::mca::LSUnit::onInstructionExecuted().
|
inline |
Definition at line 660 of file Instruction.h.
Referenced by llvm::mca::RetireStage::execute().
|
inline |
Definition at line 664 of file Instruction.h.
Referenced by llvm::mca::Scheduler::dispatch(), and llvm::mca::Scheduler::issueInstruction().
|
inline |
Definition at line 690 of file Instruction.h.
Referenced by cycleEvent(), llvm::mca::Scheduler::dispatch(), update(), and updateDispatched().
|
inline |
Definition at line 696 of file Instruction.h.
Referenced by llvm::mca::addRegisterReadWrite(), and llvm::mca::verifyInstructionEliminated().
|
inline |
Definition at line 694 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::onInstructionExecuted(), and retire().
|
inline |
Definition at line 693 of file Instruction.h.
Referenced by cycleEvent().
|
inline |
Definition at line 689 of file Instruction.h.
|
inline |
Definition at line 691 of file Instruction.h.
Referenced by llvm::mca::Scheduler::analyzeDataDependencies(), cycleEvent(), llvm::mca::Scheduler::dispatch(), llvm::mca::ExecuteStage::execute(), update(), and updatePending().
|
inline |
Definition at line 692 of file Instruction.h.
Referenced by cycleEvent(), llvm::mca::Scheduler::dispatch(), and llvm::mca::verifyInstructionEliminated().
|
inline |
Definition at line 695 of file Instruction.h.
void llvm::mca::Instruction::reset | ( | ) |
Definition at line 158 of file Instruction.cpp.
References llvm::mca::InstructionBase::clearOptimizableMove(), and llvm::mca::UNKNOWN_CYCLES.
Referenced by llvm::mca::InstrBuilder::createInstruction().
|
inline |
Definition at line 702 of file Instruction.h.
References assert(), and isExecuted().
Referenced by llvm::mca::RetireControlUnit::consumeCurrentToken().
|
inline |
Definition at line 710 of file Instruction.h.
|
inline |
Definition at line 715 of file Instruction.h.
Referenced by llvm::mca::Scheduler::select().
|
inline |
Definition at line 700 of file Instruction.h.
|
inline |
Definition at line 662 of file Instruction.h.
Referenced by llvm::mca::Scheduler::dispatch(), and llvm::mca::InOrderIssueStage::execute().
|
inline |
Definition at line 665 of file Instruction.h.
void llvm::mca::Instruction::update | ( | ) |
Definition at line 232 of file Instruction.cpp.
References isDispatched(), isPending(), updateDispatched(), and updatePending().
Referenced by cycleEvent().
bool llvm::mca::Instruction::updateDispatched | ( | ) |
Definition at line 215 of file Instruction.cpp.
References llvm::all_of(), assert(), llvm::mca::InstructionBase::getDefs(), llvm::mca::InstructionBase::getUses(), and isDispatched().
Referenced by dispatch(), and update().
bool llvm::mca::Instruction::updatePending | ( | ) |
Definition at line 201 of file Instruction.cpp.
References llvm::all_of(), assert(), llvm::mca::InstructionBase::getDefs(), llvm::mca::InstructionBase::getUses(), and isPending().
Referenced by dispatch(), and update().