|
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 603 of file Instruction.h.
Definition at line 650 of file Instruction.h.
References D(), llvm::mca::InstructionBase::InstructionBase(), and llvm::mca::UNKNOWN_CYCLES.
|
inline |
Definition at line 664 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 706 of file Instruction.h.
|
inline |
Definition at line 705 of file Instruction.h.
|
inline |
Definition at line 712 of file Instruction.h.
|
inline |
Definition at line 666 of file Instruction.h.
Referenced by llvm::mca::LSUnit::MemoryGroup::onInstructionIssued().
|
inline |
Definition at line 659 of file Instruction.h.
Referenced by llvm::mca::LSUnit::onInstructionExecuted().
|
inline |
Definition at line 658 of file Instruction.h.
Referenced by llvm::mca::RetireStage::execute().
|
inline |
Definition at line 662 of file Instruction.h.
Referenced by llvm::mca::Scheduler::dispatch(), and llvm::mca::Scheduler::issueInstruction().
|
inline |
Definition at line 688 of file Instruction.h.
Referenced by cycleEvent(), llvm::mca::Scheduler::dispatch(), update(), and updateDispatched().
|
inline |
Definition at line 694 of file Instruction.h.
Referenced by llvm::mca::addRegisterReadWrite(), and llvm::mca::verifyInstructionEliminated().
|
inline |
Definition at line 692 of file Instruction.h.
Referenced by llvm::mca::RegisterFile::onInstructionExecuted(), and retire().
|
inline |
Definition at line 691 of file Instruction.h.
Referenced by cycleEvent().
|
inline |
Definition at line 687 of file Instruction.h.
|
inline |
Definition at line 689 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 690 of file Instruction.h.
Referenced by cycleEvent(), llvm::mca::Scheduler::dispatch(), and llvm::mca::verifyInstructionEliminated().
|
inline |
Definition at line 693 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 700 of file Instruction.h.
References assert(), and isExecuted().
Referenced by llvm::mca::RetireControlUnit::consumeCurrentToken().
|
inline |
Definition at line 708 of file Instruction.h.
|
inline |
Definition at line 713 of file Instruction.h.
Referenced by llvm::mca::Scheduler::select().
|
inline |
Definition at line 698 of file Instruction.h.
|
inline |
Definition at line 660 of file Instruction.h.
Referenced by llvm::mca::Scheduler::dispatch(), and llvm::mca::InOrderIssueStage::execute().
|
inline |
Definition at line 663 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().