Auto merge of #96549 - ouz-a:mir-opt, r=oli-obk

Move Derefer before Retag

_Follow up work to #96116 #95857 #95649_

This moves `Derefer` before `Retag` and creates a new `LocalInfo` called `Temp` to avoid retagging created temp values.

Zulip discussion [link](https://rust-lang.zulipchat.com/#narrow/stream/189540-t-compiler.2Fwg-mir-opt/topic/deref.20as.20first.20and.20only.20projection)

r? `@oli-obk`
This commit is contained in:
bors 2022-05-01 15:25:16 +00:00
commit 6eda7642bd
35 changed files with 69 additions and 148 deletions

View file

@ -1087,6 +1087,8 @@ pub enum LocalInfo<'tcx> {
/// A temporary created during the creation of an aggregate
/// (e.g. a temporary for `foo` in `MyStruct { my_field: foo }`)
AggregateTemp,
/// A temporary created during the pass `Derefer` to avoid it's retagging
DerefTemp,
}
impl<'tcx> LocalDecl<'tcx> {