[all-commits] [llvm/llvm-project] 33f908: [MLIR] Factor pass timing out into a dedicated tim...
Fabian Schuiki via All-commits
all-commits at lists.llvm.org
Wed May 12 09:19:47 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 33f908c42881fa02963f0c64f8be5088717664cc
https://github.com/llvm/llvm-project/commit/33f908c42881fa02963f0c64f8be5088717664cc
Author: Fabian Schuiki <fabian at schuiki.ch>
Date: 2021-05-12 (Wed, 12 May 2021)
Changed paths:
M mlir/docs/PassManagement.md
M mlir/include/mlir/Pass/Pass.h
M mlir/include/mlir/Pass/PassManager.h
A mlir/include/mlir/Support/Timing.h
M mlir/lib/Pass/Pass.cpp
M mlir/lib/Pass/PassManagerOptions.cpp
M mlir/lib/Pass/PassTiming.cpp
M mlir/lib/Support/CMakeLists.txt
M mlir/lib/Support/MlirOptMain.cpp
A mlir/lib/Support/Timing.cpp
M mlir/test/Pass/pass-timing.mlir
M mlir/test/Pass/pipeline-parsing.mlir
Log Message:
-----------
[MLIR] Factor pass timing out into a dedicated timing manager
This factors out the pass timing code into a separate `TimingManager`
that can be plugged into the `PassManager` from the outside. Users are
able to provide their own implementation of this manager, and use it to
time additional code paths outside of the pass manager. Also allows for
multiple `PassManager`s to run and contribute to a single timing report.
More specifically, moves most of the existing infrastructure in
`Pass/PassTiming.cpp` into a new `Support/Timing.cpp` file and adds a
public interface in `Support/Timing.h`. The `PassTiming` instrumentation
becomes a wrapper around the new timing infrastructure which adapts the
instrumentation callbacks to the new timers.
Reviewed By: rriddle, lattner
Differential Revision: https://reviews.llvm.org/D100647
More information about the All-commits
mailing list