-Zemit-thin-lto-index=<path>
to enable distributed ThinLTO users" compiler-team#735 (Zulip) (last review activity: about 20 days ago)--build-id
flag to rustc (compiler-team#635)
--env-set
option (rust#119926)
--emit foo
in json artifact notifications (rust#122597)
version_check::supports_feature
on nightly (rust#124339)
-C strip
on MSVC" rust#115120-Zrelro-level
as -Crelro-level
" rust#121694-Znext-solver=coherence
" rust#121848non_local_definitions
lint" rust#123594const fn
calls" rust#121557-Znext-solver=coherence
" rust#121848non_local_definitions
lint" rust#123594None today
T-compiler beta / T-compiler stable
T-compiler
this time.T-compiler
this time.T-types
this time.T-types
this time.P-critical
issues for T-compiler
this time.P-critical
issues for T-types
this time.P-high
beta regressions this time.Unassigned P-high nightly regressions
P-high
nightly regressions this time.A week dominated by small mixed changes to perf with improvements slightly outweighing regressions. There were no pure regressions, and many of the mixed perf results were deemed worth it for their potential improvements to runtime performance through further optimization from LLVM.
Triage done by @rylev.
Revision range: ccfcd950..a77f76e2
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.4% | [0.2%, 1.8%] | 57 |
Regressions (secondary) | 0.4% | [0.2%, 1.9%] | 26 |
Improvements (primary) | -0.8% | [-3.4%, -0.2%] | 50 |
Improvements (secondary) | -0.6% | [-1.9%, -0.1%] | 32 |
All (primary) | -0.2% | [-3.4%, 1.8%] | 107 |
0 Regressions, 5 Improvements, 6 Mixed; 2 of them in rollups
62 artifact comparisons made in total
None (😎)
Simplify shallow resolver to just fold ty/consts #123537 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.3% | [0.3%, 0.3%] | 1 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | -0.9% | [-1.4%, -0.2%] | 8 |
Improvements (secondary) | -0.3% | [-0.4%, -0.2%] | 11 |
All (primary) | -0.8% | [-1.4%, 0.3%] | 9 |
rustdoc-search: single result for items with multiple paths #119912 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | -0.2% | [-0.3%, -0.2%] | 3 |
Improvements (secondary) | - | - | 0 |
All (primary) | -0.2% | [-0.3%, -0.2%] | 3 |
interpret: use ScalarInt for bin-ops; avoid PartialOrd for ScalarInt #124113 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | -0.3% | [-0.4%, -0.2%] | 4 |
Improvements (secondary) | - | - | 0 |
All (primary) | -0.3% | [-0.4%, -0.2%] | 4 |
PatRangeBoundary::compare_with: als add a fast-path for signed integers #124190 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | -3.3% | [-3.3%, -3.3%] | 1 |
All (primary) | - | - | 0 |
Rollup of 7 pull requests #124271 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | 0.5% | [0.5%, 0.5%] | 1 |
Improvements (primary) | -0.2% | [-0.2%, -0.2%] | 1 |
Improvements (secondary) | -0.9% | [-2.1%, -0.4%] | 9 |
All (primary) | -0.2% | [-0.2%, -0.2%] | 1 |
Implement syntax for impl Trait
to specify its captures explicitly (feature(precise_capturing)
) #123468 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.2% | [0.2%, 0.2%] | 4 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | -0.8% | [-0.8%, -0.8%] | 1 |
All (primary) | 0.2% | [0.2%, 0.2%] | 4 |
At debuginfo=0, don't inline debuginfo when inlining #123949 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 1.0% | [0.3%, 1.8%] | 5 |
Regressions (secondary) | 1.0% | [0.2%, 3.4%] | 4 |
Improvements (primary) | -0.9% | [-2.4%, -0.1%] | 22 |
Improvements (secondary) | -1.2% | [-1.8%, -0.2%] | 10 |
All (primary) | -0.6% | [-2.4%, 1.8%] | 27 |
Always display stability version even if it's the same as the containing item #118441 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.3% | [0.2%, 0.3%] | 2 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | -0.2% | [-0.2%, -0.2%] | 1 |
Improvements (secondary) | - | - | 0 |
All (primary) | 0.1% | [-0.2%, 0.3%] | 3 |
Tell LLVM Vec::len is invariant across growth #123930 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.4% | [0.1%, 1.6%] | 7 |
Regressions (secondary) | 0.3% | [0.2%, 0.5%] | 11 |
Improvements (primary) | -0.5% | [-0.9%, -0.4%] | 8 |
Improvements (secondary) | -0.2% | [-0.2%, -0.1%] | 3 |
All (primary) | -0.1% | [-0.9%, 1.6%] | 15 |
fix normalizing in different ParamEnv
s with the same InferCtxt
#124203 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | 4.1% | [4.1%, 4.1%] | 1 |
Improvements (primary) | -0.7% | [-2.4%, -0.2%] | 9 |
Improvements (secondary) | -0.9% | [-0.9%, -0.9%] | 1 |
All (primary) | -0.7% | [-2.4%, -0.2%] | 9 |
Rollup of 5 pull requests #124241 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.7% | [0.2%, 1.6%] | 7 |
Regressions (secondary) | 0.3% | [0.3%, 0.3%] | 1 |
Improvements (primary) | -0.9% | [-2.8%, -0.3%] | 7 |
Improvements (secondary) | -3.9% | [-3.9%, -3.9%] | 1 |
All (primary) | -0.1% | [-2.8%, 1.6%] | 14 |
This tracking issue shows that we have targets that intersect tier platforms support in different ways. For example i686 are tier 1 but i686 "non-SSE2" are tier 2 (and suffer from codegen unsoundnesses). All these differences are not apparent in our documentation. Should we add a bit of nuances to our target policy? If yes, how?
[Ralf] Altogether I think there are enough issues with floating point on x86 without SSE (this one, and also #115567) that IMO we should say that tier 1 hardfloat targets require SSE period. It is already the case that using feature flags to turn a hardfloat target into a softfloat target is unsound (Cc #116344), and we should simply hard-error in those cases (e.g. disabling the x87 feature on any hardfloat x86 target). IMO we should do the same when disabling SSE/SSE2 on an i686 target.
join
directly" rust#114900 (last review activity: about 59 days ago)
Next meetings' agenda draft: hackmd link