- // 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 = wrapping_add::(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 {wrapping_add::}, val: Value() } + _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 = wrapping_sub::(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 {wrapping_sub::}, val: Value() } + _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::(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::}, val: Value() } + _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 } }