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