[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
Fri Apr 10 13:59:00 PDT 2020


rnk added a comment.

In D75903#1963382 <https://reviews.llvm.org/D75903#1963382>, @pratlucas wrote:

> In regards to the compatibility with other compilers, I'm not sure that following what seems to be an uncompliant behavior would be the best way to proceed. @rnk and @ostannard, what would be your take on this?


I don't have any familiarity with the prevailing practices for ARM ABI compatibility, so I couldn't say. It might be worth checking in with stakeholders from the other compilers, i.e. file bugs against both compilers and ask for an opinion.



================
Comment at: llvm/docs/LangRef.rst:1220
+``alignstack(<n>)``
+    This indicates the alignment that should be considered by the backend when
+    assigning this parameter to a stack slot during calling convention
----------------
This seems like you are introducing a new meaning to `alignstack`, which according to the comments, only affects function SP alignment, not parameter alignment.

I'm assuming the reason you can't use the regular `align` attribute is that it is overloaded to mean two things: the alignment of the pointer when applied to a pointer, and the alignment of the argument memory when that pointer argument is marked `byval`. If you want to resolve this ambiguity, it seems like something that should be discussed on llvm-dev with a wider audience.


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