Provide an instruction scheduling machine model to CodeGen passes.

Synopsis

Declared in <llvm/CodeGen/TargetSchedule.h>

class TargetSchedModel;

Type Aliases

Member Functions

Name

Description

TargetSchedModel [constructor]

Default constructor

computeInstrLatency

Compute the instruction latency based on the available machine model.

computeOperandLatency

Compute operand latency based on the available machine model.

computeOutputLatency

Output dependency latency of a pair of defs of the same register.

computeReciprocalThroughput

Compute the reciprocal throughput of the given instruction.

enableIntervals

getInstrInfo

TargetInstrInfo getter.

getInstrItineraries

getIssueWidth

Maximum number of micro‐ops that may be scheduled per cycle.

getLatencyFactor

Multiply cycle count by this factor to normalize it relative to other resources. This is the number of resource units per cycle.

getMCSchedModel

getMicroOpBufferSize

Number of micro‐ops that may be buffered for OOO execution.

getMicroOpFactor

Multiply number of micro‐ops by this factor to normalize it relative to other resources.

getNumMicroOps

Return the number of issue slots required for this MI.

getNumProcResourceKinds

Get the number of kinds of resources for this target.

getProcResource

Get a processor resource by ID for convenience.

getProcessorID

Identify the processor corresponding to the current subtarget.

getResourceBufferSize

Return the original buffer size for a processor resource.

getResourceFactor

Multiply the number of units consumed for a resource by this factor to normalize it relative to other resources.

getResourceName

getSubtargetInfo

TargetSubtargetInfo getter.

getWriteProcResBegin

getWriteProcResEnd

hasInstrItineraries

Return true if this machine model includes cycle‐to‐cycle itinerary data.

hasInstrSchedModel

Return true if this machine model includes an instruction‐level scheduling model.

hasInstrSchedModelOrItineraries

Return true if this machine model includes an instruction‐level scheduling model or cycle‐to‐cycle itinerary data.

init

Initialize the machine model for instruction scheduling.

mustBeginGroup

Return true if new group must begin.

mustEndGroup

Return true if current group must end.

resolveSchedClass

Return the MCSchedClassDesc for this instruction.

Created with MrDocs