Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:DAG

18 // scheduled. Targets can override the DAG builder and scheduler without
26 // The default scheduler, ScheduleDAGMILive, builds the DAG and drives list
28 // intervals. Most targets don't need to override the DAG builder and list
38 // The DAG builder can also be customized in a sense by adding DAG mutations
39 // that will run after DAG building and before list scheduling. DAG mutations
45 // ScheduleDAGMI *DAG = new ScheduleDAGMI(C, CustomStrategy(C));
46 // DAG->addMutation(new CustomDependencies(DAG->TII, DAG->TRI));
47 // return DAG;
150 /// before building the DAG.
168 /// initPolicy -> shouldTrackPressure -> initialize(DAG) -> registerRoots
179 /// Check if pressure tracking is needed before building the DAG and
183 /// Initialize the strategy after building the DAG for a new region.
184 virtual void initialize(ScheduleDAGMI *DAG) = 0;
199 /// instruction and updated scheduled/remaining flags in the DAG nodes.
210 /// Mutate the DAG as a postpass after normal DAG building.
216 virtual void apply(ScheduleDAGMI *DAG) = 0;
232 /// Ordered list of DAG postprocessing steps.
265 /// Return true if this DAG supports VReg liveness and RegPressure.
268 /// Add a postprocessing step to the DAG builder.
269 /// Mutations are applied in the order that they are added after normal DAG
281 /// \brief Add a DAG edge to the given SU with the given predecessor
318 /// instances of ScheduleDAGMI to perform custom DAG postprocessing.
324 /// Update scheduler DAG and queues after scheduling an instruction.
351 /// Information about DAG subtrees. If DFSResult is NULL, then SchedulerTrees
391 /// Return true if this DAG supports VReg liveness and RegPressure.
416 /// Compute a DFSResult after DAG building is complete, and before any
437 /// Compute the cyclic critical path through the DAG.
444 DAG
446 /// bottom of the DAG region without covereing any unscheduled instruction.
526 // Critical path through the DAG in expected latency.
548 void init(ScheduleDAGMI *DAG, const TargetSchedModel *SchedModel);
563 ScheduleDAGMI *DAG;
634 DAG(nullptr), SchedModel(nullptr), Rem(nullptr), Available(ID, Name+".A"),
644 void init(ScheduleDAGMI *dag, const TargetSchedModel *smodel,
821 void initResourceDelta(const ScheduleDAGMI *DAG,
846 ScheduleDAGMILive *DAG;
855 GenericSchedulerBase(C), DAG(nullptr), Top(SchedBoundary::TopQID, "TopQ"),
866 void initialize(ScheduleDAGMI *dag) override;
904 /// initPolicy -> initialize(DAG) -> registerRoots -> pickNode ...
906 ScheduleDAGMI *DAG;
924 void initialize(ScheduleDAGMI *Dag) override;