[Mlir-commits] [mlir] [NVVM] Make nanosleep op duration SSA value (PR #167331)
Guray Ozen
llvmlistbot at llvm.org
Mon Nov 10 07:52:40 PST 2025
https://github.com/grypp updated https://github.com/llvm/llvm-project/pull/167331
>From c5e9f89c5a447718ebd8949b2d72852d8930dc7f Mon Sep 17 00:00:00 2001
From: Guray Ozen <gozen at nvidia.com>
Date: Mon, 10 Nov 2025 16:44:05 +0100
Subject: [PATCH] [NVVM] Make nanosleep op duration SSA value
---
mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td | 6 ++----
mlir/test/Target/LLVMIR/nvvmir-invalid.mlir | 8 --------
mlir/test/Target/LLVMIR/nvvmir.mlir | 6 +++---
3 files changed, 5 insertions(+), 15 deletions(-)
diff --git a/mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td b/mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
index 1cc5b74a3cb67..63ad73370a439 100644
--- a/mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
+++ b/mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
@@ -512,8 +512,7 @@ def NVVM_ReduxOp :
//===----------------------------------------------------------------------===//
def NVVM_NanosleepOp : NVVM_Op<"nanosleep">,
- Arguments<(ins
- ConfinedAttr<I32Attr, [IntMinValue<1>, IntMaxValue<1000000>]>:$duration)>
+ Arguments<(ins I32:$duration)>
{
let summary = "Suspends the thread for a specified duration.";
@@ -531,8 +530,7 @@ def NVVM_NanosleepOp : NVVM_Op<"nanosleep">,
string llvmBuilder = [{
createIntrinsicCall(builder,
- llvm::Intrinsic::nvvm_nanosleep,
- {builder.getInt32($duration)});
+ llvm::Intrinsic::nvvm_nanosleep, {$duration});
}];
let assemblyFormat = "attr-dict $duration";
}
diff --git a/mlir/test/Target/LLVMIR/nvvmir-invalid.mlir b/mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
index 42aa2210eae1a..d5868ee73cc50 100644
--- a/mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
+++ b/mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
@@ -578,14 +578,6 @@ llvm.func @ld_matrix(%arg0: !llvm.ptr<3>) {
// -----
-llvm.func @nanosleep() {
- // expected-error at +1 {{integer constant out of range for attribute}}
- nvvm.nanosleep 100000000000000
- llvm.return
-}
-
-// -----
-
llvm.func @clusterlaunchcontrol_query_cancel_is_canceled_invalid_return_type(%try_cancel_response: i128) {
// expected-error at +1 {{'nvvm.clusterlaunchcontrol.query.cancel' op is_canceled query type returns an i1}}
%res = nvvm.clusterlaunchcontrol.query.cancel query = is_canceled, %try_cancel_response : i32
diff --git a/mlir/test/Target/LLVMIR/nvvmir.mlir b/mlir/test/Target/LLVMIR/nvvmir.mlir
index 1ec55408e97a5..fec54cbf5e3e5 100644
--- a/mlir/test/Target/LLVMIR/nvvmir.mlir
+++ b/mlir/test/Target/LLVMIR/nvvmir.mlir
@@ -970,8 +970,8 @@ llvm.func @nvvm_pmevent() {
// -----
// CHECK-LABEL: @nanosleep
-llvm.func @nanosleep() {
- // CHECK: call void @llvm.nvvm.nanosleep(i32 4000)
- nvvm.nanosleep 4000
+llvm.func @nanosleep(%duration: i32) {
+ // CHECK: call void @llvm.nvvm.nanosleep(i32 %{{.*}})
+ nvvm.nanosleep %duration
llvm.return
}
More information about the Mlir-commits
mailing list