[llvm] AMDGPU: Remove nocapture attribute from is.shared and is.private intrinsics (PR #129238)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 28 05:20:10 PST 2025
https://github.com/arsenm updated https://github.com/llvm/llvm-project/pull/129238
>From 959e9e0b0456ded7af6d548f1fa2eecc54c95e87 Mon Sep 17 00:00:00 2001
From: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: Fri, 28 Feb 2025 20:03:09 +0700
Subject: [PATCH 1/2] AMDGPU: Remove nocapture attribute from is.shared and
is.private intrinsics
This should be replaced with captures(address), but tablegen currently has
no way to indicate that on an intrinsic. I opened issue #129184 to fix this.
---
llvm/include/llvm/IR/IntrinsicsAMDGPU.td | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/llvm/include/llvm/IR/IntrinsicsAMDGPU.td b/llvm/include/llvm/IR/IntrinsicsAMDGPU.td
index 876a6f816ad3f..abd0afd413316 100644
--- a/llvm/include/llvm/IR/IntrinsicsAMDGPU.td
+++ b/llvm/include/llvm/IR/IntrinsicsAMDGPU.td
@@ -2529,13 +2529,13 @@ def int_amdgcn_set_inactive_chain_arg :
// Return if the given flat pointer points to a local memory address.
def int_amdgcn_is_shared : ClangBuiltin<"__builtin_amdgcn_is_shared">,
DefaultAttrsIntrinsic<[llvm_i1_ty], [llvm_ptr_ty],
- [IntrNoMem, IntrSpeculatable, NoCapture<ArgIndex<0>>]
+ [IntrNoMem, IntrSpeculatable] // FIXME: This should be capture(caddress)
>;
// Return if the given flat pointer points to a prvate memory address.
def int_amdgcn_is_private : ClangBuiltin<"__builtin_amdgcn_is_private">,
DefaultAttrsIntrinsic<[llvm_i1_ty], [llvm_ptr_ty],
- [IntrNoMem, IntrSpeculatable, NoCapture<ArgIndex<0>>]
+ [IntrNoMem, IntrSpeculatable] // FIXME: This should be capture(caddress)
>;
// A uniform tail call to a function with the `amdgpu_cs_chain` or
>From 88e200ad6729842e7fcef8ca1958fcf58193ecb4 Mon Sep 17 00:00:00 2001
From: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: Fri, 28 Feb 2025 20:20:03 +0700
Subject: [PATCH 2/2] Update llvm/include/llvm/IR/IntrinsicsAMDGPU.td
Co-authored-by: Jay Foad <jay.foad at amd.com>
---
llvm/include/llvm/IR/IntrinsicsAMDGPU.td | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/llvm/include/llvm/IR/IntrinsicsAMDGPU.td b/llvm/include/llvm/IR/IntrinsicsAMDGPU.td
index abd0afd413316..57b73747747e5 100644
--- a/llvm/include/llvm/IR/IntrinsicsAMDGPU.td
+++ b/llvm/include/llvm/IR/IntrinsicsAMDGPU.td
@@ -2529,7 +2529,7 @@ def int_amdgcn_set_inactive_chain_arg :
// Return if the given flat pointer points to a local memory address.
def int_amdgcn_is_shared : ClangBuiltin<"__builtin_amdgcn_is_shared">,
DefaultAttrsIntrinsic<[llvm_i1_ty], [llvm_ptr_ty],
- [IntrNoMem, IntrSpeculatable] // FIXME: This should be capture(caddress)
+ [IntrNoMem, IntrSpeculatable] // FIXME: This should be captures(ret: address)
>;
// Return if the given flat pointer points to a prvate memory address.
More information about the llvm-commits
mailing list