[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