about summary refs log tree commit diff
path: root/tests/mir-opt/lower_array_len.array_len.NormalizeArrayLen.panic-unwind.diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2022-11-15 23:52:22 +0000
committerbors <bors@rust-lang.org>2022-11-15 23:52:22 +0000
commitd2d2b28f5a20c5e0e1a55322b6242085163f6e75 (patch)
treef4f23bda7a5fd68293fd6151a741d1b69721007d /tests/mir-opt/lower_array_len.array_len.NormalizeArrayLen.panic-unwind.diff
parenteb0bc4759ba679abd2cac5995f01fa47eadd3c14 (diff)
parentaf8682b8b40b6c374912388315e7220a75dc16d9 (diff)
downloadrust-d2d2b28f5a20c5e0e1a55322b6242085163f6e75.tar.gz
rust-d2d2b28f5a20c5e0e1a55322b6242085163f6e75.zip
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.
Diffstat (limited to 'tests/mir-opt/lower_array_len.array_len.NormalizeArrayLen.panic-unwind.diff')
0 files changed, 0 insertions, 0 deletions