[llvm-dev] How to configure cmake to not rebuild .inc (tablegen) files?

Joan Lluch via llvm-dev llvm-dev at lists.llvm.org
Mon Oct 21 00:11:47 PDT 2019

Hi Jie,

I’m using a Mac with Xcode and found that specifying DLLVM_OPTIMIZED_TABLEGEN=On helped. Incremental builds are faster but tablegen files are run every time anyway, so it’s not actually a fix. I posted this issue before but it seems solving this is not that easy, at least for Xcode. 

In the case of Xcode I found big speed improvements after saving the project xcuserdata folder in a safe place, deleting the entire “build” folder, re-creating a fresh “build” with cmake, and moving the xcuserdata folder I saved before in place. Unfortunately, this stops working as soon as I checkout branches, or pull commits from origin, so I need to repeat the same procedure to get fast compiles again.


> On 21 Oct 2019, at 01:20, Jie Zhou via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> Dear all,
> I’m developing Clang&LLVM on MacOS Catalina 10.15.
> Now every time I "make clang", the building systems rebuilds
> all the .inc files generated by cmake, which essentially
> rebuilds all the tablegen files in llvm, although I did not
> change any of the tablegen files. The building is unnecessary
> and slow, especially when it builds the X86GenSubtargetInfo.inc.
> Is there a way to prevent cmake generating Makefiles that
> rebuilds all the tablegen files?
> Here is my command line to run cmake for generating Makefiles:
> cmake -G “Unix Makefiles” -DLLVM_TARGETS_TO_BUILD=“X86" -DCMAKE_BUILD_TYPE=Debug $(LLVM_SRC)
> The cmake version is 3.13.4. And I did not experience the same behavior on a Linux.
> Thanks,
> - Jie
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20191021/9394814b/attachment.html>

More information about the llvm-dev mailing list