[PATCH] D81583: Update SystemZ ABI to handle C++20 [[no_unique_address]] attribute

Ulrich Weigand via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Jul 8 07:10:31 PDT 2020


uweigand added a comment.

In D81583#2138127 <https://reviews.llvm.org/D81583#2138127>, @qiucf wrote:

> Thanks for this patch!
>
> If I understand correctly, only `isEmptyRecord`/`isEmptyField` and places checking any field is zero bit-width may need change for this? Since `isSingleElementStruct` and `isHomogeneousAggregate` just use them to skip empty fields in aggregate. I didn't see direct checking for empty fields on PowerPC. So all change needed on PPC seems to be generic. By enabling `AllowNoUniqueAddr` in these methods, case in https://lists.llvm.org/pipermail/llvm-dev/2020-July/143141.html can be correctly recognized as homogeneous aggregate.


I agree that probably the only required change is to set the `AllowNoUniqueAddr` parameter to true in those methods.  Given the discussion with @efriedma above, that may actually happen automatically if we remove the parameter (or default it to true).

In any case, I guess it would still be good to also have test cases for this aspect of the ABI on Power ...


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

https://reviews.llvm.org/D81583





More information about the cfe-commits mailing list