diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-11-09 07:18:27 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-11-09 07:18:27 +0100 |
| commit | aaceeded9ee7a05d5bea960ae6fdf3b7af8d2163 (patch) | |
| tree | 5fa2580eeedb248f91ce3f129d48b30985895259 /src/test/debuginfo/enum-thinlto.rs | |
| parent | 475c713b2f8c41eb06fd1a65f226c77f84fea4a5 (diff) | |
| parent | a3b03690c07f72ed802e4e77501960482c7c2661 (diff) | |
| download | rust-aaceeded9ee7a05d5bea960ae6fdf3b7af8d2163.tar.gz rust-aaceeded9ee7a05d5bea960ae6fdf3b7af8d2163.zip | |
Rollup merge of #65949 - ecstatic-morse:promote-only-pass, r=eddyb
Move promotion into its own pass **edited** This adds a `PromoteTemps` pass, which runs after the old `QualifyAndPromoteConsts` pass, that *only* does promotion (no const-checking). Everything related to promotion has been removed from `QualifyAndPromoteConstants`: it no longer even visits the body of a non-const `fn`. As a result we no longer need to keep the `BitSet` of promotable locals that was returned by `mir_const_qualif`. Rvalue-static promotion in a `const` is now done in `promote_consts`, and it operates on a set of `Candidate`s instead. This will allow me–in a later PR–to create promoted MIR fragments for `const`s when necessary, which could resolve some shortcomings of the current approach (removing `StorageDead`). r? @eddyb
Diffstat (limited to 'src/test/debuginfo/enum-thinlto.rs')
0 files changed, 0 insertions, 0 deletions
