15 #ifndef LLVM_MC_MCSCHEDULE_H
16 #define LLVM_MC_MCSCHEDULE_H
18 #include "llvm/Support/DataTypes.h"
23 struct InstrItinerary;
bool operator==(const MCWriteLatencyEntry &Other) const
unsigned MispredictPenalty
static const unsigned DefaultLoopMicroOpBufferSize
unsigned NumWriteProcResEntries
unsigned MicroOpBufferSize
unsigned short NumMicroOps
const MCProcResourceDesc * getProcResource(unsigned ProcResourceIdx) const
bool operator==(const MCWriteProcResEntry &Other) const
unsigned NumProcResourceKinds
static const unsigned short VariantNumMicroOps
bool operator==(const MCReadAdvanceEntry &Other) const
Itinerary data supplied by a subtarget to be used by a target.
static const unsigned DefaultMispredictPenalty
const InstrItinerary * InstrItineraries
unsigned NumReadAdvanceEntries
static const MCSchedModel & GetDefaultSchedModel()
Returns the default initialized model.
unsigned getNumProcResourceKinds() const
unsigned NumWriteLatencyEntries
Identify one of the processor resource kinds consumed by a particular scheduling class for the specif...
Summarize the scheduling resources required for an instruction of a particular scheduling class...
bool hasInstrSchedModel() const
Does this machine model include instruction-level scheduling.
bool operator==(const MCProcResourceDesc &Other) const
static const unsigned DefaultMicroOpBufferSize
const MCSchedClassDesc * getSchedClassDesc(unsigned SchedClassIdx) const
static const unsigned short InvalidNumMicroOps
static const unsigned DefaultIssueWidth
Specify the latency in cpu cycles for a particular scheduling class and def index.
Define a kind of processor resource that will be modeled by the scheduler.
static const MCSchedModel Default
static const unsigned DefaultLoadLatency
const MCSchedClassDesc * SchedClassTable
unsigned LoopMicroOpBufferSize
Specify the number of cycles allowed after instruction issue before a particular use operand reads it...
unsigned getProcessorID() const
bool isComplete() const
Return true if this machine model data for all instructions with a scheduling class (itinerary class ...
An itinerary represents the scheduling information for an instruction.
const MCProcResourceDesc * ProcResourceTable
Machine model for scheduling, bundling, and heuristics.
static const unsigned DefaultHighLatency