4499daac77
API changes resulted in subtle MIR and impl differences
84 lines
6.1 KiB
Diff
84 lines
6.1 KiB
Diff
- // MIR for `wrapping` before LowerIntrinsics
|
|
+ // MIR for `wrapping` after LowerIntrinsics
|
|
|
|
fn wrapping(_1: i32, _2: i32) -> () {
|
|
debug a => _1; // in scope 0 at $DIR/lower_intrinsics.rs:+0:17: +0:18
|
|
debug b => _2; // in scope 0 at $DIR/lower_intrinsics.rs:+0:25: +0:26
|
|
let mut _0: (); // return place in scope 0 at $DIR/lower_intrinsics.rs:+0:33: +0:33
|
|
let _3: i32; // in scope 0 at $DIR/lower_intrinsics.rs:+1:9: +1:11
|
|
let mut _4: i32; // in scope 0 at $DIR/lower_intrinsics.rs:+1:45: +1:46
|
|
let mut _5: i32; // in scope 0 at $DIR/lower_intrinsics.rs:+1:48: +1:49
|
|
let mut _7: i32; // in scope 0 at $DIR/lower_intrinsics.rs:+2:45: +2:46
|
|
let mut _8: i32; // in scope 0 at $DIR/lower_intrinsics.rs:+2:48: +2:49
|
|
let mut _10: i32; // in scope 0 at $DIR/lower_intrinsics.rs:+3:45: +3:46
|
|
let mut _11: i32; // in scope 0 at $DIR/lower_intrinsics.rs:+3:48: +3:49
|
|
scope 1 {
|
|
debug _x => _3; // in scope 1 at $DIR/lower_intrinsics.rs:+1:9: +1:11
|
|
let _6: i32; // in scope 1 at $DIR/lower_intrinsics.rs:+2:9: +2:11
|
|
scope 2 {
|
|
debug _y => _6; // in scope 2 at $DIR/lower_intrinsics.rs:+2:9: +2:11
|
|
let _9: i32; // in scope 2 at $DIR/lower_intrinsics.rs:+3:9: +3:11
|
|
scope 3 {
|
|
debug _z => _9; // in scope 3 at $DIR/lower_intrinsics.rs:+3:9: +3:11
|
|
}
|
|
}
|
|
}
|
|
|
|
bb0: {
|
|
StorageLive(_3); // scope 0 at $DIR/lower_intrinsics.rs:+1:9: +1:11
|
|
StorageLive(_4); // scope 0 at $DIR/lower_intrinsics.rs:+1:45: +1:46
|
|
_4 = _1; // scope 0 at $DIR/lower_intrinsics.rs:+1:45: +1:46
|
|
StorageLive(_5); // scope 0 at $DIR/lower_intrinsics.rs:+1:48: +1:49
|
|
_5 = _2; // scope 0 at $DIR/lower_intrinsics.rs:+1:48: +1:49
|
|
- _3 = std::intrinsics::wrapping_add::<i32>(move _4, move _5) -> [return: bb1, unwind unreachable]; // scope 0 at $DIR/lower_intrinsics.rs:+1:14: +1:50
|
|
- // mir::Constant
|
|
- // + span: $DIR/lower_intrinsics.rs:9:14: 9:44
|
|
- // + literal: Const { ty: extern "rust-intrinsic" fn(i32, i32) -> i32 {std::intrinsics::wrapping_add::<i32>}, val: Value(<ZST>) }
|
|
+ _3 = Add(move _4, move _5); // scope 0 at $DIR/lower_intrinsics.rs:+1:14: +1:50
|
|
+ goto -> bb1; // scope 0 at $DIR/lower_intrinsics.rs:+1:14: +1:50
|
|
}
|
|
|
|
bb1: {
|
|
StorageDead(_5); // scope 0 at $DIR/lower_intrinsics.rs:+1:49: +1:50
|
|
StorageDead(_4); // scope 0 at $DIR/lower_intrinsics.rs:+1:49: +1:50
|
|
StorageLive(_6); // scope 1 at $DIR/lower_intrinsics.rs:+2:9: +2:11
|
|
StorageLive(_7); // scope 1 at $DIR/lower_intrinsics.rs:+2:45: +2:46
|
|
_7 = _1; // scope 1 at $DIR/lower_intrinsics.rs:+2:45: +2:46
|
|
StorageLive(_8); // scope 1 at $DIR/lower_intrinsics.rs:+2:48: +2:49
|
|
_8 = _2; // scope 1 at $DIR/lower_intrinsics.rs:+2:48: +2:49
|
|
- _6 = std::intrinsics::wrapping_sub::<i32>(move _7, move _8) -> [return: bb2, unwind unreachable]; // scope 1 at $DIR/lower_intrinsics.rs:+2:14: +2:50
|
|
- // mir::Constant
|
|
- // + span: $DIR/lower_intrinsics.rs:10:14: 10:44
|
|
- // + literal: Const { ty: extern "rust-intrinsic" fn(i32, i32) -> i32 {std::intrinsics::wrapping_sub::<i32>}, val: Value(<ZST>) }
|
|
+ _6 = Sub(move _7, move _8); // scope 1 at $DIR/lower_intrinsics.rs:+2:14: +2:50
|
|
+ goto -> bb2; // scope 1 at $DIR/lower_intrinsics.rs:+2:14: +2:50
|
|
}
|
|
|
|
bb2: {
|
|
StorageDead(_8); // scope 1 at $DIR/lower_intrinsics.rs:+2:49: +2:50
|
|
StorageDead(_7); // scope 1 at $DIR/lower_intrinsics.rs:+2:49: +2:50
|
|
StorageLive(_9); // scope 2 at $DIR/lower_intrinsics.rs:+3:9: +3:11
|
|
StorageLive(_10); // scope 2 at $DIR/lower_intrinsics.rs:+3:45: +3:46
|
|
_10 = _1; // scope 2 at $DIR/lower_intrinsics.rs:+3:45: +3:46
|
|
StorageLive(_11); // scope 2 at $DIR/lower_intrinsics.rs:+3:48: +3:49
|
|
_11 = _2; // scope 2 at $DIR/lower_intrinsics.rs:+3:48: +3:49
|
|
- _9 = wrapping_mul::<i32>(move _10, move _11) -> [return: bb3, unwind unreachable]; // scope 2 at $DIR/lower_intrinsics.rs:+3:14: +3:50
|
|
- // mir::Constant
|
|
- // + span: $DIR/lower_intrinsics.rs:11:14: 11:44
|
|
- // + literal: Const { ty: extern "rust-intrinsic" fn(i32, i32) -> i32 {wrapping_mul::<i32>}, val: Value(<ZST>) }
|
|
+ _9 = Mul(move _10, move _11); // scope 2 at $DIR/lower_intrinsics.rs:+3:14: +3:50
|
|
+ goto -> bb3; // scope 2 at $DIR/lower_intrinsics.rs:+3:14: +3:50
|
|
}
|
|
|
|
bb3: {
|
|
StorageDead(_11); // scope 2 at $DIR/lower_intrinsics.rs:+3:49: +3:50
|
|
StorageDead(_10); // scope 2 at $DIR/lower_intrinsics.rs:+3:49: +3:50
|
|
_0 = const (); // scope 0 at $DIR/lower_intrinsics.rs:+0:33: +4:2
|
|
StorageDead(_9); // scope 2 at $DIR/lower_intrinsics.rs:+4:1: +4:2
|
|
StorageDead(_6); // scope 1 at $DIR/lower_intrinsics.rs:+4:1: +4:2
|
|
StorageDead(_3); // scope 0 at $DIR/lower_intrinsics.rs:+4:1: +4:2
|
|
return; // scope 0 at $DIR/lower_intrinsics.rs:+4:2: +4:2
|
|
}
|
|
}
|
|
|