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` |
||
|---|---|---|
| .. | ||
| dominators | ||
| implementation | ||
| iterate | ||
| scc | ||
| vec_graph | ||
| mod.rs | ||
| reference.rs | ||
| tests.rs | ||