about summary refs log tree commit diff
path: root/src/test/debuginfo/enum-thinlto.rs
diff options
context:
space:
mode:
authorMazdak Farrokhzad <twingoow@gmail.com>2019-11-09 07:18:27 +0100
committerGitHub <noreply@github.com>2019-11-09 07:18:27 +0100
commitaaceeded9ee7a05d5bea960ae6fdf3b7af8d2163 (patch)
tree5fa2580eeedb248f91ce3f129d48b30985895259 /src/test/debuginfo/enum-thinlto.rs
parent475c713b2f8c41eb06fd1a65f226c77f84fea4a5 (diff)
parenta3b03690c07f72ed802e4e77501960482c7c2661 (diff)
downloadrust-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