[llvm] r288894 - [PM] Add some more logging to make it more clear when the CGSCC

Chandler Carruth via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 7 02:33:16 PST 2016


Author: chandlerc
Date: Wed Dec  7 04:33:15 2016
New Revision: 288894

URL: http://llvm.org/viewvc/llvm-project?rev=288894&view=rev
Log:
[PM] Add some more logging to make it more clear when the CGSCC
infrastrucutre is skipping SCCs and RefSCCs.

Modified:
    llvm/trunk/include/llvm/Analysis/CGSCCPassManager.h

Modified: llvm/trunk/include/llvm/Analysis/CGSCCPassManager.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/CGSCCPassManager.h?rev=288894&r1=288893&r2=288894&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Analysis/CGSCCPassManager.h (original)
+++ llvm/trunk/include/llvm/Analysis/CGSCCPassManager.h Wed Dec  7 04:33:15 2016
@@ -308,8 +308,11 @@ public:
 
       do {
         LazyCallGraph::RefSCC *RC = RCWorklist.pop_back_val();
-        if (InvalidRefSCCSet.count(RC))
+        if (InvalidRefSCCSet.count(RC)) {
+          if (DebugLogging)
+            dbgs() << "Skipping an invalid RefSCC...\n";
           continue;
+        }
 
         assert(CWorklist.empty() &&
                "Should always start with an empty SCC worklist");
@@ -328,8 +331,17 @@ public:
           // other RefSCCs in the worklist. The invalid ones are dead and the
           // other RefSCCs should be queued above, so we just need to skip both
           // scenarios here.
-          if (InvalidSCCSet.count(C) || &C->getOuterRefSCC() != RC)
+          if (InvalidSCCSet.count(C)) {
+            if (DebugLogging)
+              dbgs() << "Skipping an invalid SCC...\n";
             continue;
+          }
+          if (&C->getOuterRefSCC() != RC) {
+            if (DebugLogging)
+              dbgs() << "Skipping an SCC that is now part of some other "
+                        "RefSCC...\n";
+            continue;
+          }
 
           do {
             // Check that we didn't miss any update scenario.




More information about the llvm-commits mailing list