-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Treat static refs as mir::ConstantKind::Val
#93800
Conversation
mir::ConstantKind::Val
mir::ConstantKind::Val
src/test/mir-opt/const_allocation.main.ConstProp.after.64bit.mir
Outdated
Show resolved
Hide resolved
This comment has been minimized.
This comment has been minimized.
lgtm r=me with 32 bit mir dumps blessed (this is why CI is failing) |
This comment has been minimized.
This comment has been minimized.
Not sure how to do that. I'm on Mac OS and tried a complete rebuild with: |
I can try pushing to your branch tomorrow. I wish we could just tell bors to bless or have a bot that scrapes the blessed files from CI |
@oli-obk This is ready. |
-.- I need a a way to set reminders for myself when I write such comments. Thanks for going the hard way and copying from CI @bors r+ |
📌 Commit 5e36b5daa5aa4960d8198bf0d6d6926051f47201 has been approved by |
No worries. |
☔ The latest upstream changes (presumably #93148) made this pull request unmergeable. Please resolve the merge conflicts. |
5e36b5d
to
e9c0763
Compare
This comment has been minimized.
This comment has been minimized.
b99f38c
to
b8a065d
Compare
@bors r+ |
☀️ Test successful - checks-actions |
Finished benchmarking commit (a240ccd): comparison url. Summary: This benchmark run did not return any relevant results. 11 results were found to be statistically significant but too small to be relevant. If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. @rustbot label: -perf-regression |
…ir-val, r=oli-obk" This reverts commit a240ccd, reversing changes made to 393fdc1. This PR was likely responsible for a relatively large regression in dist-x86_64-msvc-alt builder times, from approximately 1.7 to 2.8 hours, bringing that builder into the pool of the slowest builders we currently have. This seems to be limited to the alt builder due to needing parallel-compiler enabled, likely leading to slow LLVM compilation for some reason.
Revert rust-lang#93800, fixing CI time regression This reverts commit a240ccd (merge commit of rust-lang#93800), reversing changes made to 393fdc1. This PR was likely responsible for a relatively large regression in dist-x86_64-msvc-alt builder times, from approximately 1.7 to 2.8 hours, bringing that builder into the pool of the slowest builders we currently have. This seems to be limited to the alt builder due to needing parallel-compiler enabled, likely leading to slow LLVM compilation for some reason. See some investigation in [this Zulip stream](https://rust-lang.zulipchat.com/#narrow/stream/242791-t-infra/topic/msvc.28.3F.29.20builders.20running.20much.20slower). cc `@lcnr` `@oli-obk` `@b-naber` (per original PRs review/author) We can re-apply this PR once the regression is fixed, but it is sufficiently large that I don't think keeping this on master is viable in the meantime unless there's a very strong case to be made for it. Alternatively, we can disable that builder (it's not critical since it's an alt build), but that obviously carries its own costs.
…r=oli-obk Treat static refs as `mir::ConstantKind::Val` With the upcoming introduction of Valtrees we want to treat more values as `mir::ConstantKind::Val` directly. r? `@lcnr` cc `@oli-obk`
The job Click to see the possible cause of the failure (guessed by this bot)
|
Reinstate rust-lang#93800 rust-lang#93800 caused a regression in an alt builder with parallel enabled. rust-lang#94205 reverted that PR because of the regression. For an unknown reason the regression has disappeared, so we reinstate the changes in rust-lang#93800 here. r? `@Mark-Simulacrum`
…li-obk Use mir constant in thir instead of ty::Const This is blocked on rust-lang#94059 (does include its changes, the first two commits in this PR correspond to those changes) and rust-lang#93800 being reinstated (which had to be reverted). Mainly opening since `@lcnr` offered to give some feedback and maybe also for a perf-run (if necessary). This currently contains a lot of duplication since some of the logic of `ty::Const` had to be copied to `mir::ConstantKind`, but with the introduction of valtrees a lot of that functionality will disappear from `ty::Const`. Only the last commit contains changes that need to be reviewed here. Did leave some `FIXME` comments regarding future implementation decisions and some things that might be incorrectly implemented. r? `@oli-obk`
Use mir constant in thir instead of ty::Const This is blocked on rust-lang/rust#94059 (does include its changes, the first two commits in this PR correspond to those changes) and rust-lang/rust#93800 being reinstated (which had to be reverted). Mainly opening since `@lcnr` offered to give some feedback and maybe also for a perf-run (if necessary). This currently contains a lot of duplication since some of the logic of `ty::Const` had to be copied to `mir::ConstantKind`, but with the introduction of valtrees a lot of that functionality will disappear from `ty::Const`. Only the last commit contains changes that need to be reviewed here. Did leave some `FIXME` comments regarding future implementation decisions and some things that might be incorrectly implemented. r? `@oli-obk`
With the upcoming introduction of Valtrees we want to treat more values as
mir::ConstantKind::Val
directly.r? @lcnr
cc @oli-obk