rust/tests/mir-opt/dest-prop/unreachable.f.DestinationPropagation.diff
2023-04-06 10:08:07 +01:00

87 lines
5.4 KiB
Diff

- // MIR for `f` before DestinationPropagation
+ // MIR for `f` after DestinationPropagation
fn f(_1: T) -> () {
debug a => _1; // in scope 0 at $DIR/unreachable.rs:+0:19: +0:20
let mut _0: (); // return place in scope 0 at $DIR/unreachable.rs:+0:25: +0:25
let _2: T; // in scope 0 at $DIR/unreachable.rs:+1:9: +1:10
let mut _3: bool; // in scope 0 at $DIR/unreachable.rs:+2:8: +2:13
let _4: (); // in scope 0 at $DIR/unreachable.rs:+3:9: +3:16
let mut _5: T; // in scope 0 at $DIR/unreachable.rs:+3:11: +3:12
let mut _6: T; // in scope 0 at $DIR/unreachable.rs:+3:14: +3:15
let _7: (); // in scope 0 at $DIR/unreachable.rs:+5:9: +5:16
let mut _8: T; // in scope 0 at $DIR/unreachable.rs:+5:11: +5:12
let mut _9: T; // in scope 0 at $DIR/unreachable.rs:+5:14: +5:15
scope 1 {
- debug b => _2; // in scope 1 at $DIR/unreachable.rs:+1:9: +1:10
+ debug b => _1; // in scope 1 at $DIR/unreachable.rs:+1:9: +1:10
}
bb0: {
- StorageLive(_2); // scope 0 at $DIR/unreachable.rs:+1:9: +1:10
- _2 = _1; // scope 0 at $DIR/unreachable.rs:+1:13: +1:14
+ nop; // scope 0 at $DIR/unreachable.rs:+1:9: +1:10
+ nop; // scope 0 at $DIR/unreachable.rs:+1:13: +1:14
StorageLive(_3); // scope 1 at $DIR/unreachable.rs:+2:8: +2:13
_3 = const false; // scope 1 at $DIR/unreachable.rs:+2:8: +2:13
- goto -> bb3; // scope 1 at $DIR/unreachable.rs:+2:8: +2:13
+ goto -> bb1; // scope 1 at $DIR/unreachable.rs:+2:8: +2:13
}
bb1: {
- StorageLive(_4); // scope 1 at $DIR/unreachable.rs:+3:9: +3:16
- StorageLive(_5); // scope 1 at $DIR/unreachable.rs:+3:11: +3:12
- _5 = _1; // scope 1 at $DIR/unreachable.rs:+3:11: +3:12
- StorageLive(_6); // scope 1 at $DIR/unreachable.rs:+3:14: +3:15
- _6 = _2; // scope 1 at $DIR/unreachable.rs:+3:14: +3:15
- _4 = g::<T>(move _5, move _6) -> bb2; // scope 1 at $DIR/unreachable.rs:+3:9: +3:16
- // mir::Constant
- // + span: $DIR/unreachable.rs:12:9: 12:10
- // + literal: Const { ty: fn(T, T) {g::<T>}, val: Value(<ZST>) }
- }
-
- bb2: {
- StorageDead(_6); // scope 1 at $DIR/unreachable.rs:+3:15: +3:16
- StorageDead(_5); // scope 1 at $DIR/unreachable.rs:+3:15: +3:16
- StorageDead(_4); // scope 1 at $DIR/unreachable.rs:+3:16: +3:17
- _0 = const (); // scope 1 at $DIR/unreachable.rs:+2:14: +4:6
- goto -> bb5; // scope 1 at $DIR/unreachable.rs:+2:5: +6:6
- }
-
- bb3: {
StorageLive(_7); // scope 1 at $DIR/unreachable.rs:+5:9: +5:16
- StorageLive(_8); // scope 1 at $DIR/unreachable.rs:+5:11: +5:12
- _8 = _2; // scope 1 at $DIR/unreachable.rs:+5:11: +5:12
+ nop; // scope 1 at $DIR/unreachable.rs:+5:11: +5:12
+ nop; // scope 1 at $DIR/unreachable.rs:+5:11: +5:12
StorageLive(_9); // scope 1 at $DIR/unreachable.rs:+5:14: +5:15
- _9 = _2; // scope 1 at $DIR/unreachable.rs:+5:14: +5:15
- _7 = g::<T>(move _8, move _9) -> bb4; // scope 1 at $DIR/unreachable.rs:+5:9: +5:16
+ _9 = _1; // scope 1 at $DIR/unreachable.rs:+5:14: +5:15
+ _7 = g::<T>(move _1, move _9) -> bb2; // scope 1 at $DIR/unreachable.rs:+5:9: +5:16
// mir::Constant
// + span: $DIR/unreachable.rs:14:9: 14:10
// + literal: Const { ty: fn(T, T) {g::<T>}, val: Value(<ZST>) }
}
- bb4: {
+ bb2: {
StorageDead(_9); // scope 1 at $DIR/unreachable.rs:+5:15: +5:16
- StorageDead(_8); // scope 1 at $DIR/unreachable.rs:+5:15: +5:16
+ nop; // scope 1 at $DIR/unreachable.rs:+5:15: +5:16
StorageDead(_7); // scope 1 at $DIR/unreachable.rs:+5:16: +5:17
_0 = const (); // scope 1 at $DIR/unreachable.rs:+4:12: +6:6
- goto -> bb5; // scope 1 at $DIR/unreachable.rs:+2:5: +6:6
+ goto -> bb3; // scope 1 at $DIR/unreachable.rs:+2:5: +6:6
}
- bb5: {
+ bb3: {
StorageDead(_3); // scope 1 at $DIR/unreachable.rs:+6:5: +6:6
- StorageDead(_2); // scope 0 at $DIR/unreachable.rs:+7:1: +7:2
+ nop; // scope 0 at $DIR/unreachable.rs:+7:1: +7:2
return; // scope 0 at $DIR/unreachable.rs:+7:2: +7:2
}
}