[llvm] [MISched](NFC) Factor control dependency construction state and logic out of `buildSchedGraph` (PR #226533)

Arthur Eubanks via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 28 13:59:19 PDT 2026


================
@@ -620,8 +597,29 @@ void ScheduleDAGInstrs::initSUnits() {
   }
 }
 
-class ScheduleDAGInstrs::Value2SUsMap
-    : public SmallMapVector<ValueType, SUList, 4> {
+namespace {
+/// A list of SUnits, used in Value2SUsMap, during DAG construction.
+/// FIXME: to gain speed it might be worth investigating an optimized
+/// implementation of this data structure, such as a singly linked list
+/// with a memory pool (SmallVector was tried but slow and SparseSet is not
+/// applicable).
+using SUList = std::list<SUnit *>;
+} // end anonymous namespace
+
+static void dumpSUList(const SUList &L) {
----------------
aeubanks wrote:

might as well put this in the surrounding anonymous namespace

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


More information about the llvm-commits mailing list