LLVM  13.0.0git
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
llvm::MCSchedClassDesc Struct Reference

Summarize the scheduling resources required for an instruction of a particular scheduling class. More...

#include "llvm/MC/MCSchedule.h"

Collaboration diagram for llvm::MCSchedClassDesc:
Collaboration graph
[legend]

Public Member Functions

bool isValid () const
 
bool isVariant () const
 

Public Attributes

const char * Name
 
uint16_t NumMicroOps: 13
 
uint16_t BeginGroup: 1
 
uint16_t EndGroup: 1
 
uint16_t RetireOOO: 1
 
uint16_t WriteProcResIdx
 
uint16_t NumWriteProcResEntries
 
uint16_t WriteLatencyIdx
 
uint16_t NumWriteLatencyEntries
 
uint16_t ReadAdvanceIdx
 
uint16_t NumReadAdvanceEntries
 

Static Public Attributes

static const unsigned short InvalidNumMicroOps = (1U << 13) - 1
 
static const unsigned short VariantNumMicroOps = InvalidNumMicroOps - 1
 

Detailed Description

Summarize the scheduling resources required for an instruction of a particular scheduling class.

Defined as an aggregate struct for creating tables with initializer lists.

Definition at line 110 of file MCSchedule.h.

Member Function Documentation

◆ isValid()

bool llvm::MCSchedClassDesc::isValid ( ) const
inline

◆ isVariant()

bool llvm::MCSchedClassDesc::isVariant ( ) const
inline

Member Data Documentation

◆ BeginGroup

uint16_t llvm::MCSchedClassDesc::BeginGroup

Definition at line 118 of file MCSchedule.h.

◆ EndGroup

uint16_t llvm::MCSchedClassDesc::EndGroup

Definition at line 119 of file MCSchedule.h.

◆ InvalidNumMicroOps

const unsigned short llvm::MCSchedClassDesc::InvalidNumMicroOps = (1U << 13) - 1
static

Definition at line 111 of file MCSchedule.h.

Referenced by isValid().

◆ Name

const char* llvm::MCSchedClassDesc::Name

Definition at line 115 of file MCSchedule.h.

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

◆ NumMicroOps

uint16_t llvm::MCSchedClassDesc::NumMicroOps

Definition at line 117 of file MCSchedule.h.

Referenced by llvm::MCSchedModel::getReciprocalThroughput(), isValid(), and isVariant().

◆ NumReadAdvanceEntries

uint16_t llvm::MCSchedClassDesc::NumReadAdvanceEntries

Definition at line 126 of file MCSchedule.h.

Referenced by llvm::TargetSchedModel::computeOperandLatency().

◆ NumWriteLatencyEntries

uint16_t llvm::MCSchedClassDesc::NumWriteLatencyEntries

Definition at line 124 of file MCSchedule.h.

Referenced by llvm::MCSchedModel::computeInstrLatency(), and getLatency().

◆ NumWriteProcResEntries

uint16_t llvm::MCSchedClassDesc::NumWriteProcResEntries

Definition at line 122 of file MCSchedule.h.

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

◆ ReadAdvanceIdx

uint16_t llvm::MCSchedClassDesc::ReadAdvanceIdx

Definition at line 125 of file MCSchedule.h.

◆ RetireOOO

uint16_t llvm::MCSchedClassDesc::RetireOOO

Definition at line 120 of file MCSchedule.h.

◆ VariantNumMicroOps

const unsigned short llvm::MCSchedClassDesc::VariantNumMicroOps = InvalidNumMicroOps - 1
static

Definition at line 112 of file MCSchedule.h.

Referenced by isVariant().

◆ WriteLatencyIdx

uint16_t llvm::MCSchedClassDesc::WriteLatencyIdx

Definition at line 123 of file MCSchedule.h.

◆ WriteProcResIdx

uint16_t llvm::MCSchedClassDesc::WriteProcResIdx

Definition at line 121 of file MCSchedule.h.


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