[clang] [amdgpu] Pass variadic arguments without splitting (PR #94083)

Matt Arsenault via cfe-commits cfe-commits at lists.llvm.org
Fri May 31 23:36:20 PDT 2024


================
@@ -197,12 +202,20 @@ ABIArgInfo AMDGPUABIInfo::classifyKernelArgumentType(QualType Ty) const {
   return ABIArgInfo::getDirect(LTy, 0, nullptr, false);
 }
 
-ABIArgInfo AMDGPUABIInfo::classifyArgumentType(QualType Ty,
+ABIArgInfo AMDGPUABIInfo::classifyArgumentType(QualType Ty, bool Variadic,
                                                unsigned &NumRegsLeft) const {
   assert(NumRegsLeft <= MaxNumRegsForArgsRet && "register estimate underflow");
 
   Ty = useFirstFieldIfTransparentUnion(Ty);
 
+  if (Variadic) {
----------------
arsenm wrote:

Wouldn't we still want to follow the isAggregateTypeForABI rules? Large structs should still go through byref? 

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


More information about the cfe-commits mailing list