LLVM  14.0.0git
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, 2 > Writes
 
SmallVector< ReadDescriptor, 4 > Reads
 
SmallVector< std::pair< uint64_t, ResourceUsage >, 4 > Resources
 
uint64_t UsedBuffers
 
uint64_t UsedProcResUnits
 
uint64_t ImplicitlyUsedProcResUnits
 
uint64_t UsedProcResGroups
 
unsigned MaxLatency
 
unsigned NumMicroOps
 
unsigned SchedClassID
 
unsigned MayLoad: 1
 
unsigned MayStore: 1
 
unsigned HasSideEffects: 1
 
unsigned BeginGroup: 1
 
unsigned EndGroup: 1
 
unsigned RetireOOO: 1
 
unsigned MustIssueImmediately: 1
 

Detailed Description

An instruction descriptor.

Definition at line 447 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 487 of file Instruction.h.

References MaxLatency, and Resources.

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

◆ operator=()

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

Member Data Documentation

◆ BeginGroup

unsigned llvm::mca::InstrDesc::BeginGroup

◆ EndGroup

unsigned llvm::mca::InstrDesc::EndGroup

Definition at line 479 of file Instruction.h.

◆ HasSideEffects

unsigned llvm::mca::InstrDesc::HasSideEffects

Definition at line 477 of file Instruction.h.

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

◆ ImplicitlyUsedProcResUnits

uint64_t llvm::mca::InstrDesc::ImplicitlyUsedProcResUnits

Definition at line 462 of file Instruction.h.

Referenced by llvm::mca::ResourceManager::checkAvailability().

◆ MaxLatency

unsigned llvm::mca::InstrDesc::MaxLatency

Definition at line 467 of file Instruction.h.

Referenced by llvm::mca::InstructionBase::getLatency(), and isZeroLatency().

◆ MayLoad

unsigned llvm::mca::InstrDesc::MayLoad

◆ MayStore

unsigned llvm::mca::InstrDesc::MayStore

◆ MustIssueImmediately

unsigned llvm::mca::InstrDesc::MustIssueImmediately

Definition at line 484 of file Instruction.h.

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

◆ NumMicroOps

unsigned llvm::mca::InstrDesc::NumMicroOps

Definition at line 469 of file Instruction.h.

Referenced by llvm::mca::InstructionBase::getNumMicroOps().

◆ Reads

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

Definition at line 449 of file Instruction.h.

◆ Resources

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

◆ RetireOOO

unsigned llvm::mca::InstrDesc::RetireOOO

Definition at line 480 of file Instruction.h.

◆ SchedClassID

unsigned llvm::mca::InstrDesc::SchedClassID

Definition at line 473 of file Instruction.h.

◆ UsedBuffers

uint64_t llvm::mca::InstrDesc::UsedBuffers

Definition at line 456 of file Instruction.h.

◆ UsedProcResGroups

uint64_t llvm::mca::InstrDesc::UsedProcResGroups

Definition at line 465 of file Instruction.h.

Referenced by llvm::mca::ResourceManager::checkAvailability().

◆ UsedProcResUnits

uint64_t llvm::mca::InstrDesc::UsedProcResUnits

Definition at line 459 of file Instruction.h.

◆ Writes

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

Definition at line 448 of file Instruction.h.


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