From 7d317e088530dd16c58c3614497ca0b5c73efd82 Mon Sep 17 00:00:00 2001 From: apiraino Date: Thu, 31 Oct 2024 16:06:52 +0100 Subject: [PATCH] Add t-compiler triage meetings 10/24 --- .../T-compiler Meeting Agenda 2024-10-03.md | 312 ++++++++++++++ .../T-compiler Meeting Agenda 2024-10-10.md | 340 +++++++++++++++ .../T-compiler Meeting Agenda 2024-10-17.md | 243 +++++++++++ .../T-compiler Meeting Agenda 2024-10-24.md | 284 +++++++++++++ .../T-compiler Meeting Agenda 2024-10-31.md | 397 ++++++++++++++++++ 5 files changed, 1576 insertions(+) create mode 100644 content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-10-03.md create mode 100644 content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-10-10.md create mode 100644 content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-10-17.md create mode 100644 content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-10-24.md create mode 100644 content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-10-31.md diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-10-03.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-10-03.md new file mode 100644 index 00000000..210f7fc0 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-10-03.md @@ -0,0 +1,312 @@ +--- +tags: weekly, rustc +type: docs +note_id: szi5IXJzROqRtix7BOJjZQ +--- + +# T-compiler Meeting Agenda 2024-10-03 + +## Announcements + +- Reminder: if you see a PR/issue that seems like there might be legal implications due to copyright/IP/etc, please let us know (or at least message @_**davidtwco** or @_**Wesley Wiser** so we can pass it along). + +### Other WG meetings + +None + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - "Make the test cfg a userspace check-cfg" [compiler-team#785](https://github.com/rust-lang/compiler-team/issues/785) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Make.20the.20test.20cfg.20a.20userspace.20check-cfg.20compiler-team.23785)) + - "Policy change around adding new unstable flags" [compiler-team#787](https://github.com/rust-lang/compiler-team/issues/787) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Policy.20change.20around.20adding.20new.20unstable.20.E2.80.A6.20compiler-team.23787)) + - "Normalize FileCheck directives" [compiler-team#789](https://github.com/rust-lang/compiler-team/issues/789) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Normalize.20FileCheck.20directives.20compiler-team.23789)) + - "Relink, don't rebuild" [compiler-team#790](https://github.com/rust-lang/compiler-team/issues/790) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Relink.2C.20don.27t.20rebuild.20compiler-team.23790)) +- Old MCPs (stale MCP might be closed as per [MCP procedure](https://forge.rust-lang.org/compiler/mcp.html#when-should-major-change-proposals-be-closed)) + - None at this time +- Old MCPs (not seconded, take a look) + - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) (last review activity: about 13 days ago) + - "Add Hotpatch flag" [compiler-team#745](https://github.com/rust-lang/compiler-team/issues/745) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20Hotpatch.20flag.20compiler-team.23745)) (last review activity: about 1 days ago) + - "Add `evex512` target feature for AVX10" [compiler-team#778](https://github.com/rust-lang/compiler-team/issues/778) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60evex512.60.20target.20feature.20for.20AVX10.20compiler-team.23778)) (last review activity: about 26 days ago) +- Pending FCP requests (check your boxes!) + - "Add a new `--orchestrator-id` flag to rustc" [compiler-team#635](https://github.com/rust-lang/compiler-team/issues/635) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20a.20new.20.60--build-id.60.20flag.20to.20rustc.20compiler-team.23635)) + - "sanitizers: Stabilize AddressSanitizer and LeakSanitizer for the Tier 1 targets" [rust#123617](https://github.com/rust-lang/rust/pull/123617) + - "Add `--print host-triple` to print host target triple" [rust#125579](https://github.com/rust-lang/rust/pull/125579) + - "Check ABI target compatibility for function pointers" [rust#128784](https://github.com/rust-lang/rust/pull/128784) + - "make unsupported_calling_conventions a hard error" [rust#129935](https://github.com/rust-lang/rust/pull/129935) +- Things in FCP (make sure you're good with it) + - "Add a new `--orchestrator-id` flag to rustc" [compiler-team#635](https://github.com/rust-lang/compiler-team/issues/635) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20a.20new.20.60--build-id.60.20flag.20to.20rustc.20compiler-team.23635)) + - "Target families for executable format" [compiler-team#716](https://github.com/rust-lang/compiler-team/issues/716) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Target.20families.20for.20executable.20format.20compiler-team.23716)) + - "Support tests to use `minicore` std/core prelude stubs" [compiler-team#786](https://github.com/rust-lang/compiler-team/issues/786) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Support.20tests.20to.20use.20.60minicore.60.20std.2Fcore.20.E2.80.A6.20compiler-team.23786)) +- Accepted MCPs + - "Don't track `--emit=` options as part of crate SVH" [compiler-team#769](https://github.com/rust-lang/compiler-team/issues/769) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Don.27t.20track.20.60--emit.3D.60.20options.20as.20part.20of.20.E2.80.A6.20compiler-team.23769)) + - "`--hint-msrv=version` option so the compiler can take MSRV into account when linting" [compiler-team#772](https://github.com/rust-lang/compiler-team/issues/772) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/.60-C.20msrv.3Dversion.60.20option.20so.20the.20compiler.20.E2.80.A6.20compiler-team.23772)) + - "mark some target features as 'forbidden' so they cannot be (un)set with -Ctarget-feature" [compiler-team#780](https://github.com/rust-lang/compiler-team/issues/780) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/mark.20some.20target.20features.20as.20.27forbidden.27.20.E2.80.A6.20compiler-team.23780)) + - "-Z default-visibility option" [compiler-team#782](https://github.com/rust-lang/compiler-team/issues/782) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/-Z.20default-visibility.20option.20compiler-team.23782)) + - "Test rule annotations" [compiler-team#783](https://github.com/rust-lang/compiler-team/issues/783) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Test.20rule.20annotations.20compiler-team.23783)) + - "New Tier-3 target for OpenHarmony on LoongArch64" [compiler-team#784](https://github.com/rust-lang/compiler-team/issues/784) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/New.20Tier-3.20target.20for.20OpenHarmony.20on.20Loon.E2.80.A6.20compiler-team.23784)) +- MCPs blocked on unresolved concerns + - "Retire the mailing list and make all decisions on zulip" [compiler-team#649](https://github.com/rust-lang/compiler-team/issues/649) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Retire.20the.20mailing.20list.20and.20make.20all.20deci.E2.80.A6.20compiler-team.23649)) + - concern: [automatic-sync](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618902660) +- Finalized FCPs (disposition merge) + - No new finished FCP (disposition merge) this time. +- Other teams finalized FCPs + - "Allow dropping `dyn Trait` principal" [rust#126660](https://github.com/rust-lang/rust/pull/126660) + - "atomics: allow atomic and non-atomic reads to race" [rust#128778](https://github.com/rust-lang/rust/pull/128778) + - "Make deprecated_cfg_attr_crate_type_name a hard error" [rust#129670](https://github.com/rust-lang/rust/pull/129670) + - "Stabilize expr_2021 fragment specifier in all editions" [rust#129972](https://github.com/rust-lang/rust/pull/129972) + +### WG checkins + +None + +## Backport nominations + +[T-compiler beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler) / [T-compiler stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-compiler) +- :beta: "Only add an automatic SONAME for Rust dylibs" [rust#130960](https://github.com/rust-lang/rust/pull/130960) + - Authored by cuviper + - Fixes #126094, a stable regression (AFAICS). Context as per [RedHat issue](https://bugzilla.redhat.com/show_bug.cgi?id=2314879): + > This causes RPM to improperly generate Provides for this shared object / .so file where previously no such metadata was added automatically. + - @_**apiraino**: I /think/ this means that the `rustc` Fedora package dependency metadata are broken + - Nominated by @**Vadim Petrochenkov** for both beta+stable backport + +- :beta: "Reject leading unsafe in `cfg!(...)` and `--check-cfg`" [rust#131057](https://github.com/rust-lang/rust/pull/131057) + - Authored by Urgau + - Fixes #131055, inconsistent validation of `unsafe(..)` attributes + +- :stable: "Only add an automatic SONAME for Rust dylibs" [rust#130960](https://github.com/rust-lang/rust/pull/130960) + - Authored by cuviper + - See above (also beta nominated) + + +[T-types stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-types) / [T-types beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-types) +- No beta nominations for `T-types` this time. +- No stable nominations for `T-types` this time. + +## PRs S-waiting-on-team + +[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Aopen+label%3AS-waiting-on-team+label%3AT-compiler) +- [Issues in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) + +## Issues of Note + +### Short Summary + +- [0 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical) + - [0 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee) +- [69 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) + - [41 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high+no%3Aassignee) +- [0 P-critical, 3 P-high, 4 P-medium, 0 P-low regression-from-stable-to-beta](https://github.com/rust-lang/rust/labels/regression-from-stable-to-beta) +- [0 P-critical, 0 P-high, 6 P-medium, 3 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) +- [0 P-critical, 36 P-high, 100 P-medium, 17 P-low regression-from-stable-to-stable](https://github.com/rust-lang/rust/labels/regression-from-stable-to-stable) + +### P-critical + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-compiler) +- No `P-critical` issues for `T-compiler` this time. + +[T-types](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-types) +- No `P-critical` issues for `T-types` this time. + +### P-high regressions + +[P-high beta regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-beta+label%3AP-high+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core) +- "regression: overflow evaluating the requirement" [rust#128887](https://github.com/rust-lang/rust/issues/128887) + - Fixed, just needs a test (see [comment](https://github.com/rust-lang/rust/issues/128887#issuecomment-2361152008)). Any taker? + +[Unassigned P-high nightly regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-nightly+label%3AP-high+no%3Aassignee+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core+) +- No unassigned `P-high` nightly regressions this time. + +## Performance logs + +> [triage logs for 2024-10-01](https://github.com/rust-lang/rustc-perf/blob/master/triage/2024-10-01.md) + +A quiet week without too many perf. changes, although there was a nice perf. win on documentation +builds thanks to [#130857](https://github.com/rust-lang/rust/pull/130857). Overall the results were positive. + +Triage done by **@kobzol**. +Revision range: [4cadeda9..c87004a1](https://perf.rust-lang.org/?start=4cadeda932d5c261a9a0b1bbd25c4486e4e0a4c6&end=c87004a1f5be671e3f03f69fb13d8915bdbb6a52&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:---------------:|:-----:| +| Regressions (primary) | 0.5% | [0.2%, 0.8%] | 11 | +| Regressions (secondary) | 0.3% | [0.2%, 0.6%] | 19 | +| Improvements (primary) | -1.2% | [-14.9%, -0.2%] | 21 | +| Improvements (secondary) | -1.0% | [-2.3%, -0.3%] | 5 | +| All (primary) | -0.6% | [-14.9%, 0.8%] | 32 | + + +3 Regressions, 4 Improvements, 3 Mixed; 2 of them in rollups +47 artifact comparisons made in total + +#### Regressions + +Add `optimize_for_size` variants for stable and unstable sort as well as select_nth_unstable [#129587](https://github.com/rust-lang/rust/pull/129587) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=67bb749c2e1cf503fee64842963dd3e72a417a3f&end=363ae4188316b8b22cf6c1890bc73d84d05f70a4&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.3% | [0.2%, 0.3%] | 3 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.3% | [0.2%, 0.3%] | 3 | + +- This PR improved the binary size of stdlib's sorting algorithms when compiled with the `optimize_for_size` +cfg option. +- It caused some small codegen perturbations, but it does not seem to warrant further changes. +- Marked as triaged. + +Rollup of 6 pull requests [#130847](https://github.com/rust-lang/rust/pull/130847) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b5117538e934f81e39eb9c326fdcc6574d144cb7&end=0399709cdc3c5cc22327e9f657dc7956546a0457&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.6% | [0.3%, 0.9%] | 9 | +| Regressions (secondary) | 0.6% | [0.3%, 1.8%] | 8 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.6% | [0.3%, 0.9%] | 9 | + +- Regression comes from [#130735](https://github.com/rust-lang/rust/pull/130735), which implements +a new form of MIR validation. +- Marked as triaged. + +bump few deps [#130874](https://github.com/rust-lang/rust/pull/130874) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b6576e3f63916034810d24172c35a5ac1c0ef704&end=851f698682aa2e4c226e1a2c1af30adbcb63aae2&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 3.4% | [3.4%, 3.4%] | 1 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 3.4% | [3.4%, 3.4%] | 1 | + +- Noise, marked as triaged. + +#### Improvements + +Run `cargo update` in the project root [#129624](https://github.com/rust-lang/rust/pull/129624) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=4428a051679ec6194a118424f4616d922249a1e6&end=2bd1e894efde3b6be857ad345914a3b1cea51def&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.5% | [-1.2%, -0.1%] | 14 | +| Improvements (secondary) | -1.0% | [-2.5%, -0.2%] | 7 | +| All (primary) | -0.5% | [-1.2%, -0.1%] | 14 | + + +rustdoc perf: clone `clean::Item` less [#130857](https://github.com/rust-lang/rust/pull/130857) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b9dc4a30e116c6bd1b873fa79379ea70e102c47b&end=a3f76a26e045a760bb1163b7eab36872985242d5&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:---------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -9.3% | [-15.5%, -3.1%] | 2 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -9.3% | [-15.5%, -3.1%] | 2 | + + +library: Compute `RUST_EXCEPTION_CLASS` from native-endian bytes [#130897](https://github.com/rust-lang/rust/pull/130897) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=851f698682aa2e4c226e1a2c1af30adbcb63aae2&end=150247c338a54cb3d08614d8530d1bb491fa90db&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -3.3% | [-3.3%, -3.3%] | 1 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -3.3% | [-3.3%, -3.3%] | 1 | + + +Improve autovectorization of to_lowercase / to_uppercase functions [#123778](https://github.com/rust-lang/rust/pull/123778) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ed04567ba1d5956d1080fb8121caa005ce059e12&end=55cb7359c7a43fb084d4717088e4f6ad7d7964f4&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.3% | [-0.4%, -0.2%] | 21 | +| Improvements (secondary) | -1.2% | [-2.2%, -0.2%] | 2 | +| All (primary) | -0.3% | [-0.4%, -0.2%] | 21 | + + +#### Mixed + +Revert "Apply EarlyOtherwiseBranch to scalar value #129047" [#130775](https://github.com/rust-lang/rust/pull/130775) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=4cbfcf1b7f16245176488e581f57b39a7e32bc31&end=67bb749c2e1cf503fee64842963dd3e72a417a3f&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.6% | [0.6%, 0.6%] | 1 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -1.1% | [-1.1%, -1.1%] | 1 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.2% | [-1.1%, 0.6%] | 2 | + +- Revert of a PR because of correctness issues. + +Rollup of 7 pull requests [#130807](https://github.com/rust-lang/rust/pull/130807) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=3f99982c633dbca746140db60ed52ba7fa112803&end=1b5aa96d6016bafe50e071b45d4d2e3c90fd766f&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.3% | [0.2%, 0.7%] | 5 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.4% | [-0.4%, -0.4%] | 1 | +| Improvements (secondary) | -1.2% | [-2.3%, -0.2%] | 2 | +| All (primary) | 0.2% | [-0.4%, 0.7%] | 6 | + +- The doc build regressions were fixed (and in fact much improved) in [#130857](https://github.com/rust-lang/rust/pull/130857). +- Marked as triaged. + +properly elaborate effects implied bounds for super traits [#129499](https://github.com/rust-lang/rust/pull/129499) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0d6e13019609d8fa27cb4fafa7878c9e09279e14&end=4e91cedaedba39d06748c5873347f1a7341937ae&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.3% | [0.3%, 0.3%] | 4 | +| Regressions (secondary) | 0.2% | [0.2%, 0.2%] | 1 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -2.0% | [-2.0%, -2.0%] | 1 | +| All (primary) | 0.3% | [0.3%, 0.3%] | 4 | + +- Small genuine regression caused by a change in trait elaboration. +- Marked as triaged. + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- "Stabilize `extended_varargs_abi_support`" [rust#116161](https://github.com/rust-lang/rust/pull/116161) + - Was waiting on T-lang first opinion (see [comment](https://github.com/rust-lang/rust/pull/116161#issuecomment-2374460539)) + - Anything T-compiler wants to add? +- "Tracking Issue for Arm microcontoller feature flags" [rust#130988](https://github.com/rust-lang/rust/issues/130988) + - @thejpster opened an issue to track useful Arm microcontroller feature flags that could use stabilisation. Example: `-fpregs` or `+mve`. + - These target features are about stopping LLVM using a feature when you give it a `-C target-feature=xxx`, as not all models of CPU actually have all features and `-C target-cpu` is over-eager at enabling things. + - @_**RalfJung** said: + > None of these features are currently listed as known ARM features in rustc, so they all cause a warning. And yet our docs recommend people to use them. So that's clearly not great. `fpregs` is particularly tricky since disabling it on an `eabihf` target is **unsound** as it changes the float ABI. On `eabi` targets it's fine because those have `+soft-float` anyway, which forces the `soft-float` ABI. So we'll need to stabilize this in a way where particular targets opt-in to supporting this feature, or something like that. + - @_**jieyouxu**: + > considering the RfL target feature flags, we probably want a design meeting for handling `-C target-cpu`, `-C target-feature` and target specs and properly tracking them for dependencies to error if incompatible things are used together in general. + > cc . + +[RFC](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- No I-compiler-nominated RFCs this time. + +### Oldest PRs waiting for review + +None this week + +## Next week's WG checkins + +None + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/AW9c7Zs-QIih_Wbteo1R2g) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-10-10.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-10-10.md new file mode 100644 index 00000000..cd8a2167 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-10-10.md @@ -0,0 +1,340 @@ +--- +tags: weekly, rustc +type: docs +note_id: AW9c7Zs-QIih_Wbteo1R2g +--- + +# T-compiler Meeting Agenda 2024-10-10 + +## Announcements + +- Next week Rust 1.82 is out +- Reminder: if you see a PR/issue that seems like there might be legal implications due to copyright/IP/etc, please let us know (or at least message @_**davidtwco** or @_**Wesley Wiser** so we can pass it along). + +### Other WG meetings +- Types Team: ITE (Impl Trait Everywhere) Triage +- wg-rust-analyzer steering meeting on Zulip (https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Steering.20meeting) +- wg-macros triage meeting Zulip (https://rust-lang.zulipchat.com/#narrow/stream/410876-wg-macros.2Ftriage) + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - "Make the test cfg a userspace check-cfg" [compiler-team#785](https://github.com/rust-lang/compiler-team/issues/785) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Make.20the.20test.20cfg.20a.20userspace.20check-cfg.20compiler-team.23785)) + - "Policy change around adding new unstable flags" [compiler-team#787](https://github.com/rust-lang/compiler-team/issues/787) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Policy.20change.20around.20adding.20new.20unstable.20.E2.80.A6.20compiler-team.23787)) + - "Normalize FileCheck directives" [compiler-team#789](https://github.com/rust-lang/compiler-team/issues/789) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Normalize.20FileCheck.20directives.20compiler-team.23789)) + - "Relink, don't rebuild" [compiler-team#790](https://github.com/rust-lang/compiler-team/issues/790) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Relink.2C.20don.27t.20rebuild.20compiler-team.23790)) + - "Promote tier 3 `arm64e-apple-ios` target to tier 2" [compiler-team#793](https://github.com/rust-lang/compiler-team/issues/793) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20tier.203.20.60arm64e-apple-ios.60.20target.20.E2.80.A6.20compiler-team.23793)) +- Old MCPs (stale MCP might be closed as per [MCP procedure](https://forge.rust-lang.org/compiler/mcp.html#when-should-major-change-proposals-be-closed)) + - None at this time +- Old MCPs (not seconded, take a look) + - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) (last review activity: about 21 days ago) + - "Add Hotpatch flag" [compiler-team#745](https://github.com/rust-lang/compiler-team/issues/745) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20Hotpatch.20flag.20compiler-team.23745)) (last review activity: about 9 days ago) + - "Add `evex512` target feature for AVX10" [compiler-team#778](https://github.com/rust-lang/compiler-team/issues/778) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60evex512.60.20target.20feature.20for.20AVX10.20compiler-team.23778)) (last review activity: about 34 days ago) +- Pending FCP requests (check your boxes!) + - "sanitizers: Stabilize AddressSanitizer and LeakSanitizer for the Tier 1 targets" [rust#123617](https://github.com/rust-lang/rust/pull/123617) + - "Add `--print host-triple` to print host target triple" [rust#125579](https://github.com/rust-lang/rust/pull/125579) + - "make unsupported_calling_conventions a hard error" [rust#129935](https://github.com/rust-lang/rust/pull/129935) + - "Stabilize WebAssembly `multivalue`, `reference-types`, and `tail-call` target features" [rust#131080](https://github.com/rust-lang/rust/pull/131080) +- Things in FCP (make sure you're good with it) + - "Wasm minimal features target" [compiler-team#791](https://github.com/rust-lang/compiler-team/issues/791) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Wasm.20minimal.20features.20target.20compiler-team.23791)) + - "Check ABI target compatibility for function pointers" [rust#128784](https://github.com/rust-lang/rust/pull/128784) + - "Implement edition 2024 match ergonomics restrictions" [rust#131381](https://github.com/rust-lang/rust/pull/131381) +- Accepted MCPs + - "Add a new `--orchestrator-id` flag to rustc" [compiler-team#635](https://github.com/rust-lang/compiler-team/issues/635) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20a.20new.20.60--build-id.60.20flag.20to.20rustc.20compiler-team.23635)) + - "Target families for executable format" [compiler-team#716](https://github.com/rust-lang/compiler-team/issues/716) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Target.20families.20for.20executable.20format.20compiler-team.23716)) + - "Don't track `--emit=` options as part of crate SVH" [compiler-team#769](https://github.com/rust-lang/compiler-team/issues/769) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Don.27t.20track.20.60--emit.3D.60.20options.20as.20part.20of.20.E2.80.A6.20compiler-team.23769)) + - "`--hint-msrv=version` option so the compiler can take MSRV into account when linting" [compiler-team#772](https://github.com/rust-lang/compiler-team/issues/772) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/.60-C.20msrv.3Dversion.60.20option.20so.20the.20compiler.20.E2.80.A6.20compiler-team.23772)) + - "mark some target features as 'forbidden' so they cannot be (un)set with -Ctarget-feature" [compiler-team#780](https://github.com/rust-lang/compiler-team/issues/780) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/mark.20some.20target.20features.20as.20.27forbidden.27.20.E2.80.A6.20compiler-team.23780)) + - "-Z default-visibility option" [compiler-team#782](https://github.com/rust-lang/compiler-team/issues/782) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/-Z.20default-visibility.20option.20compiler-team.23782)) + - "Test rule annotations" [compiler-team#783](https://github.com/rust-lang/compiler-team/issues/783) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Test.20rule.20annotations.20compiler-team.23783)) + - "New Tier-3 target for OpenHarmony on LoongArch64" [compiler-team#784](https://github.com/rust-lang/compiler-team/issues/784) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/New.20Tier-3.20target.20for.20OpenHarmony.20on.20Loon.E2.80.A6.20compiler-team.23784)) + - "Support tests to use `minicore` std/core prelude stubs" [compiler-team#786](https://github.com/rust-lang/compiler-team/issues/786) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Support.20tests.20to.20use.20.60minicore.60.20std.2Fcore.20.E2.80.A6.20compiler-team.23786)) + - "Remove the `run-pass-valgrind` test suite" [compiler-team#792](https://github.com/rust-lang/compiler-team/issues/792) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Remove.20the.20.60run-pass-valgrind.60.20test.20suite.20compiler-team.23792)) +- MCPs blocked on unresolved concerns + - "Retire the mailing list and make all decisions on zulip" [compiler-team#649](https://github.com/rust-lang/compiler-team/issues/649) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Retire.20the.20mailing.20list.20and.20make.20all.20deci.E2.80.A6.20compiler-team.23649)) + - concern: [automatic-sync](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618902660) +- Finalized FCPs (disposition merge) + - None +- Other teams finalized FCPs + - "Allow dropping `dyn Trait` principal" [rust#126660](https://github.com/rust-lang/rust/pull/126660) + - "atomics: allow atomic and non-atomic reads to race" [rust#128778](https://github.com/rust-lang/rust/pull/128778) + - "Do not consider match/let/ref of place that evaluates to `!` to diverge, disallow coercions from them too" [rust#129392](https://github.com/rust-lang/rust/pull/129392) + - "Make deprecated_cfg_attr_crate_type_name a hard error" [rust#129670](https://github.com/rust-lang/rust/pull/129670) + - "Stabilize expr_2021 fragment specifier in all editions" [rust#129972](https://github.com/rust-lang/rust/pull/129972) + - "Check elaborated projections from dyn don't mention unconstrained late bound lifetimes" [rust#130367](https://github.com/rust-lang/rust/pull/130367) + +### WG checkins + +None + +## Backport nominations + +[T-compiler beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler) / [T-compiler stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-compiler) +- :beta:"Disable jump threading `UnOp::Not` for non-bool" [rust#131201](https://github.com/rust-lang/rust/pull/131201) + - Authored by compiler-errors + - Fixes an unsoundness #131195 (`-Zmir-opt-level=2` miscompiles) and maybe also #131419 + - assuming the issue reproduces on beta and stable since this patch is labelled with both backport requests (didn't find a clear indication of that in #131195) cc @**Michael Goulet (compiler-errors)** + +- :beta:"Update LLVM submodule" [rust#131448](https://github.com/rust-lang/rust/pull/131448) + - Authored by DianQK + - on target `thumbv7em-none-eabihf` (Tier 2 w/o host tools, see #131164), the `defmt` crate (supposedly widely used on that target) does not compile anymore. + - But context seems to be a little less common that that (see [comment](https://rust-lang.zulipchat.com/#narrow/stream/245100-t-compiler.2Fwg-prioritization.2Falerts/topic/.23131164.20non-pub.20function.20no.20longer.20compiled.20in.20debug.20profil.E2.80.A6/near/475868602) on Zulip) + - Patchset upstream is [here](https://github.com/rust-lang/llvm-project/compare/dd46457da782554454106d48ecd4f6b4c2f9af73...3a17f74904a74565c54cfac0d67026362d038698), also contains a few other changes + - This fix is still being worked on (some CI issues). + +- :stable:"Disable jump threading `UnOp::Not` for non-bool" [rust#131201](https://github.com/rust-lang/rust/pull/131201) + - Authored by compiler-errors + - see above + + +[T-types stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-types) / [T-types beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-types) +- No beta nominations for `T-types` this time. +- No stable nominations for `T-types` this time. + +## PRs S-waiting-on-team + +[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Aopen+label%3AS-waiting-on-team+label%3AT-compiler) +- "Add x86 specific hotpatch flag to rustc" [rust#124966](https://github.com/rust-lang/rust/pull/124966) + - This is waiting on [MCP#745](https://github.com/rust-lang/compiler-team/issues/745), in case anyone has time to look at that (Zulip discussion) +- "Stabilize WebAssembly `multivalue`, `reference-types`, and `tail-call` target features" [rust#131080](https://github.com/rust-lang/rust/pull/131080) + - @_*petrochenkov* opened RFC to merge this ([link](https://github.com/rust-lang/rust/pull/131080#issuecomment-2403261016)) +- [Issues in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) + +## Issues of Note + +### Short Summary + +- [0 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical) + - [0 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee) +- [71 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) + - [43 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high+no%3Aassignee) +- [0 P-critical, 3 P-high, 5 P-medium, 0 P-low regression-from-stable-to-beta](https://github.com/rust-lang/rust/labels/regression-from-stable-to-beta) +- [0 P-critical, 1 P-high, 5 P-medium, 3 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) +- [0 P-critical, 36 P-high, 100 P-medium, 17 P-low regression-from-stable-to-stable](https://github.com/rust-lang/rust/labels/regression-from-stable-to-stable) + +### P-critical + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-compiler) +- No `P-critical` issues for `T-compiler` this time. + +[T-types](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-types) +- No `P-critical` issues for `T-types` this time. + +### P-high regressions + +[P-high beta regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-beta+label%3AP-high+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core) +- "non-pub function no longer compiled in debug profile, causing link errors on thumbv7em-none-eabihf with defmt" [rust#131164](https://github.com/rust-lang/rust/issues/131164) + - See backport of #131448 + +[Unassigned P-high nightly regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-nightly+label%3AP-high+no%3Aassignee+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core+) +- No unassigned `P-high` nightly regressions this time. + +## Performance logs + +> [triage logs for 2024-10-08](https://github.com/rust-lang/rustc-perf/blob/master/triage/2024-10-08.md) + +One regression dominated this week (dealing with a correctness fix around type system caching that was deemed necessary), but it luckily did not produce large regressions in any benchmarks. Overall, performance still ended up relatively in the same place as the beginning of the week. + +Triage done by **@rylev**. +Revision range: [c87004a1..e6c46db4](https://perf.rust-lang.org/?start=c87004a1f5be671e3f03f69fb13d8915bdbb6a52&end=e6c46db4e9fd11e3183c397a59d946731034ede6&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.3% | [0.1%, 1.0%] | 63 | +| Regressions (secondary) | 1.1% | [0.1%, 3.4%] | 81 | +| Improvements (primary) | -0.5% | [-3.0%, -0.1%] | 19 | +| Improvements (secondary) | -0.5% | [-1.5%, -0.1%] | 46 | +| All (primary) | 0.1% | [-3.0%, 1.0%] | 82 | + + +2 Regressions, 3 Improvements, 7 Mixed; 3 of them in rollups +57 artifact comparisons made in total + +#### Regressions + +Rollup of 4 pull requests [#131111](https://github.com/rust-lang/rust/pull/131111) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c817d5dc2050ec443516f9700c19b1419593a83d&end=06bb8364aaffefb0ce67e5f5445e66ec99c1f66e&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.2% | [0.2%, 0.2%] | 4 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.2% | [0.2%, 0.2%] | 4 | +- It seems like https://github.com/rust-lang/rust/pull/130005 would be the only PR that could possibly have introduced any perf variation here though it's not clear to me why. + + +add caching to most type folders, rm region uniquification [#130821](https://github.com/rust-lang/rust/pull/130821) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5384697e9e73709301850a414e1cc40324e6460b&end=18b1161ec9eeab8927f91405bca0ddf59a4a26c9&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.3% | [0.1%, 0.5%] | 44 | +| Regressions (secondary) | 0.7% | [0.2%, 2.1%] | 44 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.3% | [0.1%, 0.5%] | 44 | +- Perf regressions were seen before merge and deemed acceptable [here](https://github.com/rust-lang/rust/pull/130821#issuecomment-2386298339). + + +#### Improvements + +Update hashbrown to 0.15 and adjust some methods [#131148](https://github.com/rust-lang/rust/pull/131148) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9c7013c15c189a6978ac8b9dac638581495527de&end=ad9c494835e746fb7c8a26eeed0ad90e4e834058&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.2% | [-0.2%, -0.1%] | 2 | +| Improvements (secondary) | -0.3% | [-2.3%, -0.1%] | 14 | +| All (primary) | -0.2% | [-0.2%, -0.1%] | 2 | + + +Make opaque types regular HIR nodes [#129244](https://github.com/rust-lang/rust/pull/129244) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d30c3924a4ef6ab4f331134562c145d5cec0179a&end=5a4ee43c387110736440cecc375cb5aedc441dbc&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.1% | [0.1%, 0.1%] | 2 | +| Improvements (primary) | -0.2% | [-0.3%, -0.1%] | 13 | +| Improvements (secondary) | -0.6% | [-1.4%, -0.2%] | 23 | +| All (primary) | -0.2% | [-0.3%, -0.1%] | 13 | + + +Rollup of 7 pull requests [#131372](https://github.com/rust-lang/rust/pull/131372) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7caad6925314911eefe54b040d4bc5be940e8f92&end=baaf3e65abab5a281715230bcb1785610629ae7d&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.3% | [-0.3%, -0.2%] | 3 | +| Improvements (secondary) | -0.2% | [-0.3%, -0.1%] | 9 | +| All (primary) | -0.3% | [-0.3%, -0.2%] | 3 | + + +#### Mixed + +rustdoc: rewrite stability inheritance as a doc pass [#131076](https://github.com/rust-lang/rust/pull/131076) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f79ef02e4bc87eb6dc8374cd4bde8e86f9695cf9&end=07f08ffb2dbc864d2127abedf7a5917b965c0a4b&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.5% | [0.2%, 0.8%] | 2 | +| Regressions (secondary) | 0.2% | [0.1%, 0.2%] | 7 | +| Improvements (primary) | -0.5% | [-0.9%, -0.2%] | 4 | +| Improvements (secondary) | -0.2% | [-0.2%, -0.2%] | 1 | +| All (primary) | -0.1% | [-0.9%, 0.8%] | 6 | +- Documentation correctness fix, but the results are a wash anyway, especially on primary benchmarks. + + +Rollup of 5 pull requests [#131098](https://github.com/rust-lang/rust/pull/131098) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8dd5cd0bc1d683c30805e1dc831cac546b621a75&end=c817d5dc2050ec443516f9700c19b1419593a83d&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.3% | [0.2%, 0.3%] | 5 | +| Regressions (secondary) | 0.2% | [0.2%, 0.2%] | 1 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.3% | [-0.3%, -0.2%] | 6 | +| All (primary) | 0.3% | [0.2%, 0.3%] | 5 | +- The regressions are small and largely a jump back to a previous baseline so I don't think this merits investigation. + + +interpret: always enable write_immediate sanity checks [#131006](https://github.com/rust-lang/rust/pull/131006) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=18b1161ec9eeab8927f91405bca0ddf59a4a26c9&end=9c7013c15c189a6978ac8b9dac638581495527de&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.5% | [0.2%, 2.3%] | 15 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -2.0% | [-2.0%, -2.0%] | 1 | +| All (primary) | - | - | 0 | +- The perf regressions were deemed acceptable [here](https://github.com/rust-lang/rust/pull/131006#issuecomment-2383332832). + + +Handle `librustdoc` cases of `rustc::potential_query_instability` lint [#131259](https://github.com/rust-lang/rust/pull/131259) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=96d9d8aa7de9396fe22702ff6df33816ae4d01b6&end=373971abe48287f47ead6304b19279f34b6fcce5&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.5% | [0.2%, 1.4%] | 9 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.5% | [-0.6%, -0.4%] | 2 | +| All (primary) | 0.5% | [0.2%, 1.4%] | 9 | +- 1% regression in exchange for a reproducible build improvement. If we want to claw it back, we need to iterate over hash maps less. + + +`rustc_infer` cleanups [#131226](https://github.com/rust-lang/rust/pull/131226) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a964a9227787447016894268152bff79ee76a36b&end=8841a3daddd4013c52e8b6de0407fd9b5902583c&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.8% | [0.4%, 1.0%] | 8 | +| Improvements (primary) | -0.3% | [-0.5%, -0.2%] | 40 | +| Improvements (secondary) | -0.3% | [-0.5%, -0.2%] | 15 | +| All (primary) | -0.3% | [-0.5%, -0.2%] | 40 | +- Perf improvements outweigh the regressions so marking this as triaged + + +Remove `CombineFields` [#131343](https://github.com/rust-lang/rust/pull/131343) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=baaf3e65abab5a281715230bcb1785610629ae7d&end=3ae715c8c63f9aeac47cbf7d8d9dadb3fa32c638&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.2% | [0.2%, 0.2%] | 3 | +| Regressions (secondary) | 0.3% | [0.2%, 0.3%] | 3 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.2% | [-0.2%, -0.2%] | 1 | +| All (primary) | 0.2% | [0.2%, 0.2%] | 3 | +- Regressions were determined as acceptable [here](https://github.com/rust-lang/rust/pull/131343#issuecomment-2396836003). + + +Add precondition checks to ptr::offset, ptr::add, ptr::sub [#130251](https://github.com/rust-lang/rust/pull/130251) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=3ae715c8c63f9aeac47cbf7d8d9dadb3fa32c638&end=b8495e5dd22fa16fc86d6871b34c7891a6a3ee27&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.4% | [0.3%, 0.5%] | 2 | +| Improvements (primary) | -3.2% | [-3.2%, -3.2%] | 1 | +| Improvements (secondary) | -0.2% | [-0.2%, -0.2%] | 1 | +| All (primary) | -3.2% | [-3.2%, -3.2%] | 1 | +- Results are net neutral and not significant enough to worry about. Alternatively, the slowdown is justified by finding bugs in real code. + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- No I-compiler-nominated issues this time. + +[RFC](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- No I-compiler-nominated RFCs this time. + +### Oldest PRs waiting for review + +[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-asc+label%3AS-waiting-on-review+draft%3Afalse+label%3AT-compiler) +- "add error message for c# style named arguments" [rust#118733](https://github.com/rust-lang/rust/pull/118733) + - cc: @**Esteban Küber** +- "Fix bug where `option_env!` would return `None` when env var is present but not valid Unicode" [rust#122670](https://github.com/rust-lang/rust/pull/122670) + - cc: @_**Michael Goulet (compiler-errors)** +- "Suggest cloning `Arc` moved into closure" [rust#124595](https://github.com/rust-lang/rust/pull/124595) (last review activity: 4 months ago) + - cc: @**pnkfelix** +- "Silence errors in expressions caused by bare traits in paths in 2021 edition" [rust#125784](https://github.com/rust-lang/rust/pull/125784) + - cc: @**León Orell Liehr (fmease)** but also author cc @**Esteban Küber** + - this is pretty big diff and needs a rebase. I'm not sure about the best way to proceed + +## Next week's WG checkins + +None + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/SM8ZkqI7Q26ZMuJ67YXC-A) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-10-17.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-10-17.md new file mode 100644 index 00000000..2aed5b23 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-10-17.md @@ -0,0 +1,243 @@ +--- +tags: weekly, rustc +type: docs +note_id: SM8ZkqI7Q26ZMuJ67YXC-A +--- + +# T-compiler Meeting Agenda 2024-10-17 + +## Announcements + +- Today, Rust 1.82 stable is out ([blog post](https://github.com/cuviper/blog.rust-lang.org/blob/rust-1.82.0/posts/2024-10-17-Rust-1.82.0.md)) +- Reminder: if you see a PR/issue that seems like there might be legal implications due to copyright/IP/etc, please let us know (or at least message @_**davidtwco** or @_**Wesley Wiser** so we can pass it along). + +### Other WG meetings +- Types Team: ITE (Impl Trait Everywhere) Triage +- wg-rust-analyzer steering meeting on Zulip (https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Steering.20meeting) +- wg-macros triage meeting Zulip (https://rust-lang.zulipchat.com/#narrow/stream/410876-wg-macros.2Ftriage) + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - "Make the test cfg a userspace check-cfg" [compiler-team#785](https://github.com/rust-lang/compiler-team/issues/785) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Make.20the.20test.20cfg.20a.20userspace.20check-cfg.20compiler-team.23785)) + - "Policy change around adding new unstable flags" [compiler-team#787](https://github.com/rust-lang/compiler-team/issues/787) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Policy.20change.20around.20adding.20new.20unstable.20.E2.80.A6.20compiler-team.23787)) + - "Normalize FileCheck directives" [compiler-team#789](https://github.com/rust-lang/compiler-team/issues/789) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Normalize.20FileCheck.20directives.20compiler-team.23789)) + - "Relink, don't rebuild" [compiler-team#790](https://github.com/rust-lang/compiler-team/issues/790) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Relink.2C.20don.27t.20rebuild.20compiler-team.23790)) + - "Promote tier 3 `arm64e-apple-ios` target to tier 2" [compiler-team#793](https://github.com/rust-lang/compiler-team/issues/793) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20tier.203.20.60arm64e-apple-ios.60.20target.20.E2.80.A6.20compiler-team.23793)) + - "Attribute handling reworks" [compiler-team#796](https://github.com/rust-lang/compiler-team/issues/796) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Attribute.20handling.20reworks.20compiler-team.23796)) + - "Support for a new `wasm32-linux-musl` Tier-3 target" [compiler-team#797](https://github.com/rust-lang/compiler-team/issues/797) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Support.20for.20a.20new.20.60wasm32-linux-musl.60.20Tie.E2.80.A6.20compiler-team.23797)) +- Old MCPs (stale MCP might be closed as per [MCP procedure](https://forge.rust-lang.org/compiler/mcp.html#when-should-major-change-proposals-be-closed)) + - None at this time +- Old MCPs (not seconded, take a look) + - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) (last review activity: about 27 days ago) + - "Add Hotpatch flag" [compiler-team#745](https://github.com/rust-lang/compiler-team/issues/745) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20Hotpatch.20flag.20compiler-team.23745)) (last review activity: about 6 days ago) + - "Add `evex512` target feature for AVX10" [compiler-team#778](https://github.com/rust-lang/compiler-team/issues/778) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60evex512.60.20target.20feature.20for.20AVX10.20compiler-team.23778)) (last review activity: about 41 days ago) +- Pending FCP requests (check your boxes!) + - "sanitizers: Stabilize AddressSanitizer and LeakSanitizer for the Tier 1 targets" [rust#123617](https://github.com/rust-lang/rust/pull/123617) + - "Add `--print host-triple` to print host target triple" [rust#125579](https://github.com/rust-lang/rust/pull/125579) + - "Stabilize WebAssembly `multivalue`, `reference-types`, and `tail-call` target features" [rust#131080](https://github.com/rust-lang/rust/pull/131080) + - "Lint on combining `#[no_mangle]` and `#[export_name]`" [rust#131558](https://github.com/rust-lang/rust/pull/131558) +- Things in FCP (make sure you're good with it) + - "Wasm minimal features target" [compiler-team#791](https://github.com/rust-lang/compiler-team/issues/791) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Wasm.20minimal.20features.20target.20compiler-team.23791)) + - "make unsupported_calling_conventions a hard error" [rust#129935](https://github.com/rust-lang/rust/pull/129935) +- Accepted MCPs + - "Add a new `--orchestrator-id` flag to rustc" [compiler-team#635](https://github.com/rust-lang/compiler-team/issues/635) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20a.20new.20.60--build-id.60.20flag.20to.20rustc.20compiler-team.23635)) + - "Target families for executable format" [compiler-team#716](https://github.com/rust-lang/compiler-team/issues/716) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Target.20families.20for.20executable.20format.20compiler-team.23716)) + - "Don't track `--emit=` options as part of crate SVH" [compiler-team#769](https://github.com/rust-lang/compiler-team/issues/769) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Don.27t.20track.20.60--emit.3D.60.20options.20as.20part.20of.20.E2.80.A6.20compiler-team.23769)) + - "`--hint-msrv=version` option so the compiler can take MSRV into account when linting" [compiler-team#772](https://github.com/rust-lang/compiler-team/issues/772) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/.60-C.20msrv.3Dversion.60.20option.20so.20the.20compiler.20.E2.80.A6.20compiler-team.23772)) + - "mark some target features as 'forbidden' so they cannot be (un)set with -Ctarget-feature" [compiler-team#780](https://github.com/rust-lang/compiler-team/issues/780) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/mark.20some.20target.20features.20as.20.27forbidden.27.20.E2.80.A6.20compiler-team.23780)) + - "-Z default-visibility option" [compiler-team#782](https://github.com/rust-lang/compiler-team/issues/782) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/-Z.20default-visibility.20option.20compiler-team.23782)) + - "Test rule annotations" [compiler-team#783](https://github.com/rust-lang/compiler-team/issues/783) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Test.20rule.20annotations.20compiler-team.23783)) + - "New Tier-3 target for OpenHarmony on LoongArch64" [compiler-team#784](https://github.com/rust-lang/compiler-team/issues/784) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/New.20Tier-3.20target.20for.20OpenHarmony.20on.20Loon.E2.80.A6.20compiler-team.23784)) + - "Support tests to use `minicore` std/core prelude stubs" [compiler-team#786](https://github.com/rust-lang/compiler-team/issues/786) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Support.20tests.20to.20use.20.60minicore.60.20std.2Fcore.20.E2.80.A6.20compiler-team.23786)) + - "Remove the `run-pass-valgrind` test suite" [compiler-team#792](https://github.com/rust-lang/compiler-team/issues/792) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Remove.20the.20.60run-pass-valgrind.60.20test.20suite.20compiler-team.23792)) + - "Create a notification group for WASM" [compiler-team#794](https://github.com/rust-lang/compiler-team/issues/794) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Create.20a.20notification.20group.20for.20WASM.20compiler-team.23794)) +- MCPs blocked on unresolved concerns + - "Retire the mailing list and make all decisions on zulip" [compiler-team#649](https://github.com/rust-lang/compiler-team/issues/649) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Retire.20the.20mailing.20list.20and.20make.20all.20deci.E2.80.A6.20compiler-team.23649)) + - concern: [automatic-sync](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618902660) +- Finalized FCPs (disposition merge) + - None +- Other teams finalized FCPs + - "Fixup Windows verbatim paths when used with the `include!` macro" [rust#125205](https://github.com/rust-lang/rust/pull/125205) + - "Allow dropping `dyn Trait` principal" [rust#126660](https://github.com/rust-lang/rust/pull/126660) + - "atomics: allow atomic and non-atomic reads to race" [rust#128778](https://github.com/rust-lang/rust/pull/128778) + - "Do not consider match/let/ref of place that evaluates to `!` to diverge, disallow coercions from them too" [rust#129392](https://github.com/rust-lang/rust/pull/129392) + - "Make deprecated_cfg_attr_crate_type_name a hard error" [rust#129670](https://github.com/rust-lang/rust/pull/129670) + - "Stabilize expr_2021 fragment specifier in all editions" [rust#129972](https://github.com/rust-lang/rust/pull/129972) + - "Check elaborated projections from dyn don't mention unconstrained late bound lifetimes" [rust#130367](https://github.com/rust-lang/rust/pull/130367) + - "Stabilize const `ptr::write*` and `mem::replace`" [rust#130954](https://github.com/rust-lang/rust/pull/130954) + - "Proposal: stabilize `if_let_rescope` for Edition 2024" [rust#131154](https://github.com/rust-lang/rust/issues/131154) + +### WG checkins + +None + +## Backport nominations + +[T-compiler beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler) / [T-compiler stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-compiler) +- :beta: "Also use outermost const-anon for impl items in `non_local_defs` lint" [rust#131660](https://github.com/rust-lang/rust/pull/131660) + - Authored by Urgau + - Fixes #131643 (does not affect the upcoming stable 1.82, it's a nightly regression, "promoted" to beta today) + +- No stable nominations for `T-compiler` this time. + +[T-types stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-types) / [T-types beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-types) +- No beta nominations for `T-types` this time. +- No stable nominations for `T-types` this time. + +## PRs S-waiting-on-team + +[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Aopen+label%3AS-waiting-on-team+label%3AT-compiler) +- "Add x86 specific hotpatch flag to rustc" [rust#124966](https://github.com/rust-lang/rust/pull/124966) + - This is waiting on [MCP#745](https://github.com/rust-lang/compiler-team/issues/745), in case anyone has time to look at that (Zulip discussion) +- "Stabilize WebAssembly `multivalue`, `reference-types`, and `tail-call` target features" [rust#131080](https://github.com/rust-lang/rust/pull/131080) + - @_*petrochenkov* opened RFC to merge this ([link](https://github.com/rust-lang/rust/pull/131080#issuecomment-2403261016)) +- [Issues in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) + +## Issues of Note + +### Short Summary + +- [0 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical) + - [0 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee) +- [69 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) + - [42 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high+no%3Aassignee) +- [0 P-critical, 2 P-high, 2 P-medium, 0 P-low regression-from-stable-to-beta](https://github.com/rust-lang/rust/labels/regression-from-stable-to-beta) +- [0 P-critical, 0 P-high, 5 P-medium, 3 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) +- [0 P-critical, 36 P-high, 100 P-medium, 17 P-low regression-from-stable-to-stable](https://github.com/rust-lang/rust/labels/regression-from-stable-to-stable) + +### P-critical + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-compiler) +- No `P-critical` issues for `T-compiler` this time. + +[T-types](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-types) +- No `P-critical` issues for `T-types` this time. + +### P-high regressions + +[P-high beta regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-beta+label%3AP-high+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core) +- "non-pub function no longer compiled in debug profile, causing link errors on thumbv7em-none-eabihf with defmt" [rust#131164](https://github.com/rust-lang/rust/issues/131164) + - Affects "just" a Tier 2 target but real-world impact seems to be serious (see [comment](https://github.com/rust-lang/rust/issues/131164#issuecomment-2404970102)) + - @_**Quentin Dian (dianqk)** fixed this in LLVM 19 ([llvm-project#111478](https://github.com/llvm/llvm-project/issues/111478)) and is backported to beta in #131448 (just in time for the stable release) + +[Unassigned P-high nightly regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-nightly+label%3AP-high+no%3Aassignee+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core+) +- No unassigned `P-high` nightly regressions this time. + +## Performance logs + +> [triage logs](https://github.com/rust-lang/rustc-perf/pull/1996/files?short_path=c0d1c1c#diff-c0d1c1c71a8dd0a532994446beb4a197dcfb048bcdb68a22ac4a1bc603e2e92e) + +No major changes this week. + +Triage done by **@simulacrum**. +Revision range: [e6c46db4..5ceb623a](https://perf.rust-lang.org/?start=e6c46db4e9fd11e3183c397a59d946731034ede6&end=5ceb623a4abd66e91e7959d25caaf0523f1a7f7c&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.2% | [0.2%, 0.2%] | 1 | +| Regressions (secondary) | 0.5% | [0.2%, 2.9%] | 16 | +| Improvements (primary) | -0.3% | [-0.4%, -0.2%] | 14 | +| Improvements (secondary) | -0.6% | [-1.7%, -0.1%] | 32 | +| All (primary) | -0.2% | [-0.4%, 0.2%] | 15 | + + +1 Regression, 1 Improvement, 2 Mixed; 2 of them in rollups +36 artifact comparisons made in total + +#### Regressions + +Introduce SolverRelating type relation to the new solver [#131263](https://github.com/rust-lang/rust/pull/131263) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=4cc494bbfe9911d24f3ee521f98d5c6bb7e3ffe8&end=8d94e06ec9758b5c03ea77bb5dab22a1a76bc261&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.2% | [0.2%, 0.2%] | 1 | +| Regressions (secondary) | 0.5% | [0.2%, 2.7%] | 9 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.2% | [0.2%, 0.2%] | 1 | + +Genuine, if small, regressions on a number of benchmarks. Likely required as +part of the broader move to the new solver. + +#### Improvements + +Rollup of 8 pull requests [#131628](https://github.com/rust-lang/rust/pull/131628) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6b9676b45431a1e531b9c5f7bd289fc36a312749&end=ef4e8259b5016d85e261587b605028b2ff06c13d&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.5% | [0.3%, 0.6%] | 2 | +| Improvements (primary) | -0.3% | [-0.3%, -0.2%] | 8 | +| Improvements (secondary) | -0.6% | [-1.8%, -0.1%] | 31 | +| All (primary) | -0.3% | [-0.3%, -0.2%] | 8 | + +Seems most likely to be due to "Shallowly match opaque key in storage +[#131599](https://github.com/rust-lang/rust/pull/131599)" but not confirming +since this is an improvement. + +#### Mixed + +Rollup of 7 pull requests [#131581](https://github.com/rust-lang/rust/pull/131581) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=fb20e4d3b96d1de459d086980a8b99d5060ad9fe&end=8f8bee4f60d9d3769f75c70d558c27a95761c554&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.4% | [0.3%, 0.6%] | 6 | +| Improvements (primary) | -0.3% | [-1.0%, -0.2%] | 7 | +| Improvements (secondary) | -2.5% | [-2.5%, -2.5%] | 1 | +| All (primary) | -0.3% | [-1.0%, -0.2%] | 7 | + +Possibly spurious (and/or bi-modality) regression confined to tt-muncher +(though across multiple scenarios). No need for further investigation, +particular given a rollup. + +Add `#[track_caller]` to allocating methods of `Vec` & `VecDeque` [#126557](https://github.com/rust-lang/rust/pull/126557) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5ceb623a4abd66e91e7959d25caaf0523f1a7f7c&end=f6648f252a05a0a46c865d7ec836b46290613bf9&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.3% | [0.0%, 0.5%] | 26 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.2% | [-0.2%, -0.1%] | 4 | +| All (primary) | 0.3% | [0.0%, 0.5%] | 26 | + +Seems to be accepted by T-libs +(https://github.com/rust-lang/rust/pull/126557#issuecomment-2329482185). +An expected regression pre-merge. + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- "Add `minicore` test auxiliary and support `//@ use-minicore` directive in ui/assembly/codegen tests" [rust#130693](https://github.com/rust-lang/rust/pull/130693) + - @**RalfJ** nominated to evaluate the best directive syntax to use, see [comment](https://github.com/rust-lang/rust/pull/130693#issuecomment-2408470640) (and following) + - More context and [candidates suggestions](https://github.com/rust-lang/rust/pull/130693#issuecomment-2418431995) from @**Jieyou Xu** + +[RFC](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- No I-compiler-nominated RFCs this time. + +### Oldest PRs waiting for review + +[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-asc+label%3AS-waiting-on-review+draft%3Afalse+label%3AT-compiler) +- "add error message for c# style named arguments" [rust#118733](https://github.com/rust-lang/rust/pull/118733) + - cc: @**Esteban Küber** +- "Silence errors in expressions caused by bare traits in paths in 2021 edition" [rust#125784](https://github.com/rust-lang/rust/pull/125784) + - cc: @**León Orell Liehr (fmease)** but also author cc @**Esteban Küber** + - A pretty big diff, needs a rebase. Unsure about the best way to proceed. +- "Improve parse item fallback" [rust#125388](https://github.com/rust-lang/rust/pull/125388) (last review activity: 4 months ago) + - cc: @**Wesley Wiser** +- "Do not eagerly reject inference vars when trying to resolve method calls." [rust#126316](https://github.com/rust-lang/rust/pull/126316) (last review activity: about 53 days ago) + - cc @**lcnr** still interested in revieweing this? +- Since @_**mw** recently left the project (💔), there are still a few [pull requests assigned to him](https://github.com/rust-lang/rust/pulls?q=sort%3Aupdated-desc+is%3Apr+is%3Aopen+assignee%3Amichaelwoerister). Maybe find another assignee? Any taker? 🙏 + +## Next week's WG checkins + +- None + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/mIm_VIaQRRK6IXrcDcz7-w) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-10-24.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-10-24.md new file mode 100644 index 00000000..f0daf479 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-10-24.md @@ -0,0 +1,284 @@ +--- +tags: weekly, rustc +type: docs +note_id: mIm_VIaQRRK6IXrcDcz7-w +--- + +# T-compiler Meeting Agenda 2024-10-24 + +## Announcements + +- Reminder: if you see a PR/issue that seems like there might be legal implications due to copyright/IP/etc, please let us know (or at least message @_**davidtwco** or @_**Wesley Wiser** so we can pass it along). + +### Other WG meetings + + - (TIP) get them from https://github.com/rust-lang/calendar + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - "Create an avr-unknown-unknown target" [compiler-team#800](https://github.com/rust-lang/compiler-team/issues/800) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Create.20an.20avr-unknown-unknown.20target.20compiler-team.23800)) +- Old MCPs (stale MCP might be closed as per [MCP procedure](https://forge.rust-lang.org/compiler/mcp.html#when-should-major-change-proposals-be-closed)) + - None at this time +- Old MCPs (not seconded, take a look) + - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) (last review activity: about 34 days ago) + - "Add Hotpatch flag" [compiler-team#745](https://github.com/rust-lang/compiler-team/issues/745) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20Hotpatch.20flag.20compiler-team.23745)) (last review activity: about 12 days ago) + - "Add `evex512` target feature for AVX10" [compiler-team#778](https://github.com/rust-lang/compiler-team/issues/778) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60evex512.60.20target.20feature.20for.20AVX10.20compiler-team.23778)) (last review activity: about 47 days ago) + - "Make the test cfg a userspace check-cfg" [compiler-team#785](https://github.com/rust-lang/compiler-team/issues/785) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Make.20the.20test.20cfg.20a.20userspace.20check-cfg.20compiler-team.23785)) (last review activity: about 0 days ago) + - "Policy change around adding new unstable flags" [compiler-team#787](https://github.com/rust-lang/compiler-team/issues/787) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Policy.20change.20around.20adding.20new.20unstable.20.E2.80.A6.20compiler-team.23787)) (last review activity: about 5 days ago) + - "Normalize FileCheck directives" [compiler-team#789](https://github.com/rust-lang/compiler-team/issues/789) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Normalize.20FileCheck.20directives.20compiler-team.23789)) (last review activity: about 5 days ago) + - "Relink, don't rebuild" [compiler-team#790](https://github.com/rust-lang/compiler-team/issues/790) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Relink.2C.20don.27t.20rebuild.20compiler-team.23790)) (last review activity: about 5 days ago) + - "Support for a new `wasm32-linux-musl` Tier-3 target" [compiler-team#797](https://github.com/rust-lang/compiler-team/issues/797) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Support.20for.20a.20new.20.60wasm32-linux-musl.60.20Tie.E2.80.A6.20compiler-team.23797)) (last review activity: about 5 days ago) +- Pending FCP requests (check your boxes!) + - "sanitizers: Stabilize AddressSanitizer and LeakSanitizer for the Tier 1 targets" [rust#123617](https://github.com/rust-lang/rust/pull/123617) + - "Stabilize WebAssembly `multivalue`, `reference-types`, and `tail-call` target features" [rust#131080](https://github.com/rust-lang/rust/pull/131080) + - "Lint on combining `#[no_mangle]` and `#[export_name]`" [rust#131558](https://github.com/rust-lang/rust/pull/131558) +- Things in FCP (make sure you're good with it) + - "Attribute handling reworks" [compiler-team#796](https://github.com/rust-lang/compiler-team/issues/796) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Attribute.20handling.20reworks.20compiler-team.23796)) + - "Remove unstable `-Zprofile` (gcov-style coverage)" [compiler-team#798](https://github.com/rust-lang/compiler-team/issues/798) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Remove.20unstable.20.60-Zprofile.60.20.28gcov-style.20c.E2.80.A6.20compiler-team.23798)) + - "Add `--print host-triple` to print host target triple" [rust#125579](https://github.com/rust-lang/rust/pull/125579) +- Accepted MCPs + - "Wasm minimal features target" [compiler-team#791](https://github.com/rust-lang/compiler-team/issues/791) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Wasm.20minimal.20features.20target.20compiler-team.23791)) +- MCPs blocked on unresolved concerns + - "Retire the mailing list and make all decisions on zulip" [compiler-team#649](https://github.com/rust-lang/compiler-team/issues/649) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Retire.20the.20mailing.20list.20and.20make.20all.20deci.E2.80.A6.20compiler-team.23649)) + - concern: [automatic-sync](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618902660) +- Finalized FCPs (disposition merge) + - "make unsupported_calling_conventions a hard error" [rust#129935](https://github.com/rust-lang/rust/pull/129935) +- Other teams finalized FCPs + - "Fixup Windows verbatim paths when used with the `include!` macro" [rust#125205](https://github.com/rust-lang/rust/pull/125205) + - "Allow dropping `dyn Trait` principal" [rust#126660](https://github.com/rust-lang/rust/pull/126660) + - "atomics: allow atomic and non-atomic reads to race" [rust#128778](https://github.com/rust-lang/rust/pull/128778) + - "Decide on name for `derive(SmartPtr)`" [rust#129104](https://github.com/rust-lang/rust/issues/129104) + - "Do not consider match/let/ref of place that evaluates to `!` to diverge, disallow coercions from them too" [rust#129392](https://github.com/rust-lang/rust/pull/129392) + - "Make deprecated_cfg_attr_crate_type_name a hard error" [rust#129670](https://github.com/rust-lang/rust/pull/129670) + - "Stabilize expr_2021 fragment specifier in all editions" [rust#129972](https://github.com/rust-lang/rust/pull/129972) + - "Check elaborated projections from dyn don't mention unconstrained late bound lifetimes" [rust#130367](https://github.com/rust-lang/rust/pull/130367) + - "Finish stabilization of `result_ffi_guarantees`" [rust#130628](https://github.com/rust-lang/rust/pull/130628) + - "Stabilize const `ptr::write*` and `mem::replace`" [rust#130954](https://github.com/rust-lang/rust/pull/130954) + - "Stabilize `shorter_tail_lifetime`" [rust#131445](https://github.com/rust-lang/rust/issues/131445) + +### WG checkins + +None + +## Backport nominations + +[T-compiler beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler) / [T-compiler stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-compiler) +- No beta nominations for `T-compiler` this time. +- No stable nominations for `T-compiler` this time. + +[T-types stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-types) / [T-types beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-types) +- No beta nominations for `T-types` this time. +- No stable nominations for `T-types` this time. + +## PRs S-waiting-on-team + +[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Aopen+label%3AS-waiting-on-team+label%3AT-compiler) +- "Stabilize WebAssembly `multivalue`, `reference-types`, and `tail-call` target features" [rust#131080](https://github.com/rust-lang/rust/pull/131080) + - A bit more context at [comment](https://github.com/rust-lang/rust/pull/131080#pullrequestreview-2339557005) + - Under RFC ([comment](https://github.com/rust-lang/rust/pull/131080#issuecomment-2403261016)), needs a few ticks +- [Issues in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) + +## Issues of Note + +### Short Summary + +- [1 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical) + - [1 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee) +- [69 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) + - [42 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high+no%3Aassignee) +- [0 P-critical, 0 P-high, 2 P-medium, 0 P-low regression-from-stable-to-beta](https://github.com/rust-lang/rust/labels/regression-from-stable-to-beta) +- [0 P-critical, 0 P-high, 5 P-medium, 3 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) +- [1 P-critical, 38 P-high, 100 P-medium, 17 P-low regression-from-stable-to-stable](https://github.com/rust-lang/rust/labels/regression-from-stable-to-stable) + +### P-critical + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-compiler) +- "[Regression] LLVM asserts "conflicting locations for variable" since 1.82" [rust#131944](https://github.com/rust-lang/rust/issues/131944) + - Seems the regression happened in #128861 ([comment](https://github.com/rust-lang/rust/issues/131944#issuecomment-2428361518)), a tentative patch is being worked on + - Assigned P-critical in case we want to evaluate a dot release for this (so far, @_**apiraino** not aware of other manifestations of this issue) + +[T-types](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-types) +- No `P-critical` issues for `T-types` this time. + +### P-high regressions + +[P-high beta regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-beta+label%3AP-high+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core) +- No `P-high` beta regressions this time. + +[Unassigned P-high nightly regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-nightly+label%3AP-high+no%3Aassignee+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core+) +- No unassigned `P-high` nightly regressions this time. + +## Performance logs + +> [triage logs for 2024-10-21](https://github.com/rust-lang/rustc-perf/blob/81de3d5e2cc599cc49bc11c64f9a5b911f3a83dd/triage/2024-10-21.md) + +Some tidy improvements from switching to next generation trait solver +(solely for coherence checking) and from simplifying our dataflow +analysis framework. There were some binary size regressions associated +with PR 126557 (adding `#[track_caller]` to allocating methods of +`Vec` and `VecDeque`), which I have handed off to T-libs to choose +whether to investigate further. + +Triage done by **@pnkfelix**. +Revision range: [5ceb623a..3e33bda0](https://perf.rust-lang.org/?start=5ceb623a4abd66e91e7959d25caaf0523f1a7f7c&end=3e33bda0326586a6e1e34d0f5c060ca6d116e6a4&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.4% | [0.2%, 0.9%] | 43 | +| Regressions (secondary) | 0.4% | [0.2%, 0.7%] | 36 | +| Improvements (primary) | -0.8% | [-5.1%, -0.2%] | 92 | +| Improvements (secondary) | -0.8% | [-2.0%, -0.1%] | 65 | +| All (primary) | -0.4% | [-5.1%, 0.9%] | 135 | + +0 Regressions, 3 Improvements, 6 Mixed; 3 of them in rollups +47 artifact comparisons made in total + +#### Regressions + +This space intentionally left blank (0 regressions) + +#### Improvements + +stabilize `-Znext-solver=coherence` again [#130654](https://github.com/rust-lang/rust/pull/130654) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f79fae3069c449993eda6b16934da3b144cb8a66&end=a0c2aba29aa9ea50a7c45c3391dd446f856bef7b&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -1.9% | [-4.5%, -0.2%] | 17 | +| Improvements (secondary) | -0.3% | [-0.3%, -0.3%] | 3 | +| All (primary) | -1.9% | [-4.5%, -0.2%] | 17 | + +* improvements are to bitmaps and nalgebra +* (presumably due to their heavy use of trait machinery; though, skimming bitmaps, I'm not sure if I see heavy use of trait machinery there) +* what else can I say, except, amazing! + +Remove `GenKillAnalysis` [#131481](https://github.com/rust-lang/rust/pull/131481) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1f67a7aa8d5b30c43c28ed9b2621cf4b7b8bb963&end=d829780c4e4ef11f5e09c1c5ed9684c12aad7236&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 1.6% | [1.6%, 1.6%] | 1 | +| Improvements (primary) | -0.4% | [-0.7%, -0.2%] | 24 | +| Improvements (secondary) | -0.9% | [-1.9%, -0.1%] | 19 | +| All (primary) | -0.4% | [-0.7%, -0.2%] | 24 | + +* improvements are spread across html5ever, serde, cargo, libc, diesel, and bitmaps. +* wow. I'm surprised `GenKillAnalysis` is a pessimization +* (maybe this is a sign that our basic blocks tend to hold a small number of instructions...?) +* anyway, overall amazing work. + +Rollup of 8 pull requests [#131792](https://github.com/rust-lang/rust/pull/131792) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=bed75e7c21e8d18bd536a0f7c9e479d2f6707db3&end=7342830c05ec0996e9e4b7df550b1043dca7829c&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.2% | [-0.2%, -0.2%] | 5 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.2% | [-0.2%, -0.2%] | 5 | + +* improvements are to incremental scenarios for stm32f4 (and one also for libc). + +#### Mixed + +Add `#[track_caller]` to allocating methods of `Vec` & `VecDeque` [#126557](https://github.com/rust-lang/rust/pull/126557) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5ceb623a4abd66e91e7959d25caaf0523f1a7f7c&end=f6648f252a05a0a46c865d7ec836b46290613bf9&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.3% | [0.0%, 0.5%] | 26 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.2% | [-0.2%, -0.1%] | 4 | +| All (primary) | 0.3% | [0.0%, 0.5%] | 26 | + +* based on a prior perf run (which predicted 16 primary regressions of roughly the same magnitude as observed here), the T-libs team had [already approved this PR](https://github.com/rust-lang/rust/pull/126557#issuecomment-2329482185) under the assumption that there wouldn't be a *runtime impact* from this. +* there was a note from nnethercote that it isn't totally clear if the binary size increases were anticipated. +* marking as triaged + +Rollup of 8 pull requests [#131690](https://github.com/rust-lang/rust/pull/131690) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=17a19e684cdf3ca088af8b4da6a6209d128913f4&end=9322d183f45e0fd5a509820874cc5ff27744a479&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.4% | [0.4%, 0.4%] | 1 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.6% | [-0.8%, -0.3%] | 2 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.2% | [-0.8%, 0.4%] | 3 | + +* regression to cargo opt-full; improvements to image and html5ever opt-full +* briefly skimmed detailed results. nothing stood out. +* not worth digging into further; marking as triaged + +Use `ThinVec` for PredicateObligation storage [#131422](https://github.com/rust-lang/rust/pull/131422) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9ce3675b438aae22ef0c6147cde2003a418ab722&end=9618da7c9995a673af4841149ba2d1f53b69dd92&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.3% | [0.3%, 0.5%] | 8 | +| Improvements (primary) | -0.3% | [-0.7%, -0.2%] | 15 | +| Improvements (secondary) | -0.3% | [-0.7%, -0.2%] | 23 | +| All (primary) | -0.3% | [-0.7%, -0.2%] | 15 | + +* improvements outweigh regressions. (and reported performance matches what was anticipated via perf runs.) +* marking as triaged + +optimize str.replace [#130223](https://github.com/rust-lang/rust/pull/130223) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=3a85d3fa785d95a7b7bcf4f160b67bffba7afd4a&end=86bd45979a964678b40b79156744f0057759d840&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.5% | [0.2%, 1.2%] | 5 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.8% | [-0.8%, -0.8%] | 1 | +| Improvements (secondary) | -0.4% | [-0.4%, -0.3%] | 6 | +| All (primary) | 0.3% | [-0.8%, 1.2%] | 6 | + +* primary regressions to miscellaneous cargo and clap scenarios. (single primary improvement was to cargo incr-patched::println). +* overall seems like minor regressions, potentially "just" instrumentation bias, compared to the expected benefit for microbenchmark reported in PR description. +* marking as triaged. + +Rollup of 8 pull requests [#131934](https://github.com/rust-lang/rust/pull/131934) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a2a1206811d864df2bb61b2fc27ddc45a3589424&end=8069f8d17a6c86a8fd881939fcce359a90c57ff2&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.3% | [0.3%, 0.3%] | 2 | +| Regressions (secondary) | 0.2% | [0.2%, 0.3%] | 11 | +| Improvements (primary) | -0.2% | [-0.2%, -0.2%] | 1 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.1% | [-0.2%, 0.3%] | 3 | + +* primary regressions to helloworld (doc) and hyper (opt); primary improvement to libc (doc). +* all the secondary regressions are to doc benchmarks, which led lqd to hypothesize that this is due to PR 131908 which changed the hash used for filename generation to sha256 since it should be stable going forward. +* hyper history seems really noisy. +* marking as triaged + +Update rustc-hash to version 2 but again [#131949](https://github.com/rust-lang/rust/pull/131949) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=de977a5acf210f7d71ff83f4b8bc42c274ce4ed9&end=662180b34d95f72d05b7c467b0baf4d23d36b1e1&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.2% | [0.1%, 0.2%] | 8 | +| Regressions (secondary) | 0.3% | [0.1%, 0.7%] | 9 | +| Improvements (primary) | -0.3% | [-0.5%, -0.2%] | 10 | +| Improvements (secondary) | -0.9% | [-1.4%, -0.6%] | 13 | +| All (primary) | -0.1% | [-0.5%, 0.2%] | 18 | + +* primary improvements to unicode-normalization and libc +* primary regressions to typenum and serde +* I don't think there's anything interesting to investigate here. marking as triaged. + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- No I-compiler-nominated issues this time. + +[RFC](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- No I-compiler-nominated RFCs this time. + +### Oldest PRs waiting for review + +- None this week + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/yC6fKy_rQtufsvK_C8QWEQ) - (is Oct, 31st a holiday in the USA?) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-10-31.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-10-31.md new file mode 100644 index 00000000..76f751f6 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-10-31.md @@ -0,0 +1,397 @@ +--- +tags: weekly, rustc +type: docs +note_id: yC6fKy_rQtufsvK_C8QWEQ +--- + +# T-compiler Meeting Agenda 2024-10-31 + +## Announcements + +- Reminder: if you see a PR/issue that seems like there might be legal implications due to copyright/IP/etc, please let us know (or at least message @_**davidtwco** or @_**Wesley Wiser** so we can pass it along). + +### Other WG meetings + +- None + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - "Create an avr-unknown-unknown target" [compiler-team#800](https://github.com/rust-lang/compiler-team/issues/800) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Create.20an.20avr-unknown-unknown.20target.20compiler-team.23800)) +- Old MCPs (stale MCP might be closed as per [MCP procedure](https://forge.rust-lang.org/compiler/mcp.html#when-should-major-change-proposals-be-closed)) + - None at this time +- Old MCPs (not seconded, take a look) + - "Add hygiene attributes to compile expanded source code" [compiler-team#692](https://github.com/rust-lang/compiler-team/issues/692) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20option.20to.20compile.20expanded.20ASTs.20for.20h.E2.80.A6.20compiler-team.23692)) (last review activity: about 41 days ago) + - "Add Hotpatch flag" [compiler-team#745](https://github.com/rust-lang/compiler-team/issues/745) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20Hotpatch.20flag.20compiler-team.23745)) (last review activity: about 20 days ago) + - "Add `evex512` target feature for AVX10" [compiler-team#778](https://github.com/rust-lang/compiler-team/issues/778) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60evex512.60.20target.20feature.20for.20AVX10.20compiler-team.23778)) (last review activity: about 55 days ago) + - "Make the test cfg a userspace check-cfg" [compiler-team#785](https://github.com/rust-lang/compiler-team/issues/785) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Make.20the.20test.20cfg.20a.20userspace.20check-cfg.20compiler-team.23785)) (last review activity: about 6 days ago) + - "Policy change around adding new unstable flags" [compiler-team#787](https://github.com/rust-lang/compiler-team/issues/787) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Policy.20change.20around.20adding.20new.20unstable.20.E2.80.A6.20compiler-team.23787)) (last review activity: about 13 days ago) + - "Normalize FileCheck directives" [compiler-team#789](https://github.com/rust-lang/compiler-team/issues/789) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Normalize.20FileCheck.20directives.20compiler-team.23789)) (last review activity: about 13 days ago) + - "Relink, don't rebuild" [compiler-team#790](https://github.com/rust-lang/compiler-team/issues/790) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Relink.2C.20don.27t.20rebuild.20compiler-team.23790)) (last review activity: about 13 days ago) + - "Support for a new `wasm32-linux-musl` Tier-3 target" [compiler-team#797](https://github.com/rust-lang/compiler-team/issues/797) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Support.20for.20a.20new.20.60wasm32-linux-musl.60.20Tie.E2.80.A6.20compiler-team.23797)) (last review activity: about 13 days ago) +- Pending FCP requests (check your boxes!) + - "sanitizers: Stabilize AddressSanitizer and LeakSanitizer for the Tier 1 targets" [rust#123617](https://github.com/rust-lang/rust/pull/123617) + - "Stabilize WebAssembly `multivalue`, `reference-types`, and `tail-call` target features" [rust#131080](https://github.com/rust-lang/rust/pull/131080) + - "Lint on combining `#[no_mangle]` and `#[export_name]`" [rust#131558](https://github.com/rust-lang/rust/pull/131558) +- Things in FCP (make sure you're good with it) + - "Fix ICE when passing DefId-creating args to legacy_const_generics." [rust#130443](https://github.com/rust-lang/rust/pull/130443) + - "Reject raw lifetime followed by `'`, like regular lifetimes do" [rust#132341](https://github.com/rust-lang/rust/pull/132341) +- Accepted MCPs + - "Wasm minimal features target" [compiler-team#791](https://github.com/rust-lang/compiler-team/issues/791) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Wasm.20minimal.20features.20target.20compiler-team.23791)) + - "Attribute handling reworks" [compiler-team#796](https://github.com/rust-lang/compiler-team/issues/796) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Attribute.20handling.20reworks.20compiler-team.23796)) + - "Remove unstable `-Zprofile` (gcov-style coverage)" [compiler-team#798](https://github.com/rust-lang/compiler-team/issues/798) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Remove.20unstable.20.60-Zprofile.60.20.28gcov-style.20c.E2.80.A6.20compiler-team.23798)) +- MCPs blocked on unresolved concerns + - "Retire the mailing list and make all decisions on zulip" [compiler-team#649](https://github.com/rust-lang/compiler-team/issues/649) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Retire.20the.20mailing.20list.20and.20make.20all.20deci.E2.80.A6.20compiler-team.23649)) + - concern: [automatic-sync](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618902660) +- Finalized FCPs (disposition merge) + - "Add `--print host-tuple` to print host target tuple" [rust#125579](https://github.com/rust-lang/rust/pull/125579) + - "Do not consider match/let/ref of place that evaluates to `!` to diverge, disallow coercions from them too" [rust#129392](https://github.com/rust-lang/rust/pull/129392) + - "make unsupported_calling_conventions a hard error" [rust#129935](https://github.com/rust-lang/rust/pull/129935) + - "Check elaborated projections from dyn don't mention unconstrained late bound lifetimes" [rust#130367](https://github.com/rust-lang/rust/pull/130367) +- Other teams finalized FCPs + - "Add lint against function pointer comparisons" [rust#118833](https://github.com/rust-lang/rust/pull/118833) + - "Fixup Windows verbatim paths when used with the `include!` macro" [rust#125205](https://github.com/rust-lang/rust/pull/125205) + - "Allow dropping `dyn Trait` principal" [rust#126660](https://github.com/rust-lang/rust/pull/126660) + - "Lint against `&T` to `&mut T` and `&T` to `&UnsafeCell` transmutes" [rust#128351](https://github.com/rust-lang/rust/pull/128351) + - "atomics: allow atomic and non-atomic reads to race" [rust#128778](https://github.com/rust-lang/rust/pull/128778) + - "Lint against getting pointers from immediately dropped temporaries" [rust#128985](https://github.com/rust-lang/rust/pull/128985) + - "Decide on name for `derive(SmartPtr)`" [rust#129104](https://github.com/rust-lang/rust/issues/129104) + - "Do not consider match/let/ref of place that evaluates to `!` to diverge, disallow coercions from them too" [rust#129392](https://github.com/rust-lang/rust/pull/129392) + - "Make deprecated_cfg_attr_crate_type_name a hard error" [rust#129670](https://github.com/rust-lang/rust/pull/129670) + - "Stabilize expr_2021 fragment specifier in all editions" [rust#129972](https://github.com/rust-lang/rust/pull/129972) + - "Check elaborated projections from dyn don't mention unconstrained late bound lifetimes" [rust#130367](https://github.com/rust-lang/rust/pull/130367) + - "Finish stabilization of `result_ffi_guarantees`" [rust#130628](https://github.com/rust-lang/rust/pull/130628) + - "Stabilize const `ptr::write*` and `mem::replace`" [rust#130954](https://github.com/rust-lang/rust/pull/130954) + - "Stabilize `shorter_tail_lifetime`" [rust#131445](https://github.com/rust-lang/rust/issues/131445) + +## Backport nominations + +[T-compiler beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler) / [T-compiler stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-compiler) +- :beta: "Reject raw lifetime followed by `'`, like regular lifetimes do" [rust#132341](https://github.com/rust-lang/rust/pull/132341) + - Authored and nominated by compiler-errors + - Also nominated for (and approved by) T-lang ([comment](https://github.com/rust-lang/rust/pull/132341#issuecomment-2445612982)) as this is a new syntax. + +- :beta: "Mark `simplify_aggregate_to_copy` mir-opt as unsound" [rust#132356](https://github.com/rust-lang/rust/pull/132356) + - Authored by jieyouxu + - Fixes a P-critical miscompile ([rust#132353](https://github.com/rust-lang/rust/issues/132353)) caused by recent changes in MIR optimizations + - Note: partially reverts [e7386b3](https://github.com/rust-lang/rust/commit/e7386b361dda8c2222bee7a1ae79faba7e9a0351), the mir-opt implementation is just marked as unsound but not reverted to make reland reviews easier. This PR **partially reverts** commit e7386b3, reversing changes made to 02b1be1. The mir-opt implementation is just marked as unsound but **not** reverted to make reland reviews easier. Test changes are **reverted if they were not pure additions**. Tests added by the original PR received `-Z unsound-mir-opts` compile-flags. + +- No stable nominations for `T-compiler` this time. + +[T-types stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-types) / [T-types beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-types) +- No beta nominations for `T-types` this time. +- No stable nominations for `T-types` this time. + +## PRs S-waiting-on-team + +[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Aopen+label%3AS-waiting-on-team+label%3AT-compiler) +- "Stabilize WebAssembly `multivalue`, `reference-types`, and `tail-call` target features" [rust#131080](https://github.com/rust-lang/rust/pull/131080) + - A bit more context at [comment](https://github.com/rust-lang/rust/pull/131080#pullrequestreview-2339557005) + - Under RFC ([comment](https://github.com/rust-lang/rust/pull/131080#issuecomment-2403261016)), needs a few ticks +- "Add `armv7a-vex-v5` tier three target" [rust#131530](https://github.com/rust-lang/rust/pull/131530) + - Says to review changes to third-party dependencies ([comment](https://github.com/rust-lang/rust/pull/131530#issuecomment-2406606169)) +- [Issues in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) + +## Issues of Note + +### Short Summary + +- [2 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical) + - [1 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee) +- [69 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) + - [42 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high+no%3Aassignee) +- [1 P-critical, 0 P-high, 2 P-medium, 0 P-low regression-from-stable-to-beta](https://github.com/rust-lang/rust/labels/regression-from-stable-to-beta) +- [0 P-critical, 0 P-high, 5 P-medium, 3 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) +- [1 P-critical, 37 P-high, 100 P-medium, 17 P-low regression-from-stable-to-stable](https://github.com/rust-lang/rust/labels/regression-from-stable-to-stable) + +### P-critical + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-compiler) +- "[Regression] LLVM asserts "conflicting locations for variable" since 1.82" [rust#131944](https://github.com/rust-lang/rust/issues/131944) + - In [Fedora 39 builds](https://koji.fedoraproject.org/koji/taskinfo?taskID=124928273) (with its LLVM 17), rustc hits a libstdc++ assertion via LLVM on all Tier 1 targets + - Bisected to #128861, seems to be handled in #132010 (correct @**cuviper**?) +- "Panic in nightly 1.83.0 and 1.84.0 with opt-level >= 1 when unwrapping Some variant" [rust#132353](https://github.com/rust-lang/rust/issues/132353) + - Solved by #132356 (thanks @**Jieyou Xu**) + +[T-types](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-types) +- No `P-critical` issues for `T-types` this time. + +### P-high regressions + +[P-high beta regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-beta+label%3AP-high+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core) +- No `P-high` beta regressions this time. + +[Unassigned P-high nightly regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-nightly+label%3AP-high+no%3Aassignee+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core+) +- No unassigned `P-high` nightly regressions this time. + +## Performance logs + +> [triage logs for 2024-10-29](https://github.com/rust-lang/rustc-perf/blob/master/triage/2024-10-29.md) + +This week saw a lot of activity both on the regressions and improvements side. There was one large +regression, which was immediately reverted. Overall, the week ended up being positive, thanks to +a rollup PR that caused a tiny improvement to almost all benchmarks. + +Triage done by **@kobzol**. +Revision range: [3e33bda0..c8a8c820](https://perf.rust-lang.org/?start=3e33bda0326586a6e1e34d0f5c060ca6d116e6a4&end=c8a8c82035439cb2404b8f24ca0bc18209d534ca&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.7% | [0.2%, 2.7%] | 15 | +| Regressions (secondary) | 0.8% | [0.1%, 1.6%] | 22 | +| Improvements (primary) | -0.6% | [-1.5%, -0.2%] | 153 | +| Improvements (secondary) | -0.7% | [-1.9%, -0.1%] | 80 | +| All (primary) | -0.5% | [-1.5%, 2.7%] | 168 | + + +6 Regressions, 6 Improvements, 4 Mixed; 6 of them in rollups +58 artifact comparisons made in total + +#### Regressions + +Revise arm platform notes regarding soft float [#130987](https://github.com/rust-lang/rust/pull/130987) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=3ec4308f6cb4bba3140d736d9ebd53b234fa7df8&end=edbd9398dcc0e3b6ffe0dd0cd4578d37d1d36974&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 2.9% | [2.9%, 2.9%] | 1 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 2.9% | [2.9%, 2.9%] | 1 | + +- Noise, this PR only modified documentation. +- Marked as triaged. + +Dont consider predicates that may hold as impossible in `is_impossible_associated_item` [#131840](https://github.com/rust-lang/rust/pull/131840) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=4392847410ddd67f6734dd9845f9742ff9e85c83&end=814df6e50eaf89b90793e7d9618bb60f1f18377a&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.6% | [0.2%, 2.3%] | 9 | +| Regressions (secondary) | 0.2% | [0.2%, 0.2%] | 1 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.6% | [0.2%, 2.3%] | 9 | + +- The largest regression was just noise, the rest was small enough and was deemed to be acceptable. +- Marked as triaged. + +nightly feature tracking: get rid of the per-feature bool fields [#132027](https://github.com/rust-lang/rust/pull/132027) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ffd978b7bf4ccdc74fe6c1b048d253eb3f3aa341&end=be01dabfefd2daa4574b974f571c7852085d60cb&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 1.2% | [1.1%, 1.2%] | 4 | +| Regressions (secondary) | 0.5% | [0.1%, 1.1%] | 34 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 1.2% | [1.1%, 1.2%] | 4 | + +- The small regressions were only on tiny benchmarks and stress tests, which was deemed to be acceptable. + +Rollup of 10 pull requests [#132094](https://github.com/rust-lang/rust/pull/132094) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b8bb2968ce1e44d01520c9d59ee6299ed66df3f9&end=55b7f8e800a6a43657a8582450323d546297c950&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.2% | [0.1%, 0.2%] | 4 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.2% | [0.1%, 0.2%] | 4 | + +- The tiny regressions were reverted in a follow-up merge. +- Marked as triaged. + +Emit future-incompatibility lint when calling/declaring functions with vectors that require missing target feature [#127731](https://github.com/rust-lang/rust/pull/127731) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=45089ec19ebebec88bace6ec237244ff0eaa7ad3&end=6faf0bd3e561f1a0c81f3eafe0ce0e688385d70e&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 5.0% | [0.3%, 16.9%] | 77 | +| Regressions (secondary) | 4.7% | [0.1%, 29.4%] | 30 | +| Improvements (primary) | -0.1% | [-0.1%, -0.1%] | 1 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 4.9% | [-0.1%, 16.9%] | 78 | + +- This was a large regression that was immediately reverted in https://github.com/rust-lang/rust/pull/132152. +- Investigation into how to land this change without such large regressions is happening in https://github.com/rust-lang/rust/pull/132173 +- Marked as triaged. + +bump stdarch [#132145](https://github.com/rust-lang/rust/pull/132145) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9f57edf2e261ade3c926d69459162057f15164d6&end=3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.9% | [0.9%, 0.9%] | 1 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.9% | [0.9%, 0.9%] | 1 | + +- One tiny regression caused by a dependency upgrade, no need to investigate further. +- Marked as triaged. + +#### Improvements + +(ci) Update macOS Xcode to 15 [#131570](https://github.com/rust-lang/rust/pull/131570) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=31e102c509192189be841954f38962eb3cd9e2e2&end=4392847410ddd67f6734dd9845f9742ff9e85c83&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -3.6% | [-3.6%, -3.6%] | 1 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -3.6% | [-3.6%, -3.6%] | 1 | + + +better default capacity for str::replace [#131929](https://github.com/rust-lang/rust/pull/131929) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8bf64f106ac0cd1f2b9c6fd27965dd2dc4b862dd&end=b13176595d8a9fd27334747080764a53a18f4c24&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.3% | [-0.4%, -0.2%] | 3 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.3% | [-0.4%, -0.2%] | 3 | + + +rustdoc: hash assets at rustdoc build time [#131951](https://github.com/rust-lang/rust/pull/131951) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=55b7f8e800a6a43657a8582450323d546297c950&end=8aca4bab080b2c81065645fc070acca7a060f8a3&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.2% | [-0.3%, -0.1%] | 6 | +| Improvements (secondary) | -0.3% | [-0.3%, -0.1%] | 17 | +| All (primary) | -0.2% | [-0.3%, -0.1%] | 6 | + + +Revert #127731 "Emit error when calling/declaring functions with unavailable …" [#132152](https://github.com/rust-lang/rust/pull/132152) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a06b7cbe21967a86050fa92dab843c8afda1c28e&end=ae4c6b66402cdbda8daa626216efd94e2dbe94b2&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:---------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.3% | [0.3%, 0.3%] | 1 | +| Improvements (primary) | -4.7% | [-14.4%, -0.3%] | 75 | +| Improvements (secondary) | -4.5% | [-22.7%, -0.2%] | 27 | +| All (primary) | -4.7% | [-14.4%, -0.3%] | 75 | + +- Revert of the previously mentioned [#127731](https://github.com/rust-lang/rust/pull/127731). + +Rollup of 3 pull requests [#132171](https://github.com/rust-lang/rust/pull/132171) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ae4c6b66402cdbda8daa626216efd94e2dbe94b2&end=80d0d927d5069b67cc08c0c65b48e7b6e0cdeeb5&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.3% | [-0.3%, -0.2%] | 2 | +| Improvements (secondary) | -0.3% | [-0.4%, -0.2%] | 16 | +| All (primary) | -0.3% | [-0.3%, -0.2%] | 2 | + +- The small wins probably come from [#132168](https://github.com/rust-lang/rust/pull/132168). + +Rollup of 9 pull requests [#132277](https://github.com/rust-lang/rust/pull/132277) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a9d17627d241645a54c1134a20f1596127fedb60&end=2df8dbb1b37168c59eca2884502a1b79892858a9&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.5% | [-1.7%, -0.1%] | 186 | +| Improvements (secondary) | -0.6% | [-1.7%, -0.1%] | 92 | +| All (primary) | -0.5% | [-1.7%, -0.1%] | 186 | + +- The large amount of small wins might have been caused by [#130259](https://github.com/rust-lang/rust/pull/130259). + +#### Mixed + +Rollup of 5 pull requests [#132053](https://github.com/rust-lang/rust/pull/132053) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=e1f306899514ea80abc1d1c9f6a57762afb304a3&end=9abfcb49002b82f46ad66ceb0b26cee8be2dc658&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 1.0% | [0.3%, 1.8%] | 2 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.5% | [-0.5%, -0.5%] | 1 | +| All (primary) | 1.0% | [0.3%, 1.8%] | 2 | + +- Large number of small-ish regressions that were just under the statistical threshold. +- Might have been caused by LLVM doing more work because of [#132031](https://github.com/rust-lang/rust/pull/132031). +- Not marking as triaged yet, investigation ongoing. + +Represent trait constness as a distinct predicate [#131985](https://github.com/rust-lang/rust/pull/131985) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f61306d47bc98af8bb9d15f1adf6086785590a8c&end=1d4a7670d4f37bfbae2d89ec3ec07cd40dbc5a5d&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.5% | [0.1%, 1.2%] | 16 | +| Regressions (secondary) | 0.9% | [0.1%, 1.5%] | 22 | +| Improvements (primary) | -0.3% | [-0.5%, -0.1%] | 44 | +| Improvements (secondary) | -0.3% | [-0.6%, -0.1%] | 13 | +| All (primary) | -0.1% | [-0.5%, 1.2%] | 60 | + +- This was a large internal refactoring that had mostly positive or neutral effects on performance, + although it did cause regressions in `doc` builds on several benchmarks. +- It was deemed acceptable during review. +- Marked as triaged. + +Rollup of 4 pull requests [#132116](https://github.com/rust-lang/rust/pull/132116) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1d4a7670d4f37bfbae2d89ec3ec07cd40dbc5a5d&end=a93c1718c80b9f100056c8eec3fc37fbd6424134&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.3% | [0.1%, 1.8%] | 49 | +| Regressions (secondary) | 0.8% | [0.1%, 1.3%] | 6 | +| Improvements (primary) | -0.3% | [-0.3%, -0.3%] | 1 | +| Improvements (secondary) | -0.7% | [-1.8%, -0.1%] | 3 | +| All (primary) | 0.3% | [-0.3%, 1.8%] | 50 | + +- The regression was caused by [#131983](https://github.com/rust-lang/rust/pull/131983), which + stabilized a new behavior change that will appear in Edition 2024. +- Not marking as triaged yet, there might be a way to claw some of the regressions back. + +Rollup of 12 pull requests [#132317](https://github.com/rust-lang/rust/pull/132317) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c8a8c82035439cb2404b8f24ca0bc18209d534ca&end=2dece5bb62f234f5622a08289c5a3d1555cd7843&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.2% | [0.2%, 0.4%] | 4 | +| Regressions (secondary) | 0.2% | [0.2%, 0.2%] | 1 | +| Improvements (primary) | -0.2% | [-0.4%, -0.1%] | 6 | +| Improvements (secondary) | -0.3% | [-0.3%, -0.3%] | 1 | +| All (primary) | -0.0% | [-0.4%, 0.4%] | 10 | + +- Performance results were a wash. +- Marked as triaged. + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- "Update bundled musl to 1.2.5" [rust#125692](https://github.com/rust-lang/rust/pull/125692) + - FIY for everyone - IIUC already approved by @**Wesley Wiser** at Eurorust + - The update will require *many* crates to update to a libc released one year ago ([comment](https://github.com/rust-lang/rust/pull/125692#issuecomment-2246638228)) + - Why the update would be nice explained in #130920 + - Also Zulip [discussion](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/bundled.20musl.201.2E2.2E5.20upgrade/near/479695979) + +[RFC](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- No I-compiler-nominated RFCs this time. + +### Oldest PRs waiting for review + +[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-asc+label%3AS-waiting-on-review+draft%3Afalse+label%3AT-compiler) +- "add error message for c# style named arguments" [rust#118733](https://github.com/rust-lang/rust/pull/118733) (last review activity: 10 months ago) + - cc: @**Esteban Küber** +- "Silence errors in expressions caused by bare traits in paths in 2021 edition" [rust#125784](https://github.com/rust-lang/rust/pull/125784) (last review activity: 4 months ago) + - cc: @**León Orell Liehr (fmease)** but also author cc @**Esteban Küber** - pretty big diff, needs a rebase. Unsure about the best way to proceed +- "Mangle rustc_std_internal_symbols functions" [rust#127173](https://github.com/rust-lang/rust/pull/127173) (last review activity: 4 months ago) + - cc @**fee1-dead** +- "Support target-spec json file extension in various cases" [rust#127389](https://github.com/rust-lang/rust/pull/127389) (last review activity: 3 months ago) + - cc @**Wesley Wiser** (by reading the comments, PR needs wider agreement, at least a discussion) +- "collect doc alias as tips during resolution" [rust#127721](https://github.com/rust-lang/rust/pull/127721) (last review activity: 3 months ago) + - cc @**Esteban Küber** + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/OlXkNzCFSpW9wjvvo8bSAw)