Skip to content

Commit c7aa99f

Browse files
committed
Auto merge of rust-lang#142881 - cjgillot:minimap, r=saethlin
JumpThreading: compute place and value indices on-demand Profiling JumpThreading reveals that a large part of the runtime happens constructing the place and value `Map`. This is unfortunate, as jump-threading may end up not even doing anything. The cause for this large up-front cost is following: `Map` attempts to create a `PlaceIndex` for each place that *may* hold a relevant value. This means all places that appear in MIR, but also all places whose value is accessed by a projection of a copy of a larger place. This PR refactors the creation of `Map` to happen on-demand: place and value indices are created when threading computation happens. The up-front mode is still relevant for DataflowConstProp, so is not touched.
2 parents 38ed770 + 9415102 commit c7aa99f

File tree

5 files changed

+443
-324
lines changed

5 files changed

+443
-324
lines changed

0 commit comments

Comments
 (0)