llvm::ConvergingVLIWScheduler

Synopsis

Declared in <llvm/CodeGen/VLIWMachineScheduler.h>

class ConvergingVLIWScheduler
    : public MachineSchedStrategy

Base Classes

NameDescription
MachineSchedStrategyMachineSchedStrategy - Interface to the scheduling algorithm used by ScheduleDAGMI.

Enums

NameDescription
Unnamed enum SUnit::NodeQueueId: 0 (none), 1 (top), 2 (bot), 3 (both)

Member Functions

NameDescription
ConvergingVLIWScheduler [constructor]Default constructor
~ConvergingVLIWScheduler [destructor] [virtual]Destructor
doMBBSchedRegionsTopDown [virtual]
dumpPolicy [virtual]
enterMBB [virtual]Tell the strategy that MBB is about to be processed.
getPolicy [virtual]
initPolicy [virtual]Optionally override the per-region scheduling policy.
initialize Initialize the strategy after building the DAG for a new region.
leaveMBB [virtual]Tell the strategy that current MBB is done.
pickNode [virtual]
registerRoots [virtual]Notify this strategy that all roots have been released (including those that depend on EntrySU or ExitSU).
releaseBottomNode [virtual]
releaseTopNode [virtual]
reportPackets
schedNode [virtual]
scheduleTree [virtual]Scheduler callback to notify that a new subtree is scheduled.
shouldTrackLaneMasks [virtual]Returns true if lanemasks should be tracked. LaneMask tracking is necessary to reorder independent subregister defs for the same vreg. This has to be enabled in combination with shouldTrackPressure().
shouldTrackPressure [virtual]Check if pressure tracking is needed before building the DAG and initializing this strategy. Called after initPolicy.

Protected Types

NameDescription
SchedCandidate Store the state used by ConvergingVLIWScheduler heuristics, required for the lifetime of one invocation of pickNode().
VLIWSchedBoundary Each Scheduling boundary is associated with ready queues. It tracks the current cycle in whichever direction at has moved, and maintains the state of "hazards" and other interlocks at the current cycle.

Protected Enums

NameDescription
CandResult Represent the type of SchedCandidate found within a single queue.

Protected Member Functions

Name
SchedulingCost [virtual]
createVLIWResourceModel [virtual]
pickNodeBidrectional
pickNodeFromQueue
pressureChange
readyQueueVerboseDump
traceCandidate

Protected Data Members

NameDescription
Bot
DAG
HighPressureSets List of pressure sets that have a high pressure level in the region.
SchedModel
Top

Protected Static Data Members

Name
PriorityOne
PriorityThree
PriorityTwo
ScaleTwo