rust/tests
bors 83c9732e0c Auto merge of #116270 - cjgillot:gvn-aggregate, r=oli-obk,RalfJung
See through aggregates in GVN

This PR is extracted from https://github.com/rust-lang/rust/pull/111344

The first 2 commit are cleanups to avoid repeated work. I propose to stop removing useless assignments as part of this pass, and let a later `SimplifyLocals` do it. This makes tests easier to read (among others).

The next 3 commits add a constant folding mechanism to the GVN pass, presented in https://github.com/rust-lang/rust/pull/116012. ~This pass is designed to only use global allocations, to avoid any risk of accidental modification of the stored state.~

The following commits implement opportunistic simplifications, in particular:
- projections of aggregates: `MyStruct { x: a }.x` gets replaced by `a`, works with enums too;
- projections of arrays: `[a, b][0]` becomes `a`;
- projections of repeat expressions: `[a; N][x]` becomes `a`;
- transform arrays of equal operands into a repeat rvalue.

Fixes https://github.com/rust-lang/miri/issues/3090

r? `@oli-obk`
2023-10-29 14:50:53 +00:00
..
assembly Fix closure-inherit-target-feature test for SGX platform 2023-10-23 14:39:01 +02:00
auxiliary
codegen Refactor some char, u8 ascii functions to be branchless 2023-10-26 21:48:36 -04:00
codegen-units Automatically enable cross-crate inlining for small functions 2023-10-17 19:53:51 -04:00
coverage-map coverage: Consistently remove unused counter IDs from expressions/mappings 2023-10-28 09:33:48 +11:00
debuginfo s/generator/coroutine/ 2023-10-20 21:14:01 +00:00
incremental Bless incremental tests. 2023-10-06 15:46:11 +00:00
mir-opt Auto merge of #116270 - cjgillot:gvn-aggregate, r=oli-obk,RalfJung 2023-10-29 14:50:53 +00:00
pretty Preserve unicode escapes in format string literals when pretty-printing AST 2023-10-16 21:20:21 +02:00
run-coverage coverage: Consistently remove unused counter IDs from expressions/mappings 2023-10-28 09:33:48 +11:00
run-coverage-rustdoc
run-make Auto merge of #116035 - lqd:mcp-510-target-specs, r=petrochenkov 2023-10-27 02:11:36 +00:00
run-make-fulldeps Auto merge of #116818 - Nilstrieb:stop-submitting-bug-reports, r=wesleywiser 2023-10-26 02:08:07 +00:00
run-pass-valgrind
rustdoc Auto merge of #116471 - notriddle:notriddle/js-trait-alias, r=GuillaumeGomez 2023-10-27 23:08:24 +00:00
rustdoc-gui rustdoc: make JS trait impls act more like HTML 2023-10-22 16:51:32 -07:00
rustdoc-js Add regression test for #115480 2023-10-11 11:41:39 +02:00
rustdoc-js-std
rustdoc-json
rustdoc-ui s/generator/coroutine/ 2023-10-20 21:14:01 +00:00
ui Auto merge of #116447 - oli-obk:gen_fn, r=compiler-errors 2023-10-29 00:03:52 +00:00
ui-fulldeps Add test for smir locals 2023-10-26 00:22:56 +01:00
COMPILER_TESTS.md