rust/src/tools/opt-dist
Weihang Lo c81a40bbc0
opt-dist: dont overrwite config.toml when verifying
This is another step toward making opt-dist work in sandboxed environments

opt-dist verifies the final built rustc against a subset of rustc test
suite. However it overwrote the pre-existing `config.toml` [^1],
and that results in ./vendor/ directory removed [^2].

Instead of overwriting, this patch use `--set <config-value>` to
override paths to rustc / cargo / llvm-config.

[^1]: 606afbb617/src/tools/opt-dist/src/tests.rs (L62-L77)
[^2]: 8679004993/src/bootstrap/bootstrap.py (L1057)
2024-05-25 23:23:47 -04:00
..
src opt-dist: dont overrwite config.toml when verifying 2024-05-25 23:23:47 -04:00
Cargo.toml refactor(opt-dist): use rustc-perf from rustc checkout 2024-05-20 15:01:10 +00: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.