[llvm] [NVPTXLowerArgs] Add align attribute to return value of addrspace.wrap intrinsic (PR #153889)

Alex MacLean via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 15 15:47:26 PDT 2025


================
@@ -515,11 +515,15 @@ void copyByValParam(Function &F, Argument &Arg) {
       Arg.getParamAlign().value_or(DL.getPrefTypeAlign(StructType)));
   Arg.replaceAllUsesWith(AllocA);
 
-  Value *ArgInParam =
+  CallInst *ArgInParam =
       IRB.CreateIntrinsic(Intrinsic::nvvm_internal_addrspace_wrap,
                           {IRB.getPtrTy(ADDRESS_SPACE_PARAM), Arg.getType()},
                           &Arg, {}, Arg.getName());
 
+  if (MaybeAlign ParamAlign = Arg.getParamAlign())
+    ArgInParam->addRetAttr(
+        Attribute::getWithAlignment(ArgInParam->getContext(), *ParamAlign));
+
----------------
AlexMaclean wrote:

This block has gotten big enough perhaps we should extract it into a static helper?

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


More information about the llvm-commits mailing list