/// WillCreateCycle - Returns true if adding an edge from SU to TargetSU will /// create a cycle. bool ScheduleDAGTopologicalSort::WillCreateCycle(SUnit *SU, SUnit *TargetSU) { if (IsReachable(TargetSU, SU)) return true; for (SUnit::pred_iterator I = SU->Preds.begin(), E = SU->Preds.end(); I != E; ++I) if (I->isAssignedRegDep() && IsReachable(TargetSU, I->getSUnit())) return true; return false; }