diff --git a/llvm/include/llvm/IR/PassTimingInfo.h b/llvm/include/llvm/IR/PassTimingInfo.h --- a/llvm/include/llvm/IR/PassTimingInfo.h +++ b/llvm/include/llvm/IR/PassTimingInfo.h @@ -100,7 +100,7 @@ void stopTimer(StringRef PassID); // Implementation of pass instrumentation callbacks. - bool runBeforePass(StringRef PassID); + void runBeforePass(StringRef PassID); void runAfterPass(StringRef PassID); }; diff --git a/llvm/include/llvm/Passes/StandardInstrumentations.h b/llvm/include/llvm/Passes/StandardInstrumentations.h --- a/llvm/include/llvm/Passes/StandardInstrumentations.h +++ b/llvm/include/llvm/Passes/StandardInstrumentations.h @@ -39,7 +39,7 @@ void registerCallbacks(PassInstrumentationCallbacks &PIC); private: - bool printBeforePass(StringRef PassID, Any IR); + void printBeforePass(StringRef PassID, Any IR); void printAfterPass(StringRef PassID, Any IR); void printAfterPassInvalidated(StringRef PassID); diff --git a/llvm/lib/IR/PassTimingInfo.cpp b/llvm/lib/IR/PassTimingInfo.cpp --- a/llvm/lib/IR/PassTimingInfo.cpp +++ b/llvm/lib/IR/PassTimingInfo.cpp @@ -240,17 +240,14 @@ Prefix.endswith("AnalysisManagerProxy"); } -bool TimePassesHandler::runBeforePass(StringRef PassID) { +void TimePassesHandler::runBeforePass(StringRef PassID) { if (matchPassManager(PassID)) - return true; + return; startTimer(PassID); LLVM_DEBUG(dbgs() << "after runBeforePass(" << PassID << ")\n"); LLVM_DEBUG(dump()); - - // we are not going to skip this pass, thus return true. - return true; } void TimePassesHandler::runAfterPass(StringRef PassID) { @@ -267,8 +264,8 @@ if (!Enabled) return; - PIC.registerBeforePassCallback( - [this](StringRef P, Any) { return this->runBeforePass(P); }); + PIC.registerBeforeNonSkippedPassCallback( + [this](StringRef P, Any) { this->runBeforePass(P); }); PIC.registerAfterPassCallback( [this](StringRef P, Any) { this->runAfterPass(P); }); PIC.registerAfterPassInvalidatedCallback( diff --git a/llvm/lib/Passes/StandardInstrumentations.cpp b/llvm/lib/Passes/StandardInstrumentations.cpp --- a/llvm/lib/Passes/StandardInstrumentations.cpp +++ b/llvm/lib/Passes/StandardInstrumentations.cpp @@ -180,9 +180,9 @@ return ModuleDesc; } -bool PrintIRInstrumentation::printBeforePass(StringRef PassID, Any IR) { +void PrintIRInstrumentation::printBeforePass(StringRef PassID, Any IR) { if (PassID.startswith("PassManager<") || PassID.contains("PassAdaptor<")) - return true; + return; // Saving Module for AfterPassInvalidated operations. // Note: here we rely on a fact that we do not change modules while @@ -192,11 +192,11 @@ pushModuleDesc(PassID, IR); if (!llvm::shouldPrintBeforePass(PassID)) - return true; + return; SmallString<20> Banner = formatv("*** IR Dump Before {0} ***", PassID); unwrapAndPrint(IR, Banner, llvm::forcePrintModuleIR()); - return true; + return; } void PrintIRInstrumentation::printAfterPass(StringRef PassID, Any IR) { @@ -240,8 +240,8 @@ // for later use in AfterPassInvalidated. StoreModuleDesc = llvm::forcePrintModuleIR() && llvm::shouldPrintAfterPass(); if (llvm::shouldPrintBeforePass() || StoreModuleDesc) - PIC.registerBeforePassCallback( - [this](StringRef P, Any IR) { return this->printBeforePass(P, IR); }); + PIC.registerBeforeNonSkippedPassCallback( + [this](StringRef P, Any IR) { this->printBeforePass(P, IR); }); if (llvm::shouldPrintAfterPass()) { PIC.registerAfterPassCallback(