-
Notifications
You must be signed in to change notification settings - Fork 10.6k
Open
Labels
Description
Description
This task tracks the work needed to ship the Windows toolchain with LLVM built as a DLL. This can unlock some improvements:
- Build the toolchain faster since we will only be building one huge binary target (
LLVM.dll), the others will be much smaller and depend onLLVM.dll - Ease support for thin LTO/PGO. We can focus on performance improvements in
LLVM.dllrather than having to do the work for every binary. - Reduce the toolchain installation build size. Currently, almost every executable binary that we ship packages a full copy of LLVM. Splitting out
LLVM.dllcould save around 500 MiB of installed size.
Additional information
The following build flags need to be added to the compiler build in build.ps1:
LLVM_BUILD_LLVM_DYLIB = "YES";
LLVM_DYLIB_EXPORT_INLINES = "YES";
LLVM_BUILD_LLVM_DYLIB_VIS = "YES";
LLVM_LINK_LLVM_DYLIB = "YES";
CLANG_LINK_CLANG_DYLIB = "NO";