]> git.lizzy.rs Git - rust.git/blob - src/test/mir-opt/match_false_edges.full_tested_match2.PromoteTemps.before.mir
Auto merge of #75635 - Aaron1011:fix/incr-fn-param-names, r=eddyb
[rust.git] / src / test / mir-opt / match_false_edges.full_tested_match2.PromoteTemps.before.mir
1 // MIR for `full_tested_match2` before PromoteTemps
2
3 fn full_tested_match2() -> () {
4     let mut _0: ();                      // return place in scope 0 at $DIR/match_false_edges.rs:25:29: 25:29
5     let mut _1: (i32, i32);              // in scope 0 at $DIR/match_false_edges.rs:26:13: 30:6
6     let mut _2: std::option::Option<i32>; // in scope 0 at $DIR/match_false_edges.rs:26:19: 26:27
7     let mut _3: isize;                   // in scope 0 at $DIR/match_false_edges.rs:27:9: 27:16
8     let mut _4: &std::option::Option<i32>; // in scope 0 at $DIR/match_false_edges.rs:26:19: 26:27
9     let _5: i32;                         // in scope 0 at $DIR/match_false_edges.rs:27:14: 27:15
10     let _6: &i32;                        // in scope 0 at $DIR/match_false_edges.rs:27:14: 27:15
11     let mut _7: bool;                    // in scope 0 at $DIR/match_false_edges.rs:27:20: 27:27
12     let mut _8: i32;                     // in scope 0 at $DIR/match_false_edges.rs:27:35: 27:36
13     let _9: i32;                         // in scope 0 at $DIR/match_false_edges.rs:29:14: 29:15
14     let mut _10: i32;                    // in scope 0 at $DIR/match_false_edges.rs:29:24: 29:25
15     scope 1 {
16     }
17     scope 2 {
18         debug x => _5;                   // in scope 2 at $DIR/match_false_edges.rs:27:14: 27:15
19         debug x => _6;                   // in scope 2 at $DIR/match_false_edges.rs:27:14: 27:15
20     }
21     scope 3 {
22         debug y => _9;                   // in scope 3 at $DIR/match_false_edges.rs:29:14: 29:15
23     }
24
25     bb0: {
26         StorageLive(_1);                 // scope 0 at $DIR/match_false_edges.rs:26:13: 30:6
27         StorageLive(_2);                 // scope 0 at $DIR/match_false_edges.rs:26:19: 26:27
28         _2 = std::option::Option::<i32>::Some(const 42_i32); // scope 0 at $DIR/match_false_edges.rs:26:19: 26:27
29         FakeRead(ForMatchedPlace, _2);   // scope 0 at $DIR/match_false_edges.rs:26:19: 26:27
30         _3 = discriminant(_2);           // scope 0 at $DIR/match_false_edges.rs:27:9: 27:16
31         switchInt(move _3) -> [0_isize: bb2, 1_isize: bb3, otherwise: bb5]; // scope 0 at $DIR/match_false_edges.rs:27:9: 27:16
32     }
33
34     bb1 (cleanup): {
35         resume;                          // scope 0 at $DIR/match_false_edges.rs:25:1: 31:2
36     }
37
38     bb2: {
39         falseEdge -> [real: bb10, imaginary: bb4]; // scope 0 at $DIR/match_false_edges.rs:28:9: 28:13
40     }
41
42     bb3: {
43         falseEdge -> [real: bb6, imaginary: bb2]; // scope 0 at $DIR/match_false_edges.rs:27:9: 27:16
44     }
45
46     bb4: {
47         StorageLive(_9);                 // scope 0 at $DIR/match_false_edges.rs:29:14: 29:15
48         _9 = ((_2 as Some).0: i32);      // scope 0 at $DIR/match_false_edges.rs:29:14: 29:15
49         StorageLive(_10);                // scope 3 at $DIR/match_false_edges.rs:29:24: 29:25
50         _10 = _9;                        // scope 3 at $DIR/match_false_edges.rs:29:24: 29:25
51         _1 = (const 2_i32, move _10);    // scope 3 at $DIR/match_false_edges.rs:29:20: 29:26
52         StorageDead(_10);                // scope 3 at $DIR/match_false_edges.rs:29:25: 29:26
53         StorageDead(_9);                 // scope 0 at $DIR/match_false_edges.rs:29:25: 29:26
54         goto -> bb11;                    // scope 0 at $DIR/match_false_edges.rs:26:13: 30:6
55     }
56
57     bb5: {
58         unreachable;                     // scope 0 at $DIR/match_false_edges.rs:26:19: 26:27
59     }
60
61     bb6: {
62         StorageLive(_6);                 // scope 0 at $DIR/match_false_edges.rs:27:14: 27:15
63         _6 = &((_2 as Some).0: i32);     // scope 0 at $DIR/match_false_edges.rs:27:14: 27:15
64         _4 = &shallow _2;                // scope 0 at $DIR/match_false_edges.rs:26:19: 26:27
65         StorageLive(_7);                 // scope 0 at $DIR/match_false_edges.rs:27:20: 27:27
66         _7 = const guard() -> [return: bb7, unwind: bb1]; // scope 0 at $DIR/match_false_edges.rs:27:20: 27:27
67                                          // ty::Const
68                                          // + ty: fn() -> bool {guard}
69                                          // + val: Value(Scalar(<ZST>))
70                                          // mir::Constant
71                                          // + span: $DIR/match_false_edges.rs:27:20: 27:25
72                                          // + literal: Const { ty: fn() -> bool {guard}, val: Value(Scalar(<ZST>)) }
73     }
74
75     bb7: {
76         switchInt(move _7) -> [false: bb9, otherwise: bb8]; // scope 0 at $DIR/match_false_edges.rs:27:20: 27:27
77     }
78
79     bb8: {
80         StorageDead(_7);                 // scope 0 at $DIR/match_false_edges.rs:27:36: 27:37
81         FakeRead(ForMatchGuard, _4);     // scope 0 at $DIR/match_false_edges.rs:27:26: 27:27
82         FakeRead(ForGuardBinding, _6);   // scope 0 at $DIR/match_false_edges.rs:27:26: 27:27
83         StorageLive(_5);                 // scope 0 at $DIR/match_false_edges.rs:27:14: 27:15
84         _5 = ((_2 as Some).0: i32);      // scope 0 at $DIR/match_false_edges.rs:27:14: 27:15
85         StorageLive(_8);                 // scope 2 at $DIR/match_false_edges.rs:27:35: 27:36
86         _8 = _5;                         // scope 2 at $DIR/match_false_edges.rs:27:35: 27:36
87         _1 = (const 1_i32, move _8);     // scope 2 at $DIR/match_false_edges.rs:27:31: 27:37
88         StorageDead(_8);                 // scope 2 at $DIR/match_false_edges.rs:27:36: 27:37
89         StorageDead(_5);                 // scope 0 at $DIR/match_false_edges.rs:27:36: 27:37
90         StorageDead(_6);                 // scope 0 at $DIR/match_false_edges.rs:27:36: 27:37
91         goto -> bb11;                    // scope 0 at $DIR/match_false_edges.rs:26:13: 30:6
92     }
93
94     bb9: {
95         StorageDead(_7);                 // scope 0 at $DIR/match_false_edges.rs:27:36: 27:37
96         StorageDead(_6);                 // scope 0 at $DIR/match_false_edges.rs:27:36: 27:37
97         falseEdge -> [real: bb4, imaginary: bb2]; // scope 0 at $DIR/match_false_edges.rs:27:20: 27:27
98     }
99
100     bb10: {
101         _1 = (const 3_i32, const 3_i32); // scope 0 at $DIR/match_false_edges.rs:28:17: 28:23
102         goto -> bb11;                    // scope 0 at $DIR/match_false_edges.rs:26:13: 30:6
103     }
104
105     bb11: {
106         StorageDead(_2);                 // scope 0 at $DIR/match_false_edges.rs:30:6: 30:7
107         StorageDead(_1);                 // scope 0 at $DIR/match_false_edges.rs:30:6: 30:7
108         _0 = const ();                   // scope 0 at $DIR/match_false_edges.rs:25:29: 31:2
109                                          // ty::Const
110                                          // + ty: ()
111                                          // + val: Value(Scalar(<ZST>))
112                                          // mir::Constant
113                                          // + span: $DIR/match_false_edges.rs:25:29: 31:2
114                                          // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
115         return;                          // scope 0 at $DIR/match_false_edges.rs:31:2: 31:2
116     }
117 }