<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_mir_dataflow/src/framework/engine.rs, branch 1.72.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.72.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.72.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2023-06-14T12:30:13+00:00</updated>
<entry>
<title>make mir dataflow graphviz dumps opt-in</title>
<updated>2023-06-14T12:30:13+00:00</updated>
<author>
<name>Rémy Rakic</name>
<email>remy.rakic+github@gmail.com</email>
</author>
<published>2023-06-14T12:14:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9395e2771ab0fab5d89f9422610b571096c87a3a'/>
<id>urn:sha1:9395e2771ab0fab5d89f9422610b571096c87a3a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Take MIR dataflow analyses by mutable reference.</title>
<updated>2023-05-18T21:46:39+00:00</updated>
<author>
<name>Jason Newcomb</name>
<email>jsnewcomb@pm.me</email>
</author>
<published>2023-02-20T22:28:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=eaddc3707520988f8bc2d267cb192d2f0c63ee80'/>
<id>urn:sha1:eaddc3707520988f8bc2d267cb192d2f0c63ee80</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Split `{Idx, IndexVec, IndexSlice}` into their own modules</title>
<updated>2023-04-24T13:53:35+00:00</updated>
<author>
<name>Maybe Waffle</name>
<email>waffle.lapkin@gmail.com</email>
</author>
<published>2023-04-19T10:57:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e496fbec922b22d9b506ba55386c482b4bf06378'/>
<id>urn:sha1:e496fbec922b22d9b506ba55386c482b4bf06378</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Disable path trimming during graphviz output</title>
<updated>2023-04-05T02:06:37+00:00</updated>
<author>
<name>clubby789</name>
<email>jamie@hill-daniel.co.uk</email>
</author>
<published>2023-04-05T02:06:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=422c33030f8d1137f78e4d9fef2777b12184e13f'/>
<id>urn:sha1:422c33030f8d1137f78e4d9fef2777b12184e13f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove dead unwinds before drop elaboration</title>
<updated>2023-02-23T13:05:03+00:00</updated>
<author>
<name>Tomasz Miąsko</name>
<email>tomasz.miasko@gmail.com</email>
</author>
<published>2023-01-05T09:15:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=23e3840014e17cd20f6ebe5e268133b3ce5ab1a6'/>
<id>urn:sha1:23e3840014e17cd20f6ebe5e268133b3ce5ab1a6</id>
<content type='text'>
As a part of drop elaboration, we identify dead unwinds, i.e., unwind
edges on a drop terminators which are known to be unreachable, because
there is no need to drop anything.

Previously, the data flow framework was informed about the dead unwinds,
and it assumed those edges are absent from MIR. Unfortunately, the data
flow framework wasn't consistent in maintaining this assumption.

In particular, if a block was reachable only through a dead unwind edge,
its state was propagated to other blocks still. This became an issue in
the context of change removes DropAndReplace terminator, since it
introduces initialization into cleanup blocks.

To avoid this issue, remove unreachable unwind edges before the drop
elaboration, and elaborate only blocks that remain reachable.
</content>
</entry>
<entry>
<title>Create `format_args` as late as possible</title>
<updated>2022-12-01T08:49:51+00:00</updated>
<author>
<name>Oli Scherer</name>
<email>git-spam-no-reply9815368754983@oli-obk.de</email>
</author>
<published>2022-12-01T08:49:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4f593ce5d8ecaa36bf0c5edf0da96fb8a9ce30bd'/>
<id>urn:sha1:4f593ce5d8ecaa36bf0c5edf0da96fb8a9ce30bd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #99027 - tmiasko:basic-blocks, r=oli-obk</title>
<updated>2022-08-29T04:34:43+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>matthias.krueger@famsik.de</email>
</author>
<published>2022-08-29T04:34:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d182081de1ae2fe580c038abd526d85cedafa712'/>
<id>urn:sha1:d182081de1ae2fe580c038abd526d85cedafa712</id>
<content type='text'>
Replace `Body::basic_blocks()` with field access

Since the refactoring in #98930, it is possible to borrow the basic blocks
independently from other parts of MIR by accessing the `basic_blocks` field
directly.

Replace unnecessary `Body::basic_blocks()` method with a direct field access,
which has an additional benefit of borrowing the basic blocks only.
</content>
</entry>
<entry>
<title>Replace `Body::basic_blocks()` with field access</title>
<updated>2022-08-26T12:27:08+00:00</updated>
<author>
<name>Tomasz Miąsko</name>
<email>tomasz.miasko@gmail.com</email>
</author>
<published>2022-07-05T00:00:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b48870b451dd9d3f3f827aa54d9becdfdd811ba3'/>
<id>urn:sha1:b48870b451dd9d3f3f827aa54d9becdfdd811ba3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Migrate rustc_mir_dataflow to diagnostic structs</title>
<updated>2022-08-23T10:24:51+00:00</updated>
<author>
<name>5225225</name>
<email>5225225@mailbox.org</email>
</author>
<published>2022-08-19T09:21:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ee2b16100e2fad2c08f01f913b826c00024f85a8'/>
<id>urn:sha1:ee2b16100e2fad2c08f01f913b826c00024f85a8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename `debugging_opts` to `unstable_opts`</title>
<updated>2022-07-13T22:47:06+00:00</updated>
<author>
<name>Joshua Nelson</name>
<email>jnelson@cloudflare.com</email>
</author>
<published>2022-07-06T12:44:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3c9765cff18a3c4ba2962ea59d4c3f6966f9700c'/>
<id>urn:sha1:3c9765cff18a3c4ba2962ea59d4c3f6966f9700c</id>
<content type='text'>
This is no longer used only for debugging options (e.g. `-Zoutput-width`, `-Zallow-features`).
Rename it to be more clear.
</content>
</entry>
</feed>
