- // MIR for `dereference_reborrow` before GVN + // MIR for `dereference_reborrow` after GVN fn dereference_reborrow(_1: &mut u8) -> () { debug mut_a => _1; let mut _0: (); let _2: &u8; scope 1 { debug a => _2; let _3: u8; scope 2 { debug b => _3; let _4: u8; scope 3 { debug c => _4; } } } bb0: { StorageLive(_2); _2 = &(*_1); - StorageLive(_3); + nop; _3 = copy (*_2); StorageLive(_4); - _4 = copy (*_2); + _4 = copy _3; _0 = const (); StorageDead(_4); - StorageDead(_3); + nop; StorageDead(_2); return; } }