LLVM  10.0.0svn
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
 
uint64_t UsedBuffers
 
uint64_t UsedProcResUnits
 
uint64_t UsedProcResGroups
 
unsigned MaxLatency
 
unsigned NumMicroOps
 
unsigned SchedClassID
 
bool MayLoad
 
bool MayStore
 
bool HasSideEffects
 
bool BeginGroup
 
bool EndGroup
 
bool MustIssueImmediately
 

Detailed Description

An instruction descriptor.

Definition at line 348 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 384 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 376 of file Instruction.h.

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

◆ EndGroup

bool llvm::mca::InstrDesc::EndGroup

Definition at line 377 of file Instruction.h.

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

◆ HasSideEffects

bool llvm::mca::InstrDesc::HasSideEffects

Definition at line 375 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

◆ SchedClassID

unsigned llvm::mca::InstrDesc::SchedClassID

Definition at line 371 of file Instruction.h.

◆ UsedBuffers

uint64_t llvm::mca::InstrDesc::UsedBuffers

◆ UsedProcResGroups

uint64_t llvm::mca::InstrDesc::UsedProcResGroups

◆ UsedProcResUnits

uint64_t llvm::mca::InstrDesc::UsedProcResUnits

Definition at line 360 of file Instruction.h.

Referenced by llvm::mca::initializeUsedResources().

◆ Writes

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

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