[Mlir-commits] [mlir] [NVVM] Make nanosleep op duration SSA value (PR #167331)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Mon Nov 10 07:45:17 PST 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-mlir-llvm
Author: Guray Ozen (grypp)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/167331.diff
3 Files Affected:
- (modified) mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td (+2-4)
- (modified) mlir/test/Target/LLVMIR/nvvmir-invalid.mlir (-8)
- (modified) mlir/test/Target/LLVMIR/nvvmir.mlir (+3-3)
``````````diff
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
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/167331
More information about the Mlir-commits
mailing list