[PATCH] D149119: [CMake] Use LLVM own tools in extract_symbols.py

Igor Kudrin via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue May 9 18:30:39 PDT 2023


ikudrin added a comment.

In D149119#4329274 <https://reviews.llvm.org/D149119#4329274>, @tmatheson wrote:

> LGTM, thank you for doing this. Please give it a couple of days in case others have comments.

Thanks!

In D149119#4329285 <https://reviews.llvm.org/D149119#4329285>, @jhenderson wrote:

> I've not really looked into this patch significantly, so this may well be addressed in the patch, given I see you have modified stuff to do with the NATIVE build, but in the past I have seen LLVM using its own tools to build other parts of its system. I believe it was using llvm-nm to extract the list of symbols needed for export, possibly to do with part of the clang build, possibly even using this script, I don't remember. The problem was that it was using the just-built version of llvm-nm, rather than specifically one from a release build. On a debug build this caused particularly slow builds for me, so much so that I stopped building the relevant parts of LLVM. Please don't introduce a similar situation/make the situation worse (it's quite possible this was fixed some time ago, but I haven't tried recently, nor do I remember the exact thing causing the issue): much like tablegen, any parts of the LLVM build that use just-built tools should make use of release builds, even in debug configuration, at least if an appropriate cmake option is specified.

Your concerns are legit, but the tools in this patch follow the same principle as `TableGen`, i.e. if `LLVM_OPTIMIZED_TABLEGEN` is `ON` then the tools are forced to be built with optimization.

In D149119#4329618 <https://reviews.llvm.org/D149119#4329618>, @beanz wrote:

> One potential area of concern here: If `llvm-driver` is ever extended to work as a plugin loader (thus exporting its symbols), removing support for the pre-installed host tools could cause a cyclic dependency.

In that case, we will need to add an option to build the tools without plugin support so that they can be used in the build process.


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

https://reviews.llvm.org/D149119



More information about the cfe-commits mailing list