diff options
author | Chenguang Wang <w3cing@gmail.com> | 2024-04-03 10:56:55 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-03 10:56:55 -0700 |
commit | d5ec49ff3dc26cdbe350e9cafc6b8e331fff7911 (patch) | |
tree | 1e0273aec865509ceccc0ba7c4bfd6346ff2dbb0 | |
parent | d83233f597f6d512bf7109bb4c33a7fdd2f8fd31 (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.cpp | 3 |
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 } |