diff options
| author | bors <bors@rust-lang.org> | 2025-09-07 23:36:21 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2025-09-07 23:36:21 +0000 |
| commit | 2f3f27bf79ec147fec9d2e7980605307a74067f4 (patch) | |
| tree | 95dc358bf9879a89e9f74d97958b60d02e4d6de6 /src/librustdoc/scrape_examples.rs | |
| parent | 12eb345e5593a10e61b4aef766076c8bd552fea6 (diff) | |
| parent | 5d0e66d451b0da5e7a712d5f9e041e5bbbbb0255 (diff) | |
| download | rust-2f3f27bf79ec147fec9d2e7980605307a74067f4.tar.gz rust-2f3f27bf79ec147fec9d2e7980605307a74067f4.zip | |
Auto merge of #145541 - cjgillot:dest-prop-live-range, r=Amanieu
Reimplement DestinationPropagation according to live ranges. This PR reimplements DestinationPropagation as a problem of merging live-ranges of locals. We merge locals that have disjoint live-ranges. This allows merging several locals in the same round by updating live range information. Live ranges are mainly computed using the `MaybeLiveLocals` analysis. The subtlety is that we split each statement and terminator in 2 positions. The first position is the regular statement. The second position is a shadow, which is always more live. It encodes partial writes and dead writes as a local being live for half a statement. This half statement ensures that writes conflict with another local's writes and regular liveness. r? `@Amanieu`
Diffstat (limited to 'src/librustdoc/scrape_examples.rs')
0 files changed, 0 insertions, 0 deletions
