From: Yuanfang Chen Date: Thu, 25 Jun 2020 17:02:50 +0000 (-0700) Subject: [NewPM] Move debugging log printing after PassInstrumentation before-pass-callbacks X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=c4b1daed1d6adfa726682ab4576f0f4a07ccdeac;p=android-x86%2Fexternal-llvm-project.git [NewPM] Move debugging log printing after PassInstrumentation before-pass-callbacks For passes got skipped, this is confusing because the log said it is `running pass` but it is skipped later. Reviewed By: asbirlea Differential Revision: https://reviews.llvm.org/D82511 --- diff --git a/llvm/include/llvm/IR/PassManager.h b/llvm/include/llvm/IR/PassManager.h index e7fb0b5e754..4d5f292ba9a 100644 --- a/llvm/include/llvm/IR/PassManager.h +++ b/llvm/include/llvm/IR/PassManager.h @@ -503,9 +503,6 @@ public: for (unsigned Idx = 0, Size = Passes.size(); Idx != Size; ++Idx) { auto *P = Passes[Idx].get(); - if (DebugLogging) - dbgs() << "Running pass: " << P->name() << " on " << IR.getName() - << "\n"; // Check the PassInstrumentation's BeforePass callbacks before running the // pass, skip its execution completely if asked to (callback returns @@ -513,6 +510,10 @@ public: if (!PI.runBeforePass(*P, IR)) continue; + if (DebugLogging) + dbgs() << "Running pass: " << P->name() << " on " << IR.getName() + << "\n"; + PreservedAnalyses PassPA; { TimeTraceScope TimeScope(P->name(), IR.getName()); diff --git a/llvm/lib/Analysis/CGSCCPassManager.cpp b/llvm/lib/Analysis/CGSCCPassManager.cpp index 64bd6dfe67a..fd3166f8cd0 100644 --- a/llvm/lib/Analysis/CGSCCPassManager.cpp +++ b/llvm/lib/Analysis/CGSCCPassManager.cpp @@ -73,14 +73,14 @@ PassManager(*C)->getManager(); for (auto &Pass : Passes) { - if (DebugLogging) - dbgs() << "Running pass: " << Pass->name() << " on " << *C << "\n"; - // Check the PassInstrumentation's BeforePass callbacks before running the // pass, skip its execution completely if asked to (callback returns false). if (!PI.runBeforePass(*Pass, *C)) continue; + if (DebugLogging) + dbgs() << "Running pass: " << Pass->name() << " on " << *C << "\n"; + PreservedAnalyses PassPA; { TimeTraceScope TimeScope(Pass->name()); diff --git a/llvm/lib/Transforms/Scalar/LoopPassManager.cpp b/llvm/lib/Transforms/Scalar/LoopPassManager.cpp index cc083c2fae7..98889a9df11 100644 --- a/llvm/lib/Transforms/Scalar/LoopPassManager.cpp +++ b/llvm/lib/Transforms/Scalar/LoopPassManager.cpp @@ -34,14 +34,14 @@ PassManager(L, AR); for (auto &Pass : Passes) { - if (DebugLogging) - dbgs() << "Running pass: " << Pass->name() << " on " << L; - // Check the PassInstrumentation's BeforePass callbacks before running the // pass, skip its execution completely if asked to (callback returns false). if (!PI.runBeforePass(*Pass, L)) continue; + if (DebugLogging) + dbgs() << "Running pass: " << Pass->name() << " on " << L; + PreservedAnalyses PassPA; { TimeTraceScope TimeScope(Pass->name(), L.getName());