<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/test/mir-opt/simplify_try.try_identity.SimplifyArmIdentity.diff, branch master</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=master</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2022-11-01T04:45:41+00:00</updated>
<entry>
<title>Detect unused files in `src/test/mir-opt` and error on them in tidy.</title>
<updated>2022-11-01T04:45:41+00:00</updated>
<author>
<name>Jakob Degen</name>
<email>jakob.e.degen@gmail.com</email>
</author>
<published>2022-10-31T00:17:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=17395b45b102b365e6fb19796223d190b5f2bebf'/>
<id>urn:sha1:17395b45b102b365e6fb19796223d190b5f2bebf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #99762 - Nilstrieb:unreachable-prop, r=oli-obk</title>
<updated>2022-08-22T20:28:16+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2022-08-22T20:28:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=015a824f2dffe32707fceb59c47effaf7b73486c'/>
<id>urn:sha1:015a824f2dffe32707fceb59c47effaf7b73486c</id>
<content type='text'>
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) -&gt; Two {
    match x {
        Two::A =&gt; Two::A,
        Two::B =&gt; Two::B,
    }
}
```

basically has `switchInt() -&gt; [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).
</content>
</entry>
<entry>
<title>bless mir-opt tests</title>
<updated>2022-08-22T13:19:40+00:00</updated>
<author>
<name>Nilstrieb</name>
<email>48135649+Nilstrieb@users.noreply.github.com</email>
</author>
<published>2022-07-29T16:52:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5d7ce21b6ba31e93d7d9af71dd330ecc71387a2d'/>
<id>urn:sha1:5d7ce21b6ba31e93d7d9af71dd330ecc71387a2d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>bless mir-opt tests</title>
<updated>2022-08-21T19:21:46+00:00</updated>
<author>
<name>Nilstrieb</name>
<email>48135649+Nilstrieb@users.noreply.github.com</email>
</author>
<published>2022-07-26T13:17:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=18bfcd374fac5e65a9559771cbbb800d53b8549d'/>
<id>urn:sha1:18bfcd374fac5e65a9559771cbbb800d53b8549d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>bless mir opt tests</title>
<updated>2022-07-28T12:24:44+00:00</updated>
<author>
<name>Nilstrieb</name>
<email>48135649+Nilstrieb@users.noreply.github.com</email>
</author>
<published>2022-07-27T18:47:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=11c0280798da8f4d65dec25764237d2354e65273'/>
<id>urn:sha1:11c0280798da8f4d65dec25764237d2354e65273</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix tests broken by deaggregation change</title>
<updated>2022-04-11T13:26:26+00:00</updated>
<author>
<name>Jakob Degen</name>
<email>jakob.e.degen@gmail.com</email>
</author>
<published>2022-04-05T23:02:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2a040284a5bc3bee1e78a7bea60e15a0033ef2b5'/>
<id>urn:sha1:2a040284a5bc3bee1e78a7bea60e15a0033ef2b5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Only create a single expansion for each inline integration.</title>
<updated>2022-02-27T18:05:56+00:00</updated>
<author>
<name>Camille GILLOT</name>
<email>gillot.camille@gmail.com</email>
</author>
<published>2022-02-27T15:09:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e77e4fcf898ca4b2aa2041d2cbac200ed0f11b5b'/>
<id>urn:sha1:e77e4fcf898ca4b2aa2041d2cbac200ed0f11b5b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix debugger stepping behavior around `match` expressions</title>
<updated>2021-08-25T19:17:22+00:00</updated>
<author>
<name>Wesley Wiser</name>
<email>wesleywiser@microsoft.com</email>
</author>
<published>2021-07-23T22:55:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0a42dfc2fa2b373aedf7a169da3f0ec0e996fc9f'/>
<id>urn:sha1:0a42dfc2fa2b373aedf7a169da3f0ec0e996fc9f</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>mir-opt &amp; codegen test updates</title>
<updated>2021-05-06T18:37:45+00:00</updated>
<author>
<name>Scott McMurray</name>
<email>scottmcm@users.noreply.github.com</email>
</author>
<published>2021-04-26T05:02:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=47b99485a391e21caf3e0312969ed00ccbc6c167'/>
<id>urn:sha1:47b99485a391e21caf3e0312969ed00ccbc6c167</id>
<content type='text'>
`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.
</content>
</entry>
<entry>
<title>path trimming: ignore type aliases</title>
<updated>2021-02-06T10:03:48+00:00</updated>
<author>
<name>Dan Aloni</name>
<email>alonid@gmail.com</email>
</author>
<published>2021-01-28T16:01:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=eaefe4a230d7c32d7c99da437ee8b87860f28704'/>
<id>urn:sha1:eaefe4a230d7c32d7c99da437ee8b87860f28704</id>
<content type='text'>
</content>
</entry>
</feed>
