Skip to content

Commit

Permalink
Auto merge of #115554 - Kobzol:single-cgu, r=Mark-Simulacrum
Browse files Browse the repository at this point in the history
Build `rustc` with a single CGU on x64 Linux

This PR adds the `rust.codegen-units=1` setting when compiling the 64-bit Linux `rustc` artifact (the one used for try builds and Linux rustup distribution). This had mixed results in the past, however after the bump to LLVM 17, the results now seem pretty [incredible](rust-lang/rust#115554 (comment)). Instruction counts, cycles, wall time, max RSS and even artifact sizes see large improvements.

The last [try build](https://github.com/rust-lang-ci/rust/actions/runs/6077686494/job/16487768049) with this setting took 1h 8m, which is basically the same duration for try builds that we have seen recently. So there shouldn't be any large hit to CI/build time.

I hope that this could potentially also reduce codegen noise of `rustc` a little bit, since small changes within a single `rustc` crate should no longer perturb optimizations because of CGU movement. We still do cross-crate LTO, so it won't eliminate it though.

r? `@Mark-Simulacrum`
  • Loading branch information
bors committed Oct 1, 2023
2 parents 1331231 + 7c1658b commit 6b11197
Showing 0 changed files with 0 additions and 0 deletions.

0 comments on commit 6b11197

Please sign in to comment.