--emit=
options as part of crate SVH" compiler-team#769 (Zulip)--print host-triple
to print host target triple (rust#125579)
--build-id
flag to rustc (compiler-team#635)
invalid_type_param_default
into a FutureReleaseErrorReportInDeps
" rust#127655invalid_type_param_default
into a FutureReleaseErrorReportInDeps
" rust#127655None
T-compiler beta / T-compiler stable
#[do_not_recommend]
if the feature flag is not set" rust#128674
dyn
tails in MIR borrowck" rust#128694
T-compiler
this time.T-types
this time.T-types
this time.extended_varargs_abi_support
" rust#116161clippy::invalid_null_ptr_usage
lint" rust#119220AsyncIterator
back to Stream
, introduce an AFIT-based AsyncIterator
trait" rust#119550match
is too complex" rust#122685adding a def'n for node-id NodeId(18) and def kind AnonConst but a previous def'n exists
" rust#128016
rust:beta
branch but it is not beta-nominated
. Should it be?P-critical
issues for T-types
this time.P-high
beta regressions this time.Unassigned P-high nightly regressions
This week saw several large improvements caused mostly by the update to LLVM 19. There were some regressions in several pull requests, but most of them were immediately fixed in a follow-up PR.
Triage done by @kobzol.
Revision range: 7e3a9718..8c7e0e16
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 1.0% | [0.2%, 3.8%] | 91 |
Regressions (secondary) | 1.9% | [0.2%, 19.2%] | 104 |
Improvements (primary) | -4.4% | [-15.8%, -0.3%] | 120 |
Improvements (secondary) | -3.3% | [-10.4%, -0.2%] | 70 |
All (primary) | -2.1% | [-15.8%, 3.8%] | 211 |
6 Regressions, 3 Improvements, 5 Mixed; 4 of them in rollups
51 artifact comparisons made in total
Rollup of 7 pull requests #128413 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.6% | [0.2%, 1.9%] | 28 |
Regressions (secondary) | 0.3% | [0.2%, 0.4%] | 7 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | - | - | 0 |
All (primary) | 0.6% | [0.2%, 1.9%] | 28 |
Rollup of 6 pull requests #128469 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.3% | [0.2%, 0.7%] | 10 |
Regressions (secondary) | 1.0% | [0.2%, 2.1%] | 36 |
Improvements (primary) | -0.2% | [-0.2%, -0.2%] | 1 |
Improvements (secondary) | -2.5% | [-2.5%, -2.5%] | 1 |
All (primary) | 0.3% | [-0.2%, 0.7%] | 11 |
Rewrite binary search implementation #128254 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.5% | [0.2%, 1.7%] | 16 |
Regressions (secondary) | 6.2% | [0.2%, 19.5%] | 6 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | -4.1% | [-4.1%, -4.1%] | 1 |
All (primary) | 0.5% | [0.2%, 1.7%] | 16 |
Rollup of 7 pull requests #128614 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | 0.8% | [0.4%, 1.3%] | 10 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | - | - | 0 |
All (primary) | - | - | 0 |
Update the stdarch submodule #128466 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.7% | [0.2%, 2.6%] | 13 |
Regressions (secondary) | 1.0% | [0.2%, 4.3%] | 32 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | - | - | 0 |
All (primary) | 0.7% | [0.2%, 2.6%] | 13 |
Enforce supertrait outlives obligations hold when confirming impl #124336 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.6% | [0.2%, 1.5%] | 95 |
Regressions (secondary) | 1.8% | [0.2%, 4.2%] | 38 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | - | - | 0 |
All (primary) | 0.6% | [0.2%, 1.5%] | 95 |
Rollup of 6 pull requests #128504 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | -0.4% | [-0.5%, -0.3%] | 12 |
All (primary) | - | - | 0 |
Delegation: second attempt to improve perf #128441 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | -0.4% | [-0.7%, -0.2%] | 9 |
Improvements (secondary) | -0.5% | [-1.1%, -0.1%] | 9 |
All (primary) | -0.4% | [-0.7%, -0.2%] | 9 |
Check divergence value first before doing span operations in warn_if_unreachable
#128544 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | -0.3% | [-0.5%, -0.2%] | 21 |
Improvements (secondary) | -1.0% | [-2.1%, -0.2%] | 34 |
All (primary) | -0.3% | [-0.5%, -0.2%] | 21 |
Delegation: support generics for delegation from free functions #125929 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.4% | [0.2%, 0.8%] | 11 |
Regressions (secondary) | 0.5% | [0.1%, 1.2%] | 10 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | -0.3% | [-0.4%, -0.2%] | 2 |
All (primary) | 0.4% | [0.2%, 0.8%] | 11 |
Update to LLVM 19 #127513 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 1.3% | [0.2%, 3.6%] | 13 |
Regressions (secondary) | 0.9% | [0.2%, 3.4%] | 37 |
Improvements (primary) | -3.2% | [-15.8%, -0.2%] | 172 |
Improvements (secondary) | -2.6% | [-10.5%, -0.2%] | 82 |
All (primary) | -2.9% | [-15.8%, 3.6%] | 185 |
Accelerate GVN a little #126991 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.3% | [0.3%, 0.3%] | 1 |
Regressions (secondary) | 2.1% | [2.1%, 2.1%] | 1 |
Improvements (primary) | -0.4% | [-0.4%, -0.3%] | 2 |
Improvements (secondary) | -0.7% | [-1.0%, -0.4%] | 6 |
All (primary) | -0.2% | [-0.4%, 0.3%] | 3 |
Revert recent changes to dead code analysis #128404 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | 1.1% | [0.7%, 1.7%] | 9 |
Improvements (primary) | -0.4% | [-1.2%, -0.2%] | 47 |
Improvements (secondary) | -2.9% | [-10.7%, -0.2%] | 15 |
All (primary) | -0.4% | [-1.2%, -0.2%] | 47 |
Change output normalization logic to be linear against size of output #128200 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | 0.4% | [0.3%, 0.5%] | 6 |
Improvements (primary) | -0.9% | [-2.6%, -0.2%] | 19 |
Improvements (secondary) | -0.5% | [-0.7%, -0.3%] | 10 |
All (primary) | -0.9% | [-2.6%, -0.2%] | 19 |
@func_name = external global [0 x i8]
– aren't functions special e.g. in how they are treated by the linker on some platforms, and other things like that? Also this will hit entirely untested codepaths in LLVM.#[contracts(<inner_expr>)]
but not #[contracts::requires(<inner_expr>)]
. We also can't trivially reuse existing register_attr!
or visitor because they impose strict limits on the <inner_expr>
and require it to be very primitive (like literals or identifiers or simple lists) but does not support arbitrary expressions like x > 0
. To support the arbitrary inner expression (in that it may not necessarily be a valid rust expression), it may require relaxing that restriction, but it may raise further parsing/grammar questions. It's not clear what's the best path forward here.None
Next meetings' agenda draft: hackmd link