[llvm] [DependenceAnalysis] Extending SIV to handle fusable loops (PR #128782)

via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 17 11:51:45 PDT 2025


================
@@ -663,41 +681,12 @@ void Dependence::dump(raw_ostream &OS) const {
       OS << "anti";
     else if (isInput())
       OS << "input";
-    unsigned Levels = getLevels();
-    OS << " [";
-    for (unsigned II = 1; II <= Levels; ++II) {
-      if (isSplitable(II))
-        Splitable = true;
-      if (isPeelFirst(II))
-        OS << 'p';
-      const SCEV *Distance = getDistance(II);
-      if (Distance)
-        OS << *Distance;
-      else if (isScalar(II))
-        OS << "S";
-      else {
-        unsigned Direction = getDirection(II);
-        if (Direction == DVEntry::ALL)
-          OS << "*";
-        else {
-          if (Direction & DVEntry::LT)
-            OS << "<";
-          if (Direction & DVEntry::EQ)
-            OS << "=";
-          if (Direction & DVEntry::GT)
-            OS << ">";
-        }
-      }
-      if (isPeelLast(II))
-        OS << 'p';
-      if (II < Levels)
-        OS << " ";
+    dumpImp(OS);
+    unsigned FusableLevels = getFusableLevels();
+    if (FusableLevels > 0) {
+      OS << "! / assuming " << FusableLevels << " fused loop(s): ";
----------------
amehsan wrote:

shouldn't it be `assuming " << FusableLevels << " loop levels fused: ";`  ?

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


More information about the llvm-commits mailing list