[Mlir-commits] [mlir] d5ec49f - [mlir] Initialize DefaultTimingManager::out. (#87522)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Wed Apr 3 10:56:58 PDT 2024
Author: Chenguang Wang
Date: 2024-04-03T10:56:55-07:00
New Revision: d5ec49ff3dc26cdbe350e9cafc6b8e331fff7911
URL: https://github.com/llvm/llvm-project/commit/d5ec49ff3dc26cdbe350e9cafc6b8e331fff7911
DIFF: https://github.com/llvm/llvm-project/commit/d5ec49ff3dc26cdbe350e9cafc6b8e331fff7911.diff
LOG: [mlir] Initialize DefaultTimingManager::out. (#87522)
`DefaultTimingManager::clear()` uses `out` to initialize `TimerImpl`,
but the `out` is `nullptr` by default. This means if
`DefaultTimingManager::setOutput()` is never called,
`DefaultTimingManager` destructor may generate SIGSEGV.
Added:
Modified:
mlir/lib/Support/Timing.cpp
Removed:
################################################################################
diff --git a/mlir/lib/Support/Timing.cpp b/mlir/lib/Support/Timing.cpp
index 1d6796e9d8dc50..ac16eb7d224c9a 100644
--- a/mlir/lib/Support/Timing.cpp
+++ b/mlir/lib/Support/Timing.cpp
@@ -499,7 +499,8 @@ class DefaultTimingManagerImpl {
} // namespace mlir
DefaultTimingManager::DefaultTimingManager()
- : impl(std::make_unique<DefaultTimingManagerImpl>()) {
+ : impl(std::make_unique<DefaultTimingManagerImpl>()),
+ out(std::make_unique<OutputTextStrategy>(llvm::errs())) {
clear(); // initializes the root timer
}
More information about the Mlir-commits
mailing list