-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Disable MatchBranchSimplification #78151
Disable MatchBranchSimplification #78151
Conversation
This optimization can result in unsoundness, because it introduces additional uses of a place holding the discriminant value without ensuring that it is valid to do so.
r? @eddyb (rust_highfive has picked a reviewer for you, use r? to override) |
The pass was introduced in #75382, so nominating for beta+stable backport |
@bors r+ p=1 |
📌 Commit 478d5ef70a586653674eaf25df2e4a1da5628567 has been approved by |
⌛ Testing commit 478d5ef70a586653674eaf25df2e4a1da5628567 with merge 28ffbc3a0e1b47860f881aa91fb7755ebb538eb0... |
I think the 64-bit tests need to be blessed as well. (I only see a change to |
478d5ef
to
c2af254
Compare
Updated 64-bit test output as well. |
I'm not sure if we need to wait for bors to fail before re-approving, but I'll go ahead and approve in case that works. @bors r+ |
📌 Commit c2af254 has been approved by |
☀️ Test successful - checks-actions, checks-azure |
Seems to have been a win on a number of benchmarks, https://perf.rust-lang.org/compare.html?start=9832374f6e378971e1a933362cf9781b121bb845&end=981346fc07dd5ef414c5b1b21999f7604cece006&stat=instructions:u. Good work! |
Might this issue be included in a point release, or is the problem this is fixing not terribly risky? I'm attempting to triage potential issues for upgrading to Rust 1.47, and this issue has been identified as the only major question we're aware of right now for that release. |
My understanding that it is not terribly risky. This should be included in 1.48, which will be released in less than 3 weeks (on the 19th). |
…ulacrum [beta] backports This backports a number of PRs to beta: * Add delay_span_bug to no longer ICE rust-lang#78645 * Do not ICE on invalid input rust-lang#78422 * revert rust-lang#75443, update mir validator rust-lang#78410 * Do not try to report on closures to avoid ICE rust-lang#78268 * Disable "optimization to avoid load of address" in InstCombine rust-lang#78195 * Disable MatchBranchSimplification rust-lang#78151 * Do not ICE with TraitPredicates containing [type error] rust-lang#77930 * Tweak `if let` suggestion to be more liberal with suggestion and to not ICE rust-lang#77283 * Use different mirror for linux headers in musl-toolchain CI script. rust-lang#78316
This optimization can result in unsoundness, because it introduces
additional uses of a place holding the discriminant value without
ensuring that it is valid to do so.
Found by validation from #77369 / #78147.