class DefaultVLIWScheduler
Declaration
class DefaultVLIWScheduler : public ScheduleDAGInstrs { /* full declaration omitted */ };
Description
A ScheduleDAG for scheduling lists of MachineInstr.
Declared at: llvm/lib/CodeGen/DFAPacketizer.cpp:105
Inherits from: ScheduleDAGInstrs
Member Variables
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 DefaultVLIWScheduler(llvm::MachineFunction & MF, llvm::MachineLoopInfo & MLI, llvm::AAResults * AA)
- public void addMutation(std::unique_ptr<ScheduleDAGMutation> Mutation)
- protected void postprocessDAG()
- public void schedule()
Inherited from ScheduleDAGInstrs:
- 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
- protected startBlockForKills
- protected toggleKillFlag
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
¶DefaultVLIWScheduler(llvm::MachineFunction& MF,
llvm::MachineLoopInfo& MLI,
llvm::AAResults* AA)
DefaultVLIWScheduler(llvm::MachineFunction& MF,
llvm::MachineLoopInfo& MLI,
llvm::AAResults* AA)
Declared at: llvm/lib/CodeGen/DFAPacketizer.cpp:112
Parameters
¶void addMutation(
std::unique_ptr<ScheduleDAGMutation> Mutation)
void addMutation(
std::unique_ptr<ScheduleDAGMutation> Mutation)
Description
DefaultVLIWScheduler takes ownership of the Mutation object.
Declared at: llvm/lib/CodeGen/DFAPacketizer.cpp:119
Parameters
- std::unique_ptr<ScheduleDAGMutation> Mutation
¶void postprocessDAG()
void postprocessDAG()
Description
Apply each ScheduleDAGMutation step in order.
Declared at: llvm/lib/CodeGen/DFAPacketizer.cpp:124
¶void schedule()
void schedule()
Description
Orders nodes according to selected style. Typically, a scheduling algorithm will implement schedule() without overriding enterRegion() or exitRegion().
Declared at: llvm/lib/CodeGen/DFAPacketizer.cpp:116