[clang] [amdgpu] Pass variadic arguments without splitting (PR #94083)
Matt Arsenault via cfe-commits
cfe-commits at lists.llvm.org
Fri May 31 23:40:40 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:
The bigger concern is using giant aggregate types is not great IR, and not all that well supported. a 65k element array will crash in SelectionDAG for example
https://github.com/llvm/llvm-project/pull/94083
More information about the cfe-commits
mailing list