Open
Description
We currently spend an inordinate amount of time rebuilding LLVM on every try run. See for example https://github.com/rust-lang-ci/rust/actions/runs/5073748000/jobs/9113150676#step:25:38905, where building LLVM with PGO and BOLT takes up 111 out of 131 total minutes of the run.
We should cache LLVM between runs so perf runs don't take so long. It should be fine to cache LLVM until the next time the src/llvm-project
is updated, the same way download-ci-llvm
works today. To avoid having three different LLVM artifacts stored in S3 per commit, we'd replace the current artifacts with the BOLT artifacts, leaving the -alt
builds as the unoptimized + debug-assertions build.
@rust-lang/wg-llvm @Kobzol @rust-lang/infra