[PATCH] D62152: [ARM][AArch64] Fix incorrect handling of alignment in va_arg code generation

Eli Friedman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon May 20 12:01:02 PDT 2019


efriedma added a comment.

Please verify my understanding of the following is correct:

1. getTypeUnadjustedAlign() is currently only used to compute calling convention alignment for ARM and AArch64.
2. Without this patch, we use the unadjusted alignment to pass arguments, but the adjusted alignment to compute the alignment for the corresponding va_arg calls.
3. Without this patch, the unadjusted alignment for non-struct types is actually adjusted based on attributes on typedefs.

I'm not confident about changing the calling convention again at this point for non-struct types.  I guess it's obscure enough that changing it is probably okay.  But would you mind splitting it into a separate followup, with a better description of the impact?


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62152/new/

https://reviews.llvm.org/D62152





More information about the cfe-commits mailing list