[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