• Hans Wennborg's avatar
    win: Link with lld instead of MSVC's link.exe by default · be8138a4
    Hans Wennborg authored
    lld is LLVM's linker. It produces PE/COFF and PDB files just like
    link.exe, but it's significantly faster and it can also handle LLVM's
    internal representation, which will enable us to do link-time
    optimization and control-flow integraty checks with Clang.
    
    While lld is much faster at linking, it doesn't support incremental
    links, meaning builds that only touch a few files and re-link a large
    executable may become slower.
    
    This is the first attempt at switching everything over, with the
    purpose of gathering data and finding unknown unknowns. It's likely
    temporary until something breaks.
    
    is_win_fastlink is implicitly ignored when using lld, as lld without
    fastlink is faster than link.exe with it.
    
    Also switch the CrWinClangLLD bots on chromium.clang to use MSVC's
    link.exe to make sure that configuration keeps working.
    
    Bug: 792131
    Change-Id: I0f115a78c33d69eadbd480f75c2a5d636e86483d
    Reviewed-on: https://chromium-review.googlesource.com/983632
    Commit-Queue: Nico Weber <thakis@chromium.org>
    Reviewed-by: default avatarNico Weber <thakis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#551367}
    be8138a4
compiler.gni 10.1 KB