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

Guray Ozen llvmlistbot at llvm.org
Fri Aug 15 03:43:35 PDT 2025


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

>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 1/3] [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);
     }
 

>From 3da50c8959ecb043f8b3484e0ac7a65c470898f8 Mon Sep 17 00:00:00 2001
From: Guray Ozen <guray.ozen at gmail.com>
Date: Fri, 15 Aug 2025 12:39:08 +0200
Subject: [PATCH 2/3] Update
 mlir/include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.h

Co-authored-by: Copilot <175728472+Copilot at users.noreply.github.com>
---
 mlir/include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/mlir/include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.h b/mlir/include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.h
index fc1c705d4ab1c..1196a2f76d38e 100644
--- a/mlir/include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.h
+++ b/mlir/include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.h
@@ -44,7 +44,9 @@ inline llvm::raw_ostream &operator<<(llvm::raw_ostream &os,
   case PTXRegisterMod::ReadWrite:
     return os << "ReadWrite";
   }
-  return os << "Unknown";
+  default:
+    llvm_unreachable("Unknown PTXRegisterMod value");
+  }
 }
 } // namespace NVVM
 } // namespace mlir

>From e09dbe9790fdd9089d7c2b6be813379a1ee7d0e6 Mon Sep 17 00:00:00 2001
From: Guray Ozen <gozen at nvidia.com>
Date: Fri, 15 Aug 2025 10:43:23 +0000
Subject: [PATCH 3/3] fx

---
 mlir/include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.h | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/mlir/include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.h b/mlir/include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.h
index 1196a2f76d38e..3e3fcd7d1fb82 100644
--- a/mlir/include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.h
+++ b/mlir/include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.h
@@ -44,9 +44,7 @@ inline llvm::raw_ostream &operator<<(llvm::raw_ostream &os,
   case PTXRegisterMod::ReadWrite:
     return os << "ReadWrite";
   }
-  default:
-    llvm_unreachable("Unknown PTXRegisterMod value");
-  }
+  llvm_unreachable("Unknown PTXRegisterMod value");
 }
 } // namespace NVVM
 } // namespace mlir



More information about the Mlir-commits mailing list