-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Add method to mutate MIR body without invalidating CFG caches. #98872
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
Conversation
Some changes occurred to MIR optimizations cc @rust-lang/wg-mir-opt |
@bors try @rust-timer queue |
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
⌛ Trying commit 0cc53d1ad4d9fe002cc60f55a0058c7922cea639 with merge 288060dc5bda3ac11d03998f2d42202a80596aff... |
💔 Test failed - checks-actions |
This comment has been minimized.
This comment has been minimized.
In addition to adding this method, a handful of passes are updated to use it.
@bors try @rust-timer queue |
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
⌛ Trying commit 26d153a with merge 356ef6e2adccd833be79310a8122a12851aca487... |
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.
Implementation looks good, r=me if you want to land this
☀️ Try build successful - checks-actions |
Queued 356ef6e2adccd833be79310a8122a12851aca487 with parent a5c6a48, future comparison URL. |
Finished benchmarking commit (356ef6e2adccd833be79310a8122a12851aca487): comparison url. Instruction count
Max RSS (memory usage)Results
CyclesResults
If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. Benchmarking 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 Footnotes |
The cause of the regressions here is that So yeah, I think it probably makes sense to land this. Could someone r=? |
@bors r+ |
📌 Commit 26d153a has been approved by |
☀️ Test successful - checks-actions |
Finished benchmarking commit (880646c): comparison url. Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)Results
CyclesResults
If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. @rustbot label: -perf-regression Footnotes |
In addition to adding this method, a handful of passes are updated to use it. There's still quite a few passes that could in principle make use of this as well, but do not at the moment because they use
VisitorMut
orMirPatch
, which needs additional support for this.The method name is slightly unwieldy, but I don't expect anyone to be writing it a lot, and at least it says what it does. If anyone has a suggestion for a better name though, would be happy to rename.
r? rust-lang/mir-opt