-
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
Modify SimplifyArmIdentity so it can trigger on mir-opt-level=1 #69756
Conversation
@bors try @rust-timer queue |
Awaiting bors try build completion |
[WIP] Modify SimplifyArmIdentity so it can trigger on mir-opt-level=1 r? @ghost
This comment has been minimized.
This comment has been minimized.
☀️ Try build successful - checks-azure |
Queued 69665ae with parent b818ccc, future comparison URL. |
Finished benchmarking try commit 69665ae, comparison URL. |
a77c0f9
to
f0d5e44
Compare
@bors try @rust-timer queue |
Awaiting bors try build completion |
[WIP] Modify SimplifyArmIdentity so it can trigger on mir-opt-level=1 r? @ghost
This comment has been minimized.
This comment has been minimized.
☀️ Try build successful - checks-azure |
Queued be3cc06 with parent 2cb0b85, future comparison URL. |
Finished benchmarking try commit be3cc06, comparison URL. |
I've manually verified the |
fa55b55
to
1e0048d
Compare
r? @oli-obk |
This comment has been minimized.
This comment has been minimized.
@oli-obk The build failure is legit. I've got a repro of the issue with |
49972c8
to
a8189ff
Compare
⌛ Testing commit 6de6d70 with merge c892c7cd3cf05930ed4d1fdc7ff025c38dad1969... |
💔 Test failed - checks-actions |
@bors retry Spurious macOS failure. |
⌛ Testing commit 6de6d70 with merge 618120aeea8892e23b8b466bab4c1f308cfaae42... |
@bors retry yield |
⌛ Testing commit 6de6d70 with merge c6b39cc0035a644fe95217a97de42d261a53d7c0... |
💔 Test failed - checks-actions |
@bors retry artifact upload failure |
☀️ Test successful - checks-actions, checks-azure |
This caused a perf regression for |
Curious that the regression didn't show up in the perf runs in this PR. Maybe some other change snuck in between that caused this change to become a perf regression? |
Also, according to https://perf.rust-lang.org/detailed-query.html?commit=7c34d8d6629506a596215886e5fc4bb2b04b00ae&base_commit=23ffeea307c31f0c20ebb5a15d5171e0c414629d&benchmark=issue-58319-check&run_name=full the regression is entirely inside borrowck, which isn't affected by this change beyond this change affecting the built rustc. So... did we make rustc slower (I honestly fail to see how) |
Total time for the |
I also added test cases to make sure the optimization can fire on all of
these cases:
Without MIR inlining, this still does not completely optimize away the
?
operator because theTry::into_result()
,From::from()
andTry::from_error()
calls still exist. This does move us a bit closer tothat goal though because:
We can now run the pass on mir-opt-level=1
We no longer depend on the copy propagation pass running which is
unlikely to stabilize anytime soon.
Fixes #66855