<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_data_structures/src/graph, branch 1.72.1</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.72.1</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.72.1'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2023-05-24T16:18:21+00:00</updated>
<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>
<entry>
<title>Typo.</title>
<updated>2023-05-17T10:29:12+00:00</updated>
<author>
<name>Camille GILLOT</name>
<email>gillot.camille@gmail.com</email>
</author>
<published>2023-05-17T10:29:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4bbdb64016a0a7e1713d7c35b40ed931a47e4d8c'/>
<id>urn:sha1:4bbdb64016a0a7e1713d7c35b40ed931a47e4d8c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove outdated comment.</title>
<updated>2023-05-17T10:26:04+00:00</updated>
<author>
<name>Camille GILLOT</name>
<email>gillot.camille@gmail.com</email>
</author>
<published>2023-05-17T10:26:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ae318e34449c0b8d92f4067d68fda604bac5da82'/>
<id>urn:sha1:ae318e34449c0b8d92f4067d68fda604bac5da82</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Preprocess dominator tree to answer queries in O(1)</title>
<updated>2023-05-17T09:36:12+00:00</updated>
<author>
<name>Tomasz Miąsko</name>
<email>tomasz.miasko@gmail.com</email>
</author>
<published>2023-01-21T00:00:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=aa1267f630e01d19dcd9247ffb3a795aba0df461'/>
<id>urn:sha1:aa1267f630e01d19dcd9247ffb3a795aba0df461</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Process current bucket instead of parent's bucket when starting loop for dominators.</title>
<updated>2023-05-15T16:16:34+00:00</updated>
<author>
<name>Camille GILLOT</name>
<email>gillot.camille@gmail.com</email>
</author>
<published>2023-05-15T13:09:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=84339a6f0577b2bd9526383d2a6e3bda7b59c920'/>
<id>urn:sha1:84339a6f0577b2bd9526383d2a6e3bda7b59c920</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Start node has no immediate dominator</title>
<updated>2023-05-14T14:09:58+00:00</updated>
<author>
<name>Tomasz Miąsko</name>
<email>tomasz.miasko@gmail.com</email>
</author>
<published>2023-05-14T00:00:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f16d2b1629d62db306bd9d03676524dc848c94b4'/>
<id>urn:sha1:f16d2b1629d62db306bd9d03676524dc848c94b4</id>
<content type='text'>
Change the immediate_dominator return type to Option, and use None to
indicate that node has no immediate dominator.

Also fix the issue where the start node would be returned as its own
immediate dominator.
</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>Fix some clippy::complexity</title>
<updated>2023-04-09T21:22:14+00:00</updated>
<author>
<name>Nilstrieb</name>
<email>48135649+Nilstrieb@users.noreply.github.com</email>
</author>
<published>2023-04-09T21:07:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=81c320ea7786a2b5a07a165aedacb438ae14fd74'/>
<id>urn:sha1:81c320ea7786a2b5a07a165aedacb438ae14fd74</id>
<content type='text'>
</content>
</entry>
</feed>
