[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