diff options
author | bors <bors@rust-lang.org> | 2023-05-10 20:54:31 +0000 |
---|---|---|
committer | bors <bors@rust-lang.org> | 2023-05-10 20:54:31 +0000 |
commit | 9a767b6b9e1e53c3cfc25103ed7c88d77ee65d5d (patch) | |
tree | 98c9f7d991e6cf7503a1476aab221fa3beb088cd /tests/rustdoc-js-std/parser-errors.js | |
parent | cba14074bb4cc12bfe918eabd0d52a3999b2a461 (diff) | |
parent | ccc1da247bf3be7e71932844484847da6e35f185 (diff) | |
download | rust-9a767b6b9e1e53c3cfc25103ed7c88d77ee65d5d.tar.gz |
Auto merge of #110820 - cjgillot:faster-dcp, r=oli-obk
Optimize dataflow-const-prop place-tracking infra
Optimization opportunities found while investigating https://github.com/rust-lang/rust/pull/110719
Computing places breadth-first ensures that we create short projections before deep projections, since the former are more likely to be propagated.
The most relevant is the pre-computation of flooded places. Callgrind showed `flood_*` methods and especially `preorder_preinvoke` were especially hot. This PR attempts to pre-compute the set of `ValueIndex` that `preorder_invoke` would visit.
Using this information, we make some `PlaceIndex` inaccessible when they contain no `ValueIndex`, allowing to skip computations for those places.
cc `@jachris` as original author
Diffstat (limited to 'tests/rustdoc-js-std/parser-errors.js')
0 files changed, 0 insertions, 0 deletions