about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src/errors.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-07-27 19:35:19 +0000
committerbors <bors@rust-lang.org>2023-07-27 19:35:19 +0000
commit0be11523110a8354120068cd5c69434fdec2dc87 (patch)
tree97af3dfb912c26cde92106b9c619f8f0d58b7598 /compiler/rustc_codegen_llvm/src/errors.rs
parent0eb5efc7ae7479367c3d4567465cb042df176e71 (diff)
parent9c373e3e5b688160e9be96582fd6877941a6a960 (diff)
downloadrust-0be11523110a8354120068cd5c69434fdec2dc87.tar.gz
rust-0be11523110a8354120068cd5c69434fdec2dc87.zip
Auto merge of #113779 - Kobzol:try-build-no-lto, r=Mark-Simulacrum
Build the first LLVM without LTO in try builds

Currently, we perform three LLVM builds in the Linux x64 dist builder, which is used for `try` builds:
1) "Normal" LLVM - takes ~5s to compile thanks to `sccache`, but ~8 minutes to link because of ThinLTO
2) PGO instrumented LLVM - same timings as 1)
3) PGO optimized LLVM - takes about 20 minutes to build

When I tried to disable LTO for build 1), it suddenly takes only about a minute to build, because the linking step is much faster. The first LLVM doesn't really need LTO all that much. Without it, it will be a bit slower to build `rustc` in two subsequent steps, but it seems that the ~7 minutes saved on linking it do win that back.

Btw, we can't use the host LLVM for build 1), because this LLVM then builds `rustc` in PGO instrumented mode, and we need the same compiler when later PGO optimizing `rustc`. And we want to use our in-house LLVM for that I think.
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/errors.rs')
0 files changed, 0 insertions, 0 deletions