rust-lang / rust

Empowering everyone to build reliable and efficient software.
https://www.rust-lang.org
Other
98.88k stars 12.78k forks source link

Do not unify dereferences of shared borrows in GVN #133474

Open RalfJung opened 16 hours ago

RalfJung commented 16 hours ago

Repost of https://github.com/rust-lang/rust/pull/132461, the last commit applies my suggestions.

Fixes https://github.com/rust-lang/rust/issues/130853

rustbot commented 16 hours ago

r? @Nadrieril

rustbot has assigned @Nadrieril. They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

rustbot commented 16 hours ago

Some changes occurred to MIR optimizations

cc @rust-lang/wg-mir-opt

Some changes occurred in coverage tests.

cc @Zalathar

RalfJung commented 16 hours ago

@bors try @rust-timer queue

rust-timer commented 16 hours ago

Awaiting bors try build completion.

@rustbot label: +S-waiting-on-perf

bors commented 16 hours ago

:hourglass: Trying commit 906f66fb4c22daa8a6f97e5c048e9f6ab3fd9051 with merge 16c101943b84f24b28a1a713b06e961002c2440b...

compiler-errors commented 14 hours ago

r=me after try build is done :D

bors commented 14 hours ago

:sunny: Try build successful - checks-actions Build commit: 16c101943b84f24b28a1a713b06e961002c2440b (16c101943b84f24b28a1a713b06e961002c2440b)

rust-timer commented 14 hours ago

Queued 16c101943b84f24b28a1a713b06e961002c2440b with parent 7db7489f9bc274cb60c4956bfa56de0185eb1b9b, future comparison URL. There are currently 0 preceding artifacts in the queue. It will probably take at least ~1.2 hours until the benchmark run finishes.

rust-timer commented 13 hours ago

Finished benchmarking commit (16c101943b84f24b28a1a713b06e961002c2440b): comparison URL.

Overall result: ❌✅ regressions and improvements - please read the text below

Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf.

Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please fix the regressions and do another perf run. If the next run shows neutral or positive results, the label will be automatically removed.

@bors rollup=never @rustbot label: -S-waiting-on-perf +perf-regression

Instruction count

This is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.

mean range count
Regressions ❌
(primary)
0.3% [0.2%, 0.7%] 8
Regressions ❌
(secondary)
0.2% [0.1%, 0.4%] 13
Improvements ✅
(primary)
-1.9% [-6.7%, -0.3%] 8
Improvements ✅
(secondary)
-0.2% [-0.3%, -0.1%] 5
All ❌✅ (primary) -0.8% [-6.7%, 0.7%] 16

Max RSS (memory usage)

Results (primary -1.4%, secondary 3.4%) This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment. | | mean | range | count | |:----------------------------------:|:-----:|:--------------:|:-----:| | Regressions ❌
(primary) | 2.8% | [1.2%, 4.1%] | 3 | | Regressions ❌
(secondary) | 3.4% | [3.4%, 3.4%] | 1 | | Improvements ✅
(primary) | -5.6% | [-6.6%, -4.1%] | 3 | | Improvements ✅
(secondary) | - | - | 0 | | All ❌✅ (primary) | -1.4% | [-6.6%, 4.1%] | 6 |

Cycles

Results (primary -3.4%) This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment. | | mean | range | count | |:----------------------------------:|:-----:|:--------------:|:-----:| | Regressions ❌
(primary) | 1.5% | [1.5%, 1.5%] | 1 | | Regressions ❌
(secondary) | - | - | 0 | | Improvements ✅
(primary) | -5.9% | [-6.5%, -5.2%] | 2 | | Improvements ✅
(secondary) | - | - | 0 | | All ❌✅ (primary) | -3.4% | [-6.5%, 1.5%] | 3 |

Binary size

Results (primary 0.0%, secondary 0.0%) This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment. | | mean | range | count | |:----------------------------------:|:-----:|:--------------:|:-----:| | Regressions ❌
(primary) | 0.3% | [0.0%, 2.6%] | 32 | | Regressions ❌
(secondary) | 0.5% | [0.1%, 1.1%] | 7 | | Improvements ✅
(primary) | -0.3% | [-2.0%, -0.0%] | 28 | | Improvements ✅
(secondary) | -0.1% | [-0.3%, -0.0%] | 41 | | All ❌✅ (primary) | 0.0% | [-2.0%, 2.6%] | 60 |

Bootstrap: 796.592s -> 797.482s (0.11%) Artifact size: 336.27 MiB -> 336.00 MiB (-0.08%)

RalfJung commented 5 hours ago

@bors r=compiler-errors

bors commented 5 hours ago

:pushpin: Commit 906f66fb4c22daa8a6f97e5c048e9f6ab3fd9051 has been approved by compiler-errors

It is now in the queue for this repository.