-
Notifications
You must be signed in to change notification settings - Fork 13.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CI: build CMake 3.20 to support LLVM 17 #113714
Conversation
@bors try |
⌛ Trying commit 224f7af769cab428407d8aa1a1a89016d4b14166 with merge 925c053abfb4df2511f5c69a1a21db5e3c09f87a... |
This comment has been minimized.
This comment has been minimized.
☀️ Try build successful - checks-actions |
@rust-timer build 925c053abfb4df2511f5c69a1a21db5e3c09f87a |
This comment has been minimized.
This comment has been minimized.
Finished benchmarking commit (925c053abfb4df2511f5c69a1a21db5e3c09f87a): comparison URL. Overall result: ❌✅ regressions and improvements - ACTION NEEDEDBenchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf. Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @bors rollup=never Instruction countThis is a highly reliable metric that was used to determine the overall result at the top of this comment.
Max RSS (memory usage)ResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 657.713s -> 705.864s (7.32%) |
(The above perf results are for using the trunk commit of LLVM as the host compiler). 😁 Looks like updating to LLVM 17+ (as the host compiler) will be fun. But we don't need to deal with that now. @rustbot ready |
Those results are certainly wild ... the largest regressions are on check builds, while I would have assumed that the host compiler shouldn't affect rustc itself much. My first guess was that the new llvm-profdata can't handle the profiles generated by LLVM 16 and we lose PGO on rustc, but at least the log doesn't indicate something like that. |
My guess was also the profiles, but as you said, logs look OK. BOLT could become worse, but such a large effect definitely shouldn't be BOLT alone. And it's not used in check builds anyway. Debug/Opt builds could become worse if LLVM 17 optimized src/llvm-project worse, but why are checks builds bad, that's a mastery. |
70a1b93
to
c6aadf4
Compare
I went through the builders modified in #95026, most of them now use Ubuntu 22.04, which has new enough CMake (3.22). I updated the rest. I'm not sure which builders do actually build LLVM, so if I missed some, we'll probably see it when we bump LLVM to 17. |
Doesn't everything build LLVM on commits that update LLVM? Edit: Well, apart from |
d0f4bde
to
ea8efd8
Compare
Good point. I went through the non-dist builders and added CMake where they use Ubuntu 20.04. I wonder if we should just upgrade them to 22.04.. |
@bors r+ |
📌 Commit ea8efd863a236742c2258aec66e90a490c0add19 has been approved by It is now in the queue for this repository. |
Ok, I tried linking to it. I also added netbsd as a temporary PR CI job to test if it works. |
This comment has been minimized.
This comment has been minimized.
Ok, looks like that has worked! (The failure is just being unable to upload artifacts to S3 from a PR CI run). |
@rustbot ready |
@bors r+ |
⌛ Testing commit e95caa7 with merge 63430236a32d03b5169377ae6f954ef46dadb4c8... |
The job Click to see the possible cause of the failure (guessed by this bot)
|
💔 Test failed - checks-actions |
As much as it is suspicious in an iffy PR like this, @bors retry |
☀️ Test successful - checks-actions |
Finished benchmarking commit (c4e6fe9): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)ResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 656.058s -> 656.866s (0.12%) |
Looking at fails in #114048 (comment) https://github.com/rust-lang-ci/rust/actions/runs/5577768220/job/15104051656#step:24:1907
|
…lacrum ci: update ubuntu:20.04 builders to 22.04 This is mostly just maintenance to avoid bitrotting, but 22.04 also updates to cmake 3.22, so they don't need the manual builds from rust-lang#113714 anymore.
LLVM 17 will require CMake at least 3.20, so we have to go back to building our own CMake on the Linux x64 dist builder.
r? @nikic