diff options
| author | bors <bors@rust-lang.org> | 2022-10-10 06:18:58 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2022-10-10 06:18:58 +0000 |
| commit | 8dfb40722da197e77a33a19eb9d3fd6512831341 (patch) | |
| tree | 0b1f5c3ab12887e2a7b42986175b2b5ed068646c /src/bootstrap/lib.rs | |
| parent | e495b37c9a301d776a7bd0c72d5c4a202e159032 (diff) | |
| parent | cc475f5ef2988e9db2e3ce07bd4abd4d4975f3e7 (diff) | |
| download | rust-8dfb40722da197e77a33a19eb9d3fd6512831341.tar.gz rust-8dfb40722da197e77a33a19eb9d3fd6512831341.zip | |
Auto merge of #94381 - Kobzol:llvm-bolt, r=Mark-Simulacrum
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](https://github.com/rust-lang/rust/pull/94381#issuecomment-1258269440). The current CI build time with BOLT applied is around 1h 55 minutes.
Diffstat (limited to 'src/bootstrap/lib.rs')
| -rw-r--r-- | src/bootstrap/lib.rs | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs index 9ada3f315c1..7e70e99bb8c 100644 --- a/src/bootstrap/lib.rs +++ b/src/bootstrap/lib.rs @@ -122,6 +122,7 @@ use crate::util::{ check_run, exe, libdir, mtime, output, run, run_suppressed, try_run, try_run_suppressed, CiEnv, }; +mod bolt; mod builder; mod cache; mod cc_detect; |
