-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Always const-prop scalars and scalar pairs #113858
Conversation
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
⌛ Trying commit fd83c9db1654bafcf104714ac4e8adf37896f907 with merge f0d8ed27c11d0230590142e813909c7b9b3530ca... |
☀️ Try build successful - checks-actions |
1 similar comment
☀️ Try build successful - checks-actions |
This comment has been minimized.
This comment has been minimized.
Finished benchmarking commit (f0d8ed27c11d0230590142e813909c7b9b3530ca): 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 sizeResultsThis 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.
Bootstrap: 647.294s -> 648.53s (0.19%) |
Some changes occurred to MIR optimizations cc @rust-lang/wg-mir-opt |
r? compiler |
📌 Commit fd83c9db1654bafcf104714ac4e8adf37896f907 has been approved by It is now in the queue for this repository. |
⌛ Testing commit fd83c9db1654bafcf104714ac4e8adf37896f907 with merge 412faf39e494910216abe24683848973b8f88593... |
💔 Test failed - checks-actions |
This comment has been minimized.
This comment has been minimized.
@bors retry network |
☔ The latest upstream changes (presumably #113758) made this pull request unmergeable. Please resolve the merge conflicts. |
fd83c9d
to
4a17740
Compare
Rebased. |
StorageLive(_3); | ||
_3 = const 31_u32; | ||
_4 = BitAnd(_2, move _3); | ||
_3 = BitAnd(_2, const 31_u32); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, thank you! I'd been confused why these kept sticking around.
(This'll help shrink slice::Iter::next
, too, since today it still has _1 = 1; _3 = Offset(_2, _1);
instead of Offset(_2, 1_usize)
.)
☀️ Test successful - checks-actions |
Finished benchmarking commit (e2a7ba2): comparison URL. Overall result: ❌✅ regressions and improvements - ACTION NEEDEDNext Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression 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 sizeResultsThis 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.
Bootstrap: 650.713s -> 651.863s (0.18%) |
Visiting for weekly perf triage.
|
This removes some complexity from the pass.
The limitation to propagate ScalarPairs only for tuple comes from #67015, when ScalarPair constant were modeled using
Rvalue::Aggregate
. Nowadays, we useConstValue::ByRef
, which does not care about the underlying type.The justification for not propagating in all cases was perf. This seems not to be a clear cut any more: #113858 (comment)