Skip to content

Commit

Permalink
Auto merge of #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/rust#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 eb43a75 + 97bac81 commit ff84385
Showing 0 changed files with 0 additions and 0 deletions.

0 comments on commit ff84385

Please sign in to comment.