[Mlir-commits] [mlir] 1eaa972 - [mlir][ROCDL] Deprecate rocdl.ignore_denormal_mode (#231424)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Fri Oct 16 07:58:57 PDT 2026


Author: Christian Sigg
Date: 2026-10-16T16:58:48+02:00
New Revision: 1eaa972c50915ca9d55dcb58dcbbdd7a780be504

URL: https://github.com/llvm/llvm-project/commit/1eaa972c50915ca9d55dcb58dcbbdd7a780be504
DIFF: https://github.com/llvm/llvm-project/commit/1eaa972c50915ca9d55dcb58dcbbdd7a780be504.diff

LOG: [mlir][ROCDL] Deprecate rocdl.ignore_denormal_mode (#231424)

The `rocdl.ignore_denormal_mode` discardable attribute is deprecated in
favor of the `ignore_denormal_mode` unit attribute on `llvm.atomicrmw`
(#217588), which translates to the same `!atomic.ignore.denormal.mode`
metadata. Translation of `rocdl.ignore_denormal_mode` now emits a
deprecation warning.

Added: 
    

Modified: 
    mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.td
    mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp
    mlir/test/Target/LLVMIR/rocdl-invalid.mlir

Removed: 
    


################################################################################
diff  --git a/mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.td b/mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.td
index d0102b190896c7..5b8eb601f72049 100644
--- a/mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.td
+++ b/mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.td
@@ -170,6 +170,7 @@ def ROCDL_Dialect : Dialect {
      "::mlir::UnitAttr":$last_use,
      "::mlir::UnitAttr":$no_remote_memory,
      "::mlir::UnitAttr":$no_fine_grained_memory,
+     // Deprecated: use `ignore_denormal_mode` on `llvm.atomicrmw` instead.
      "::mlir::UnitAttr":$ignore_denormal_mode
   );
 

diff  --git a/mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp b/mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp
index 5f3c086d747155..303a27b879cecb 100644
--- a/mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp
+++ b/mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp
@@ -262,6 +262,8 @@ class ROCDLDialectLLVMIRTranslationInterface
     }
     if (dialect->getIgnoreDenormalModeAttrHelper().getName() ==
         attribute.getName()) {
+      op->emitWarning("rocdl.ignore_denormal_mode is deprecated; use "
+                      "ignore_denormal_mode on llvm.atomicrmw instead");
       for (llvm::Instruction *i : instructions)
         i->setMetadata(llvm::LLVMContext::MD_atomic_ignore_denormal_mode,
                        llvm::MDNode::get(llvmContext, {}));

diff  --git a/mlir/test/Target/LLVMIR/rocdl-invalid.mlir b/mlir/test/Target/LLVMIR/rocdl-invalid.mlir
index 3a3cff5f6226a7..16ceef76d419f2 100644
--- a/mlir/test/Target/LLVMIR/rocdl-invalid.mlir
+++ b/mlir/test/Target/LLVMIR/rocdl-invalid.mlir
@@ -17,3 +17,11 @@ llvm.func @reqd_work_group_size_max_flat_work_group_size_mismatch()
       rocdl.reqd_work_group_size = array<i32: 32, 2, 1>} {
   llvm.return
 }
+
+// -----
+
+llvm.func @rocdl_deprecated_ignore_denormal_mode(%ptr: !llvm.ptr<1>, %data: f32) {
+  // expected-warning @below {{rocdl.ignore_denormal_mode is deprecated; use ignore_denormal_mode on llvm.atomicrmw instead}}
+  llvm.atomicrmw fadd %ptr, %data monotonic {rocdl.ignore_denormal_mode} : !llvm.ptr<1>, f32
+  llvm.return
+}


        


More information about the Mlir-commits mailing list