diff options
| author | bors <bors@rust-lang.org> | 2017-09-14 12:28:31 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2017-09-14 12:28:31 +0000 |
| commit | 5dfc84cfa72b405c194228b53c4de3f6474204ec (patch) | |
| tree | c29605d0077883e3e5a81fed475f645cd043c93b /src/rustllvm/RustWrapper.cpp | |
| parent | 2b6bc588ca7197bc5d9f212e9e91a2c3811d025c (diff) | |
| parent | 0e8e6592f6650f975fc39bfcdef53ce474c1e7a9 (diff) | |
| download | rust-5dfc84cfa72b405c194228b53c4de3f6474204ec.tar.gz rust-5dfc84cfa72b405c194228b53c4de3f6474204ec.zip | |
Auto merge of #44480 - Zoxc:gen-liveness, r=arielb1
Analyse storage liveness and preserve it during generator transformation This uses a dataflow analysis on `StorageLive` and `StorageDead` statements to infer where the storage of locals are live. The result of this analysis is intersected with the regular liveness analysis such that a local is can only be live when its storage is. This fixes https://github.com/rust-lang/rust/issues/44184. If the storage of a local is live across a suspension point, we'll insert a `StorageLive` statement for it after the suspension point so storage liveness is preserved. This fixes https://github.com/rust-lang/rust/issues/44179. r? @arielb1
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
