[llvm] 2e50760 - [SLP] Add assert that entities are scheduled as expected

Philip Reames via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 15 12:34:15 PST 2022


Author: Philip Reames
Date: 2022-02-15T12:21:49-08:00
New Revision: 2e507607754c25fae82c35d93d2ab53395be6ff8

URL: https://github.com/llvm/llvm-project/commit/2e507607754c25fae82c35d93d2ab53395be6ff8
DIFF: https://github.com/llvm/llvm-project/commit/2e507607754c25fae82c35d93d2ab53395be6ff8.diff

LOG: [SLP] Add assert that entities are scheduled as expected

Requested in D118538

Added: 
    

Modified: 
    llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
index d29440a8d1566..ca1922e80c2cf 100644
--- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
@@ -7952,6 +7952,17 @@ void BoUpSLP::scheduleBlock(BlockScheduling *BS) {
   BS->verify();
 #endif
 
+#ifndef NDEBUG
+  // Check that all schedulable entities got scheduled
+  for (auto *I = BS->ScheduleStart; I != BS->ScheduleEnd; I = I->getNextNode()) {
+    BS->doForAllOpcodes(I, [&](ScheduleData *SD) {
+      if (SD->isSchedulingEntity() && SD->hasValidDependencies()) {
+        assert(SD->IsScheduled && "must be scheduled at this point");
+      }
+    });
+  }
+#endif
+
   // Avoid duplicate scheduling of the block.
   BS->ScheduleStart = nullptr;
 }


        


More information about the llvm-commits mailing list