Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Utilize PGO for windows x64 rustc dist builds #96978

Merged
merged 4 commits into from
Jul 12, 2022
Merged

Commits on Jul 11, 2022

  1. bump CI LLVM to 14.0.5

    The version 14.0.2 we currently use is busted on windows at the very
    least.
    lqd committed Jul 11, 2022
    Configuration menu
    Copy the full SHA
    94f8ee1 View commit details
    Browse the repository at this point in the history
  2. extend bootstrap for PGO on windows

    When building LLVM/LLD as part of a build that asks LLVM to generate profiles, e.g. when
    doing PGO, cmake or clang-cl don't automatically link clang's profiler runtime in,
    causing undefined reference errors at link-time.
    
    We do that manually, by adding clang's resource library folder to the library search path:
    - for LLVM itself, by extending the linker args that `rustc_llvm`'s build script
      uses, to avoid the linker errors when linking `rustc_driver`.
    - for LLD, by extending cmake's linker flags during the LLD build step.
    lqd committed Jul 11, 2022
    Configuration menu
    Copy the full SHA
    9dd6f52 View commit details
    Browse the repository at this point in the history
  3. make linux PGO script more generic

    This extracts the linux-isms into variables, so that the script can be
    extended to do PGO on windows. These variables will be overriden in a
    few spots, in windows-specific blocks.
    lqd committed Jul 11, 2022
    Configuration menu
    Copy the full SHA
    736dbef View commit details
    Browse the repository at this point in the history
  4. introduce PGO on the dist-x86_64-msvc builder

    This adds windows-specific behavior into the PGO script, and enables it
    on CI.
    lqd committed Jul 11, 2022
    Configuration menu
    Copy the full SHA
    9027f82 View commit details
    Browse the repository at this point in the history