rust/compiler/rustc_mir_transform
bors 79146baa9c Auto merge of #102570 - cjgillot:deagg-debuginfo, r=oli-obk
Perform simple scalar replacement of aggregates (SROA) MIR opt

This is a re-open of https://github.com/rust-lang/rust/pull/85796

I copied the debuginfo implementation (first commit) from `@eddyb's` own SROA PR.

This pass replaces plain field accesses by simple locals when possible.
To be eligible, the replaced locals:
- must not be enums or unions;
- must not be used whole;
- must not have their address taken.

The storage and deinit statements are duplicated on each created local.

cc `@tmiasko` who reviewed the former version of this PR.
2022-11-15 23:52:22 +00:00
..
src Auto merge of #102570 - cjgillot:deagg-debuginfo, r=oli-obk 2022-11-15 23:52:22 +00:00
Cargo.toml Remove from compiler/ crates 2022-09-29 16:49:04 +09:00