[all-commits] [llvm/llvm-project] 3a7487: [FE] Use preferred alignment instead of ABI alignm...

xiangling-liao via All-commits all-commits at lists.llvm.org
Wed Sep 30 07:49:22 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 3a7487f903e2a6be29de39058eee2372e30798d5
      https://github.com/llvm/llvm-project/commit/3a7487f903e2a6be29de39058eee2372e30798d5
  Author: Xiangling Liao <Xiangling.Liao at ibm.com>
  Date:   2020-09-30 (Wed, 30 Sep 2020)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/TargetInfo.cpp
    A clang/test/CodeGen/aix-alignment.c
    A clang/test/CodeGenCXX/aix-alignment.cpp

  Log Message:
  -----------
  [FE] Use preferred alignment instead of ABI alignment for complete object when applicable

On some targets, preferred alignment is larger than ABI alignment in some cases. For example,
on AIX we have special power alignment rules which would cause that. Previously, to support
those cases, we added a “PreferredAlignment” field in the `RecordLayout` to store the AIX
special alignment values in “PreferredAlignment” as the community suggested.

However, that patch alone is not enough. There are places in the Clang where `PreferredAlignment`
should have been used instead of ABI-specified alignment. This patch is aimed at fixing those
spots.

Differential Revision: https://reviews.llvm.org/D86790




More information about the All-commits mailing list