================
@@ -352,6 +352,9 @@ bool CodeGenModule::shouldUseLLVMABILowering(unsigned
CallingConv) const {
if (T.isBPF())
return true;
+ if (T.getArch() == llvm::Triple::aarch64 && !T.isOSWindows())
----------------
DavidTruby wrote:
Is there a specific reason to limit this to non-Windows targets?
The PCS is _almost_ exactly the same for Arm on Windows as on Linux; the only
difference is at the C++ level[1] so I think wouldn't be accounted for by this
library anyway; it might not be necessary to even have a separate Windows
AArch64ABIKind (we don't in Flang).
1. the Windows ABI is stricter about what it considers an HFA; it does not
consider a type an HFA if it is not an aggregate type as per the C++ standard,
whereas on e.g. Linux we only care about the actual layout of the type. I doubt
we have the information to determine if it's a C++ aggregate type at this level
anyway so presumably that will still need to be being done in clang?
https://github.com/llvm/llvm-project/pull/216437
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits