class VLIWMachineScheduler
Declaration
class VLIWMachineScheduler : public ScheduleDAGMILive { /* full declaration omitted */ };
Description
Extend the standard ScheduleDAGMILive to provide more context and override the top-level schedule() driver.
Declared at: llvm/include/llvm/CodeGen/VLIWMachineScheduler.h:69
Inherits from: ScheduleDAGMILive
Member Variables
Inherited from ScheduleDAGMILive:
- protected RegClassInfo
- protected DFSResult = nullptr
- protected ScheduledTrees
- protected LiveRegionEnd
- protected VRegUses
- protected SUPressureDiffs
- protected ShouldTrackPressure = false
- protected ShouldTrackLaneMasks = false
- protected RegPressure
- protected RPTracker
- protected RegionCriticalPSets
- protected TopPressure
- protected TopRPTracker
- protected BotPressure
- protected BotRPTracker
Inherited from ScheduleDAGMI:
- protected AA
- protected LIS
- protected SchedImpl
- protected Mutations
- protected CurrentTop
- protected CurrentBottom
- protected NextClusterPred = nullptr
- protected NextClusterSucc = nullptr
Inherited from ScheduleDAGInstrs:
- protected MLI
- protected MFI
- protected SchedModel
- protected RemoveKillFlags
- protected CanHandleTerminators = false
- protected TrackLaneMasks = false
- protected BB
- protected RegionBegin
- protected RegionEnd
- protected NumRegionInstrs
- protected MISUnitMap
- protected Defs
- protected Uses
- protected CurrentVRegDefs
- protected CurrentVRegUses
- protected AAForDep = nullptr
- protected BarrierChain = nullptr
- protected UnknownValue
- protected Topo
- protected DbgValues
- protected FirstDbgValue = nullptr
- protected LiveRegs
Inherited from ScheduleDAG:
- public TM
- public TII
- public TRI
- public MF
- public MRI
- public SUnits
- public EntrySU
- public ExitSU
- public StressSched
Method Overview
- public VLIWMachineScheduler(llvm::MachineSchedContext * C, std::unique_ptr<MachineSchedStrategy> S)
- public int getBBSize()
- public llvm::RegisterClassInfo * getRegClassInfo()
- public void schedule()
Inherited from ScheduleDAGMILive:
- protected buildDAGWithRegPressure
- protected collectVRegUses
- public computeCyclicCriticalPath
- public computeDFSResult
- public dump
- public enterRegion
- public getBotPressure
- public getBotRPTracker
- public getDFSResult
- public getPressureDiff
- public getPressureDiff
- public getRegPressure
- public getRegionCriticalPSets
- public getScheduledTrees
- public getTopPressure
- public getTopRPTracker
- public hasVRegLiveness
- protected initQueues
- protected initRegPressure
- public isTrackingPressure
- public schedule
- protected scheduleMI
- protected updatePressureDiffs
- protected updateScheduledPressure
Inherited from ScheduleDAGMI:
- public addMutation
- public bottom
- protected checkSchedLimit
- public doMBBSchedRegionsTopDown
- protected dumpSchedule
- public enterRegion
- protected findRootsAndBiasEdges
- public finishBlock
- public getLIS
- public getNextClusterPred
- public getNextClusterSucc
- public hasVRegLiveness
- protected initQueues
- public moveInstruction
- protected placeDebugValues
- protected postprocessDAG
- protected releasePred
- protected releasePredecessors
- protected releaseSucc
- protected releaseSuccessors
- public schedule
- public startBlock
- public top
- protected updateQueues
- public viewGraph
- public viewGraph
Inherited from ScheduleDAGInstrs:
- public IsReachable
- protected addBarrierChain
- protected addChainDependencies
- protected addChainDependencies
- protected addChainDependencies
- protected addChainDependency
- public addEdge
- protected addPhysRegDataDeps
- protected addPhysRegDeps
- public addSchedBarrierDeps
- protected addVRegDefDeps
- protected addVRegUseDeps
- public begin
- public buildSchedGraph
- public canAddEdge
- protected deadDefHasNoUse
- public doMBBSchedRegionsTopDown
- public dump
- public dumpNode
- public end
- public enterRegion
- public exitRegion
- public finalizeSchedule
- public finishBlock
- public fixupKills
- public getDAGName
- public getGraphNodeLabel
- protected getLaneMaskForMO
- public getSUnit
- public getSchedClass
- public getSchedModel
- protected initSUnits
- protected insertBarrierChain
- public newSUnit
- protected reduceHugeMemNodeMaps
- public schedule
- public startBlock
Inherited from ScheduleDAG:
- public VerifyScheduledDAG
- public addCustomGraphFeatures
- public clearDAG
- public dump
- public dumpNode
- protected dumpNodeAll
- public dumpNodeName
- public getDAGName
- public getGraphNodeLabel
- public getInstrDesc
- public viewGraph
- public viewGraph
Methods
¶VLIWMachineScheduler(
llvm::MachineSchedContext* C,
std::unique_ptr<MachineSchedStrategy> S)
VLIWMachineScheduler(
llvm::MachineSchedContext* C,
std::unique_ptr<MachineSchedStrategy> S)
Declared at: llvm/include/llvm/CodeGen/VLIWMachineScheduler.h:71
Parameters
- llvm::MachineSchedContext* C
- std::unique_ptr<MachineSchedStrategy> S
¶int getBBSize()
int getBBSize()
Declared at: llvm/include/llvm/CodeGen/VLIWMachineScheduler.h:80
¶llvm::RegisterClassInfo* getRegClassInfo()
llvm::RegisterClassInfo* getRegClassInfo()
Declared at: llvm/include/llvm/CodeGen/VLIWMachineScheduler.h:79
¶void schedule()
void schedule()
Description
Schedule - This is called back from ScheduleDAGInstrs::Run() when it's time to do some work.
Declared at: llvm/include/llvm/CodeGen/VLIWMachineScheduler.h:77