]> git.proxmox.com Git - rustc.git/blame - tests/mir-opt/enum_opt.cand.EnumSizeOpt.64bit.diff
New upstream version 1.72.1+dfsg1
[rustc.git] / tests / mir-opt / enum_opt.cand.EnumSizeOpt.64bit.diff
CommitLineData
9ffffee4
FG
1- // MIR for `cand` before EnumSizeOpt
2+ // MIR for `cand` after EnumSizeOpt
3
4 fn cand() -> Candidate {
fe692bf9
FG
5 let mut _0: Candidate;
6 let mut _1: Candidate;
7 let mut _2: Candidate;
8 let mut _3: [u8; 8196];
9+ let mut _4: [usize; 2];
10+ let mut _5: isize;
11+ let mut _6: usize;
12+ let mut _7: usize;
13+ let mut _8: *mut Candidate;
14+ let mut _9: *mut u8;
15+ let mut _10: *const Candidate;
16+ let mut _11: *const u8;
17+ let mut _12: [usize; 2];
18+ let mut _13: isize;
19+ let mut _14: usize;
20+ let mut _15: usize;
21+ let mut _16: *mut Candidate;
22+ let mut _17: *mut u8;
23+ let mut _18: *const Candidate;
24+ let mut _19: *const u8;
9ffffee4 25 scope 1 {
fe692bf9 26 debug a => _1;
9ffffee4
FG
27 }
28
29 bb0: {
fe692bf9
FG
30 StorageLive(_1);
31 _1 = Candidate::Small(const 1_u8);
32 StorageLive(_2);
33 StorageLive(_3);
34 _3 = [const 1_u8; 8196];
35 _2 = Candidate::Large(move _3);
36 StorageDead(_3);
37- _1 = move _2;
38+ StorageLive(_4);
39+ _4 = const [2_usize, 8197_usize];
40+ _5 = discriminant(_2);
41+ _6 = _5 as usize (IntToInt);
42+ _7 = _4[_6];
43+ _8 = &raw mut _1;
44+ _9 = _8 as *mut u8 (PtrToPtr);
45+ _10 = &raw const _2;
46+ _11 = _10 as *const u8 (PtrToPtr);
47+ Deinit(_8);
48+ copy_nonoverlapping(dst = _9, src = _11, count = _7);
49+ StorageDead(_4);
50 StorageDead(_2);
51- _0 = move _1;
52+ StorageLive(_12);
53+ _12 = const [2_usize, 8197_usize];
54+ _13 = discriminant(_1);
55+ _14 = _13 as usize (IntToInt);
56+ _15 = _12[_14];
57+ _16 = &raw mut _0;
58+ _17 = _16 as *mut u8 (PtrToPtr);
59+ _18 = &raw const _1;
60+ _19 = _18 as *const u8 (PtrToPtr);
61+ Deinit(_16);
62+ copy_nonoverlapping(dst = _17, src = _19, count = _15);
63+ StorageDead(_12);
64 StorageDead(_1);
65 return;
9ffffee4
FG
66 }
67 }
68