LLVM  16.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 UsedProcResGroups
 
unsigned MaxLatency
 
unsigned NumMicroOps
 
unsigned SchedClassID
 
unsigned MustIssueImmediately: 1
 
unsigned IsRecyclable: 1
 
unsigned HasPartiallyOverlappingGroups: 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 485 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

◆ HasPartiallyOverlappingGroups

unsigned llvm::mca::InstrDesc::HasPartiallyOverlappingGroups

Definition at line 482 of file Instruction.h.

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

◆ IsRecyclable

unsigned llvm::mca::InstrDesc::IsRecyclable

Definition at line 479 of file Instruction.h.

◆ MaxLatency

unsigned llvm::mca::InstrDesc::MaxLatency

Definition at line 464 of file Instruction.h.

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

◆ MustIssueImmediately

unsigned llvm::mca::InstrDesc::MustIssueImmediately

Definition at line 474 of file Instruction.h.

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

◆ NumMicroOps

unsigned llvm::mca::InstrDesc::NumMicroOps

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

◆ SchedClassID

unsigned llvm::mca::InstrDesc::SchedClassID

Definition at line 470 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 462 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: