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 /compiler/rustc_codegen_llvm/src | |
| parent | cba14074bb4cc12bfe918eabd0d52a3999b2a461 (diff) | |
| parent | ccc1da247bf3be7e71932844484847da6e35f185 (diff) | |
| download | rust-9a767b6b9e1e53c3cfc25103ed7c88d77ee65d5d.tar.gz rust-9a767b6b9e1e53c3cfc25103ed7c88d77ee65d5d.zip | |
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 'compiler/rustc_codegen_llvm/src')
0 files changed, 0 insertions, 0 deletions
