LLVM 20.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 600 of file Instruction.h.
Definition at line 647 of file Instruction.h.
|
inline |
Definition at line 661 of file Instruction.h.
const CriticalDependency & llvm::mca::Instruction::computeCriticalRegDep | ( | ) |
Definition at line 131 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 232 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 163 of file Instruction.cpp.
References assert(), updateDispatched(), and updatePending().
void llvm::mca::Instruction::execute | ( | unsigned | IID | ) |
Definition at line 173 of file Instruction.cpp.
References assert(), llvm::mca::InstructionBase::getDefs(), and llvm::mca::InstructionBase::getLatency().
void llvm::mca::Instruction::forceExecuted | ( | ) |
Definition at line 188 of file Instruction.cpp.
References assert().
|
inline |
Definition at line 703 of file Instruction.h.
|
inline |
Definition at line 702 of file Instruction.h.
|
inline |
Definition at line 709 of file Instruction.h.
|
inline |
Definition at line 663 of file Instruction.h.
Referenced by llvm::mca::MemoryGroup::onInstructionIssued().
|
inline |
Definition at line 656 of file Instruction.h.
Referenced by llvm::mca::LSUnit::onInstructionExecuted().
|
inline |
Definition at line 655 of file Instruction.h.
Referenced by llvm::mca::RetireStage::execute().
|
inline |
Definition at line 659 of file Instruction.h.
Referenced by llvm::mca::Scheduler::dispatch(), and llvm::mca::Scheduler::issueInstruction().
|
inline |
Definition at line 685 of file Instruction.h.
Referenced by cycleEvent(), llvm::mca::Scheduler::dispatch(), update(), and updateDispatched().
|
inline |
Definition at line 691 of file Instruction.h.
Referenced by llvm::mca::addRegisterReadWrite(), and llvm::mca::verifyInstructionEliminated().
|
inline |
Definition at line 689 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::onInstructionExecuted(), and retire().
|
inline |
Definition at line 688 of file Instruction.h.
Referenced by cycleEvent().
|
inline |
Definition at line 684 of file Instruction.h.
|
inline |
Definition at line 686 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 687 of file Instruction.h.
Referenced by cycleEvent(), llvm::mca::Scheduler::dispatch(), and llvm::mca::verifyInstructionEliminated().
|
inline |
Definition at line 690 of file Instruction.h.
void llvm::mca::Instruction::reset | ( | ) |
Definition at line 151 of file Instruction.cpp.
References llvm::mca::InstructionBase::clearOptimizableMove(), and llvm::mca::UNKNOWN_CYCLES.
Referenced by llvm::mca::InstrBuilder::createInstruction().
|
inline |
Definition at line 697 of file Instruction.h.
References assert(), and isExecuted().
Referenced by llvm::mca::RetireControlUnit::consumeCurrentToken().
|
inline |
Definition at line 705 of file Instruction.h.
|
inline |
Definition at line 710 of file Instruction.h.
Referenced by llvm::mca::Scheduler::select().
|
inline |
Definition at line 695 of file Instruction.h.
|
inline |
Definition at line 657 of file Instruction.h.
Referenced by llvm::mca::Scheduler::dispatch(), and llvm::mca::InOrderIssueStage::execute().
|
inline |
Definition at line 660 of file Instruction.h.
void llvm::mca::Instruction::update | ( | ) |
Definition at line 225 of file Instruction.cpp.
References isDispatched(), isPending(), updateDispatched(), and updatePending().
Referenced by cycleEvent().
bool llvm::mca::Instruction::updateDispatched | ( | ) |
Definition at line 208 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 194 of file Instruction.cpp.
References llvm::all_of(), assert(), llvm::mca::InstructionBase::getDefs(), llvm::mca::InstructionBase::getUses(), and isPending().
Referenced by dispatch(), and update().