Skip to content

Commit

Permalink
Auto merge of rust-lang#94381 - Kobzol:llvm-bolt, r=Mark-Simulacrum
Browse files Browse the repository at this point in the history
Use BOLT in CI to optimize LLVM

This PR adds an optimization step in the Linux `dist` CI pipeline that uses [BOLT](https://github.com/llvm/llvm-project/tree/main/bolt) to optimize the `libLLVM.so` library built by boostrap.

Steps:
- [x] Use LLVM 15 as a bootstrap compiler and use it to build BOLT
- [x] Compile LLVM with support for relocations (`-DCMAKE_SHARED_LINKER_FLAGS="-Wl,-q"`)
- [x] Gather profile data using instrumented LLVM
- [x] Apply profile to LLVM that has already been PGOfied
- [x] Run with BOLT profiling on more benchmarks
- [x] Decide on the order of optimization (PGO -> BOLT?)
- [x] Decide how we should get `bolt` (currently we use the host `bolt`)
- [x] Clean up

The latest perf results can be found [here](rust-lang#94381 (comment)). The current CI build time with BOLT applied is around 1h 55 minutes.
  • Loading branch information
bors committed Oct 10, 2022
2 parents d7638ed + 6784b45 commit 6509711
Showing 0 changed files with 0 additions and 0 deletions.

0 comments on commit 6509711

Please sign in to comment.