about summary refs log tree commit diff
path: root/src/test/mir-opt/simplify_try.try_identity.SimplifyArmIdentity.diff
AgeCommit message (Collapse)AuthorLines
2022-10-31Detect unused files in `src/test/mir-opt` and error on them in tidy.Jakob Degen-85/+0
2022-08-22Auto merge of #99762 - Nilstrieb:unreachable-prop, r=oli-obkbors-1/+5
UnreachableProp: Preserve unreachable branches for multiple targets Before, UnreachablePropagation removed all unreachable branches. This was a pessimization, as it removed information about reachability that was used later in the optimization pipeline. For example, this code ```rust pub enum Two { A, B } pub fn identity(x: Two) -> Two { match x { Two::A => Two::A, Two::B => Two::B, } } ``` basically has `switchInt() -> [0: 0, 1: 1, otherwise: unreachable]` for the match. This allows it to be transformed into a simple `x`. If we remove the unreachable branch, the transformation becomes illegal. This was the problem keeping `UnreachablePropagation` from being enabled, so we can enable it now. Something similar already happened in #77800, but it did not show a perf improvement there. Let's try it again anyways! Fixes #68105, although that issue has been fixed for a long time (see #77680).
2022-08-22bless mir-opt testsNilstrieb-6/+6
2022-08-21bless mir-opt testsNilstrieb-1/+5
2022-07-28bless mir opt testsNilstrieb-52/+52
2022-04-11Fix tests broken by deaggregation changeJakob Degen-32/+27
2022-02-27Only create a single expansion for each inline integration.Camille GILLOT-10/+10
2021-08-25Fix debugger stepping behavior around `match` expressionsWesley Wiser-2/+2
Previously, we would set up the source lines for `match` expressions so that the code generated to perform the test of the scrutinee was matched to the line of the arm that required the test and then jump from the arm block to the "next" block was matched to all of the lines in the `match` expression. While that makes sense, it has the side effect of causing strange stepping behavior in debuggers. I've changed the source information so that all of the generated tests are sourced to `match {scrutinee}` and the jumps are sourced to the last line of the block they are inside. This resolves the weird stepping behavior in all debuggers and resolves some instances of "ambiguous symbol" errors in WinDbg preventing the user from setting breakpoints at `match` expressions.
2021-05-06mir-opt & codegen test updatesScott McMurray-72/+64
`SimplifyArm` and such are currently in `-Zunsound-mir-opts` and thus weren't running by default, so having something like them for the new desugar shouldn't be necessary for switching.
2021-02-06path trimming: ignore type aliasesDan Aloni-3/+3
2020-10-27Show the inline stack of MIR lints that only occur after inliningOliver Scherer-14/+14
2020-10-21rustc_mir: don't throw away inlined locals' spans.Eduard-Mihai Burtescu-1/+1
2020-10-21rustc_mir: track inlined callees in SourceScopeData.Eduard-Mihai Burtescu-3/+3
2020-10-06Fix tests and bootstrapMatthew Jasper-1/+1
2020-10-04Bless mir-opt testsAaron Hill-1/+1
2020-10-01Disable the SimplifyArmIdentity mir-optWesley Wiser-50/+50
The optimization still has some bugs that need to be worked out such as #77359. We can try re-enabling this again after the known issues are resolved.
2020-10-01Bless mir-opt tests with new optAntoine Martin-6/+2
2020-09-18simplify_try: clean up testJonas Schievink-51/+51
2020-07-29Move mir-opt tests to toplevelXavier Denis-0/+98