mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 14:55:26 +00:00
5e02151318
Split out LLVM PGO step and use clang 13 to compile LLVM We're seeing a PGO version mismatch error in CI logs: LLVM Profile Error: Runtime and instrumentation version mismatch : expected 5, but get 7 which is likely due to the version bumped here differing from that used by rustc. This PR fixes this by splitting out the PGO step for LLVM into a separate phase of the pgo.sh script, which nets no change to performance (see [these results](https://perf.rust-lang.org/compare.html?start=c34ac8747ca96d09cb08b8f5adddead826e77c06&end=e272c2af45f40c74dab83948235903ffbe3ad57f)). Then, it follows that up with an upgrade to LLVM/clang version 13 as our bootstrap compiler, which yields the performance improvements for this PR -- around 5%. This depends on the first step here, because otherwise we end up somehow clobbering or otherwise hurting our ability to effectively collect performance data, yielding reductions in performance for a subset of benchmarks -- it is not clear what the cause here was precisely, but the split only costs ~10 minutes and seems worthwhile. |
||
---|---|---|
.. | ||
azure-pipelines | ||
docker | ||
github-actions | ||
scripts | ||
channel | ||
cpu-usage-over-time.py | ||
init_repo.sh | ||
pgo.sh | ||
publish_toolstate.sh | ||
run.sh | ||
shared.sh |