48 lines
1.1 KiB
Diff
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;
|
|
}
|
|
}
|
|
|