[llvm-dev] Tablegen ridiculously slow when compiling for Debug
Nicolai Hähnle via llvm-dev
llvm-dev at lists.llvm.org
Sun Jun 30 04:08:27 PDT 2019
Are you saying that the TableGen execution isn't parallelized? That
seems like an obvious Xcode-specific problem...
The TableGen executions are parallelized with cmake/ninja just fine.
Cheers,
Nicolai
On 30.06.19 11:28, Joan Lluch via llvm-dev wrote:
> Hi Praveen,
>
> Thanks for the tip, but Xcode seems to spend all the time running
> tablegen "custom shell scripts", one by one at a time, not linking.
> Linking is actually very fast, possibly less than a second. The
> “scripts” that take longer are “AArch64CommonTableGen" and
> “AMDGPUCommonTableGen”. As said this is on LLVM 9.0.
>
> However, on LLVM 7.0.1, the same process takes just 5-6 seconds in
> total, with individual “scripts” taking significantly less than 1 second
> each. There must be some difference between LLVM 9.0 and LLVM 7.0 that
> might cause this (?)
>
> John
>
>
>> On 30 Jun 2019, at 11:17, Praveen Velliengiri
>> <praveenvelliengiri at gmail.com <mailto:praveenvelliengiri at gmail.com>>
>> wrote:
>>
>> *
>> *
>> cmake *BUILD_SHARED_LIBS* option, it builds llvm as .so not as .a. It
>> will use less memory during linking so you can increase the link
>> threads and your build time will be lesser.
>> Check this in : https://llvm.org/docs/CMake.html
>>
>> **
>> **
>>
>> On Sun, 30 Jun 2019 at 14:42, Joan Lluch <joan.lluch at icloud.com
>> <mailto:joan.lluch at icloud.com>> wrote:
>>
>> Hi Praveen,
>>
>> Please, can you elaborate on this?. What do do mean by “building
>> as shared objects”.
>>
>> Thanks,
>>
>> John
>>
>>
>>
>>> On 30 Jun 2019, at 07:32, Praveen Velliengiri
>>> <praveenvelliengiri at gmail.com
>>> <mailto:praveenvelliengiri at gmail.com>> wrote:
>>>
>>> Maybe try building llvm as a shared objects..
>>>
>>> On Jun 30, 2019 1:30 AM, "Joan Lluch via llvm-dev"
>>> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>>>
>>> Hi Florian,
>>>
>>> Ok, I ran this:
>>>
>>> cmake -S LLVM -DCMAKE_INSTALL_PREFIX=INSTALL
>>> -DLLVM_OPTIMIZED_TABLEGEN=On -G Xcode
>>>
>>> Compiled it again from clean, and the situation is worse than
>>> before. Incremental builds take an incredible amount of time
>>> stuck in running Tablegen scripts for all targets. Now this
>>> happens both in Release and Debug configurations. Just before
>>> this, at least Release compiled fine, but that’s no longer
>>> the case.
>>>
>>> Any other suggestions? What could actually cause this?
>>>
>>> Thanks
>>> John
>>>
>>>
>>>
>>>> On 29 Jun 2019, at 19:37, Florian Hahn
>>>> <florian_hahn at apple.com <mailto:florian_hahn at apple.com>> wrote:
>>>>
>>>> Hi,
>>>>
>>>>> On Jun 29, 2019, at 18:26, Joan Lluch via llvm-dev
>>>>> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>>
>>>>> wrote:
>>>>>
>>>>> Hi all,
>>>>>
>>>>> On LLVM version 7.0.1, incremental builds are very fast for
>>>>> both Release and Debug. I’m compiling with Xcode
>>>>>
>>>>> I recently downloaded LLVM 9.0 from the LLVM-mirror Github
>>>>> repository and found that Incremental "Debug” builds take a
>>>>> ridiculously long time due to Tablegen taking ages
>>>>> (literally more than 10 minutes) to generate files. This
>>>>> makes it totally unusable for debug purposes. However,
>>>>> incremental ‘Release’ builds only take a few seconds.
>>>>>
>>>>> Why is that?. Any suggestions?.
>>>>
>>>>
>>>>
>>>> You could give setting LLVM_OPTIMIZED_TABLEGEN a try
>>>> (https://llvm.org/docs/CMake.html).
>>>>
>>>> Cheers,
>>>> Florian
>>>
>>>
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
>>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>>
>>
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
--
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.
More information about the llvm-dev
mailing list