LLVM  8.0.1
Public Member Functions | Public Attributes | List of all members
llvm::mca::InstrDesc Struct Reference

An instruction descriptor. More...

#include "llvm/MCA/Instruction.h"

Collaboration diagram for llvm::mca::InstrDesc:
Collaboration graph
[legend]

Public Member Functions

bool isZeroLatency () const
 
 InstrDesc ()=default
 
 InstrDesc (const InstrDesc &Other)=delete
 
InstrDescoperator= (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
 

Detailed Description

An instruction descriptor.

Definition at line 322 of file Instruction.h.

Constructor & Destructor Documentation

◆ InstrDesc() [1/2]

llvm::mca::InstrDesc::InstrDesc ( )
default

◆ InstrDesc() [2/2]

llvm::mca::InstrDesc::InstrDesc ( const InstrDesc Other)
delete

Member Function Documentation

◆ isZeroLatency()

bool llvm::mca::InstrDesc::isZeroLatency ( ) const
inline

Definition at line 348 of file Instruction.h.

References llvm::SmallVectorBase::empty(), and Other.

Referenced by llvm::mca::Scheduler::mustIssueImmediately().

◆ operator=()

InstrDesc& llvm::mca::InstrDesc::operator= ( const InstrDesc Other)
delete

Member Data Documentation

◆ BeginGroup

bool llvm::mca::InstrDesc::BeginGroup

Definition at line 340 of file Instruction.h.

Referenced by llvm::mca::DispatchStage::isAvailable().

◆ Buffers

SmallVector<uint64_t, 4> llvm::mca::InstrDesc::Buffers

◆ EndGroup

bool llvm::mca::InstrDesc::EndGroup

Definition at line 341 of file Instruction.h.

◆ HasSideEffects

bool llvm::mca::InstrDesc::HasSideEffects

Definition at line 339 of file Instruction.h.

Referenced by llvm::mca::LSUnit::dispatch().

◆ MaxLatency

unsigned llvm::mca::InstrDesc::MaxLatency

◆ MayLoad

bool llvm::mca::InstrDesc::MayLoad

◆ MayStore

bool llvm::mca::InstrDesc::MayStore

◆ MustIssueImmediately

bool llvm::mca::InstrDesc::MustIssueImmediately

◆ NumMicroOps

unsigned llvm::mca::InstrDesc::NumMicroOps

◆ Reads

SmallVector<ReadDescriptor, 4> llvm::mca::InstrDesc::Reads

◆ Resources

SmallVector<std::pair<uint64_t, ResourceUsage>, 4> llvm::mca::InstrDesc::Resources

◆ Writes

SmallVector<WriteDescriptor, 4> llvm::mca::InstrDesc::Writes

The documentation for this struct was generated from the following file: