From: Chandler Carruth Date: Wed, 7 Dec 2016 10:33:15 +0000 (+0000) Subject: [PM] Add some more logging to make it more clear when the CGSCC X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9a9268b704890607ee9e1389add2c5c94c642d2d;p=llvm [PM] Add some more logging to make it more clear when the CGSCC infrastrucutre is skipping SCCs and RefSCCs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@288894 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Analysis/CGSCCPassManager.h b/include/llvm/Analysis/CGSCCPassManager.h index dcff16765a9..fbbbace8b7a 100644 --- a/include/llvm/Analysis/CGSCCPassManager.h +++ b/include/llvm/Analysis/CGSCCPassManager.h @@ -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.