- Notifications
You must be signed in to change notification settings - Fork 292
Closed
Labels
Description
Description
I am curious about how LLVM toolchain distributed with NDK are built and find some potential improvements in current versions (r26.2/r487747e and r28/r522817):
- Plugin support in Clang was disabled to reduce binary size, but...
libclang.so,libclang-cpp.soandlibLLVM-17.soare built, beacuseLLVM_BUILD_LLVM_DYLIBisONsince the build scripts are refactored, and...- Those shared libraries are not linked to any binaries because
LLVM_LINK_LLVM_DYLIBis not set (OFFby default since introduced by llvm/llvm-project@9211396). - Currently the build scripts perform BOLT themselves, while upstream CMake has added BOLT support (llvm/llvm-project@3dab7fe and llvm/llvm-project@076240f).
By the way, I find LLVM_ENABLE_THREADS is explicitly defined as ON, which is default on most platforms supported by LLVM.
Those are not bugs because functionalities are not broken, so this issue is labeled with "enhancement". As for "plugin support in Clang", it would be nice to compile and load out-of-tree passes independently rather than compile the whole modified LLVM toolchain.