- // MIR for `unchecked` before LowerIntrinsics + // MIR for `unchecked` after LowerIntrinsics fn unchecked(_1: i32, _2: i32) -> () { debug a => _1; // in scope 0 at $DIR/lower_intrinsics.rs:+0:25: +0:26 debug b => _2; // in scope 0 at $DIR/lower_intrinsics.rs:+0:33: +0:34 let mut _0: (); // return place in scope 0 at $DIR/lower_intrinsics.rs:+0:41: +0:41 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:46: +1:47 let mut _5: i32; // in scope 0 at $DIR/lower_intrinsics.rs:+1:49: +1:50 let mut _7: i32; // in scope 0 at $DIR/lower_intrinsics.rs:+2:46: +2:47 let mut _8: i32; // in scope 0 at $DIR/lower_intrinsics.rs:+2:49: +2:50 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 } } bb0: { StorageLive(_3); // scope 0 at $DIR/lower_intrinsics.rs:+1:9: +1:11 StorageLive(_4); // scope 0 at $DIR/lower_intrinsics.rs:+1:46: +1:47 _4 = _1; // scope 0 at $DIR/lower_intrinsics.rs:+1:46: +1:47 StorageLive(_5); // scope 0 at $DIR/lower_intrinsics.rs:+1:49: +1:50 _5 = _2; // scope 0 at $DIR/lower_intrinsics.rs:+1:49: +1:50 - _3 = unchecked_div::(move _4, move _5) -> [return: bb1, unwind unreachable]; // scope 0 at $DIR/lower_intrinsics.rs:+1:14: +1:51 - // mir::Constant - // + span: $DIR/lower_intrinsics.rs:16:14: 16:45 - // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(i32, i32) -> i32 {unchecked_div::}, val: Value() } + _3 = Div(move _4, move _5); // scope 0 at $DIR/lower_intrinsics.rs:+1:14: +1:51 + goto -> bb1; // scope 0 at $DIR/lower_intrinsics.rs:+1:14: +1:51 } bb1: { StorageDead(_5); // scope 0 at $DIR/lower_intrinsics.rs:+1:50: +1:51 StorageDead(_4); // scope 0 at $DIR/lower_intrinsics.rs:+1:50: +1:51 StorageLive(_6); // scope 1 at $DIR/lower_intrinsics.rs:+2:9: +2:11 StorageLive(_7); // scope 1 at $DIR/lower_intrinsics.rs:+2:46: +2:47 _7 = _1; // scope 1 at $DIR/lower_intrinsics.rs:+2:46: +2:47 StorageLive(_8); // scope 1 at $DIR/lower_intrinsics.rs:+2:49: +2:50 _8 = _2; // scope 1 at $DIR/lower_intrinsics.rs:+2:49: +2:50 - _6 = unchecked_rem::(move _7, move _8) -> [return: bb2, unwind unreachable]; // scope 1 at $DIR/lower_intrinsics.rs:+2:14: +2:51 - // mir::Constant - // + span: $DIR/lower_intrinsics.rs:17:14: 17:45 - // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(i32, i32) -> i32 {unchecked_rem::}, val: Value() } + _6 = Rem(move _7, move _8); // scope 1 at $DIR/lower_intrinsics.rs:+2:14: +2:51 + goto -> bb2; // scope 1 at $DIR/lower_intrinsics.rs:+2:14: +2:51 } bb2: { StorageDead(_8); // scope 1 at $DIR/lower_intrinsics.rs:+2:50: +2:51 StorageDead(_7); // scope 1 at $DIR/lower_intrinsics.rs:+2:50: +2:51 _0 = const (); // scope 0 at $DIR/lower_intrinsics.rs:+0:41: +3:2 StorageDead(_6); // scope 1 at $DIR/lower_intrinsics.rs:+3:1: +3:2 StorageDead(_3); // scope 0 at $DIR/lower_intrinsics.rs:+3:1: +3:2 return; // scope 0 at $DIR/lower_intrinsics.rs:+3:2: +3:2 } }