summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChenguang Wang <w3cing@gmail.com>2024-04-03 10:56:55 -0700
committerGitHub <noreply@github.com>2024-04-03 10:56:55 -0700
commitd5ec49ff3dc26cdbe350e9cafc6b8e331fff7911 (patch)
tree1e0273aec865509ceccc0ba7c4bfd6346ff2dbb0
parentd83233f597f6d512bf7109bb4c33a7fdd2f8fd31 (diff)
[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.
-rw-r--r--mlir/lib/Support/Timing.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/mlir/lib/Support/Timing.cpp b/mlir/lib/Support/Timing.cpp
index 1d6796e9d8dc..ac16eb7d224c 100644
--- a/mlir/lib/Support/Timing.cpp
+++ b/mlir/lib/Support/Timing.cpp
@@ -499,7 +499,8 @@ public:
} // 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
}