[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 22:14:28 PDT 2025
https://github.com/MikaOvO updated https://github.com/llvm/llvm-project/pull/136142
>From ff922374bbefd042ffacfb19563b9faac11cce3d 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 | 2 ++
1 file changed, 2 insertions(+)
diff --git a/mlir/lib/Target/LLVM/NVVM/Target.cpp b/mlir/lib/Target/LLVM/NVVM/Target.cpp
index 586748df8d154..f8420385cbec4 100644
--- a/mlir/lib/Target/LLVM/NVVM/Target.cpp
+++ b/mlir/lib/Target/LLVM/NVVM/Target.cpp
@@ -26,6 +26,7 @@
#include "mlir/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.h"
#include "mlir/Target/LLVMIR/Export.h"
+#include "llvm/ADT/ScopeExit.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/FileUtilities.h"
@@ -673,6 +674,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