]> git.lizzy.rs Git - rust.git/blob - src/test/mir-opt/simplify_try.try_identity.SimplifyBranchSame.after.mir
Rollup merge of #99864 - klensy:bootstrap-art-dupe, r=jyn514
[rust.git] / src / test / mir-opt / simplify_try.try_identity.SimplifyBranchSame.after.mir
1 // MIR for `try_identity` after SimplifyBranchSame
2
3 fn try_identity(_1: Result<u32, i32>) -> Result<u32, i32> {
4     debug x => _1;                       // in scope 0 at $DIR/simplify_try.rs:+0:17: +0:18
5     let mut _0: std::result::Result<u32, i32>; // return place in scope 0 at $DIR/simplify_try.rs:+0:41: +0:57
6     let _2: u32;                         // in scope 0 at $DIR/simplify_try.rs:+1:9: +1:10
7     let mut _3: std::result::Result<u32, i32>; // in scope 0 at $DIR/simplify_try.rs:+1:19: +1:33
8     let mut _4: std::result::Result<u32, i32>; // in scope 0 at $DIR/simplify_try.rs:+1:31: +1:32
9     let mut _5: isize;                   // in scope 0 at $DIR/simplify_try.rs:+2:9: +2:15
10     let _6: i32;                         // in scope 0 at $DIR/simplify_try.rs:+2:13: +2:14
11     let mut _7: !;                       // in scope 0 at $DIR/simplify_try.rs:+2:19: +2:51
12     let mut _8: i32;                     // in scope 0 at $DIR/simplify_try.rs:+2:37: +2:50
13     let mut _9: i32;                     // in scope 0 at $DIR/simplify_try.rs:+2:48: +2:49
14     let _10: u32;                        // in scope 0 at $DIR/simplify_try.rs:+3:12: +3:13
15     let mut _11: u32;                    // in scope 0 at $DIR/simplify_try.rs:+5:8: +5:9
16     scope 1 {
17         debug y => _2;                   // in scope 1 at $DIR/simplify_try.rs:+1:9: +1:10
18     }
19     scope 2 {
20         debug e => _6;                   // in scope 2 at $DIR/simplify_try.rs:+2:13: +2:14
21         scope 5 (inlined <i32 as From<i32>>::from) { // at $DIR/simplify_try.rs:22:37: 22:50
22             debug t => _9;               // in scope 5 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
23         }
24         scope 6 (inlined from_error::<u32, i32>) { // at $DIR/simplify_try.rs:22:26: 22:51
25             debug e => _8;               // in scope 6 at $DIR/simplify_try.rs:+0:21: +0:22
26         }
27     }
28     scope 3 {
29         debug v => _10;                  // in scope 3 at $DIR/simplify_try.rs:+3:12: +3:13
30     }
31     scope 4 (inlined into_result::<u32, i32>) { // at $DIR/simplify_try.rs:21:19: 21:33
32         debug r => _4;                   // in scope 4 at $DIR/simplify_try.rs:+0:22: +0:23
33     }
34
35     bb0: {
36         StorageLive(_2);                 // scope 0 at $DIR/simplify_try.rs:+1:9: +1:10
37         StorageLive(_3);                 // scope 0 at $DIR/simplify_try.rs:+1:19: +1:33
38         StorageLive(_4);                 // scope 0 at $DIR/simplify_try.rs:+1:31: +1:32
39         _4 = _1;                         // scope 0 at $DIR/simplify_try.rs:+1:31: +1:32
40         _3 = move _4;                    // scope 4 at $DIR/simplify_try.rs:+0:5: +0:6
41         StorageDead(_4);                 // scope 0 at $DIR/simplify_try.rs:+1:32: +1:33
42         _5 = discriminant(_3);           // scope 0 at $DIR/simplify_try.rs:+1:19: +1:33
43         switchInt(move _5) -> [0_isize: bb1, otherwise: bb2]; // scope 0 at $DIR/simplify_try.rs:+1:13: +1:33
44     }
45
46     bb1: {
47         StorageLive(_10);                // scope 0 at $DIR/simplify_try.rs:+3:12: +3:13
48         _10 = ((_3 as Ok).0: u32);       // scope 0 at $DIR/simplify_try.rs:+3:12: +3:13
49         _2 = _10;                        // scope 3 at $DIR/simplify_try.rs:+3:18: +3:19
50         StorageDead(_10);                // scope 0 at $DIR/simplify_try.rs:+3:18: +3:19
51         StorageDead(_3);                 // scope 0 at $DIR/simplify_try.rs:+4:6: +4:7
52         StorageLive(_11);                // scope 1 at $DIR/simplify_try.rs:+5:8: +5:9
53         _11 = _2;                        // scope 1 at $DIR/simplify_try.rs:+5:8: +5:9
54         Deinit(_0);                      // scope 1 at $DIR/simplify_try.rs:+5:5: +5:10
55         ((_0 as Ok).0: u32) = move _11;  // scope 1 at $DIR/simplify_try.rs:+5:5: +5:10
56         discriminant(_0) = 0;            // scope 1 at $DIR/simplify_try.rs:+5:5: +5:10
57         StorageDead(_11);                // scope 1 at $DIR/simplify_try.rs:+5:9: +5:10
58         StorageDead(_2);                 // scope 0 at $DIR/simplify_try.rs:+6:1: +6:2
59         return;                          // scope 0 at $DIR/simplify_try.rs:+6:2: +6:2
60     }
61
62     bb2: {
63         StorageLive(_6);                 // scope 0 at $DIR/simplify_try.rs:+2:13: +2:14
64         _6 = ((_3 as Err).0: i32);       // scope 0 at $DIR/simplify_try.rs:+2:13: +2:14
65         StorageLive(_8);                 // scope 2 at $DIR/simplify_try.rs:+2:37: +2:50
66         StorageLive(_9);                 // scope 2 at $DIR/simplify_try.rs:+2:48: +2:49
67         _9 = _6;                         // scope 2 at $DIR/simplify_try.rs:+2:48: +2:49
68         _8 = move _9;                    // scope 5 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
69         StorageDead(_9);                 // scope 2 at $DIR/simplify_try.rs:+2:49: +2:50
70         ((_0 as Err).0: i32) = move _8;  // scope 6 at $DIR/simplify_try.rs:+0:9: +0:10
71         Deinit(_0);                      // scope 6 at $DIR/simplify_try.rs:+0:5: +0:11
72         discriminant(_0) = 1;            // scope 6 at $DIR/simplify_try.rs:+0:5: +0:11
73         StorageDead(_8);                 // scope 2 at $DIR/simplify_try.rs:+2:50: +2:51
74         StorageDead(_6);                 // scope 0 at $DIR/simplify_try.rs:+2:50: +2:51
75         StorageDead(_3);                 // scope 0 at $DIR/simplify_try.rs:+4:6: +4:7
76         StorageDead(_2);                 // scope 0 at $DIR/simplify_try.rs:+6:1: +6:2
77         return;                          // scope 0 at $DIR/simplify_try.rs:+6:2: +6:2
78     }
79 }