]> git.lizzy.rs Git - rust.git/blob - tests/mir-opt/address_of.borrow_and_cast.SimplifyCfg-initial.after.mir
Rollup merge of #107779 - compiler-errors:issue-107775, r=jackh726
[rust.git] / tests / mir-opt / address_of.borrow_and_cast.SimplifyCfg-initial.after.mir
1 // MIR for `borrow_and_cast` after SimplifyCfg-initial
2
3 fn borrow_and_cast(_1: i32) -> () {
4     debug x => _1;                       // in scope 0 at $DIR/address_of.rs:+0:20: +0:25
5     let mut _0: ();                      // return place in scope 0 at $DIR/address_of.rs:+0:32: +0:32
6     let _2: *const i32;                  // in scope 0 at $DIR/address_of.rs:+1:9: +1:10
7     let _3: &i32;                        // in scope 0 at $DIR/address_of.rs:+1:13: +1:15
8     let _5: &mut i32;                    // in scope 0 at $DIR/address_of.rs:+2:13: +2:19
9     let mut _7: &mut i32;                // in scope 0 at $DIR/address_of.rs:+3:13: +3:19
10     scope 1 {
11         debug p => _2;                   // in scope 1 at $DIR/address_of.rs:+1:9: +1:10
12         let _4: *const i32;              // in scope 1 at $DIR/address_of.rs:+2:9: +2:10
13         scope 2 {
14             debug q => _4;               // in scope 2 at $DIR/address_of.rs:+2:9: +2:10
15             let _6: *mut i32;            // in scope 2 at $DIR/address_of.rs:+3:9: +3:10
16             scope 3 {
17                 debug r => _6;           // in scope 3 at $DIR/address_of.rs:+3:9: +3:10
18             }
19         }
20     }
21
22     bb0: {
23         StorageLive(_2);                 // scope 0 at $DIR/address_of.rs:+1:9: +1:10
24         StorageLive(_3);                 // scope 0 at $DIR/address_of.rs:+1:13: +1:15
25         _3 = &_1;                        // scope 0 at $DIR/address_of.rs:+1:13: +1:15
26         _2 = &raw const (*_3);           // scope 0 at $DIR/address_of.rs:+1:13: +1:15
27         FakeRead(ForLet(None), _2);      // scope 0 at $DIR/address_of.rs:+1:9: +1:10
28         StorageDead(_3);                 // scope 0 at $DIR/address_of.rs:+1:29: +1:30
29         StorageLive(_4);                 // scope 1 at $DIR/address_of.rs:+2:9: +2:10
30         StorageLive(_5);                 // scope 1 at $DIR/address_of.rs:+2:13: +2:19
31         _5 = &mut _1;                    // scope 1 at $DIR/address_of.rs:+2:13: +2:19
32         _4 = &raw const (*_5);           // scope 1 at $DIR/address_of.rs:+2:13: +2:19
33         FakeRead(ForLet(None), _4);      // scope 1 at $DIR/address_of.rs:+2:9: +2:10
34         StorageDead(_5);                 // scope 1 at $DIR/address_of.rs:+2:33: +2:34
35         StorageLive(_6);                 // scope 2 at $DIR/address_of.rs:+3:9: +3:10
36         StorageLive(_7);                 // scope 2 at $DIR/address_of.rs:+3:13: +3:19
37         _7 = &mut _1;                    // scope 2 at $DIR/address_of.rs:+3:13: +3:19
38         _6 = &raw mut (*_7);             // scope 2 at $DIR/address_of.rs:+3:13: +3:19
39         FakeRead(ForLet(None), _6);      // scope 2 at $DIR/address_of.rs:+3:9: +3:10
40         StorageDead(_7);                 // scope 2 at $DIR/address_of.rs:+3:31: +3:32
41         _0 = const ();                   // scope 0 at $DIR/address_of.rs:+0:32: +4:2
42         StorageDead(_6);                 // scope 2 at $DIR/address_of.rs:+4:1: +4:2
43         StorageDead(_4);                 // scope 1 at $DIR/address_of.rs:+4:1: +4:2
44         StorageDead(_2);                 // scope 0 at $DIR/address_of.rs:+4:1: +4:2
45         return;                          // scope 0 at $DIR/address_of.rs:+4:2: +4:2
46     }
47 }