[clang] [clang] Return larger CXX records in memory (PR #120670)

Phoebe Wang via cfe-commits cfe-commits at lists.llvm.org
Mon Dec 30 16:32:44 PST 2024


================
@@ -2067,6 +2081,10 @@ void X86_64ABIInfo::classify(QualType Ty, uint64_t OffsetBase, Class &Lo,
         classify(I.getType(), Offset, FieldLo, FieldHi, isNamedArg);
         Lo = merge(Lo, FieldLo);
         Hi = merge(Hi, FieldHi);
+        if (returnCXXRecordGreaterThan128InMem(
+                Size, getContext().getTypeSize(I.getType()),
+                getNativeVectorSizeForAVXABI(AVXLevel)))
+          Lo = Memory;
----------------
phoebewang wrote:

Why don't do early check and return like line 2022? IIRC, the default value of Lo/Hi is Memory.

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


More information about the cfe-commits mailing list