]> git.lizzy.rs Git - rust.git/blob - tests/mir-opt/lower_intrinsics.f_copy_nonoverlapping.LowerIntrinsics.diff
Rollup merge of #105526 - Xiretza:iter-from-generator-derive, r=scottmcm
[rust.git] / tests / mir-opt / lower_intrinsics.f_copy_nonoverlapping.LowerIntrinsics.diff
1 - // MIR for `f_copy_nonoverlapping` before LowerIntrinsics
2 + // MIR for `f_copy_nonoverlapping` after LowerIntrinsics
3   
4   fn f_copy_nonoverlapping() -> () {
5       let mut _0: ();                      // return place in scope 0 at $DIR/lower_intrinsics.rs:+0:32: +0:32
6       let _1: ();                          // in scope 0 at $DIR/lower_intrinsics.rs:+1:9: +1:12
7       let _3: ();                          // in scope 0 at $DIR/lower_intrinsics.rs:+4:9: +4:95
8       let mut _4: *const i32;              // in scope 0 at $DIR/lower_intrinsics.rs:+4:29: +4:59
9       let mut _5: *const ();               // in scope 0 at $DIR/lower_intrinsics.rs:+4:29: +4:45
10       let mut _6: *const ();               // in scope 0 at $DIR/lower_intrinsics.rs:+4:29: +4:45
11       let _7: &();                         // in scope 0 at $DIR/lower_intrinsics.rs:+4:29: +4:33
12       let mut _8: *mut i32;                // in scope 0 at $DIR/lower_intrinsics.rs:+4:61: +4:91
13       let mut _9: *mut ();                 // in scope 0 at $DIR/lower_intrinsics.rs:+4:61: +4:79
14       let mut _10: *mut ();                // in scope 0 at $DIR/lower_intrinsics.rs:+4:61: +4:79
15       let mut _11: &mut ();                // in scope 0 at $DIR/lower_intrinsics.rs:+4:61: +4:69
16       scope 1 {
17           debug src => _1;                 // in scope 1 at $DIR/lower_intrinsics.rs:+1:9: +1:12
18           let mut _2: ();                  // in scope 1 at $DIR/lower_intrinsics.rs:+2:9: +2:16
19           scope 2 {
20               debug dst => _2;             // in scope 2 at $DIR/lower_intrinsics.rs:+2:9: +2:16
21               scope 3 {
22               }
23           }
24       }
25   
26       bb0: {
27           StorageLive(_1);                 // scope 0 at $DIR/lower_intrinsics.rs:+1:9: +1:12
28           Deinit(_1);                      // scope 0 at $DIR/lower_intrinsics.rs:+1:15: +1:17
29           StorageLive(_2);                 // scope 1 at $DIR/lower_intrinsics.rs:+2:9: +2:16
30           Deinit(_2);                      // scope 1 at $DIR/lower_intrinsics.rs:+2:19: +2:21
31           StorageLive(_3);                 // scope 3 at $DIR/lower_intrinsics.rs:+4:9: +4:95
32           StorageLive(_4);                 // scope 3 at $DIR/lower_intrinsics.rs:+4:29: +4:59
33           StorageLive(_5);                 // scope 3 at $DIR/lower_intrinsics.rs:+4:29: +4:45
34           StorageLive(_6);                 // scope 3 at $DIR/lower_intrinsics.rs:+4:29: +4:45
35           StorageLive(_7);                 // scope 3 at $DIR/lower_intrinsics.rs:+4:29: +4:33
36           _7 = &_1;                        // scope 3 at $DIR/lower_intrinsics.rs:+4:29: +4:33
37           _6 = &raw const (*_7);           // scope 3 at $DIR/lower_intrinsics.rs:+4:29: +4:33
38           _5 = _6;                         // scope 3 at $DIR/lower_intrinsics.rs:+4:29: +4:45
39           _4 = move _5 as *const i32 (PtrToPtr); // scope 3 at $DIR/lower_intrinsics.rs:+4:29: +4:59
40           StorageDead(_5);                 // scope 3 at $DIR/lower_intrinsics.rs:+4:58: +4:59
41           StorageLive(_8);                 // scope 3 at $DIR/lower_intrinsics.rs:+4:61: +4:91
42           StorageLive(_9);                 // scope 3 at $DIR/lower_intrinsics.rs:+4:61: +4:79
43           StorageLive(_10);                // scope 3 at $DIR/lower_intrinsics.rs:+4:61: +4:79
44           StorageLive(_11);                // scope 3 at $DIR/lower_intrinsics.rs:+4:61: +4:69
45           _11 = &mut _2;                   // scope 3 at $DIR/lower_intrinsics.rs:+4:61: +4:69
46           _10 = &raw mut (*_11);           // scope 3 at $DIR/lower_intrinsics.rs:+4:61: +4:69
47           _9 = _10;                        // scope 3 at $DIR/lower_intrinsics.rs:+4:61: +4:79
48           _8 = move _9 as *mut i32 (PtrToPtr); // scope 3 at $DIR/lower_intrinsics.rs:+4:61: +4:91
49           StorageDead(_9);                 // scope 3 at $DIR/lower_intrinsics.rs:+4:90: +4:91
50 -         _3 = copy_nonoverlapping::<i32>(move _4, move _8, const 0_usize) -> bb1; // scope 3 at $DIR/lower_intrinsics.rs:+4:9: +4:95
51 -                                          // mir::Constant
52 -                                          // + span: $DIR/lower_intrinsics.rs:65:9: 65:28
53 -                                          // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(*const i32, *mut i32, usize) {copy_nonoverlapping::<i32>}, val: Value(<ZST>) }
54 +         copy_nonoverlapping(dst = move _8, src = move _4, count = const 0_usize); // scope 3 at $DIR/lower_intrinsics.rs:+4:9: +4:95
55 +         goto -> bb1;                     // scope 3 at $DIR/lower_intrinsics.rs:+4:9: +4:95
56       }
57   
58       bb1: {
59           StorageDead(_8);                 // scope 3 at $DIR/lower_intrinsics.rs:+4:94: +4:95
60           StorageDead(_4);                 // scope 3 at $DIR/lower_intrinsics.rs:+4:94: +4:95
61           StorageDead(_11);                // scope 3 at $DIR/lower_intrinsics.rs:+4:95: +4:96
62           StorageDead(_10);                // scope 3 at $DIR/lower_intrinsics.rs:+4:95: +4:96
63           StorageDead(_7);                 // scope 3 at $DIR/lower_intrinsics.rs:+4:95: +4:96
64           StorageDead(_6);                 // scope 3 at $DIR/lower_intrinsics.rs:+4:95: +4:96
65           StorageDead(_3);                 // scope 3 at $DIR/lower_intrinsics.rs:+4:95: +4:96
66           _0 = const ();                   // scope 3 at $DIR/lower_intrinsics.rs:+3:5: +5:6
67           StorageDead(_2);                 // scope 1 at $DIR/lower_intrinsics.rs:+6:1: +6:2
68           StorageDead(_1);                 // scope 0 at $DIR/lower_intrinsics.rs:+6:1: +6:2
69           return;                          // scope 0 at $DIR/lower_intrinsics.rs:+6:2: +6:2
70       }
71   }
72