llvm-project/mlir/lib/Support
Fabian Schuiki 33f908c428
[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
2021-05-12 18:14:51 +02:00
..
CMakeLists.txt [MLIR] Factor pass timing out into a dedicated timing manager 2021-05-12 18:14:51 +02:00
DebugCounter.cpp [mlir] more iwyu fixes after ba7a92c01e 2021-04-21 10:50:59 -04:00
FileUtilities.cpp Support: Stop using F_{None,Text,Append} compatibility synonyms, NFC 2021-04-30 11:00:03 -07:00
IndentedOstream.cpp Add indented raw_ostream class 2020-10-03 15:17:38 -07:00
MlirOptMain.cpp [MLIR] Factor pass timing out into a dedicated timing manager 2021-05-12 18:14:51 +02:00
StorageUniquer.cpp [mlir][StorageUniquer] Properly call the destructor on non-trivially destructible storage instances 2021-03-11 11:35:32 -08:00
Timing.cpp [MLIR] Factor pass timing out into a dedicated timing manager 2021-05-12 18:14:51 +02:00
ToolUtilities.cpp Change the error message when `-split-input-file` is used with mlir-opt to make it recognizable by IDEs 2021-02-27 18:32:34 +00:00