]> git.lizzy.rs Git - rust.git/blob - src/test/mir-opt/slice-drop-shim.rs
Render const pointers in MIR more compactly
[rust.git] / src / test / mir-opt / slice-drop-shim.rs
1 // compile-flags: -Zmir-opt-level=0
2
3 fn main() {
4     let _fn = std::ptr::drop_in_place::<[String]> as unsafe fn(_);
5 }
6
7 // END RUST SOURCE
8
9 // START rustc.ptr-drop_in_place.[std__string__String].AddMovesForPackedDrops.before.mir
10 // let mut _2: usize;
11 // let mut _3: usize;
12 // let mut _4: usize;
13 // let mut _5: *mut std::string::String;
14 // let mut _6: bool;
15 // let mut _7: *mut std::string::String;
16 // let mut _8: bool;
17 // let mut _9: *mut std::string::String;
18 // let mut _10: *mut std::string::String;
19 // let mut _11: *mut std::string::String;
20 // let mut _12: bool;
21 // let mut _13: *mut std::string::String;
22 // let mut _14: bool;
23 // let mut _15: *mut [std::string::String];
24 // bb0: {
25 //     goto -> bb15;
26 // }
27 // bb1: {
28 //     return;
29 // }
30 // bb2 (cleanup): {
31 //     resume;
32 // }
33 // bb3 (cleanup): {
34 //     _5 = &raw mut (*_1)[_4];
35 //     _4 = Add(move _4, const 1usize);
36 //     drop((*_5)) -> bb4;
37 // }
38 // bb4 (cleanup): {
39 //     _6 = Eq(_4, _3);
40 //     switchInt(move _6) -> [false: bb3, otherwise: bb2];
41 // }
42 // bb5: {
43 //     _7 = &raw mut (*_1)[_4];
44 //     _4 = Add(move _4, const 1usize);
45 //     drop((*_7)) -> [return: bb6, unwind: bb4];
46 // }
47 // bb6: {
48 //     _8 = Eq(_4, _3);
49 //     switchInt(move _8) -> [false: bb5, otherwise: bb1];
50 // }
51 // bb7: {
52 //     _4 = const 0usize;
53 //     goto -> bb6;
54 // }
55 // bb8: {
56 //     goto -> bb7;
57 // }
58 // bb9 (cleanup): {
59 //     _11 = _9;
60 //     _9 = Offset(move _9, const 1usize);
61 //     drop((*_11)) -> bb10;
62 // }
63 // bb10 (cleanup): {
64 //     _12 = Eq(_9, _10);
65 //     switchInt(move _12) -> [false: bb9, otherwise: bb2];
66 // }
67 // bb11: {
68 //     _13 = _9;
69 //     _9 = Offset(move _9, const 1usize);
70 //     drop((*_13)) -> [return: bb12, unwind: bb10];
71 // }
72 // bb12: {
73 //     _14 = Eq(_9, _10);
74 //     switchInt(move _14) -> [false: bb11, otherwise: bb1];
75 // }
76 // bb13: {
77 //     _15 = &raw mut (*_1);
78 //     _9 = move _15 as *mut std::string::String (Misc);
79 //     _10 = Offset(_9, move _3);
80 //     goto -> bb12;
81 // }
82 // bb14: {
83 //     goto -> bb13;
84 // }
85 // bb15: {
86 //     _2 = SizeOf(std::string::String);
87 //     _3 = Len((*_1));
88 //     switchInt(move _2) -> [0usize: bb8, otherwise: bb14];
89 // }
90 // END rustc.ptr-drop_in_place.[std__string__String].AddMovesForPackedDrops.before.mir