]> git.lizzy.rs Git - rust.git/blob - tests/mir-opt/slice_filter.variant_a-{closure#0}.DestinationPropagation.diff
Remove astconv usage in diagnostic
[rust.git] / tests / mir-opt / slice_filter.variant_a-{closure#0}.DestinationPropagation.diff
1 - // MIR for `variant_a::{closure#0}` before DestinationPropagation
2 + // MIR for `variant_a::{closure#0}` after DestinationPropagation
3   
4   fn variant_a::{closure#0}(_1: &mut [closure@$DIR/slice_filter.rs:8:25: 8:39], _2: &&(usize, usize, usize, usize)) -> bool {
5       let mut _0: bool;                    // return place in scope 0 at $DIR/slice_filter.rs:+0:40: +0:40
6       let _3: &usize;                      // in scope 0 at $DIR/slice_filter.rs:+0:27: +0:28
7       let _4: &usize;                      // in scope 0 at $DIR/slice_filter.rs:+0:30: +0:31
8       let _5: &usize;                      // in scope 0 at $DIR/slice_filter.rs:+0:33: +0:34
9       let _6: &usize;                      // in scope 0 at $DIR/slice_filter.rs:+0:36: +0:37
10       let mut _7: bool;                    // in scope 0 at $DIR/slice_filter.rs:+0:40: +0:56
11       let mut _8: bool;                    // in scope 0 at $DIR/slice_filter.rs:+0:40: +0:46
12       let mut _9: &&usize;                 // in scope 0 at $DIR/slice_filter.rs:+0:40: +0:41
13       let mut _10: &&usize;                // in scope 0 at $DIR/slice_filter.rs:+0:45: +0:46
14       let _11: &usize;                     // in scope 0 at $DIR/slice_filter.rs:+0:45: +0:46
15       let mut _12: bool;                   // in scope 0 at $DIR/slice_filter.rs:+0:50: +0:56
16       let mut _13: &&usize;                // in scope 0 at $DIR/slice_filter.rs:+0:50: +0:51
17       let mut _14: &&usize;                // in scope 0 at $DIR/slice_filter.rs:+0:55: +0:56
18       let _15: &usize;                     // in scope 0 at $DIR/slice_filter.rs:+0:55: +0:56
19       let mut _16: bool;                   // in scope 0 at $DIR/slice_filter.rs:+0:60: +0:76
20       let mut _17: bool;                   // in scope 0 at $DIR/slice_filter.rs:+0:60: +0:66
21       let mut _18: &&usize;                // in scope 0 at $DIR/slice_filter.rs:+0:60: +0:61
22       let mut _19: &&usize;                // in scope 0 at $DIR/slice_filter.rs:+0:65: +0:66
23       let _20: &usize;                     // in scope 0 at $DIR/slice_filter.rs:+0:65: +0:66
24       let mut _21: bool;                   // in scope 0 at $DIR/slice_filter.rs:+0:70: +0:76
25       let mut _22: &&usize;                // in scope 0 at $DIR/slice_filter.rs:+0:70: +0:71
26       let mut _23: &&usize;                // in scope 0 at $DIR/slice_filter.rs:+0:75: +0:76
27       let _24: &usize;                     // in scope 0 at $DIR/slice_filter.rs:+0:75: +0:76
28       let mut _25: &(usize, usize, usize, usize); // in scope 0 at $DIR/slice_filter.rs:+0:26: +0:38
29       let mut _26: &(usize, usize, usize, usize); // in scope 0 at $DIR/slice_filter.rs:+0:26: +0:38
30       let mut _27: &(usize, usize, usize, usize); // in scope 0 at $DIR/slice_filter.rs:+0:26: +0:38
31       let mut _28: &(usize, usize, usize, usize); // in scope 0 at $DIR/slice_filter.rs:+0:26: +0:38
32       scope 1 {
33           debug a => _3;                   // in scope 1 at $DIR/slice_filter.rs:+0:27: +0:28
34           debug b => _4;                   // in scope 1 at $DIR/slice_filter.rs:+0:30: +0:31
35           debug c => _5;                   // in scope 1 at $DIR/slice_filter.rs:+0:33: +0:34
36           debug d => _6;                   // in scope 1 at $DIR/slice_filter.rs:+0:36: +0:37
37           scope 2 (inlined cmp::impls::<impl PartialOrd for &usize>::le) { // at $DIR/slice_filter.rs:8:40: 8:46
38               debug self => _9;            // in scope 2 at $SRC_DIR/core/src/cmp.rs:LL:COL
39               debug other => _10;          // in scope 2 at $SRC_DIR/core/src/cmp.rs:LL:COL
40               let mut _29: &usize;         // in scope 2 at $SRC_DIR/core/src/cmp.rs:LL:COL
41               let mut _30: &usize;         // in scope 2 at $SRC_DIR/core/src/cmp.rs:LL:COL
42               scope 3 (inlined cmp::impls::<impl PartialOrd for usize>::le) { // at $SRC_DIR/core/src/cmp.rs:LL:COL
43                   debug self => _29;       // in scope 3 at $SRC_DIR/core/src/cmp.rs:LL:COL
44                   debug other => _30;      // in scope 3 at $SRC_DIR/core/src/cmp.rs:LL:COL
45                   let mut _31: usize;      // in scope 3 at $SRC_DIR/core/src/cmp.rs:LL:COL
46                   let mut _32: usize;      // in scope 3 at $SRC_DIR/core/src/cmp.rs:LL:COL
47               }
48           }
49           scope 4 (inlined cmp::impls::<impl PartialOrd for &usize>::le) { // at $DIR/slice_filter.rs:8:60: 8:66
50               debug self => _18;           // in scope 4 at $SRC_DIR/core/src/cmp.rs:LL:COL
51               debug other => _19;          // in scope 4 at $SRC_DIR/core/src/cmp.rs:LL:COL
52               let mut _33: &usize;         // in scope 4 at $SRC_DIR/core/src/cmp.rs:LL:COL
53               let mut _34: &usize;         // in scope 4 at $SRC_DIR/core/src/cmp.rs:LL:COL
54               scope 5 (inlined cmp::impls::<impl PartialOrd for usize>::le) { // at $SRC_DIR/core/src/cmp.rs:LL:COL
55                   debug self => _33;       // in scope 5 at $SRC_DIR/core/src/cmp.rs:LL:COL
56                   debug other => _34;      // in scope 5 at $SRC_DIR/core/src/cmp.rs:LL:COL
57                   let mut _35: usize;      // in scope 5 at $SRC_DIR/core/src/cmp.rs:LL:COL
58                   let mut _36: usize;      // in scope 5 at $SRC_DIR/core/src/cmp.rs:LL:COL
59               }
60           }
61           scope 6 (inlined cmp::impls::<impl PartialOrd for &usize>::le) { // at $DIR/slice_filter.rs:8:50: 8:56
62               debug self => _13;           // in scope 6 at $SRC_DIR/core/src/cmp.rs:LL:COL
63               debug other => _14;          // in scope 6 at $SRC_DIR/core/src/cmp.rs:LL:COL
64               let mut _37: &usize;         // in scope 6 at $SRC_DIR/core/src/cmp.rs:LL:COL
65               let mut _38: &usize;         // in scope 6 at $SRC_DIR/core/src/cmp.rs:LL:COL
66               scope 7 (inlined cmp::impls::<impl PartialOrd for usize>::le) { // at $SRC_DIR/core/src/cmp.rs:LL:COL
67                   debug self => _37;       // in scope 7 at $SRC_DIR/core/src/cmp.rs:LL:COL
68                   debug other => _38;      // in scope 7 at $SRC_DIR/core/src/cmp.rs:LL:COL
69                   let mut _39: usize;      // in scope 7 at $SRC_DIR/core/src/cmp.rs:LL:COL
70                   let mut _40: usize;      // in scope 7 at $SRC_DIR/core/src/cmp.rs:LL:COL
71               }
72           }
73           scope 8 (inlined cmp::impls::<impl PartialOrd for &usize>::le) { // at $DIR/slice_filter.rs:8:70: 8:76
74               debug self => _22;           // in scope 8 at $SRC_DIR/core/src/cmp.rs:LL:COL
75               debug other => _23;          // in scope 8 at $SRC_DIR/core/src/cmp.rs:LL:COL
76               let mut _41: &usize;         // in scope 8 at $SRC_DIR/core/src/cmp.rs:LL:COL
77               let mut _42: &usize;         // in scope 8 at $SRC_DIR/core/src/cmp.rs:LL:COL
78               scope 9 (inlined cmp::impls::<impl PartialOrd for usize>::le) { // at $SRC_DIR/core/src/cmp.rs:LL:COL
79                   debug self => _41;       // in scope 9 at $SRC_DIR/core/src/cmp.rs:LL:COL
80                   debug other => _42;      // in scope 9 at $SRC_DIR/core/src/cmp.rs:LL:COL
81                   let mut _43: usize;      // in scope 9 at $SRC_DIR/core/src/cmp.rs:LL:COL
82                   let mut _44: usize;      // in scope 9 at $SRC_DIR/core/src/cmp.rs:LL:COL
83               }
84           }
85       }
86   
87       bb0: {
88           _25 = deref_copy (*_2);          // scope 0 at $DIR/slice_filter.rs:+0:27: +0:28
89           _3 = &((*_25).0: usize);         // scope 0 at $DIR/slice_filter.rs:+0:27: +0:28
90           _26 = deref_copy (*_2);          // scope 0 at $DIR/slice_filter.rs:+0:30: +0:31
91           _4 = &((*_26).1: usize);         // scope 0 at $DIR/slice_filter.rs:+0:30: +0:31
92           _27 = deref_copy (*_2);          // scope 0 at $DIR/slice_filter.rs:+0:33: +0:34
93           _5 = &((*_27).2: usize);         // scope 0 at $DIR/slice_filter.rs:+0:33: +0:34
94           _28 = deref_copy (*_2);          // scope 0 at $DIR/slice_filter.rs:+0:36: +0:37
95           _6 = &((*_28).3: usize);         // scope 0 at $DIR/slice_filter.rs:+0:36: +0:37
96 -         StorageLive(_7);                 // scope 1 at $DIR/slice_filter.rs:+0:40: +0:56
97 +         nop;                             // scope 1 at $DIR/slice_filter.rs:+0:40: +0:56
98           StorageLive(_8);                 // scope 1 at $DIR/slice_filter.rs:+0:40: +0:46
99           StorageLive(_9);                 // scope 1 at $DIR/slice_filter.rs:+0:40: +0:41
100           _9 = &_3;                        // scope 1 at $DIR/slice_filter.rs:+0:40: +0:41
101           StorageLive(_10);                // scope 1 at $DIR/slice_filter.rs:+0:45: +0:46
102           StorageLive(_11);                // scope 1 at $DIR/slice_filter.rs:+0:45: +0:46
103           _11 = _5;                        // scope 1 at $DIR/slice_filter.rs:+0:45: +0:46
104           _10 = &_11;                      // scope 1 at $DIR/slice_filter.rs:+0:45: +0:46
105           _29 = deref_copy (*_9);          // scope 2 at $SRC_DIR/core/src/cmp.rs:LL:COL
106           _30 = deref_copy (*_10);         // scope 2 at $SRC_DIR/core/src/cmp.rs:LL:COL
107           StorageLive(_31);                // scope 3 at $SRC_DIR/core/src/cmp.rs:LL:COL
108           _31 = (*_29);                    // scope 3 at $SRC_DIR/core/src/cmp.rs:LL:COL
109           StorageLive(_32);                // scope 3 at $SRC_DIR/core/src/cmp.rs:LL:COL
110           _32 = (*_30);                    // scope 3 at $SRC_DIR/core/src/cmp.rs:LL:COL
111           _8 = Le(move _31, move _32);     // scope 3 at $SRC_DIR/core/src/cmp.rs:LL:COL
112           StorageDead(_32);                // scope 3 at $SRC_DIR/core/src/cmp.rs:LL:COL
113           StorageDead(_31);                // scope 3 at $SRC_DIR/core/src/cmp.rs:LL:COL
114           StorageDead(_11);                // scope 1 at $DIR/slice_filter.rs:+0:45: +0:46
115           StorageDead(_10);                // scope 1 at $DIR/slice_filter.rs:+0:45: +0:46
116           StorageDead(_9);                 // scope 1 at $DIR/slice_filter.rs:+0:45: +0:46
117           switchInt(move _8) -> [0: bb4, otherwise: bb5]; // scope 1 at $DIR/slice_filter.rs:+0:40: +0:56
118       }
119   
120       bb1: {
121           _0 = const true;                 // scope 1 at $DIR/slice_filter.rs:+0:40: +0:76
122           goto -> bb3;                     // scope 1 at $DIR/slice_filter.rs:+0:40: +0:76
123       }
124   
125       bb2: {
126 -         StorageLive(_16);                // scope 1 at $DIR/slice_filter.rs:+0:60: +0:76
127 +         nop;                             // scope 1 at $DIR/slice_filter.rs:+0:60: +0:76
128           StorageLive(_17);                // scope 1 at $DIR/slice_filter.rs:+0:60: +0:66
129           StorageLive(_18);                // scope 1 at $DIR/slice_filter.rs:+0:60: +0:61
130           _18 = &_5;                       // scope 1 at $DIR/slice_filter.rs:+0:60: +0:61
131           StorageLive(_19);                // scope 1 at $DIR/slice_filter.rs:+0:65: +0:66
132           StorageLive(_20);                // scope 1 at $DIR/slice_filter.rs:+0:65: +0:66
133           _20 = _3;                        // scope 1 at $DIR/slice_filter.rs:+0:65: +0:66
134           _19 = &_20;                      // scope 1 at $DIR/slice_filter.rs:+0:65: +0:66
135           _33 = deref_copy (*_18);         // scope 4 at $SRC_DIR/core/src/cmp.rs:LL:COL
136           _34 = deref_copy (*_19);         // scope 4 at $SRC_DIR/core/src/cmp.rs:LL:COL
137           StorageLive(_35);                // scope 5 at $SRC_DIR/core/src/cmp.rs:LL:COL
138           _35 = (*_33);                    // scope 5 at $SRC_DIR/core/src/cmp.rs:LL:COL
139           StorageLive(_36);                // scope 5 at $SRC_DIR/core/src/cmp.rs:LL:COL
140           _36 = (*_34);                    // scope 5 at $SRC_DIR/core/src/cmp.rs:LL:COL
141           _17 = Le(move _35, move _36);    // scope 5 at $SRC_DIR/core/src/cmp.rs:LL:COL
142           StorageDead(_36);                // scope 5 at $SRC_DIR/core/src/cmp.rs:LL:COL
143           StorageDead(_35);                // scope 5 at $SRC_DIR/core/src/cmp.rs:LL:COL
144           StorageDead(_20);                // scope 1 at $DIR/slice_filter.rs:+0:65: +0:66
145           StorageDead(_19);                // scope 1 at $DIR/slice_filter.rs:+0:65: +0:66
146           StorageDead(_18);                // scope 1 at $DIR/slice_filter.rs:+0:65: +0:66
147           switchInt(move _17) -> [0: bb6, otherwise: bb7]; // scope 1 at $DIR/slice_filter.rs:+0:60: +0:76
148       }
149   
150       bb3: {
151 -         StorageDead(_16);                // scope 1 at $DIR/slice_filter.rs:+0:75: +0:76
152 -         StorageDead(_7);                 // scope 1 at $DIR/slice_filter.rs:+0:75: +0:76
153 +         nop;                             // scope 1 at $DIR/slice_filter.rs:+0:75: +0:76
154 +         nop;                             // scope 1 at $DIR/slice_filter.rs:+0:75: +0:76
155           return;                          // scope 0 at $DIR/slice_filter.rs:+0:76: +0:76
156       }
157   
158       bb4: {
159 -         StorageDead(_12);                // scope 1 at $DIR/slice_filter.rs:+0:55: +0:56
160 +         nop;                             // scope 1 at $DIR/slice_filter.rs:+0:55: +0:56
161           StorageDead(_8);                 // scope 1 at $DIR/slice_filter.rs:+0:55: +0:56
162           goto -> bb2;                     // scope 1 at $DIR/slice_filter.rs:+0:40: +0:56
163       }
164   
165       bb5: {
166 -         StorageLive(_12);                // scope 1 at $DIR/slice_filter.rs:+0:50: +0:56
167 +         nop;                             // scope 1 at $DIR/slice_filter.rs:+0:50: +0:56
168           StorageLive(_13);                // scope 1 at $DIR/slice_filter.rs:+0:50: +0:51
169           _13 = &_6;                       // scope 1 at $DIR/slice_filter.rs:+0:50: +0:51
170           StorageLive(_14);                // scope 1 at $DIR/slice_filter.rs:+0:55: +0:56
171           StorageLive(_15);                // scope 1 at $DIR/slice_filter.rs:+0:55: +0:56
172           _15 = _4;                        // scope 1 at $DIR/slice_filter.rs:+0:55: +0:56
173           _14 = &_15;                      // scope 1 at $DIR/slice_filter.rs:+0:55: +0:56
174           _37 = deref_copy (*_13);         // scope 6 at $SRC_DIR/core/src/cmp.rs:LL:COL
175           _38 = deref_copy (*_14);         // scope 6 at $SRC_DIR/core/src/cmp.rs:LL:COL
176           StorageLive(_39);                // scope 7 at $SRC_DIR/core/src/cmp.rs:LL:COL
177           _39 = (*_37);                    // scope 7 at $SRC_DIR/core/src/cmp.rs:LL:COL
178           StorageLive(_40);                // scope 7 at $SRC_DIR/core/src/cmp.rs:LL:COL
179           _40 = (*_38);                    // scope 7 at $SRC_DIR/core/src/cmp.rs:LL:COL
180           _12 = Le(move _39, move _40);    // scope 7 at $SRC_DIR/core/src/cmp.rs:LL:COL
181           StorageDead(_40);                // scope 7 at $SRC_DIR/core/src/cmp.rs:LL:COL
182           StorageDead(_39);                // scope 7 at $SRC_DIR/core/src/cmp.rs:LL:COL
183           StorageDead(_15);                // scope 1 at $DIR/slice_filter.rs:+0:55: +0:56
184           StorageDead(_14);                // scope 1 at $DIR/slice_filter.rs:+0:55: +0:56
185           StorageDead(_13);                // scope 1 at $DIR/slice_filter.rs:+0:55: +0:56
186 -         _7 = move _12;                   // scope 1 at $DIR/slice_filter.rs:+0:40: +0:56
187 -         StorageDead(_12);                // scope 1 at $DIR/slice_filter.rs:+0:55: +0:56
188 +         nop;                             // scope 1 at $DIR/slice_filter.rs:+0:40: +0:56
189 +         nop;                             // scope 1 at $DIR/slice_filter.rs:+0:55: +0:56
190           StorageDead(_8);                 // scope 1 at $DIR/slice_filter.rs:+0:55: +0:56
191 -         switchInt(move _7) -> [0: bb2, otherwise: bb1]; // scope 1 at $DIR/slice_filter.rs:+0:40: +0:76
192 +         switchInt(move _12) -> [0: bb2, otherwise: bb1]; // scope 1 at $DIR/slice_filter.rs:+0:40: +0:76
193       }
194   
195       bb6: {
196 -         _16 = const false;               // scope 1 at $DIR/slice_filter.rs:+0:60: +0:76
197 +         _0 = const false;                // scope 1 at $DIR/slice_filter.rs:+0:60: +0:76
198           goto -> bb8;                     // scope 1 at $DIR/slice_filter.rs:+0:60: +0:76
199       }
200   
201       bb7: {
202 -         StorageLive(_21);                // scope 1 at $DIR/slice_filter.rs:+0:70: +0:76
203 +         nop;                             // scope 1 at $DIR/slice_filter.rs:+0:70: +0:76
204           StorageLive(_22);                // scope 1 at $DIR/slice_filter.rs:+0:70: +0:71
205           _22 = &_4;                       // scope 1 at $DIR/slice_filter.rs:+0:70: +0:71
206           StorageLive(_23);                // scope 1 at $DIR/slice_filter.rs:+0:75: +0:76
207           StorageLive(_24);                // scope 1 at $DIR/slice_filter.rs:+0:75: +0:76
208           _24 = _6;                        // scope 1 at $DIR/slice_filter.rs:+0:75: +0:76
209           _23 = &_24;                      // scope 1 at $DIR/slice_filter.rs:+0:75: +0:76
210           _41 = deref_copy (*_22);         // scope 8 at $SRC_DIR/core/src/cmp.rs:LL:COL
211           _42 = deref_copy (*_23);         // scope 8 at $SRC_DIR/core/src/cmp.rs:LL:COL
212           StorageLive(_43);                // scope 9 at $SRC_DIR/core/src/cmp.rs:LL:COL
213           _43 = (*_41);                    // scope 9 at $SRC_DIR/core/src/cmp.rs:LL:COL
214           StorageLive(_44);                // scope 9 at $SRC_DIR/core/src/cmp.rs:LL:COL
215           _44 = (*_42);                    // scope 9 at $SRC_DIR/core/src/cmp.rs:LL:COL
216 -         _21 = Le(move _43, move _44);    // scope 9 at $SRC_DIR/core/src/cmp.rs:LL:COL
217 +         _0 = Le(move _43, move _44);     // scope 9 at $SRC_DIR/core/src/cmp.rs:LL:COL
218           StorageDead(_44);                // scope 9 at $SRC_DIR/core/src/cmp.rs:LL:COL
219           StorageDead(_43);                // scope 9 at $SRC_DIR/core/src/cmp.rs:LL:COL
220           StorageDead(_24);                // scope 1 at $DIR/slice_filter.rs:+0:75: +0:76
221           StorageDead(_23);                // scope 1 at $DIR/slice_filter.rs:+0:75: +0:76
222           StorageDead(_22);                // scope 1 at $DIR/slice_filter.rs:+0:75: +0:76
223 -         _16 = move _21;                  // scope 1 at $DIR/slice_filter.rs:+0:60: +0:76
224 +         nop;                             // scope 1 at $DIR/slice_filter.rs:+0:60: +0:76
225           goto -> bb8;                     // scope 1 at $DIR/slice_filter.rs:+0:60: +0:76
226       }
227   
228       bb8: {
229 -         StorageDead(_21);                // scope 1 at $DIR/slice_filter.rs:+0:75: +0:76
230 +         nop;                             // scope 1 at $DIR/slice_filter.rs:+0:75: +0:76
231           StorageDead(_17);                // scope 1 at $DIR/slice_filter.rs:+0:75: +0:76
232 -         _0 = move _16;                   // scope 1 at $DIR/slice_filter.rs:+0:40: +0:76
233 +         nop;                             // scope 1 at $DIR/slice_filter.rs:+0:40: +0:76
234           goto -> bb3;                     // scope 1 at $DIR/slice_filter.rs:+0:40: +0:76
235       }
236   }
237