]> git.proxmox.com Git - rustc.git/blame - tests/mir-opt/gvn.slices.GVN.panic-unwind.diff
New upstream version 1.75.0+dfsg1
[rustc.git] / tests / mir-opt / gvn.slices.GVN.panic-unwind.diff
CommitLineData
781aab86
FG
1- // MIR for `slices` before GVN
2+ // MIR for `slices` after GVN
3
4 fn slices() -> () {
5 let mut _0: ();
6 let _1: &str;
7 let _2: ();
8 let mut _3: &str;
9 let _5: ();
10 let mut _6: &str;
11 let _7: ();
12 let mut _8: (&*const u8, &*const u8);
13 let mut _9: &*const u8;
14 let _10: *const u8;
15 let mut _11: &str;
16 let mut _12: &*const u8;
17 let _13: *const u8;
18 let mut _14: &str;
19 let mut _17: bool;
20 let mut _18: *const u8;
21 let mut _19: *const u8;
22 let mut _20: !;
23 let _22: !;
24 let mut _23: core::panicking::AssertKind;
25 let mut _24: &*const u8;
26 let _25: &*const u8;
27 let mut _26: &*const u8;
28 let _27: &*const u8;
29 let mut _28: std::option::Option<std::fmt::Arguments<'_>>;
30 let mut _30: &str;
31 let _31: ();
32 let mut _32: &[u8];
33 let _33: ();
34 let mut _34: (&*const u8, &*const u8);
35 let mut _35: &*const u8;
36 let _36: *const u8;
37 let mut _37: &str;
38 let mut _38: &*const u8;
39 let _39: *const u8;
40 let mut _40: &[u8];
41 let mut _43: bool;
42 let mut _44: *const u8;
43 let mut _45: *const u8;
44 let mut _46: !;
45 let _48: !;
46 let mut _49: core::panicking::AssertKind;
47 let mut _50: &*const u8;
48 let _51: &*const u8;
49 let mut _52: &*const u8;
50 let _53: &*const u8;
51 let mut _54: std::option::Option<std::fmt::Arguments<'_>>;
52 scope 1 {
53 debug s => _1;
54 let _4: &str;
55 scope 2 {
56 debug t => _4;
57 let _15: &*const u8;
58 let _16: &*const u8;
59 let _29: &[u8];
60 scope 3 {
61 debug left_val => _15;
62 debug right_val => _16;
63 let _21: core::panicking::AssertKind;
64 scope 4 {
65 debug kind => _21;
66 }
67 }
68 scope 5 {
69 debug u => _29;
70 let _41: &*const u8;
71 let _42: &*const u8;
72 scope 7 {
73 debug left_val => _41;
74 debug right_val => _42;
75 let _47: core::panicking::AssertKind;
76 scope 8 {
77 debug kind => _47;
78 }
79 }
80 }
81 scope 6 {
82 }
83 }
84 }
85
86 bb0: {
87- StorageLive(_1);
ed00b5ec 88+ nop;
781aab86
FG
89 _1 = const "my favourite slice";
90 StorageLive(_2);
ed00b5ec
FG
91 StorageLive(_3);
92 _3 = _1;
781aab86
FG
93- _2 = opaque::<&str>(move _3) -> [return: bb1, unwind continue];
94+ _2 = opaque::<&str>(_1) -> [return: bb1, unwind continue];
95 }
96
97 bb1: {
ed00b5ec 98 StorageDead(_3);
781aab86
FG
99 StorageDead(_2);
100 StorageLive(_4);
101 _4 = _1;
102 StorageLive(_5);
ed00b5ec 103 StorageLive(_6);
781aab86
FG
104- _6 = _4;
105- _5 = opaque::<&str>(move _6) -> [return: bb2, unwind continue];
ed00b5ec 106+ _6 = _1;
781aab86
FG
107+ _5 = opaque::<&str>(_1) -> [return: bb2, unwind continue];
108 }
109
110 bb2: {
ed00b5ec 111 StorageDead(_6);
781aab86 112 StorageDead(_5);
ed00b5ec 113 StorageLive(_7);
781aab86 114 StorageLive(_8);
ed00b5ec
FG
115- StorageLive(_9);
116+ nop;
781aab86
FG
117 StorageLive(_10);
118 StorageLive(_11);
119 _11 = &(*_1);
120 _10 = core::str::<impl str>::as_ptr(move _11) -> [return: bb3, unwind continue];
121 }
122
123 bb3: {
124 StorageDead(_11);
125 _9 = &_10;
ed00b5ec
FG
126- StorageLive(_12);
127+ nop;
781aab86
FG
128 StorageLive(_13);
129 StorageLive(_14);
ed00b5ec
FG
130- _14 = &(*_4);
131+ _14 = &(*_1);
781aab86
FG
132 _13 = core::str::<impl str>::as_ptr(move _14) -> [return: bb4, unwind continue];
133 }
134
135 bb4: {
136 StorageDead(_14);
137 _12 = &_13;
ed00b5ec
FG
138- _8 = (move _9, move _12);
139- StorageDead(_12);
140- StorageDead(_9);
141+ _8 = (_9, _12);
142+ nop;
143+ nop;
781aab86 144 StorageLive(_15);
ed00b5ec
FG
145- _15 = (_8.0: &*const u8);
146+ _15 = _9;
781aab86 147 StorageLive(_16);
ed00b5ec
FG
148- _16 = (_8.1: &*const u8);
149+ _16 = _12;
781aab86
FG
150 StorageLive(_17);
151 StorageLive(_18);
ed00b5ec
FG
152- _18 = (*_15);
153+ _18 = (*_9);
781aab86 154 StorageLive(_19);
ed00b5ec
FG
155- _19 = (*_16);
156+ _19 = (*_12);
781aab86
FG
157 _17 = Eq(move _18, move _19);
158 switchInt(move _17) -> [0: bb6, otherwise: bb5];
159 }
160
161 bb5: {
162 StorageDead(_19);
163 StorageDead(_18);
ed00b5ec 164 _7 = const ();
781aab86
FG
165 StorageDead(_17);
166 StorageDead(_16);
167 StorageDead(_15);
168 StorageDead(_13);
169 StorageDead(_10);
170 StorageDead(_8);
ed00b5ec 171 StorageDead(_7);
781aab86 172- StorageLive(_29);
ed00b5ec 173+ nop;
781aab86
FG
174 StorageLive(_30);
175 _30 = &(*_1);
176 _29 = move _30 as &[u8] (Transmute);
177 StorageDead(_30);
178 StorageLive(_31);
ed00b5ec
FG
179 StorageLive(_32);
180 _32 = _29;
781aab86
FG
181- _31 = opaque::<&[u8]>(move _32) -> [return: bb7, unwind continue];
182+ _31 = opaque::<&[u8]>(_29) -> [return: bb7, unwind continue];
183 }
184
185 bb6: {
186 StorageDead(_19);
187 StorageDead(_18);
188- StorageLive(_21);
ed00b5ec
FG
189- _21 = core::panicking::AssertKind::Eq;
190+ nop;
191+ _21 = const core::panicking::AssertKind::Eq;
781aab86 192 StorageLive(_22);
ed00b5ec 193 StorageLive(_23);
781aab86 194- _23 = move _21;
ed00b5ec 195+ _23 = const core::panicking::AssertKind::Eq;
781aab86 196 StorageLive(_24);
ed00b5ec
FG
197- StorageLive(_25);
198- _25 = &(*_15);
199+ nop;
200+ _25 = &(*_9);
781aab86
FG
201 _24 = &(*_25);
202 StorageLive(_26);
ed00b5ec
FG
203- StorageLive(_27);
204- _27 = &(*_16);
205+ nop;
206+ _27 = &(*_12);
781aab86
FG
207 _26 = &(*_27);
208 StorageLive(_28);
209 _28 = Option::<Arguments<'_>>::None;
ed00b5ec
FG
210- _22 = assert_failed::<*const u8, *const u8>(move _23, move _24, move _26, move _28) -> unwind continue;
211+ _22 = assert_failed::<*const u8, *const u8>(const core::panicking::AssertKind::Eq, move _24, move _26, move _28) -> unwind continue;
781aab86
FG
212 }
213
214 bb7: {
ed00b5ec 215 StorageDead(_32);
781aab86 216 StorageDead(_31);
ed00b5ec 217 StorageLive(_33);
781aab86 218 StorageLive(_34);
ed00b5ec
FG
219- StorageLive(_35);
220+ nop;
781aab86
FG
221 StorageLive(_36);
222 StorageLive(_37);
223 _37 = &(*_1);
224 _36 = core::str::<impl str>::as_ptr(move _37) -> [return: bb8, unwind continue];
225 }
226
227 bb8: {
228 StorageDead(_37);
229 _35 = &_36;
ed00b5ec
FG
230- StorageLive(_38);
231+ nop;
781aab86
FG
232 StorageLive(_39);
233 StorageLive(_40);
234 _40 = &(*_29);
235 _39 = core::slice::<impl [u8]>::as_ptr(move _40) -> [return: bb9, unwind continue];
236 }
237
238 bb9: {
239 StorageDead(_40);
240 _38 = &_39;
ed00b5ec
FG
241- _34 = (move _35, move _38);
242- StorageDead(_38);
243- StorageDead(_35);
244+ _34 = (_35, _38);
245+ nop;
246+ nop;
781aab86 247 StorageLive(_41);
ed00b5ec
FG
248- _41 = (_34.0: &*const u8);
249+ _41 = _35;
781aab86 250 StorageLive(_42);
ed00b5ec
FG
251- _42 = (_34.1: &*const u8);
252+ _42 = _38;
781aab86
FG
253 StorageLive(_43);
254 StorageLive(_44);
ed00b5ec
FG
255- _44 = (*_41);
256+ _44 = (*_35);
781aab86 257 StorageLive(_45);
ed00b5ec
FG
258- _45 = (*_42);
259+ _45 = (*_38);
781aab86
FG
260 _43 = Eq(move _44, move _45);
261 switchInt(move _43) -> [0: bb11, otherwise: bb10];
262 }
263
264 bb10: {
265 StorageDead(_45);
266 StorageDead(_44);
ed00b5ec 267 _33 = const ();
781aab86
FG
268 StorageDead(_43);
269 StorageDead(_42);
270 StorageDead(_41);
271 StorageDead(_39);
272 StorageDead(_36);
273 StorageDead(_34);
ed00b5ec 274 StorageDead(_33);
781aab86
FG
275 _0 = const ();
276- StorageDead(_29);
ed00b5ec 277+ nop;
781aab86
FG
278 StorageDead(_4);
279- StorageDead(_1);
ed00b5ec 280+ nop;
781aab86
FG
281 return;
282 }
283
284 bb11: {
285 StorageDead(_45);
286 StorageDead(_44);
287- StorageLive(_47);
ed00b5ec
FG
288- _47 = core::panicking::AssertKind::Eq;
289+ nop;
290+ _47 = const core::panicking::AssertKind::Eq;
781aab86 291 StorageLive(_48);
ed00b5ec 292 StorageLive(_49);
781aab86 293- _49 = move _47;
ed00b5ec 294+ _49 = const core::panicking::AssertKind::Eq;
781aab86 295 StorageLive(_50);
ed00b5ec
FG
296- StorageLive(_51);
297- _51 = &(*_41);
298+ nop;
299+ _51 = &(*_35);
781aab86
FG
300 _50 = &(*_51);
301 StorageLive(_52);
ed00b5ec
FG
302- StorageLive(_53);
303- _53 = &(*_42);
304+ nop;
305+ _53 = &(*_38);
781aab86
FG
306 _52 = &(*_53);
307 StorageLive(_54);
308 _54 = Option::<Arguments<'_>>::None;
ed00b5ec
FG
309- _48 = assert_failed::<*const u8, *const u8>(move _49, move _50, move _52, move _54) -> unwind continue;
310+ _48 = assert_failed::<*const u8, *const u8>(const core::panicking::AssertKind::Eq, move _50, move _52, move _54) -> unwind continue;
781aab86
FG
311 }
312 }
313