[llvm] [AMDGPU] Add support for preloading implicit kernel arguments (PR #83817)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 26 05:37:49 PDT 2024


================
@@ -3210,4 +3210,12 @@ def int_amdgcn_addrspacecast_nonnull : DefaultAttrsIntrinsic<
   [llvm_anyptr_ty], [llvm_anyptr_ty],
   [IntrNoMem, IntrSpeculatable]
 >;
+
+// This intrinsic is used to track the user SGPRs that hold implicit kernel
+// arguments. The i32 argument for this intrinsic represents the offset in
+// bytes from the value pointed to by the implicitarg pointer.
+def int_amdgcn_preload_implicitarg :
----------------
arsenm wrote:

Fundamentally implicit arguments aren't different from a user argument. Why do these require a special intrinsic to track them if we already handle the not-user case? If we do need this intrinsic, I think in terms of patch splitting it would be better to introduce this separately with a dedicated test showing it works for the full range of legal types 

https://github.com/llvm/llvm-project/pull/83817


More information about the llvm-commits mailing list