[PATCH] D60349: [COFF, ARM64] Fix ABI implementation of struct returns
Richard Townsend (Arm) via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Apr 30 14:12:02 PDT 2019
richard.townsend.arm added inline comments.
================
Comment at: lib/CodeGen/MicrosoftCXXABI.cpp:1106
+
+ FI.getReturnInfo().setInReg(isAArch64 && !IsSizeGreaterThan128(RD));
----------------
I'm not sure what the IsSizeGreaterThan128 check is doing here - if the return type is over 128 bits, then it will be indirectly returned in X8 with this check, which is not always what we want (e.g. in https://bugs.llvm.org/show_bug.cgi?id=41135 ostream.cpp, MSVC expects the value returned in X1). Another check of hasMicrosoftABIRestrictions might be OK, but that's also not quite right due to the size check.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D60349/new/
https://reviews.llvm.org/D60349
More information about the cfe-commits
mailing list