forked from OSchip/llvm-project
33f908c428
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 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
IRPrinting.cpp | ||
Pass.cpp | ||
PassDetail.h | ||
PassManagerOptions.cpp | ||
PassRegistry.cpp | ||
PassStatistics.cpp | ||
PassTiming.cpp |