[PATCH] D146242: [ARM] Fixing ABI mismatch for packed structs and fields

Jirui Wu via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Mar 16 10:03:37 PDT 2023


JiruiWu created this revision.
JiruiWu added reviewers: olista01, simon_tatham, rjmccall.
Herald added a subscriber: kristof.beyls.
Herald added a project: All.
JiruiWu requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.

Previously the alignments used by the caller and its callee do not
match. This causes errors for packed structs and fields. According to
AAPCS64, the alignment should be either 8 or 16 bytes for a composite
type.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D146242

Files:
  clang/lib/AST/RecordLayoutBuilder.cpp
  clang/lib/CodeGen/TargetInfo.cpp
  clang/test/CodeGen/aapcs-align.cpp
  clang/test/CodeGen/aarch64-ABI-align-packed.cpp
  clang/test/CodeGen/aarch64-args-hfa.c
  clang/test/CodeGen/aarch64-neon-ldst-one.c
  clang/test/CodeGen/aarch64-neon-tbl.c
  clang/test/CodeGen/aarch64-poly64.c
  clang/test/CodeGen/aarch64-varargs.c
  clang/test/CodeGen/arm-aapcs-vfp.c
  clang/test/CodeGen/arm-varargs.c
  clang/test/CodeGen/arm64-aapcs-arguments.c
  clang/test/CodeGen/complex-math.c
  clang/test/CodeGenCXX/homogeneous-aggregates.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D146242.505856.patch
Type: text/x-patch
Size: 136398 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20230316/6a05a58b/attachment-0001.bin>


More information about the cfe-commits mailing list