Skip to content

Ship the Windows toolchain with LLVM built as a DLL #85241

@Steelskin

Description

@Steelskin

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 on LLVM.dll
  • Ease support for thin LTO/PGO. We can focus on performance improvements in LLVM.dll rather 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.dll could 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";

Metadata

Metadata

Assignees

No one assigned

    Labels

    tasktriage neededThis issue needs more specific labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions