[MIR] Deaggregate structs to enable further optimizations
Currently, we generate MIR like:
```
tmp0 = ...;
tmp1 = ...;
tmp3 = Foo { a: ..., b: ... };
```
This PR implements "deaggregation," i.e.:
```
tmp3.0 = ...
tmp3.1 = ...
```
Currently, the code only deaggregates structs, not enums. My understanding is that we do not have MIR to set the discriminant of an enum.
|
||
|---|---|---|
| .. | ||
| build | ||
| hair | ||
| transform | ||
| Cargo.toml | ||
| diagnostics.rs | ||
| graphviz.rs | ||
| lib.rs | ||
| mir_map.rs | ||
| pretty.rs | ||