rust/src/tools/opt-dist
Jubilee df2a263ec2
Rollup merge of #137667 - Kobzol:gcc-dist-build, r=onur-ozkan
Add `dist::Gcc` build step

This PR adds a `dist:Gcc` bootstrap step to distribute a prebuilt `libgccjit.so` from CI on x64 Linux.

With primed sccache, the build takes ~4 minutes on CI, and produces a 50 MiB archive.

I want to land this before adding something akin to `[gcc] download-ci-gcc = true`, to already have the artifacts available on CI, to make it easier to setup the download merge-base logic.

r? ``@ghost``
2025-03-04 14:50:41 -08:00
..
src Rollup merge of #137667 - Kobzol:gcc-dist-build, r=onur-ozkan 2025-03-04 14:50:41 -08:00
Cargo.toml Don't enable anyhow's backtrace feature in opt-dist 2025-01-06 13:08:49 +11:00
README.md Port PGO/LTO/BOLT optimized build pipeline to Rust 2023-07-09 08:39:50 +02:00

Optimized build pipeline

This binary implements a heavily optimized build pipeline for rustc and LLVM artifacts that are used for both for benchmarking using the perf. bot and for final distribution to users.

It uses LTO, PGO and BOLT to optimize the compiler and LLVM as much as possible. This logic is not part of bootstrap, because it needs to invoke bootstrap multiple times, force-rebuild various artifacts repeatedly and sometimes go around bootstrap's cache mechanism.