- // MIR for `dont_opt` before InstCombine + // MIR for `dont_opt` after InstCombine fn dont_opt() -> u64 { let mut _0: u64; // return place in scope 0 at $DIR/inst_combine_deref.rs:43:18: 43:21 let _1: i32; // in scope 0 at $DIR/inst_combine_deref.rs:44:9: 44:10 let mut _5: &i32; // in scope 0 at $DIR/inst_combine_deref.rs:48:10: 48:14 scope 1 { debug y => _1; // in scope 1 at $DIR/inst_combine_deref.rs:44:9: 44:10 let _2: &i32; // in scope 1 at $DIR/inst_combine_deref.rs:45:9: 45:13 scope 2 { debug _ref => _2; // in scope 2 at $DIR/inst_combine_deref.rs:45:9: 45:13 let _3: i32; // in scope 2 at $DIR/inst_combine_deref.rs:46:9: 46:10 scope 3 { debug x => _3; // in scope 3 at $DIR/inst_combine_deref.rs:46:9: 46:10 let mut _4: &i32; // in scope 3 at $DIR/inst_combine_deref.rs:47:9: 47:15 scope 4 { debug _1 => _4; // in scope 4 at $DIR/inst_combine_deref.rs:47:9: 47:15 let _6: i32; // in scope 4 at $DIR/inst_combine_deref.rs:49:9: 49:11 scope 5 { debug _4 => _6; // in scope 5 at $DIR/inst_combine_deref.rs:49:9: 49:11 } } } } } bb0: { StorageLive(_1); // scope 0 at $DIR/inst_combine_deref.rs:44:9: 44:10 _1 = const 5_i32; // scope 0 at $DIR/inst_combine_deref.rs:44:13: 44:14 StorageLive(_2); // scope 1 at $DIR/inst_combine_deref.rs:45:9: 45:13 _2 = &_1; // scope 1 at $DIR/inst_combine_deref.rs:45:16: 45:18 StorageLive(_3); // scope 2 at $DIR/inst_combine_deref.rs:46:9: 46:10 _3 = const 5_i32; // scope 2 at $DIR/inst_combine_deref.rs:46:13: 46:14 StorageLive(_4); // scope 3 at $DIR/inst_combine_deref.rs:47:9: 47:15 _4 = &_3; // scope 3 at $DIR/inst_combine_deref.rs:47:18: 47:20 StorageLive(_5); // scope 4 at $DIR/inst_combine_deref.rs:48:10: 48:14 - _5 = &(*_2); // scope 4 at $DIR/inst_combine_deref.rs:48:10: 48:14 + _5 = _2; // scope 4 at $DIR/inst_combine_deref.rs:48:10: 48:14 _4 = move _5; // scope 4 at $DIR/inst_combine_deref.rs:48:5: 48:14 StorageDead(_5); // scope 4 at $DIR/inst_combine_deref.rs:48:13: 48:14 StorageLive(_6); // scope 4 at $DIR/inst_combine_deref.rs:49:9: 49:11 _6 = (*_4); // scope 4 at $DIR/inst_combine_deref.rs:49:14: 49:17 _0 = const 0_u64; // scope 5 at $DIR/inst_combine_deref.rs:50:5: 50:6 StorageDead(_6); // scope 4 at $DIR/inst_combine_deref.rs:51:1: 51:2 StorageDead(_4); // scope 3 at $DIR/inst_combine_deref.rs:51:1: 51:2 StorageDead(_3); // scope 2 at $DIR/inst_combine_deref.rs:51:1: 51:2 StorageDead(_2); // scope 1 at $DIR/inst_combine_deref.rs:51:1: 51:2 StorageDead(_1); // scope 0 at $DIR/inst_combine_deref.rs:51:1: 51:2 return; // scope 0 at $DIR/inst_combine_deref.rs:51:2: 51:2 } }