[PATCH] D75903: [AArch64][CodeGen] Fixing stack alignment of HFA arguments on AArch64 PCS
Reid Kleckner via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 30 13:04:36 PDT 2020
rnk added a comment.
In D75903#1914715 <https://reviews.llvm.org/D75903#1914715>, @ostannard wrote:
> This means that `stk1` should be passed as a copy with alignment 16 bytes, putting it at `sp+16`. GCC does this, clang without this patch passes it at `sp+8`, and clang with this patch passes it at `sp+32`.
MSVC puts it at `sp+8`: https://gcc.godbolt.org/z/aAku9j
They allegedly follow this same document. Either way, we need to remain compatible.
Given that neither GCC nor MSVC do things they way you are proposing, are you sure this is correct? What compiler does this change make us more compatible with?
I don't believe there is an issue from the user's standpoint, since Clang copies the entire argument into an appropriately aligned alloca. If it is address-taken and stored to, there will not be any faults.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D75903/new/
https://reviews.llvm.org/D75903
More information about the llvm-commits
mailing list