[libcxx-commits] [PATCH] D144322: [libc++][Modules] Make top level modules for all C++ headers with OS/clang versions

Ian Anderson via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Feb 20 17:51:54 PST 2023


iana added a comment.

In D144322#4140227 <https://reviews.llvm.org/D144322#4140227>, @dexonsmith wrote:

> Great to see this making progress; looking forward to seeing the related workarounds removed from the Darwin SDKs.
>
> What's the performance impact (for scanning/building/importing modules) of turning these all into top-level modules? If it's a significant regression, maybe there's a way to isolate the headers that are involved in the cycle with the SDK and the Clang headers from those that aren't, while still using only a handful of modules. And if it's a performance improvement in some cases (due to better parallelism or building less stuff), could be something to highlight.

We haven't tested the performance yet. We could try to optimize and the C headers that aren't included by the other ones could maybe stay in `std`. That's kind of risky though because we can't really guarantee what the include_next'ed headers will include. I think we're better off keeping the C headers in their own modules across the board (in clang and also the Apple headers).


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D144322



More information about the libcxx-commits mailing list