rust/tests
bors e7c502d930 Auto merge of #109597 - cjgillot:gvn, r=oli-obk
Implement a global value numbering MIR optimization

The aim of this pass is to avoid repeated computations by reusing past assignments. It is based on an analysis of SSA locals, in order to perform a restricted form of common subexpression elimination.

By opportunity, this pass allows for some simplifications by combining assignments. For instance, this pass could be able to see through projections of aggregates to directly reuse the aggregate field (not in this PR).

We handle references by assigning a different "provenance" index to each `Ref`/`AddressOf` rvalue. This ensure that we do not spuriously merge borrows that should not be merged. Meanwhile, we consider all the derefs of an immutable reference to a freeze type to give the same value:
```rust
_a = *_b // _b is &Freeze
_c = *_b // replaced by _c = _a
```
2023-09-27 21:06:30 +00:00
..
assembly Add assembly test to make sure that inlining works as expected when closures inherit target features 2023-09-24 16:36:31 +02:00
auxiliary
codegen Auto merge of #104385 - BlackHoleFox:apple-minimum-bumps, r=petrochenkov 2023-09-24 02:35:05 +00:00
codegen-units
coverage-map coverage: Explicitly simplify coverage expressions in codegen 2023-09-21 18:32:49 +10:00
debuginfo
incremental
mir-opt Do not clone valtree and slice constants. 2023-09-24 09:09:05 +00:00
pretty
run-coverage
run-coverage-rustdoc
run-make Auto merge of #104385 - BlackHoleFox:apple-minimum-bumps, r=petrochenkov 2023-09-24 02:35:05 +00:00
run-make-fulldeps Merge ExternProviders into the general Providers struct 2023-09-22 20:15:34 +00:00
run-pass-valgrind
rustdoc Auto merge of #116084 - fmease:rustdoc-fix-x-crate-async-fn, r=GuillaumeGomez 2023-09-25 22:04:53 +00:00
rustdoc-gui Migrate GUI colors test to original CSS color format 2023-09-23 20:03:03 +02:00
rustdoc-js
rustdoc-js-std
rustdoc-json
rustdoc-ui Add regression test for #102467 2023-09-24 14:09:38 +02:00
ui Rollup merge of #116187 - estebank:small-tweak, r=compiler-errors 2023-09-27 10:42:35 +02:00
ui-fulldeps Split out the stable part of smir into its own crate to prevent accidental usage of forever unstable things 2023-09-25 14:38:27 +00:00
COMPILER_TESTS.md