rust/tests/mir-opt/reference_prop.maybe_dead.ReferencePropagation.diff
2024-08-18 16:07:33 -07:00

48 lines
1.1 KiB
Diff

- // MIR for `maybe_dead` before ReferencePropagation
+ // MIR for `maybe_dead` after ReferencePropagation
fn maybe_dead(_1: bool) -> () {
let mut _0: ();
let mut _2: i32;
let mut _3: i32;
let mut _4: &i32;
let mut _5: &mut i32;
let mut _6: i32;
let mut _7: i32;
let mut _8: i32;
bb0: {
StorageLive(_2);
StorageLive(_3);
_2 = const 5_i32;
_3 = const 5_i32;
_4 = &_2;
_5 = &mut _3;
(*_5) = const 7_i32;
- _6 = copy (*_4);
+ _6 = copy _2;
switchInt(copy _1) -> [1: bb1, otherwise: bb2];
}
bb1: {
StorageDead(_2);
StorageDead(_3);
_0 = opaque::<i32>(copy _6) -> [return: bb2, unwind continue];
}
bb2: {
_7 = copy (*_4);
_0 = opaque::<i32>(copy _7) -> [return: bb3, unwind continue];
}
bb3: {
_8 = copy (*_5);
_0 = opaque::<i32>(copy _8) -> [return: bb4, unwind continue];
}
bb4: {
return;
}
}