Lines Matching defs:DAG
9 /// \file This file contains a DAG scheduling mutation to cluster shader
26 void apply(ScheduleDAGInstrs *DAG) override;
59 static void buildCluster(ArrayRef<SUnit *> Exports, ScheduleDAGInstrs *DAG) {
72 DAG->addEdge(ChainHead, SDep(PredSU, SDep::Artificial));
76 DAG->addEdge(SUb, SDep(SUa, SDep::Barrier));
78 DAG->addEdge(SUb, SDep(SUa, SDep::Cluster));
82 static void removeExportDependencies(ScheduleDAGInstrs *DAG, SUnit &SU) {
105 DAG->addEdge(&SU, Pred);
108 void ExportClustering::apply(ScheduleDAGInstrs *DAG) {
109 const SIInstrInfo *TII = static_cast<const SIInstrInfo *>(DAG->TII);
113 // Pass through DAG gathering a list of exports and removing barrier edges
118 for (SUnit &SU : DAG->SUnits) {
126 removeExportDependencies(DAG, SU);
130 removeExportDependencies(DAG, *Succ.getSUnit());
136 buildCluster(Chain, DAG);