- // MIR for `remove_storage_dead_from_index` before GVN + // MIR for `remove_storage_dead_from_index` after GVN fn remove_storage_dead_from_index(_1: fn() -> usize, _2: [SameType; 5]) -> SameType { let mut _0: SameType; let mut _3: usize; let mut _4: i32; let mut _5: i32; bb0: { - StorageLive(_3); + nop; _3 = copy _1() -> [return: bb1, unwind unreachable]; } bb1: { _4 = copy (_2[_3].0: i32); _5 = copy (_2[_3].1: i32); - StorageDead(_3); - _0 = SameType { a: copy _4, b: copy _5 }; + nop; + _0 = copy _2[_3]; return; } }