[LLVMdev] [cfe-dev] TargetParser - Always build all table-gen files?

Renato Golin renato.golin at linaro.org
Tue Mar 10 02:39:27 PDT 2015

On 9 March 2015 at 20:50, Rowan, Jim <jmr at codeaurora.org> wrote:
> I suppose you mean “once per ‘make clean’ invocation”.

Or if any of the table-gen files change, yes.

> Do you have any info on how long it takes to do this on a slow target, or on a windows machine?

On my ARM chromebook2, 4 Cortex-A15 cores, after llvm-tblgen has been
compiled (took 2min40s), both "ninja -j6 libLLVMARMInfo.a" and "ninja
-j6 libLLVMAArch64Info.a" up until the first cpp file took 14 seconds.

I assume other backends will have the same size / time. We have 13
back-ends, assuming you go from building one to building all 13,
you'll add 3 more minutes to the build. Bearing in mind that a full
build on that box takes around one hour, it's not that much, really.

This may not be the best way of doing it, but I don't think it's time
added enough, especially considering the enormous amount of complexity
that this will remove from Clang, LLVM, and all other tools. It may
even speed up the build, as well as allow us to implement sane
interfaces and APIs across the board.


More information about the llvm-dev mailing list