Skip to content

Commit 7a2e112

Browse files
author
Yuanfang Chen
committed
[NewPM][PassInstrument] Make PrintIR and TimePasses to use before-pass-run callback
Reviewed By: asbirlea, aeubanks Differential Revision: https://reviews.llvm.org/D84773
1 parent 5cf0c2e commit 7a2e112

File tree

4 files changed

+12
-15
lines changed

4 files changed

+12
-15
lines changed

llvm/include/llvm/IR/PassTimingInfo.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ class TimePassesHandler {
100100
void stopTimer(StringRef PassID);
101101

102102
// Implementation of pass instrumentation callbacks.
103-
bool runBeforePass(StringRef PassID);
103+
void runBeforePass(StringRef PassID);
104104
void runAfterPass(StringRef PassID);
105105
};
106106

llvm/include/llvm/Passes/StandardInstrumentations.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ class PrintIRInstrumentation {
3939
void registerCallbacks(PassInstrumentationCallbacks &PIC);
4040

4141
private:
42-
bool printBeforePass(StringRef PassID, Any IR);
42+
void printBeforePass(StringRef PassID, Any IR);
4343
void printAfterPass(StringRef PassID, Any IR);
4444
void printAfterPassInvalidated(StringRef PassID);
4545

llvm/lib/IR/PassTimingInfo.cpp

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -240,17 +240,14 @@ static bool matchPassManager(StringRef PassID) {
240240
Prefix.endswith("AnalysisManagerProxy");
241241
}
242242

243-
bool TimePassesHandler::runBeforePass(StringRef PassID) {
243+
void TimePassesHandler::runBeforePass(StringRef PassID) {
244244
if (matchPassManager(PassID))
245-
return true;
245+
return;
246246

247247
startTimer(PassID);
248248

249249
LLVM_DEBUG(dbgs() << "after runBeforePass(" << PassID << ")\n");
250250
LLVM_DEBUG(dump());
251-
252-
// we are not going to skip this pass, thus return true.
253-
return true;
254251
}
255252

256253
void TimePassesHandler::runAfterPass(StringRef PassID) {
@@ -267,8 +264,8 @@ void TimePassesHandler::registerCallbacks(PassInstrumentationCallbacks &PIC) {
267264
if (!Enabled)
268265
return;
269266

270-
PIC.registerBeforePassCallback(
271-
[this](StringRef P, Any) { return this->runBeforePass(P); });
267+
PIC.registerBeforeNonSkippedPassCallback(
268+
[this](StringRef P, Any) { this->runBeforePass(P); });
272269
PIC.registerAfterPassCallback(
273270
[this](StringRef P, Any) { this->runAfterPass(P); });
274271
PIC.registerAfterPassInvalidatedCallback(

llvm/lib/Passes/StandardInstrumentations.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -180,9 +180,9 @@ PrintIRInstrumentation::popModuleDesc(StringRef PassID) {
180180
return ModuleDesc;
181181
}
182182

183-
bool PrintIRInstrumentation::printBeforePass(StringRef PassID, Any IR) {
183+
void PrintIRInstrumentation::printBeforePass(StringRef PassID, Any IR) {
184184
if (PassID.startswith("PassManager<") || PassID.contains("PassAdaptor<"))
185-
return true;
185+
return;
186186

187187
// Saving Module for AfterPassInvalidated operations.
188188
// Note: here we rely on a fact that we do not change modules while
@@ -192,11 +192,11 @@ bool PrintIRInstrumentation::printBeforePass(StringRef PassID, Any IR) {
192192
pushModuleDesc(PassID, IR);
193193

194194
if (!llvm::shouldPrintBeforePass(PassID))
195-
return true;
195+
return;
196196

197197
SmallString<20> Banner = formatv("*** IR Dump Before {0} ***", PassID);
198198
unwrapAndPrint(IR, Banner, llvm::forcePrintModuleIR());
199-
return true;
199+
return;
200200
}
201201

202202
void PrintIRInstrumentation::printAfterPass(StringRef PassID, Any IR) {
@@ -240,8 +240,8 @@ void PrintIRInstrumentation::registerCallbacks(
240240
// for later use in AfterPassInvalidated.
241241
StoreModuleDesc = llvm::forcePrintModuleIR() && llvm::shouldPrintAfterPass();
242242
if (llvm::shouldPrintBeforePass() || StoreModuleDesc)
243-
PIC.registerBeforePassCallback(
244-
[this](StringRef P, Any IR) { return this->printBeforePass(P, IR); });
243+
PIC.registerBeforeNonSkippedPassCallback(
244+
[this](StringRef P, Any IR) { this->printBeforePass(P, IR); });
245245

246246
if (llvm::shouldPrintAfterPass()) {
247247
PIC.registerAfterPassCallback(

0 commit comments

Comments
 (0)