[Mlir-commits] [mlir] [MLIR][NVVM] Print readable modifer (PR #153779)

Guray Ozen llvmlistbot at llvm.org
Fri Aug 15 03:19:08 PDT 2025


https://github.com/grypp created https://github.com/llvm/llvm-project/pull/153779

Currently, modifier is printed as address, so it is not readable and not useful. This PR adds readable printing for it.

>From 471c52f2a21300da9275cf5e4b179d6ff1689de3 Mon Sep 17 00:00:00 2001
From: Guray Ozen <gozen at nvidia.com>
Date: Fri, 15 Aug 2025 10:18:42 +0000
Subject: [PATCH] [MLIR][NVVM] Print readable modifer

Currently, modifier is printed as address, so it is not readable and not useful. This PR adds readable printing for it.
---
 .../mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.h  | 13 +++++++++++++
 mlir/lib/Conversion/NVVMToLLVM/NVVMToLLVM.cpp       |  2 +-
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/mlir/include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.h b/mlir/include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.h
index 5b7df69b62e0b..fc1c705d4ab1c 100644
--- a/mlir/include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.h
+++ b/mlir/include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.h
@@ -33,6 +33,19 @@ enum class PTXRegisterMod {
   /// set read and write for the same operand.
   ReadWrite = 1,
 };
+
+inline llvm::raw_ostream &operator<<(llvm::raw_ostream &os,
+                                     PTXRegisterMod mod) {
+  switch (mod) {
+  case PTXRegisterMod::Read:
+    return os << "Read";
+  case PTXRegisterMod::Write:
+    return os << "Write";
+  case PTXRegisterMod::ReadWrite:
+    return os << "ReadWrite";
+  }
+  return os << "Unknown";
+}
 } // namespace NVVM
 } // namespace mlir
 
diff --git a/mlir/lib/Conversion/NVVMToLLVM/NVVMToLLVM.cpp b/mlir/lib/Conversion/NVVMToLLVM/NVVMToLLVM.cpp
index 91788f9848fe6..e0144bff4d371 100644
--- a/mlir/lib/Conversion/NVVMToLLVM/NVVMToLLVM.cpp
+++ b/mlir/lib/Conversion/NVVMToLLVM/NVVMToLLVM.cpp
@@ -61,7 +61,7 @@ struct PtxLowering
 
     op.getAsmValues(rewriter, asmValues);
     for (auto &[asmValue, modifier] : asmValues) {
-      LDBG() << asmValue << "\t Modifier : " << &modifier;
+      LDBG() << asmValue << "\t Modifier : " << modifier;
       generator.insertValue(asmValue, modifier);
     }
 



More information about the Mlir-commits mailing list