[clang] [AMDGPU] Stop coercing structs with FP and int fields to integer arrays (PR #185083)

Shilei Tian via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 9 08:09:05 PDT 2026


================
@@ -77,6 +77,54 @@ bool AMDGPUABIInfo::isHomogeneousAggregateSmallEnough(
   return Members * NumRegs <= MaxNumRegsForArgsRet;
 }
 
+/// Check if all fields in an aggregate type contain only sub-32-bit integer
+/// types. Such aggregates should be packed into i32 registers rather than
+/// passed as individual elements. Aggregates containing floats or full-sized
----------------
shiltian wrote:

but that does affect how they are packed into registers for argument passing right?

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


More information about the cfe-commits mailing list