[Mlir-commits] [mlir] [mlir][target] RAII wrap moduleToObject timer to ensure call `clear` function (PR #136142)

Zichen Lu llvmlistbot at llvm.org
Thu Apr 17 20:24:31 PDT 2025


https://github.com/MikaOvO updated https://github.com/llvm/llvm-project/pull/136142

>From cdbba684c48d4f17205c47e8bd68f455339cd934 Mon Sep 17 00:00:00 2001
From: Zichen Lu <mikaovo2000 at gmail.com>
Date: Fri, 18 Apr 2025 11:24:16 +0800
Subject: [PATCH] [mlir][target] RAII wrap moduleToObject timer to ensure call
 clear function

---
 mlir/lib/Target/LLVM/NVVM/Target.cpp | 1 +
 1 file changed, 1 insertion(+)

diff --git a/mlir/lib/Target/LLVM/NVVM/Target.cpp b/mlir/lib/Target/LLVM/NVVM/Target.cpp
index 586748df8d154..f24e1afc70e3e 100644
--- a/mlir/lib/Target/LLVM/NVVM/Target.cpp
+++ b/mlir/lib/Target/LLVM/NVVM/Target.cpp
@@ -673,6 +673,7 @@ NVPTXSerializer::moduleToObject(llvm::Module &llvmModule) {
   llvm::Timer moduleToObjectTimer(
       "moduleToObjectTimer",
       "Timer for perf llvm-ir -> isa and isa -> binary.");
+  auto clear = llvm::make_scope_exit([&]() { moduleToObjectTimer.clear(); });
   // Return LLVM IR if the compilation target is `offload`.
 #define DEBUG_TYPE "serialize-to-llvm"
   LLVM_DEBUG({



More information about the Mlir-commits mailing list