Skip to content

Commit 85925cb

Browse files
author
Chenyang Xu
committed
fix timing
1 parent 40f21a7 commit 85925cb

File tree

2 files changed

+22
-3
lines changed

2 files changed

+22
-3
lines changed

mlir/lib/Pass/PassTiming.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,8 @@ struct PassTiming : public PassInstrumentation {
9090
auto &activeTimers = activeThreadTimers[tid];
9191
auto &parentScope = activeTimers.empty() ? rootScope : activeTimers.back();
9292

93+
parentTimerIndices[{tid, pass}] = activeTimers.size();
9394
if (auto *adaptor = dyn_cast<OpToOpPassAdaptor>(pass)) {
94-
parentTimerIndices[{tid, pass}] = activeTimers.size();
9595
auto scope =
9696
parentScope.nest(pass->getThreadingSiblingOrThis(),
9797
[adaptor]() { return adaptor->getAdaptorName(); });
@@ -107,8 +107,7 @@ struct PassTiming : public PassInstrumentation {
107107

108108
void runAfterPass(Pass *pass, Operation *) override {
109109
auto tid = llvm::get_threadid();
110-
if (isa<OpToOpPassAdaptor>(pass))
111-
parentTimerIndices.erase({tid, pass});
110+
parentTimerIndices.erase({tid, pass});
112111
auto &activeTimers = activeThreadTimers[tid];
113112
assert(!activeTimers.empty() && "expected active timer");
114113
activeTimers.pop_back();

mlir/test/Pass/pass-timing.mlir

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
// RUN: mlir-opt %s -mlir-disable-threading=false -verify-each=true -pass-pipeline='builtin.module(func.func(cse,canonicalize,cse))' -mlir-timing -mlir-timing-display=list 2>&1 | FileCheck -check-prefix=MT_LIST %s
66
// RUN: mlir-opt %s -mlir-disable-threading=false -verify-each=true -pass-pipeline='builtin.module(func.func(cse,canonicalize,cse))' -mlir-timing -mlir-timing-display=tree 2>&1 | FileCheck -check-prefix=MT_PIPELINE %s
77
// RUN: mlir-opt %s -mlir-disable-threading=true -verify-each=false -test-pm-nested-pipeline -mlir-timing -mlir-timing-display=tree 2>&1 | FileCheck -check-prefix=NESTED_PIPELINE %s
8+
// RUN: mlir-opt %s -mlir-disable-threading=true -verify-each=true -pass-pipeline='builtin.module(func.func(cse,canonicalize,cse),inline)' -mlir-timing -mlir-timing-display=tree 2>&1 | FileCheck -check-prefix=DYNAMIC-PIPELINE %s
9+
// RUN: mlir-opt %s -mlir-disable-threading=false -verify-each=true -pass-pipeline='builtin.module(func.func(cse,canonicalize,cse),inline)' -mlir-timing -mlir-timing-display=tree 2>&1 | FileCheck -check-prefix=DYNAMIC-PIPELINE %s
810

911
// LIST: Execution time report
1012
// LIST: Total Execution Time:
@@ -95,6 +97,24 @@
9597
// NESTED_PIPELINE-NEXT: Rest
9698
// NESTED_PIPELINE-NEXT: Total
9799

100+
// DYNAMIC-PIPELINE: Execution time report
101+
// DYNAMIC-PIPELINE: Total Execution Time:
102+
// DYNAMIC-PIPELINE: Name
103+
// DYNAMIC-PIPELINE-NEXT: Parser
104+
// DYNAMIC-PIPELINE-NEXT: 'func.func' Pipeline
105+
// DYNAMIC-PIPELINE-NEXT: CSE
106+
// DYNAMIC-PIPELINE-NEXT: (A) DominanceInfo
107+
// DYNAMIC-PIPELINE-NEXT: Canonicalizer
108+
// DYNAMIC-PIPELINE-NEXT: CSE
109+
// DYNAMIC-PIPELINE-NEXT: (A) DominanceInfo
110+
// DYNAMIC-PIPELINE-NEXT: Inliner
111+
// DYNAMIC-PIPELINE-NEXT: (A) CallGraph
112+
// DYNAMIC-PIPELINE-NEXT: 'func.func' Pipeline
113+
// DYNAMIC-PIPELINE-NEXT: Canonicalizer
114+
// DYNAMIC-PIPELINE-NEXT: Output
115+
// DYNAMIC-PIPELINE-NEXT: Rest
116+
// DYNAMIC-PIPELINE-NEXT: Total
117+
98118
func.func @foo() {
99119
return
100120
}

0 commit comments

Comments
 (0)