<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/tests/mir-opt/gvn_repeat.repeat_place.GVN.diff, branch try</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=try</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=try'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-05-19T13:35:49+00:00</updated>
<entry>
<title>gvn: bail out unavoidable non-ssa locals in repeat</title>
<updated>2025-05-19T13:35:49+00:00</updated>
<author>
<name>dianqk</name>
<email>dianqk@dianqk.net</email>
</author>
<published>2025-05-19T13:07:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=be5d6c5425e8dfdf1662225fb23d6deb0e124dd4'/>
<id>urn:sha1:be5d6c5425e8dfdf1662225fb23d6deb0e124dd4</id>
<content type='text'>
We cannot transform `*elem` to `array[idx1]` in the following code,
as `idx1` has already been modified.

```rust
    mir! {
        let array;
        let elem;
        {
            array = [*val; 5];
            elem = &amp;array[idx1];
            idx1 = idx2;
            RET = *elem;
            Return()
        }
    }
```
</content>
</entry>
</feed>
