rust/compiler/rustc_data_structures/src/graph
bors 97d328012b Auto merge of #111673 - cjgillot:dominator-preprocess, r=cjgillot,tmiasko
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`
2023-05-24 16:18:21 +00:00
..
dominators Auto merge of #111673 - cjgillot:dominator-preprocess, r=cjgillot,tmiasko 2023-05-24 16:18:21 +00:00
implementation Fix some clippy::complexity 2023-04-09 23:22:14 +02:00
iterate Split {Idx, IndexVec, IndexSlice} into their own modules 2023-04-24 13:53:35 +00:00
scc Split {Idx, IndexVec, IndexSlice} into their own modules 2023-04-24 13:53:35 +00:00
vec_graph Split {Idx, IndexVec, IndexSlice} into their own modules 2023-04-24 13:53:35 +00:00
mod.rs Split {Idx, IndexVec, IndexSlice} into their own modules 2023-04-24 13:53:35 +00:00
reference.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
tests.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00