-
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
Convert Operand::Move to Operand::Copy #105190
Conversation
r? @davidtwco (rustbot has picked a reviewer for you, use r? to override) |
Some changes occurred to MIR optimizations cc @rust-lang/wg-mir-opt |
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
⌛ Trying commit 22c8065ee0e0d3eaa3ffe02e0915e2324430033d with merge 19df18cef7165e96fbdd86cb2070613e6f858928... |
Is there any reason to do this besides the specific example we'd talked about yesterday? I'm not so sure this is the right way to address the issue that destprop has. Specifically, destprop needs to be taught to be smarter about dealing with "removable writes" anyway for the purpose of storage statements (see my comment here) and once it can do that, fixing this will be pretty straight forward |
This is simple/easy to slap together quickly, and is unlikely to be a perf issue in itself. So it is a way to assess what the opportunity is. Of course you know much better than I if this is actually something that should be merged, but I think a PR and perf run is a step to assessing that. |
Oh, yeah, don't misunderstand, this is definitely something we should try. That being said, I don't actually see how this could show an improvement in PRLO. In any case, my comment was about whether this made sense to merge, so do carry on with whatever experiments you're interested in |
This comment has been minimized.
This comment has been minimized.
☀️ Try build successful - checks-actions |
This comment has been minimized.
This comment has been minimized.
Finished benchmarking commit (19df18cef7165e96fbdd86cb2070613e6f858928): comparison URL. Overall result: ✅ improvements - no 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. @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.
|
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
⌛ Trying commit 46d3a94bb3e768653b0a25db5bd1c5c5008a33da with merge 54a548dce63e8923dd55d8d52c96cd377f1148c4... |
☀️ Try build successful - checks-actions |
This comment has been minimized.
This comment has been minimized.
Finished benchmarking commit (54a548dce63e8923dd55d8d52c96cd377f1148c4): 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.
|
This comment has been minimized.
This comment has been minimized.
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
@bors try |
⌛ Trying commit ec2edf264ff086ce84b5d196fc743c816b295cb6 with merge ebd4a176a1f40179f0806f9cfba1b7cdc7062a95... |
☀️ Try build successful - checks-actions |
This comment has been minimized.
This comment has been minimized.
Finished benchmarking commit (ebd4a176a1f40179f0806f9cfba1b7cdc7062a95): 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.
|
This comment has been minimized.
This comment has been minimized.
8a685ca
to
5c581d0
Compare
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
⌛ Trying commit 5c581d0 with merge 00374ac50ce2b3336298b9b945c964a1dabe7df9... |
☀️ Try build successful - checks-actions |
This comment has been minimized.
This comment has been minimized.
Finished benchmarking commit (00374ac50ce2b3336298b9b945c964a1dabe7df9): comparison URL. Overall result: no relevant changes - no 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. @bors rollup=never 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.
|
The job Click to see the possible cause of the failure (guessed by this bot)
|
This was a cool experiment to feed discussion about DestinationPropagation, but that's all it is ultimately. |
Looks like this fires ~72,000 times on the standard library. Neat.
Note: The unleashed version fires ~165,000 times.
cc @JakobDegen