diff options
Diffstat (limited to 'tests/mir-opt/dest-prop/cycle.main.DestinationPropagation.panic-unwind.diff')
-rw-r--r-- | tests/mir-opt/dest-prop/cycle.main.DestinationPropagation.panic-unwind.diff | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/tests/mir-opt/dest-prop/cycle.main.DestinationPropagation.panic-unwind.diff b/tests/mir-opt/dest-prop/cycle.main.DestinationPropagation.panic-unwind.diff new file mode 100644 index 000000000..6f6e01d37 --- /dev/null +++ b/tests/mir-opt/dest-prop/cycle.main.DestinationPropagation.panic-unwind.diff @@ -0,0 +1,71 @@ +- // MIR for `main` before DestinationPropagation ++ // MIR for `main` after DestinationPropagation + + fn main() -> () { + let mut _0: (); + let mut _1: i32; + let mut _4: i32; + let _5: (); + let mut _6: i32; + scope 1 { +- debug x => _1; ++ debug x => _6; + let _2: i32; + scope 2 { +- debug y => _2; ++ debug y => _6; + let _3: i32; + scope 3 { +- debug z => _3; ++ debug z => _6; + } + } + } + + bb0: { +- StorageLive(_1); +- _1 = val() -> [return: bb1, unwind continue]; ++ nop; ++ _6 = val() -> [return: bb1, unwind continue]; + } + + bb1: { +- StorageLive(_2); +- _2 = _1; +- StorageLive(_3); +- _3 = _2; +- StorageLive(_4); +- _4 = _3; +- _1 = move _4; +- StorageDead(_4); ++ nop; ++ nop; ++ nop; ++ nop; ++ nop; ++ nop; ++ nop; ++ nop; + StorageLive(_5); +- StorageLive(_6); +- _6 = _1; ++ nop; ++ nop; + _5 = std::mem::drop::<i32>(move _6) -> [return: bb2, unwind continue]; + } + + bb2: { +- StorageDead(_6); ++ nop; + StorageDead(_5); + _0 = const (); +- StorageDead(_3); +- StorageDead(_2); +- StorageDead(_1); ++ nop; ++ nop; ++ nop; + return; + } + } + |