<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_data_structures/src/graph, branch 1.75.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.75.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.75.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2023-10-10T19:39:59+00:00</updated>
<entry>
<title>Remove unused dominator iterator</title>
<updated>2023-10-10T19:39:59+00:00</updated>
<author>
<name>Tomasz Miąsko</name>
<email>tomasz.miasko@gmail.com</email>
</author>
<published>2023-10-10T00:00:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b61a6d59e4097f2677484f043553a9f82f9c77db'/>
<id>urn:sha1:b61a6d59e4097f2677484f043553a9f82f9c77db</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Optimize dominators for small path graphs</title>
<updated>2023-10-05T21:45:59+00:00</updated>
<author>
<name>Tomasz Miąsko</name>
<email>tomasz.miasko@gmail.com</email>
</author>
<published>2023-10-05T00:00:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0528d378b6c526d8e149a2807a71fd316c11ebf0'/>
<id>urn:sha1:0528d378b6c526d8e149a2807a71fd316c11ebf0</id>
<content type='text'>
Generalizes the small dominators approach from #107449.
</content>
</entry>
<entry>
<title>Remove redundant Dominators::start_node field</title>
<updated>2023-10-05T21:45:58+00:00</updated>
<author>
<name>Tomasz Miąsko</name>
<email>tomasz.miasko@gmail.com</email>
</author>
<published>2023-10-05T00:00:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ba694e301cfbb7709db159b7b876af9fd18a43c3'/>
<id>urn:sha1:ba694e301cfbb7709db159b7b876af9fd18a43c3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Test immediate dominators using public API</title>
<updated>2023-10-05T21:45:58+00:00</updated>
<author>
<name>Tomasz Miąsko</name>
<email>tomasz.miasko@gmail.com</email>
</author>
<published>2023-10-05T00:00:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a8ec7ddf0efac856abc71ab0394933afc58a9f26'/>
<id>urn:sha1:a8ec7ddf0efac856abc71ab0394933afc58a9f26</id>
<content type='text'>
</content>
</entry>
<entry>
<title>coverage: Simplify sorting of coverage spans extracted from MIR</title>
<updated>2023-09-18T13:15:25+00:00</updated>
<author>
<name>Zalathar</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2023-09-17T04:21:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=01b67f4b26f420b8713f11b04594f51e687f95fc'/>
<id>urn:sha1:01b67f4b26f420b8713f11b04594f51e687f95fc</id>
<content type='text'>
Switching to `Ordering::then_with` makes control-flow less complicated, and
there is no need to use `partial_cmp` here.
</content>
</entry>
<entry>
<title>don't use SnapshotVec in Graph implementation, as it looks unused; use Vec instead</title>
<updated>2023-08-28T15:59:55+00:00</updated>
<author>
<name>klensy</name>
<email>klensy@users.noreply.github.com</email>
</author>
<published>2023-08-21T12:07:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3b26b3d1d2d1fc6f660543c210429d8b2b9a3b18'/>
<id>urn:sha1:3b26b3d1d2d1fc6f660543c210429d8b2b9a3b18</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Re-format let-else per rustfmt update</title>
<updated>2023-07-13T01:49:27+00:00</updated>
<author>
<name>Mark Rousskov</name>
<email>mark.simulacrum@gmail.com</email>
</author>
<published>2023-07-13T01:49:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cc907f80b95c6ec530c5ee1b05b044a468f07eca'/>
<id>urn:sha1:cc907f80b95c6ec530c5ee1b05b044a468f07eca</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #111673 - cjgillot:dominator-preprocess, r=cjgillot,tmiasko</title>
<updated>2023-05-24T16:18:21+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2023-05-24T16:18:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=97d328012b9ed9b7d481c40e84aa1f2c65b33ec8'/>
<id>urn:sha1:97d328012b9ed9b7d481c40e84aa1f2c65b33ec8</id>
<content type='text'>
Preprocess and cache dominator tree

Preprocessing dominators has a very strong effect for https://github.com/rust-lang/rust/pull/111344.
That pass checks that assignments dominate their uses repeatedly. Using the unprocessed dominator tree caused a quadratic runtime (number of bbs x depth of the dominator tree).

This PR also caches the dominator tree and the pre-processed dominators in the MIR cfg cache.

Rebase of https://github.com/rust-lang/rust/pull/107157
cc `@tmiasko`
</content>
</entry>
<entry>
<title>Revert spurious changes.</title>
<updated>2023-05-18T14:36:13+00:00</updated>
<author>
<name>Camille GILLOT</name>
<email>gillot.camille@gmail.com</email>
</author>
<published>2023-05-18T14:36:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7c8f29f02c279acfa7b0c353e2187ad268e25de8'/>
<id>urn:sha1:7c8f29f02c279acfa7b0c353e2187ad268e25de8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge DominatorTree and Dominators.</title>
<updated>2023-05-17T10:37:29+00:00</updated>
<author>
<name>Camille GILLOT</name>
<email>gillot.camille@gmail.com</email>
</author>
<published>2023-05-17T10:37:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fa8598cb5066b3463d53682170cc695af2c1b380'/>
<id>urn:sha1:fa8598cb5066b3463d53682170cc695af2c1b380</id>
<content type='text'>
</content>
</entry>
</feed>
