rustc
--emit=
to emit nothing" compiler-team#718 (Zulip) (last review activity: about 41 days ago)--env-set
option" rust#119926-Zrelro-level
as -Crelro-level
" rust#121694f16
and f128
" rust#122106wasm_c_abi
future-incompat
lint" rust#117918-Z debug-macros
, -Z collapse-macro-debuginfo
and #[collapse_debuginfo]
" rust#120845wasm-c-abi
flag" compiler-team#703debug_assertions
" compiler-team#725 (Zulip)--build-id
flag to rustc" compiler-team#635 (Zulip)
E0492: borrow of an interior mutable value may end up in the final value
during const eval when no inner mutability is involved" rust#121250@_WG-async-foundations by @nikomatsakis and @tmandry (previous checkin):
Checkin text
@_WG-diagnostics by @Esteban Küber and @oli (previous checkin):
#[diagnostic::on_unimplemented] shipped to stable!
T-compiler beta / T-compiler stable
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.Unassigned P-high nightly regressions
P-high
nightly regressions this time.A mixed week, with a vast number of improvements (in large part due to PR
#122010, which undoes a prior regression; PR #120985, a host LLVM update).
But also three admittedly small-ish regressions which seemed unanticipated and
were still large enough that I did not feel comfortable rubber-stamping them
with a perf-regression-triaged marking.
Triage done by @pnkfelix.
Revision range: 41d97c8a..e919669d
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.6% | [0.2%, 1.4%] | 38 |
Regressions (secondary) | 1.1% | [0.2%, 4.9%] | 50 |
Improvements (primary) | -1.0% | [-4.8%, -0.2%] | 119 |
Improvements (secondary) | -0.8% | [-2.2%, -0.4%] | 36 |
All (primary) | -0.6% | [-4.8%, 1.4%] | 157 |
2 Regressions, 5 Improvements, 9 Mixed; 5 of them in rollups
54 artifact comparisons made in total
interpret: avoid a long-lived PlaceTy in stack frames #121985 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.3% | [0.3%, 0.3%] | 1 |
Regressions (secondary) | 3.0% | [0.2%, 4.5%] | 8 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | - | - | 0 |
All (primary) | 0.3% | [0.3%, 0.3%] | 1 |
Detect unused struct impls pub trait #121752 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.4% | [0.2%, 0.5%] | 6 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | - | - | 0 |
All (primary) | 0.4% | [0.2%, 0.5%] | 6 |
live_symbols_and_ignored_derived_traits
is the source of the perf regression, which is consistent with the idea that this lint has become more expensive since that's where we see the call to the newly-added solve_rest_impl_items
(a worklist algorithm from the PR).Rollup of 7 pull requests #122111 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | -0.4% | [-0.4%, -0.3%] | 7 |
Improvements (secondary) | -0.5% | [-0.6%, -0.3%] | 5 |
All (primary) | -0.4% | [-0.4%, -0.3%] | 7 |
Rollup of 8 pull requests #122117 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | -2.1% | [-3.9%, -0.4%] | 12 |
Improvements (secondary) | - | - | 0 |
All (primary) | -2.1% | [-3.9%, -0.4%] | 12 |
non_local_definitions
lint allow-by-defaultMerge collect_mod_item_types
query into check_well_formed
#121500 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | -0.6% | [-0.8%, -0.2%] | 4 |
Improvements (secondary) | -0.5% | [-0.6%, -0.5%] | 2 |
All (primary) | -0.6% | [-0.8%, -0.2%] | 4 |
Avoid invoking the intrinsic
query for DefKinds other than Fn
or AssocFn
#122010 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | -0.5% | [-1.0%, -0.2%] | 74 |
Improvements (secondary) | -0.7% | [-2.1%, -0.2%] | 26 |
All (primary) | -0.5% | [-1.0%, -0.2%] | 74 |
Dep node encoding cleanups #122064 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | -0.3% | [-0.3%, -0.2%] | 19 |
Improvements (secondary) | -0.3% | [-0.4%, -0.2%] | 12 |
All (primary) | -0.3% | [-0.3%, -0.2%] | 19 |
Optimize write with as_const_str for shorter code #122059 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | 1.1% | [0.3%, 1.9%] | 2 |
Improvements (primary) | -0.8% | [-1.2%, -0.4%] | 2 |
Improvements (secondary) | -0.3% | [-0.3%, -0.3%] | 1 |
All (primary) | -0.8% | [-1.2%, -0.4%] | 2 |
Replace the default branch with an unreachable branch If it is the last variant #120268 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.7% | [0.2%, 1.8%] | 4 |
Regressions (secondary) | 0.2% | [0.2%, 0.3%] | 7 |
Improvements (primary) | -0.8% | [-1.2%, -0.3%] | 5 |
Improvements (secondary) | -0.9% | [-2.2%, -0.3%] | 3 |
All (primary) | -0.1% | [-1.2%, 1.8%] | 9 |
Rollup of 8 pull requests #122182 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 1.3% | [1.3%, 1.3%] | 1 |
Regressions (secondary) | 0.8% | [0.2%, 1.3%] | 2 |
Improvements (primary) | -0.3% | [-0.7%, -0.2%] | 17 |
Improvements (secondary) | -0.5% | [-0.9%, -0.2%] | 15 |
All (primary) | -0.3% | [-0.7%, 1.3%] | 18 |
Replace TypeWalker
usage with TypeVisitor
in wf.rs
#122150 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | 0.7% | [0.3%, 1.3%] | 6 |
Improvements (primary) | -0.3% | [-0.4%, -0.2%] | 6 |
Improvements (secondary) | -0.2% | [-0.3%, -0.2%] | 3 |
All (primary) | -0.3% | [-0.4%, -0.2%] | 6 |
Rollup of 12 pull requests #122241 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | 0.9% | [0.2%, 1.6%] | 2 |
Improvements (primary) | -0.3% | [-0.3%, -0.3%] | 2 |
Improvements (secondary) | -0.3% | [-0.3%, -0.3%] | 1 |
All (primary) | -0.3% | [-0.3%, -0.3%] | 2 |
Update host LLVM on x64 Linux to LLVM 18 #120985 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.3% | [0.1%, 1.0%] | 88 |
Regressions (secondary) | 0.4% | [0.1%, 0.5%] | 21 |
Improvements (primary) | -1.0% | [-1.6%, -0.4%] | 54 |
Improvements (secondary) | -0.8% | [-1.2%, -0.6%] | 8 |
All (primary) | -0.2% | [-1.6%, 1.0%] | 142 |
Rollup of 8 pull requests #122256 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.6% | [0.2%, 1.6%] | 21 |
Regressions (secondary) | 0.6% | [0.3%, 1.6%] | 7 |
Improvements (primary) | -0.7% | [-1.0%, -0.5%] | 3 |
Improvements (secondary) | - | - | 0 |
All (primary) | 0.4% | [-1.0%, 1.6%] | 24 |
Distinguish between library and lang UB in assert_unsafe_precondition #121662 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 1.1% | [0.3%, 1.7%] | 4 |
Regressions (secondary) | 1.1% | [1.1%, 1.1%] | 1 |
Improvements (primary) | -0.9% | [-1.7%, -0.4%] | 4 |
Improvements (secondary) | -0.2% | [-0.2%, -0.2%] | 1 |
All (primary) | 0.1% | [-1.7%, 1.7%] | 8 |
Stop using LLVM struct types for byval/sret #122050 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | 1.9% | [0.5%, 3.3%] | 2 |
Improvements (primary) | -2.1% | [-2.4%, -1.9%] | 2 |
Improvements (secondary) | - | - | 0 |
All (primary) | -2.1% | [-2.4%, -1.9%] | 2 |
extended_varargs_abi_support
" rust#116161
type_map::stub
callers to supply file information" rust#104342 (last review activity: 2 months ago)
Next meetings' agenda draft: hackmd link