]> git.lizzy.rs Git - rust.git/blob - tests/mir-opt/issue_73223.main.SimplifyArmIdentity.diff
Auto merge of #106910 - aliemjay:alias-ty-in-regionck, r=oli-obk
[rust.git] / tests / mir-opt / issue_73223.main.SimplifyArmIdentity.diff
1 - // MIR for `main` before SimplifyArmIdentity
2 + // MIR for `main` after SimplifyArmIdentity
3   
4   fn main() -> () {
5       let mut _0: ();                      // return place in scope 0 at $DIR/issue_73223.rs:+0:11: +0:11
6       let _1: i32;                         // in scope 0 at $DIR/issue_73223.rs:+1:9: +1:14
7       let mut _2: std::option::Option<i32>; // in scope 0 at $DIR/issue_73223.rs:+1:23: +1:30
8       let mut _3: isize;                   // in scope 0 at $DIR/issue_73223.rs:+2:9: +2:16
9       let _4: i32;                         // in scope 0 at $DIR/issue_73223.rs:+2:14: +2:15
10       let mut _6: i32;                     // in scope 0 at $DIR/issue_73223.rs:+6:22: +6:27
11       let mut _7: &i32;                    // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
12       let mut _8: &i32;                    // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
13       let mut _11: bool;                   // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
14       let mut _12: bool;                   // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
15       let mut _13: i32;                    // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
16       let mut _14: i32;                    // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
17       let _16: !;                          // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
18       let mut _17: core::panicking::AssertKind; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
19       let mut _18: &i32;                   // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
20       let _19: &i32;                       // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
21       let mut _20: &i32;                   // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
22       let _21: &i32;                       // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
23       let mut _22: std::option::Option<std::fmt::Arguments<'_>>; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
24       let mut _24: &i32;                   // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
25       let mut _25: &i32;                   // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
26       scope 1 {
27           debug split => _1;               // in scope 1 at $DIR/issue_73223.rs:+1:9: +1:14
28           let _5: std::option::Option<i32>; // in scope 1 at $DIR/issue_73223.rs:+6:9: +6:14
29           scope 3 {
30               debug _prev => _5;           // in scope 3 at $DIR/issue_73223.rs:+6:9: +6:14
31               let _9: &i32;                // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
32               let _10: &i32;               // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
33               let mut _23: &i32;           // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
34               scope 4 {
35                   debug left_val => _9;    // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
36                   debug right_val => _10;  // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
37                   let _15: core::panicking::AssertKind; // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
38                   scope 5 {
39                       debug kind => _15;   // in scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
40                   }
41               }
42           }
43       }
44       scope 2 {
45           debug v => _4;                   // in scope 2 at $DIR/issue_73223.rs:+2:14: +2:15
46       }
47   
48       bb0: {
49           StorageLive(_1);                 // scope 0 at $DIR/issue_73223.rs:+1:9: +1:14
50           StorageLive(_2);                 // scope 0 at $DIR/issue_73223.rs:+1:23: +1:30
51           Deinit(_2);                      // scope 0 at $DIR/issue_73223.rs:+1:23: +1:30
52           ((_2 as Some).0: i32) = const 1_i32; // scope 0 at $DIR/issue_73223.rs:+1:23: +1:30
53           discriminant(_2) = 1;            // scope 0 at $DIR/issue_73223.rs:+1:23: +1:30
54           _3 = const 1_isize;              // scope 0 at $DIR/issue_73223.rs:+1:23: +1:30
55           goto -> bb3;                     // scope 0 at $DIR/issue_73223.rs:+1:17: +1:30
56       }
57   
58       bb1: {
59           StorageDead(_2);                 // scope 0 at $DIR/issue_73223.rs:+4:6: +4:7
60           StorageDead(_1);                 // scope 0 at $DIR/issue_73223.rs:+8:1: +8:2
61           return;                          // scope 0 at $DIR/issue_73223.rs:+8:2: +8:2
62       }
63   
64       bb2: {
65           unreachable;                     // scope 0 at $DIR/issue_73223.rs:+1:23: +1:30
66       }
67   
68       bb3: {
69           StorageLive(_4);                 // scope 0 at $DIR/issue_73223.rs:+2:14: +2:15
70           _4 = ((_2 as Some).0: i32);      // scope 0 at $DIR/issue_73223.rs:+2:14: +2:15
71           _1 = _4;                         // scope 2 at $DIR/issue_73223.rs:+2:20: +2:21
72           StorageDead(_4);                 // scope 0 at $DIR/issue_73223.rs:+2:20: +2:21
73           StorageDead(_2);                 // scope 0 at $DIR/issue_73223.rs:+4:6: +4:7
74           StorageLive(_5);                 // scope 1 at $DIR/issue_73223.rs:+6:9: +6:14
75           StorageLive(_6);                 // scope 1 at $DIR/issue_73223.rs:+6:22: +6:27
76           _6 = _1;                         // scope 1 at $DIR/issue_73223.rs:+6:22: +6:27
77           Deinit(_5);                      // scope 1 at $DIR/issue_73223.rs:+6:17: +6:28
78           ((_5 as Some).0: i32) = move _6; // scope 1 at $DIR/issue_73223.rs:+6:17: +6:28
79           discriminant(_5) = 1;            // scope 1 at $DIR/issue_73223.rs:+6:17: +6:28
80           StorageDead(_6);                 // scope 1 at $DIR/issue_73223.rs:+6:27: +6:28
81           StorageLive(_24);                // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
82           StorageLive(_25);                // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
83           StorageLive(_7);                 // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
84           _7 = &_1;                        // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
85           StorageLive(_8);                 // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
86           _23 = const _;                   // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
87                                            // mir::Constant
88                                            // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
89                                            // + literal: Const { ty: &i32, val: Unevaluated(main, [], Some(promoted[0])) }
90           _8 = _23;                        // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
91           Deinit(_24);                     // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
92           Deinit(_25);                     // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
93           _24 = move _7;                   // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
94           _25 = move _8;                   // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
95           StorageDead(_8);                 // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
96           StorageDead(_7);                 // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
97           StorageLive(_9);                 // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
98           _9 = _24;                        // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
99           StorageLive(_10);                // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
100           _10 = _25;                       // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
101           StorageLive(_11);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
102           StorageLive(_12);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
103           StorageLive(_13);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
104           _13 = (*_9);                     // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
105           StorageLive(_14);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
106           _14 = const 1_i32;               // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
107           _12 = Eq(move _13, const 1_i32); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
108           StorageDead(_14);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
109           StorageDead(_13);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
110           _11 = Not(move _12);             // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
111           StorageDead(_12);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
112           switchInt(move _11) -> [0: bb5, otherwise: bb4]; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
113       }
114   
115       bb4: {
116           StorageLive(_15);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
117           Deinit(_15);                     // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
118           discriminant(_15) = 0;           // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
119           StorageLive(_16);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
120           StorageLive(_17);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
121           _17 = const core::panicking::AssertKind::Eq; // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
122                                            // mir::Constant
123                                            // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
124                                            // + literal: Const { ty: core::panicking::AssertKind, val: Value(Scalar(0x00)) }
125           StorageLive(_18);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
126           StorageLive(_19);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
127           _19 = _9;                        // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
128           _18 = _19;                       // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
129           StorageLive(_20);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
130           StorageLive(_21);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
131           _21 = _10;                       // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
132           _20 = _21;                       // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
133           StorageLive(_22);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
134           Deinit(_22);                     // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
135           discriminant(_22) = 0;           // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
136           _16 = core::panicking::assert_failed::<i32, i32>(const core::panicking::AssertKind::Eq, move _18, move _20, move _22); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
137                                            // mir::Constant
138                                            // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
139                                            // + literal: Const { ty: for<'a, 'b, 'c> fn(core::panicking::AssertKind, &'a i32, &'b i32, Option<Arguments<'c>>) -> ! {core::panicking::assert_failed::<i32, i32>}, val: Value(<ZST>) }
140                                            // mir::Constant
141                                            // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
142                                            // + literal: Const { ty: core::panicking::AssertKind, val: Value(Scalar(0x00)) }
143       }
144   
145       bb5: {
146           StorageDead(_11);                // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
147           StorageDead(_10);                // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
148           StorageDead(_9);                 // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
149           StorageDead(_24);                // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
150           StorageDead(_25);                // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
151           StorageDead(_5);                 // scope 1 at $DIR/issue_73223.rs:+8:1: +8:2
152           StorageDead(_1);                 // scope 0 at $DIR/issue_73223.rs:+8:1: +8:2
153           return;                          // scope 0 at $DIR/issue_73223.rs:+8:2: +8:2
154       }
155   }
156