[llvm-dev] Should we split llvm Support and ADT?

David Blaikie via llvm-dev llvm-dev at lists.llvm.org
Tue May 30 13:22:34 PDT 2017


On Tue, May 30, 2017 at 1:21 PM Matthias Braun <mbraun at apple.com> wrote:

> On May 30, 2017, at 1:16 PM, David Blaikie via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>
>
> On Tue, May 30, 2017 at 12:52 PM Bob Haarman via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>> I would like to better understand how you came to conclude that the
>> tablegen re-runs based on changes in Support are what's causing your build
>> to be slow and what part specifically is taking all that time. I can do a
>> clean release + assertions build of LLVM, Clang, compiler-rt and lld in
>> about 5 minutes, plus 40 seconds to run cmake, on what I think is similar
>> hardware to what Zach is using. If I swap Ptr += ret and Size -= Ret in
>> raw_fd_ostream::write_impl so that Support changes, I can do an incremental
>> build in about 10 seconds, including the regeneration of various .inc
>> files. How do we get from there to 10 minutes for an incremental build?
>>
>
> Which build system are you using?
>
> On my build config (16 core/32 thread, 128GB RAM) it takes 47 user seconds
> to rebuild the clang binary after making the change you mentioned - with
> ninja and lld, host compiler is a recent release build of clang. Ninja
> reports building 377 things.
>
>
> At least for me ninja starts with a high estimated number of files needing
> a rebuild. But the number of targets immediately jumps down by several
> hundreds as soon as ninja realizes that the tablegen output didn't actually
> change.
>

Fair - I think the estimate did start in the thousand+ and 377 was the
final number. So I guess it's pruning to some degree - not sure exactly
what/how.


>
> - Matthias
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170530/175dd68a/attachment.html>


More information about the llvm-dev mailing list