LLVM
8.0.1
|
An instruction descriptor. More...
#include "llvm/MCA/Instruction.h"
Public Member Functions | |
bool | isZeroLatency () const |
InstrDesc ()=default | |
InstrDesc (const InstrDesc &Other)=delete | |
InstrDesc & | operator= (const InstrDesc &Other)=delete |
Public Attributes | |
SmallVector< WriteDescriptor, 4 > | Writes |
SmallVector< ReadDescriptor, 4 > | Reads |
SmallVector< std::pair< uint64_t, ResourceUsage >, 4 > | Resources |
SmallVector< uint64_t, 4 > | Buffers |
unsigned | MaxLatency |
unsigned | NumMicroOps |
bool | MayLoad |
bool | MayStore |
bool | HasSideEffects |
bool | BeginGroup |
bool | EndGroup |
bool | MustIssueImmediately |
An instruction descriptor.
Definition at line 322 of file Instruction.h.
|
default |
|
inline |
Definition at line 348 of file Instruction.h.
References llvm::SmallVectorBase::empty(), and Other.
Referenced by llvm::mca::Scheduler::mustIssueImmediately().
bool llvm::mca::InstrDesc::BeginGroup |
Definition at line 340 of file Instruction.h.
Referenced by llvm::mca::DispatchStage::isAvailable().
SmallVector<uint64_t, 4> llvm::mca::InstrDesc::Buffers |
Definition at line 331 of file Instruction.h.
Referenced by llvm::mca::Scheduler::dispatch(), llvm::mca::initializeUsedResources(), llvm::mca::Scheduler::isAvailable(), llvm::mca::Scheduler::issueInstruction(), llvm::mca::ExecuteStage::notifyReservedOrReleasedBuffers(), and llvm::mca::verifyOperands().
bool llvm::mca::InstrDesc::EndGroup |
Definition at line 341 of file Instruction.h.
bool llvm::mca::InstrDesc::HasSideEffects |
Definition at line 339 of file Instruction.h.
Referenced by llvm::mca::LSUnit::dispatch().
unsigned llvm::mca::InstrDesc::MaxLatency |
Definition at line 333 of file Instruction.h.
Referenced by llvm::mca::computeMaxLatency(), llvm::mca::InstructionBase::getLatency(), and llvm::mca::verifyOperands().
bool llvm::mca::InstrDesc::MayLoad |
Definition at line 337 of file Instruction.h.
Referenced by llvm::mca::Scheduler::dispatch(), llvm::mca::LSUnit::dispatch(), llvm::mca::LSUnit::isAvailable(), llvm::mca::Scheduler::isReady(), llvm::mca::LSUnit::isReady(), llvm::mca::LSUnit::onInstructionExecuted(), and llvm::mca::verifyOperands().
bool llvm::mca::InstrDesc::MayStore |
Definition at line 338 of file Instruction.h.
Referenced by llvm::mca::Scheduler::dispatch(), llvm::mca::LSUnit::dispatch(), llvm::mca::LSUnit::isAvailable(), llvm::mca::Scheduler::isReady(), llvm::mca::LSUnit::isReady(), llvm::mca::LSUnit::onInstructionExecuted(), and llvm::mca::verifyOperands().
bool llvm::mca::InstrDesc::MustIssueImmediately |
Definition at line 345 of file Instruction.h.
Referenced by llvm::mca::initializeUsedResources(), and llvm::mca::Scheduler::mustIssueImmediately().
unsigned llvm::mca::InstrDesc::NumMicroOps |
Definition at line 335 of file Instruction.h.
Referenced by llvm::mca::DispatchStage::isAvailable(), and llvm::mca::verifyOperands().
SmallVector<ReadDescriptor, 4> llvm::mca::InstrDesc::Reads |
Definition at line 324 of file Instruction.h.
Referenced by llvm::mca::InstrBuilder::createInstruction(), and llvm::mca::verifyOperands().
SmallVector<std::pair<uint64_t, ResourceUsage>, 4> llvm::mca::InstrDesc::Resources |
Definition at line 328 of file Instruction.h.
Referenced by llvm::mca::ResourceManager::canBeIssued(), llvm::mca::InstructionTables::execute(), llvm::mca::initializeUsedResources(), llvm::mca::ResourceManager::issueInstruction(), and llvm::mca::verifyOperands().
SmallVector<WriteDescriptor, 4> llvm::mca::InstrDesc::Writes |
Definition at line 323 of file Instruction.h.
Referenced by llvm::mca::InstrBuilder::createInstruction(), and llvm::mca::verifyOperands().