[libcxx-commits] [PATCH] D63744: In the libc++ unstable ABI, use [[no_unique_address]] instead of __compressed_pair when available.

Richard Smith - zygoloid via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Thu Jun 27 12:56:41 PDT 2019


rsmith added a comment.

In D63744#1561087 <https://reviews.llvm.org/D63744#1561087>, @ldionne wrote:

> I like this, however I want to echo @EricWF 's concern about the conditional compilation this introduces. Do we get any benefit if we still use `compressed_pair` but switch THAT to use `no_unique_address` instead?


Some, but much much less. In my experiments, converting `__alloc_func` to use `[[no_unique_address]]` had four times as much impact as converting `__compressed_pair` to use `[[no_unique_address]]`. Also, probably minor, but we can't easily get rid of the redundant (eg) allocator move constructions unless we remove the extra layer of indirection.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D63744





More information about the libcxx-commits mailing list