[PATCH] D79719: [AIX] Implement AIX special alignment rule about double/long double

Xiangling Liao via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Jul 22 13:16:17 PDT 2020


Xiangling_L marked 13 inline comments as done.
Xiangling_L added inline comments.


================
Comment at: clang/lib/AST/ASTContext.cpp:2418
+
   if (!Target->allowsLargerPreferedTypeAlignment())
     return ABIAlign;
----------------
jasonliu wrote:
> Should this if statement go above the `if (const auto *RT = T->getAs<RecordType>()) ` ?
> When Target does not allow larger prefered type alignment, then we should return ABIAlign immediately without going through the RecordType query?
Agree. I will update this.


================
Comment at: clang/test/Layout/aix-double-struct-member.cpp:2
+// RUN: %clang_cc1 -emit-llvm-only -triple powerpc-ibm-aix-xcoff \
+// RUN:     -fdump-record-layouts -fsyntax-only -x c++ %s | \
+// RUN:   FileCheck %s
----------------
jasonliu wrote:
> You are not using ` < %s` here. So `-x c++` is redundant?
Yeah, thanks, I will remove it.


================
Comment at: clang/test/Layout/aix-no-unique-address-with-double.cpp:138
+// CHECK-NEXT:            |  nvsize=8, nvalign=4, preferrednvalign=4]
+
+int a = sizeof(Empty);
----------------
jasonliu wrote:
> I think this case is interesting and may worth adding too:
> ```
> struct F {
>   [[no_unique_address]] Empty emp, emp2;
>   double d;
> };
> ```
Sure.


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

https://reviews.llvm.org/D79719





More information about the cfe-commits mailing list