rust/tests/mir-opt/reference_prop.maybe_dead.ReferencePropagation.diff

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

48 lines
1.1 KiB
Diff
Raw Permalink Normal View History

- // MIR for `maybe_dead` before ReferencePropagation
+ // MIR for `maybe_dead` after ReferencePropagation
fn maybe_dead(_1: bool) -> () {
2023-06-06 08:47:00 -05:00
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: {
2023-06-06 08:47:00 -05:00
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: {
2023-06-06 08:47:00 -05:00
StorageDead(_2);
StorageDead(_3);
2023-06-23 11:53:09 -05:00
_0 = opaque::<i32>(copy _6) -> [return: bb2, unwind continue];
}
bb2: {
2023-06-06 08:47:00 -05:00
_7 = copy (*_4);
2023-06-23 11:53:09 -05:00
_0 = opaque::<i32>(copy _7) -> [return: bb3, unwind continue];
}
bb3: {
2023-06-06 08:47:00 -05:00
_8 = copy (*_5);
2023-06-23 11:53:09 -05:00
_0 = opaque::<i32>(copy _8) -> [return: bb4, unwind continue];
}
bb4: {
2023-06-06 08:47:00 -05:00
return;
}
}