summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2016-12-07 10:33:15 +0000
committerChandler Carruth <chandlerc@gmail.com>2016-12-07 10:33:15 +0000
commite7b71a7eb8b7329081335bd875eaa68bdec568b2 (patch)
treebe992078216756e3df9385f145eaf3791493979e
parente151f010deab7417abf663fb1c8ff841539903e7 (diff)
downloadbcm5719-llvm-e7b71a7eb8b7329081335bd875eaa68bdec568b2.tar.gz
bcm5719-llvm-e7b71a7eb8b7329081335bd875eaa68bdec568b2.zip
[PM] Add some more logging to make it more clear when the CGSCC
infrastrucutre is skipping SCCs and RefSCCs. llvm-svn: 288894
-rw-r--r--llvm/include/llvm/Analysis/CGSCCPassManager.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/llvm/include/llvm/Analysis/CGSCCPassManager.h b/llvm/include/llvm/Analysis/CGSCCPassManager.h
index dcff16765a9..fbbbace8b7a 100644
--- a/llvm/include/llvm/Analysis/CGSCCPassManager.h
+++ b/llvm/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.
OpenPOWER on IntegriCloud