[llvm] [AMDGPU] IGroupLP: Refactor SchedGroup::initSchedGroup (NFC) (PR #184122)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 3 00:23:40 PST 2026


================
@@ -2572,43 +2568,17 @@ bool SchedGroup::canAddSU(SUnit &SU) const {
   return std::all_of(B, E, [this](MachineInstr &MI) { return canAddMI(MI); });
 }
 
-void SchedGroup::initSchedGroup() {
-  for (auto &SU : DAG->SUnits) {
-    if (isFull())
-      break;
-
-    if (canAddSU(SU))
-      add(SU);
-  }
-}
-
-void SchedGroup::initSchedGroup(std::vector<SUnit>::reverse_iterator RIter,
-                                SUnitsToCandidateSGsMap &SyncedInstrs) {
-  SUnit &InitSU = *RIter;
-  for (auto E = DAG->SUnits.rend(); RIter != E; ++RIter) {
-    auto &SU = *RIter;
-    if (isFull())
-      break;
-
+template <class T>
+void SchedGroup::findCandidateSUnits(T Begin, T End,
+                                     SUnitsToCandidateSGsMap &SyncedInstrs) {
+  std::for_each(Begin, End, [this, &SyncedInstrs](SUnit &SU) {
----------------
arsenm wrote:

Avoid using std::for_each like this 

https://github.com/llvm/llvm-project/pull/184122


More information about the llvm-commits mailing list