DianQK
c16c22cc9c
Simplify the canonical clone method to copy
...
The optimized clone method ends up as the following MIR:
```
_2 = copy ((*_1).0: i32);
_3 = copy ((*_1).1: u64);
_4 = copy ((*_1).2: [i8; 3]);
_0 = Foo { a: move _2, b: move _3, c: move _4 };
```
We can transform this to:
```
_0 = copy (*_1);
```
2024-09-14 13:30:35 +08:00
Scott McMurray
99cb0c6bc3
Bless *all* the mir-opt tests
2024-08-18 16:07:33 -07:00
Ben Kimock
d6c0ebef50
Polymorphize RawVec
2024-08-09 20:06:26 -04:00
DianQK
ae681c940d
Perform instsimplify before inline to eliminate some trivial calls
2024-07-29 18:14:35 +08:00
Scott McMurray
0d63e6b608
[ACP 362] genericize ptr::from_raw_parts
2024-05-29 09:34:16 -07:00
Scott McMurray
61517dbbe6
Avoid a cast in ptr::slice_from_raw_parts(_mut)
...
Casting to `*const ()` or `*mut ()` just bloats the MIR, so let's not.
If ACP#362 goes through we can keep calling `ptr::from_raw_parts(_mut)` in these also without the cast, but that hasn't had any libs-api attention yet, so I'm not waiting on it.
2024-05-06 01:53:54 -07:00
Scott McMurray
de64ff76f8
Use it in the library, and InstSimplify
it away in the easy places
2024-04-21 11:08:37 -07:00
Scott McMurray
b76faff1b2
Add a MIR pre-codegen test for Vec::deref
2024-04-21 11:08:36 -07:00