diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-07-04.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-07-04.md new file mode 100644 index 00000000..7a044b37 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-07-04.md @@ -0,0 +1,484 @@ +--- +title: T-compiler Meeting Agenda 2024-07-04 +tags: [weekly, ' rustc'] + +--- + +--- +tags: weekly, rustc +type: docs +note_id: b8aoULbjSOiPk2z64V-ncA +--- + +# T-compiler Meeting Agenda 2024-07-04 + +## 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 + +- Types Team: ITE (Impl Trait Everywhere) Triage + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - "Add `-Z embed-source` (DWARFv5 source code embedding extension)" [compiler-team#764](https://github.com/rust-lang/compiler-team/issues/764) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60-C.20embed-source.60.20.28DWARFv5.20source.20cod.E2.80.A6.20compiler-team.23764)) +- 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: 5 months ago) + - concern: [added-complexity-to-frontend](https://github.com/rust-lang/compiler-team/issues/692#issuecomment-1845169318) + - "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)) (last review activity: 5 months ago) + - "Partial compilation using MIR-only rlibs" [compiler-team#738](https://github.com/rust-lang/compiler-team/issues/738) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Partial.20compilation.20using.20MIR-only.20rlibs.20compiler-team.23738)) (last review activity: 2 months 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 48 days ago) +- Pending FCP requests (check your boxes!) + - merge: [Disallow setting some built-in cfg via set the command-line (rust#126158)](https://github.com/rust-lang/rust/pull/126158#issuecomment--2098595599) + - @_**|119009** @_**|116083** @_**|125250** @_**|116107** @_**|119031** @_**|124287** @_**|116118** @_**|232957** + - no pending concerns + - merge: [Remove the `missing_copy_implementations` lint. (rust#126293)](https://github.com/rust-lang/rust/pull/126293#issuecomment--2132638472) + - @_**|119009** @_**|125250** @_**|426609** @_**|123856** @_**|116118** + - no pending concerns +- Things in FCP (make sure you're good with it) + - "Promote wasm32-wasip2 to a Tier 2 target" [compiler-team#760](https://github.com/rust-lang/compiler-team/issues/760) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20wasm32-wasip2.20to.20a.20Tier.202.20target.20compiler-team.23760)) + - "Remove `Nonterminal` and `TokenKind::Interpolated`" [compiler-team#763](https://github.com/rust-lang/compiler-team/issues/763) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Remove.20.60Nonterminal.60.20and.20.60TokenKind.3A.3AInte.E2.80.A6.20compiler-team.23763)) + - "MCP: Alternate cargo freshness algorithm, unstable flag to annotate depinfo file with checksums and file sizes" [compiler-team#765](https://github.com/rust-lang/compiler-team/issues/765) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/MCP.3A.20Alternate.20cargo.20freshness.20algorithm.3A.E2.80.A6.20compiler-team.23765)) +- Accepted MCPs + - "Promote riscv64gc-unknown-linux-musl to tier 2" [compiler-team#728](https://github.com/rust-lang/compiler-team/issues/728) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20riscv64gc-unknown-linux-gnu.20to.20ti.E2.80.A6.20compiler-team.23728)) + - "Fully rustfmt `use` declarations" [compiler-team#750](https://github.com/rust-lang/compiler-team/issues/750) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/.28My.20major.20change.20proposal.29.20compiler-team.23750)) + - "Remove `src/tools/rust-demangler`" [compiler-team#754](https://github.com/rust-lang/compiler-team/issues/754) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Remove.20.60src.2Ftools.2Frust-demangler.60.20compiler-team.23754)) + - "Extract rustc stable hasher into it's own crate" [compiler-team#755](https://github.com/rust-lang/compiler-team/issues/755) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Extract.20rustc.20stable.20hasher.20into.20it.27s.20own.E2.80.A6.20compiler-team.23755)) + - "Contracts: Experimental attributes and language intrinsics" [compiler-team#759](https://github.com/rust-lang/compiler-team/issues/759) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Contracts.3A.20Experimental.20attributes.20and.20la.E2.80.A6.20compiler-team.23759)) + - "Promote Mac Catalyst targets to Tier 2" [compiler-team#761](https://github.com/rust-lang/compiler-team/issues/761) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20Mac.20Catalyst.20targets.20to.20Tier.202.20compiler-team.23761)) + - "Change `-Z asm_comments` to `-Z verbose_asm`, stop stripping handwritten assembly comments" [compiler-team#762](https://github.com/rust-lang/compiler-team/issues/762) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Change.20.60-Z.20asm_comments.60.20to.20.60-Z.20verbose_a.E2.80.A6.20compiler-team.23762)) +- MCPs blocked on unresolved concerns + - merge: [Add a new `--build-id` flag to rustc (compiler-team#635)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1777545767) + - @_**|125250** @_**|116107** @_**|125294** @_**|123856** + - concerns: [other-existing-options (by petrochenkov)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1779597156) [option-name (by wesleywiser)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1785349936) + - "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) + - merge: [Stabilize `--env-set` option (rust#119926)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1898766442) + - @_**|119009** @_**|124288** @_**|123586** @_**|125250** @_**|119031** @_**|124287** @_**|116118** + - concerns: [other-rustc-vars (by petrochenkov)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1900703005) + - merge: [sanitizers: Stabilize AddressSanitizer and LeakSanitizer for the Tier 1 targets (rust#123617)](https://github.com/rust-lang/rust/pull/123617#issuecomment-2135121317) + - @_**|119009** @_**|124287** + - concerns: [stabilization-scope (by wesleywiser)](https://github.com/rust-lang/rust/pull/123617#issuecomment--2102637174) + - merge: [Add `--print host-triple` to print host target triple (rust#125579)](https://github.com/rust-lang/rust/pull/125579#issuecomment-2133192548) + - @_**|119009** @_**|125250** @_**|232957** + - concerns: [triple vs tuple (by lcnr)](https://github.com/rust-lang/rust/pull/125579#issuecomment-2133938172) +- Finalized FCPs (disposition merge) + - "Collect relevant item bounds from trait clauses for nested rigid projections" [rust#120752](https://github.com/rust-lang/rust/pull/120752) + - "Check alias args for WF even if they have escaping bound vars" [rust#123737](https://github.com/rust-lang/rust/pull/123737) + - "allow overwriting the output of `rustc --version`" [rust#124339](https://github.com/rust-lang/rust/pull/124339) + - "Re-implement a type-size based limit" [rust#125507](https://github.com/rust-lang/rust/pull/125507) + - "Allow constraining opaque types during various unsizing casts" [rust#125610](https://github.com/rust-lang/rust/pull/125610) + - "Remove the `box_pointers` lint." [rust#126018](https://github.com/rust-lang/rust/pull/126018) +- Other teams finalized FCPs + - "Collect relevant item bounds from trait clauses for nested rigid projections" [rust#120752](https://github.com/rust-lang/rust/pull/120752) + - "`#![crate_name = EXPR]` semantically allows `EXPR` to be a macro call but otherwise mostly ignores it" [rust#122001](https://github.com/rust-lang/rust/issues/122001) + - "Check alias args for WF even if they have escaping bound vars" [rust#123737](https://github.com/rust-lang/rust/pull/123737) + - "Re-implement a type-size based limit" [rust#125507](https://github.com/rust-lang/rust/pull/125507) + - "Allow constraining opaque types during various unsizing casts" [rust#125610](https://github.com/rust-lang/rust/pull/125610) + - "Syntax for precise capturing: `impl Trait + use<..>`" [rust#125836](https://github.com/rust-lang/rust/issues/125836) + - "Add nightly style guide section for `precise_capturing` `use<>` syntax" [rust#126753](https://github.com/rust-lang/rust/pull/126753) + +### 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: "Switch back `non_local_definitions` lint to allow-by-default" [rust#127015](https://github.com/rust-lang/rust/pull/127015) + - Authored by Urgau + - This PR switch back (again) the `non_local_definitions` lint to allow-by-default + - Lint was fired a bit too happily ([#126768](https://github.com/rust-lang/rust/issues/126768#issue-2365449221)) + - as per [comment](https://github.com/rust-lang/rust/pull/127015#issuecomment-2194029302): + > it was put back to allow-by-default in #125183 for 1.79, but left as warn-by-default in 1.80, this PR would make it allow in 1.81 and the backport would make it allow in 1.80 + +- :beta: "Use the aligned size for alloca at args/ret when the pass mode is cast" [rust#127168](https://github.com/rust-lang/rust/pull/127168) + - Authored by DianQK + - Fixes #75839 (and its duplicate #121028), unsoundness caused by LLVM not accessing aligned sizes for `load` and `store` ([comment](https://github.com/rust-lang/rust/pull/127168#issue-2382266395)) + +- :beta: "Update LLVM submodule" [rust#127190](https://github.com/rust-lang/rust/pull/127190) + - Authored by DianQK + - Fixes #112548 (P-high miscompilation on `aarch64-apple-darwin`). Unlock work on #125642 + - LLVM commits [at this link](https://github.com/rust-lang/llvm-project/compare/5a5152f653959d14d68613a3a8a033fb65eec021...e6a6470d1eb4c88fee4b1ea98cd8e0ac4a181c16) + +- 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) +- :beta: "Stall computing instance for drop shim until it has no unsubstituted const params" [rust#127068](https://github.com/rust-lang/rust/pull/127068) + - Authored by compiler-errors + - Fixes #127030: report of a broken compilation of a crate + +- 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 + +- [1 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) +- [68 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) + - [37 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, 1 P-high, 2 P-medium, 1 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, 2 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) +- [0 P-critical, 35 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) +- "nightly ICE when building flexstr in release mode" [rust#127030](https://github.com/rust-lang/rust/issues/127030) + - Fixed by [rust#127068](https://github.com/rust-lang/rust/pull/127068) (beta backport requested) + +[T-types](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-types) +- "nightly ICE when building flexstr in release mode" [rust#127030](https://github.com/rust-lang/rust/issues/127030) + - Fixed by [rust#127068](https://github.com/rust-lang/rust/pull/127068) (beta backport requested) + +### 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) +- "`safe` keyword is not feature-gated" [rust#126755](https://github.com/rust-lang/rust/issues/126755) + - Mitigated by #126757, makes the `safe` keyword usable in beta again + +[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+) +- "regression: trait bound not satisfied" [rust#125194](https://github.com/rust-lang/rust/issues/125194) + - @_**lcnr** is working on it (comment on [Zulip](https://rust-lang.zulipchat.com/#narrow/stream/238009-t-compiler.2Fmeetings/topic/.5Bweekly.5D.202024-06-27/near/448605731)) + +## Performance logs + +> [triage logs for 2024-07-02](https://github.com/rust-lang/rustc-perf/blob/master/triage/2024-07-02.md) + +We saw a large set of primary benchmarks regress, mostly due to PR +#120924 (`lint_reasons` and `#[expect]`) and PR #120639 (new effects +desugaring). Separate from those, there are a couple rollup PRs +(#127076, #127096) with some regressions that were limited to +relatively few benchmarks; pnkfelix was unable to isolate a injecting +PR that can be identified as a root cause (outside assistance +welcome!). + +Triage done by **@pnkfelix**. +Revision range: [c3d7fb39..cf2df68d](https://perf.rust-lang.org/?start=c3d7fb398569407350abe044e786bc7890c90397&end=cf2df68d1f5e56803c97d91e2b1a9f1c9923c533&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 1.0% | [0.2%, 2.8%] | 109 | +| Regressions (secondary) | 1.4% | [0.3%, 8.0%] | 50 | +| Improvements (primary) | -1.3% | [-4.3%, -0.2%] | 41 | +| Improvements (secondary) | -1.3% | [-4.4%, -0.2%] | 75 | +| All (primary) | 0.4% | [-4.3%, 2.8%] | 150 | + + +4 Regressions, 3 Improvements, 11 Mixed; 7 of them in rollups +59 artifact comparisons made in total +30 Untriaged Pull Requests + +#### Regressions + +Rollup of 7 pull requests [#126951](https://github.com/rust-lang/rust/pull/126951) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=fda509e817abeeecb5b76bc1de844f355675c81e&end=31f8b70d2e18a0339c034e44c52aa3791c29f53c&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.5% | [0.5%, 0.6%] | 3 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.5% | [0.5%, 0.6%] | 3 | + +* regressions are all to serde incr-patched:println {check, debug, opt}. +* on its own, the regression is limited to instruction counts, and seems minor enough to not warrant deeper investigation. +* (the 30-day history tells a slightly more complex story, though) +* marked as triaged + +Let's `#[expect]` some lints: Stabilize `lint_reasons` (RFC 2383) [#120924](https://github.com/rust-lang/rust/pull/120924) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d7c59370cea68cd17006ec3440a43254fd0eda7d&end=4bc39f028d14c24b04dd17dc425432c6ec354536&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.6% | [0.2%, 1.9%] | 142 | +| Regressions (secondary) | 0.6% | [0.1%, 1.5%] | 79 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.6% | [0.2%, 1.9%] | 142 | + +* wide collection of regressions. +* PR discussion indicates regression may be inherent to how `#[expect]` is implemented; it is also hypothesized to be "likely" that the implementation can be better optimized. +* not marking as triaged. +* (my hope is that someone will look into the "further optimizations" that xFrednet [alludes to above](https://github.com/rust-lang/rust/pull/120924#issuecomment-2202486203), and after we've done a reasonable amount of investigation there, then we can mark this as triaged.) + +Update browser-ui-test version to `0.18.0` [#127010](https://github.com/rust-lang/rust/pull/127010) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9c3bc805dd9cb84019c124b9a50fdff1e62a7ec9&end=42add88d2275b95c98e512ab680436ede691e853&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 7.2% | [7.2%, 7.2%] | 1 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | - | - | 0 | + +* already marked as triaged (secondary benchmark deep-vector is being noisy at the moment). + +Implement new effects desugaring [#120639](https://github.com/rust-lang/rust/pull/120639) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d1b7355d3d7b4ead564dbecb1d240fcc74fff21b&end=ba1d7f4a083e6402679105115ded645512a7aea8&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.3% | [0.2%, 0.6%] | 72 | +| Regressions (secondary) | 0.4% | [0.1%, 0.9%] | 24 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.3% | [0.2%, 0.6%] | 72 | + +* Biggest (>=0.4%) primary regressions: regex, bitmaps, typenum, stm32f4, exa. (19 variants of those five benchmarks.) +* the PR author (fee1-dead) has made a couple follow-up attempts to address the regressions, but nothing has hit yet. +* not marking as triaged, in order to encourage addressing the regressions. (note however: the cycles:u metric didn't regress, at least not past our noise-filtering significance threshold. Nor did task-clock:u. It is not totally clear how much effort is warranted here, apart from a desire to keep the instruction count low just because that is our most stable proxy for "computational effort") + +#### Improvements + +Save 2 pointers in `TerminatorKind` (96 → 80 bytes) [#126784](https://github.com/rust-lang/rust/pull/126784) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5a3e2a4e921097c8f2bf6ea7565f8abe878cdbd4&end=d8d5732456d375f7c4bdc2f6ad771989a5e0ae02&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.4% | [-0.5%, -0.2%] | 9 | +| Improvements (secondary) | -0.1% | [-0.1%, -0.1%] | 4 | +| All (primary) | -0.4% | [-0.5%, -0.2%] | 9 | + +* improvements are to serde and diesel. +* skimming 30 day history indicates that the effect is real, though may have been somewhat undone by subsequent changes. + +rustdoc: use current stage if download-rustc enabled [#126728](https://github.com/rust-lang/rust/pull/126728) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=127fa2261b730a42e6d98b7927c3888ecd08f3e0&end=a4ce33c0b232deda1cbce447e80f187cd34952a6&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -8.0% | [-8.0%, -8.0%] | 1 | +| All (primary) | - | - | 0 | + +* (this was just deep-vector noise) + +Rollup of 9 pull requests [#127174](https://github.com/rust-lang/rust/pull/127174) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ef3d6fd7002500af0a985f70d3ac5152623c1396&end=6868c831a1eb45c5150ff623cef5e42a8b8946d0&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.2% | [0.2%, 0.2%] | 1 | +| Improvements (primary) | -0.4% | [-1.1%, -0.2%] | 46 | +| Improvements (secondary) | -1.3% | [-2.9%, -0.2%] | 36 | +| All (primary) | -0.4% | [-1.1%, -0.2%] | 46 | + +* this had broad improvements to instruction counts, but the cycle counts metric reports that there were 13 regressions (one of which, unicode-normalization, was primary) here with only one improvement (none of which was primary). +* nonetheless, not worth investigating further. + +#### Mixed + +Rollup of 9 pull requests [#126878](https://github.com/rust-lang/rust/pull/126878) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=33422e72c8a66bdb5ee21246a948a1a02ca91674&end=bcf94dec5ba6838e435902120c0384c360126a26&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.4% | [0.3%, 0.5%] | 6 | +| Improvements (primary) | -0.4% | [-0.5%, -0.3%] | 4 | +| Improvements (secondary) | -0.3% | [-0.3%, -0.3%] | 1 | +| All (primary) | -0.4% | [-0.5%, -0.3%] | 4 | + +* regressions are all to secondary benchmark: coercions. +* marking as triaged + +Add `SliceLike` to `rustc_type_ir`, use it in the generic solver code (+ some other changes) [#126813](https://github.com/rust-lang/rust/pull/126813) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6b0f4b5ec3aa707ecaa78230722117324a4ce23c&end=5b270e1198e911247244b035a6f06ce3af0a4420&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.5% | [0.4%, 0.8%] | 7 | +| Improvements (primary) | -0.4% | [-0.6%, -0.3%] | 12 | +| Improvements (secondary) | -0.7% | [-2.2%, -0.2%] | 9 | +| All (primary) | -0.4% | [-0.6%, -0.3%] | 12 | + +* regressions are all to secondary benchmark: match-stress +* marking as triaged + +Also get `add nuw` from `uN::checked_add` [#126852](https://github.com/rust-lang/rust/pull/126852) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5b270e1198e911247244b035a6f06ce3af0a4420&end=fc555cd832ee743ff5410c35de2b0dd59ec4322e&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.6% | [0.3%, 0.9%] | 4 | +| Regressions (secondary) | 0.4% | [0.3%, 0.4%] | 2 | +| Improvements (primary) | -0.3% | [-0.3%, -0.3%] | 1 | +| Improvements (secondary) | -1.3% | [-1.4%, -0.9%] | 7 | +| All (primary) | 0.4% | [-0.3%, 0.9%] | 5 | + +* PR was analyzed and thought to be a net win, despite the anticipated regression to compiler instruction-counts +* but there was a bystander follow-up comment that the result here might be a pessimization, at least for Intel x86. +* not marking as triaged, in hopes that follow-up comment gets addressed in some manner. + +ast: Standardize visiting order for attributes and node IDs [#125741](https://github.com/rust-lang/rust/pull/125741) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c2d2bb38c9067d983d13505c47e761308b1694db&end=d929a42a664c026167800801b26d734db925314f&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.3% | [0.2%, 0.3%] | 3 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.3% | [-0.4%, -0.2%] | 12 | +| All (primary) | - | - | 0 | + +* solely regressions to secondary benchmark: tt-muncher. +* marking as triaged + +Rollup of 8 pull requests [#126965](https://github.com/rust-lang/rust/pull/126965) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c290e9de32e8ba6a673ef125fde40eadd395d170&end=fda509e817abeeecb5b76bc1de844f355675c81e&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 3.3% | [1.7%, 5.8%] | 9 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -3.0% | [-5.7%, -0.3%] | 2 | +| All (primary) | - | - | 0 | + +* solely regressions to secondary benchmark: derive +* marking as triaged + +Remove more `PtrToPtr` casts in GVN [#126844](https://github.com/rust-lang/rust/pull/126844) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=4bdf8d2d5877f20b54c1506a607ad8c4744cc387&end=d7c59370cea68cd17006ec3440a43254fd0eda7d&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 1.3% | [0.3%, 2.9%] | 4 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.7% | [-1.1%, -0.4%] | 2 | +| Improvements (secondary) | -0.3% | [-0.3%, -0.3%] | 1 | +| All (primary) | 0.6% | [-1.1%, 2.9%] | 6 | + +* Main primary regressions to opt-full benchmarks ripgrep (2.89%), webrender (1.11%), html5ever (0.70%). +* Some interesting discussion on the PR about the cause; e.g. are PR's like this causing individual MIR reduction that leads to more inlining and then more bloat overall? +* but I do not think any of that would cause us to undo this particular change; there are higher level inlining and code-generation policies that need to be revisited. +* marking as triaged. + +Rollup of 6 pull requests [#127014](https://github.com/rust-lang/rust/pull/127014) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=536235f07e57c9108c6c3b1eacb323164e0f4cfb&end=127fa2261b730a42e6d98b7927c3888ecd08f3e0&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 8.2% | [8.2%, 8.2%] | 1 | +| Improvements (primary) | -0.2% | [-0.2%, -0.2%] | 1 | +| Improvements (secondary) | -2.2% | [-5.0%, -0.2%] | 13 | +| All (primary) | -0.2% | [-0.2%, -0.2%] | 1 | + +* already marked as triaged (sole regressionw as to noisy deep-vector) + +Rollup of 6 pull requests [#127076](https://github.com/rust-lang/rust/pull/127076) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=42add88d2275b95c98e512ab680436ede691e853&end=99f77a2eda555b50b518f74823ab636a20efb87f&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 1.4% | [0.6%, 2.1%] | 2 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -1.8% | [-2.7%, -0.8%] | 2 | +| Improvements (secondary) | -0.7% | [-6.2%, -0.2%] | 17 | +| All (primary) | -0.2% | [-2.7%, 2.1%] | 4 | + +* regressions are to opt-full: image (2.11%) and cargo (0.61%). +* eyeballing the self-profile results provides a hint that we might be spending more time in LLVM optimizations passes after this rollup PR landed. +* fired off some follow-up rust-timer builds on a couple potential culprits, but I admit that I'm only making semi-educated guesses. (outcome: It wasn't PR #124741 nor PR #126970) +* not marking as triaged, but if no one can identify a root cause within a week, then we should just mark it so at that point. + +Rollup of 11 pull requests [#127096](https://github.com/rust-lang/rust/pull/127096) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9ed2ab3790ff41bf741dd690befd6a1c1e2b23ca&end=d38cd229b75a7a608e4971c46d1fb5a99343e430&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.5% | [0.3%, 0.7%] | 7 | +| Regressions (secondary) | 1.1% | [0.2%, 1.6%] | 7 | +| Improvements (primary) | -3.4% | [-6.2%, -1.2%] | 12 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -1.9% | [-6.2%, 0.7%] | 19 | + +* all 7 primary regressions are variants of syn; all but one are incremental. +* skimming the detailed results reports for the top three regressing variants, I see the following queries at the top of the ordering by time-delta: incr_comp_persist_dep_graph, hir_crate, codegen_copy_artifacts_from_incr_cache, early_lint_checks... +* what in this rollup would have impacted those incremental-compilation related queries? +* PR #1270668 already had its own dedicated rustc-perf run. +* (is this potentially just fallout noise from internal API changes like that in PR #127071?) +* fired off a rust-timer build against that, just to scratch that itch. +* not marking as triaged, but if no one can identify a root cause within a week, then we should just mark it so at that point. + +Automatically taint InferCtxt when errors are emitted [#126996](https://github.com/rust-lang/rust/pull/126996) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f92a6c41e644d6222be77b20396daec5e77661f3&end=7b21c18fe4de32a7d2faa468e6ef69abff013f85&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 0.5% | [0.4%, 0.9%] | 7 | +| Improvements (primary) | -0.2% | [-0.2%, -0.2%] | 1 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.2% | [-0.2%, -0.2%] | 1 | + +* all regressions are to secondary match-stress benchmark, and were anticipated during a perf run during review +* marking as triaged. + +Avoid MIR bloat in inlining [#127113](https://github.com/rust-lang/rust/pull/127113) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c3774be7411722d3695de2ab1da9a358d0d5c82c&end=221e2741c39515a5de6da42d8c76ee1e132c2c74&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 1.1% | [0.3%, 2.8%] | 6 | +| Regressions (secondary) | 1.6% | [1.5%, 1.9%] | 6 | +| Improvements (primary) | -0.8% | [-2.2%, -0.2%] | 17 | +| Improvements (secondary) | -1.6% | [-4.5%, -0.2%] | 18 | +| All (primary) | -0.3% | [-2.2%, 2.8%] | 23 | + +* regressed opt-full html5ever, diesel, hyper, and clap. Also regressed ripgrep and regex in two isolated opt incremental scenarios. +* overall gains more than it loses, as [noted after the perf run](https://github.com/rust-lang/rust/pull/127113#issuecomment-2198433788) done during PR development. +* the big impact was to binary sizes, where the improvement is pretty clear. +* marking 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) + - Nominated as it could unblock some work on rust-cross (see [comment on PR](https://github.com/rust-lang/rust/pull/125692#issuecomment-2206027977)) + - musl [release notes](https://musl.libc.org/releases.html) + +[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) +- "Remove unnecessary impl sorting in queries and metadata" [rust#120812](https://github.com/rust-lang/rust/pull/120812) + - cc: @**cjgillot** +- "Stop using LLVM struct types for array/pointer offset GEPs" [rust#122325](https://github.com/rust-lang/rust/pull/122325) + - cc: @**Nikita Popov** (author replied to your comment) +- "Issue 83060 fix" [rust#119798](https://github.com/rust-lang/rust/pull/119798) + - cc @**Wesley Wiser** (author asks a question) +- "DependencyList: removed outdated comment" [rust#124290](https://github.com/rust-lang/rust/pull/124290) + - This seems a small change: any taker for a review? :-) +- "size_of_val_raw: for length 0 this is safe to call" [rust#126152](https://github.com/rust-lang/rust/pull/126152) (last review activity: about 24 days ago) + - cc: @**Michael Goulet (compiler-errors)** +- "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: about 26 days ago) + - cc: @**León Orell Liehr (fmease)** (unsure if your review is complete) + +## Next week's WG checkins + +None + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/eQkxivnwRCuEACPKwn7T3A) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-07-11.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-07-11.md new file mode 100644 index 00000000..199a7f74 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-07-11.md @@ -0,0 +1,339 @@ +--- +title: T-compiler Meeting Agenda 2024-07-11 +tags: [weekly, ' rustc'] + +--- + +--- +tags: weekly, rustc +type: docs +note_id: eQkxivnwRCuEACPKwn7T3A +--- + +# T-compiler Meeting Agenda 2024-07-11 + +## 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 +- Types Team: ITE (Impl Trait Everywhere) Triage + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - No new proposals this time. +- 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: 5 months ago) + - concern: [added-complexity-to-frontend](https://github.com/rust-lang/compiler-team/issues/692#issuecomment-1845169318) + - "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)) (last review activity: 5 months ago) + - "Partial compilation using MIR-only rlibs" [compiler-team#738](https://github.com/rust-lang/compiler-team/issues/738) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Partial.20compilation.20using.20MIR-only.20rlibs.20compiler-team.23738)) (last review activity: 3 months 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 55 days ago) +- Pending FCP requests (check your boxes!) + - merge: [Disallow setting some built-in cfg via set the command-line (rust#126158)](https://github.com/rust-lang/rust/pull/126158#issuecomment--2098595599) + - @_**|116083** @_**|125250** @_**|119031** @_**|116118** @_**|232957** + - no pending concerns + - merge: [Remove the `missing_copy_implementations` lint. (rust#126293)](https://github.com/rust-lang/rust/pull/126293#issuecomment--2132638472) + - @_**|125250** @_**|426609** @_**|123856** @_**|116118** + - no pending concerns +- Things in FCP (make sure you're good with it) + - "Add `-Z embed-source` (DWARFv5 source code embedding extension)" [compiler-team#764](https://github.com/rust-lang/compiler-team/issues/764) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60-C.20embed-source.60.20.28DWARFv5.20source.20cod.E2.80.A6.20compiler-team.23764)) + - "MCP: Alternate cargo freshness algorithm, unstable flag to annotate depinfo file with checksums and file sizes" [compiler-team#765](https://github.com/rust-lang/compiler-team/issues/765) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/MCP.3A.20Alternate.20cargo.20freshness.20algorithm.3A.E2.80.A6.20compiler-team.23765)) + - "Implement lint against ambiguous negative literals" [rust#121364](https://github.com/rust-lang/rust/pull/121364) +- Accepted MCPs + - "Promote wasm32-wasip2 to a Tier 2 target" [compiler-team#760](https://github.com/rust-lang/compiler-team/issues/760) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Promote.20wasm32-wasip2.20to.20a.20Tier.202.20target.20compiler-team.23760)) + - "Remove `Nonterminal` and `TokenKind::Interpolated`" [compiler-team#763](https://github.com/rust-lang/compiler-team/issues/763) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Remove.20.60Nonterminal.60.20and.20.60TokenKind.3A.3AInte.E2.80.A6.20compiler-team.23763)) +- MCPs blocked on unresolved concerns + - merge: [Add a new `--build-id` flag to rustc (compiler-team#635)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1777545767) + - @_**|125250** @_**|116107** @_**|125294** @_**|123856** + - concerns: [other-existing-options (by petrochenkov)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1779597156) [option-name (by wesleywiser)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1785349936) + - "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) + - merge: [Stabilize `--env-set` option (rust#119926)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1898766442) + - @_**|119009** @_**|124288** @_**|123586** @_**|125250** @_**|119031** @_**|124287** @_**|116118** + - concerns: [other-rustc-vars (by petrochenkov)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1900703005) + - merge: [sanitizers: Stabilize AddressSanitizer and LeakSanitizer for the Tier 1 targets (rust#123617)](https://github.com/rust-lang/rust/pull/123617#issuecomment-2135121317) + - @_**|124287** + - concerns: [stabilization-scope (by wesleywiser)](https://github.com/rust-lang/rust/pull/123617#issuecomment--2102637174) + - merge: [Add `--print host-triple` to print host target triple (rust#125579)](https://github.com/rust-lang/rust/pull/125579#issuecomment-2133192548) + - @_**|125250** @_**|232957** + - concerns: [triple vs tuple (by lcnr)](https://github.com/rust-lang/rust/pull/125579#issuecomment-2133938172) +- Finalized FCPs (disposition merge) + - No new finished FCP (disposition merge) this time. +- Other teams finalized FCPs + - "Tracking issue for function attribute `#[coverage]`" [rust#84605](https://github.com/rust-lang/rust/issues/84605) + - "Don't make statement nonterminals match pattern nonterminals" [rust#120221](https://github.com/rust-lang/rust/pull/120221) + - "Allow `#[deny]` inside `#[forbid]` as a no-op" [rust#121560](https://github.com/rust-lang/rust/pull/121560) + - "Bump `elided_lifetimes_in_associated_constant` to deny" [rust#124211](https://github.com/rust-lang/rust/pull/124211) + - "Deny keyword lifetimes pre-expansion" [rust#126762](https://github.com/rust-lang/rust/pull/126762) + +### 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: "Update LLVM submodule" [rust#127364](https://github.com/rust-lang/rust/pull/127364) + - Authored by DianQK + - Fixes #127260 and #127286 (P-high miscompilations) + - [Changes](https://github.com/rust-lang/llvm-project/compare/e6a6470d1eb4c88fee4b1ea98cd8e0ac4a181c16...c54cff0e6e4d1a0d0a2df7c1ce3d96cdd554763e) + +- :beta: "instantiate higher ranked goals in candidate selection again" [rust#127568](https://github.com/rust-lang/rust/pull/127568) + - Authored by lcnr (thanks!) + - As discussed [last week](https://rust-lang.zulipchat.com/#narrow/stream/238009-t-compiler.2Fmeetings/topic/.5Bweekly.5D.202024-06-27/near/450445893). Reverts #119820 as that PR has a significant impact and breaks code which feels like it should work. + +- 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) +- [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) +- [70 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, 3 P-high, 2 P-medium, 1 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, 2 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) +- [0 P-critical, 35 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: trait bound is not satisfied Cow/Borrow" [rust#127339](https://github.com/rust-lang/rust/issues/127339) + - regressions reverted in #127568 (beta-backport nominated) +- "regression: borrowed data escapes outside of the method" [rust#127342](https://github.com/rust-lang/rust/issues/127342) + - fixed downstream + +[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+) +- "regression: trait bound not satisfied" [rust#125194](https://github.com/rust-lang/rust/issues/125194) + - regressions reverted in #127568 (beta-backport nominated) + +## Performance logs + +> [triage logs for 2024-07-09](https://github.com/rust-lang/rustc-perf/blob/master/triage/2024-07-09.md) + +More regressions than improvements this week, caused by a combination of fixes, +refactorings, third-party dependency updates and in general the compiler doing +slightly more work. + +Triage done by **@kobzol**. +Revision +range: [cf2df68d..a2d58197](https://perf.rust-lang.org/?start=cf2df68d1f5e56803c97d91e2b1a9f1c9923c533&end=a2d58197a766085856504328948c89a33a6a36e8&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.7% | [0.2%, 2.5%] | 53 | +| Regressions (secondary) | 1.0% | [0.4%, 1.5%] | 31 | +| Improvements (primary) | -0.6% | [-1.2%, -0.2%] | 10 | +| Improvements (secondary) | -1.7% | [-2.4%, -1.4%] | 4 | +| All (primary) | 0.5% | [-1.2%, 2.5%] | 63 | + +1 Regression, 2 Improvements, 7 Mixed; 3 of them in rollups +62 artifact comparisons made in total + +#### Regressions + +Make `can_eq` process obligations (almost) +everywhere [#127172](https://github.com/rust-lang/rust/pull/127172) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=20ae37c18df95f9246c019b04957d23b4164bf7a&end=89aefb9c53090851be903b5a9171a2efdc3fd16f&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.3% | [0.2%, 0.6%] | 25 | +| Regressions (secondary) | 0.8% | [0.7%, 0.9%] | 7 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.3% | [0.2%, 0.6%] | 25 | + +- Small regression across several benchmarks. +- Not marking as triaged yet, https://github.com/rust-lang/rust/pull/127473 has been + opened to investigate a potential performance fix. + +#### Improvements + +Make jump threading state +sparse [#127036](https://github.com/rust-lang/rust/pull/127036) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1cfd47fe0b78f48a04ac8fce792a406b638da40b&end=2b90614e94cfb400820cfc10fe63b0db74f9e67a&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.8% | [-1.1%, -0.5%] | 5 | +| Improvements (secondary) | -0.4% | [-0.4%, -0.4%] | 1 | +| All (primary) | -0.8% | [-1.1%, -0.5%] | 5 | + +Cache hir_owner_nodes in +ParentHirIterator. [#127421](https://github.com/rust-lang/rust/pull/127421) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=89aefb9c53090851be903b5a9171a2efdc3fd16f&end=b1de36ff34a4fe4ba820f195481a13aee74e1358&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.3% | [-1.0%, -0.2%] | 16 | +| Improvements (secondary) | -0.1% | [-0.1%, -0.1%] | 3 | +| All (primary) | -0.3% | [-1.0%, -0.2%] | 16 | + +#### Mixed + +Check alias args for WF even if they have escaping bound +vars [#123737](https://github.com/rust-lang/rust/pull/123737) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=67f0d43890801f50ef2d24cd66de523f89ccb157&end=d163e5e515d470a713f7d6907852904622a85d4e&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.5% | [0.5%, 0.5%] | 1 | +| Regressions (secondary) | 0.7% | [0.4%, 1.1%] | 4 | +| Improvements (primary) | -0.2% | [-0.2%, -0.2%] | 2 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.0% | [-0.2%, 0.5%] | 3 | + +- This change is required for further improvements of the type system, the compiler does a bit more work. +- The regression is limited to one stress test and one cargo benchmark. +- Marked as triaged. + +Re-implement a type-size based +limit [#125507](https://github.com/rust-lang/rust/pull/125507) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2db4ff40af2b9f93b6240dbd67ed7f2f34b19776&end=c872a1418a4be3ea84a8d5232238b60d35339ba9&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 1.3% | [0.3%, 1.9%] | 5 | +| Regressions (secondary) | 0.9% | [0.9%, 0.9%] | 1 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.4% | [-0.4%, -0.4%] | 1 | +| All (primary) | 1.3% | [0.3%, 1.9%] | 5 | + +- This PR re-enabled a type size limit check that was not working for a long time. +- It heavily regressed a stress test that contains very deeply nested types, this regression + has been resolved in https://github.com/rust-lang/rust/pull/127288. +- It seems like the PR is causing issues for various projects, and it might be reverted, but + the perf. regression itself has been fixed by https://github.com/rust-lang/rust/pull/127288. +- Marked as triaged. + +rustdoc: update to pulldown-cmark +0.11 [#127127](https://github.com/rust-lang/rust/pull/127127) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b45401283fad51849dbb37d78f0b2093a21fb58f&end=66b4f0021bfb11a8c20d084c99a40f4a78ce1d38&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.8% | [0.2%, 1.8%] | 16 | +| Regressions (secondary) | 0.5% | [0.3%, 0.6%] | 7 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.2% | [-0.2%, -0.2%] | 1 | +| All (primary) | 0.8% | [0.2%, 1.8%] | 16 | + +- This PR updated the used version of `pulldown-cmark`, which resolves several bugs in handling doc blocks. +- It caused a small regression in `doc` builds. +- Marked as triaged. + +cache type sizes in type-size limit +visitor [#127288](https://github.com/rust-lang/rust/pull/127288) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c4225812973cee4bba952cbf7a421f69871fed0d&end=cc8da78a036dc3c15c35a97651b02af9a6d30c1e&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:------:|:---------------:|:-----:| +| Regressions (primary) | 0.3% | [0.2%, 0.3%] | 9 | +| Regressions (secondary) | 0.7% | [0.6%, 0.8%] | 3 | +| Improvements (primary) | -1.3% | [-1.6%, -0.4%] | 4 | +| Improvements (secondary) | -85.4% | [-99.8%, -1.9%] | 7 | +| All (primary) | -0.2% | [-1.6%, 0.3%] | 13 | + +- Resolved a perf. regression from https://github.com/rust-lang/rust/pull/125507. + +Rollup of 8 pull +requests [#127403](https://github.com/rust-lang/rust/pull/127403) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5c08cc765af9975d4b176f7a377bbf927791e20d&end=51917e2e69702e5752bce6a4f3bfd285d0f4ae39&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.2% | [0.2%, 0.3%] | 3 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.9% | [-1.3%, -0.6%] | 9 | +| All (primary) | 0.2% | [0.2%, 0.3%] | 3 | + +- Small regression on a single benchmark, but only in incremental unchanged build. +- Improvements outweigh the regressions. +- Marked as triaged. + +Rollup of 10 pull +requests [#127476](https://github.com/rust-lang/rust/pull/127476) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9af6fee87de71729efca7dbb61c0931180895424&end=7fdefb804ec300fb605039522a7c0dfc9e7dc366&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.5% | [0.2%, 1.7%] | 15 | +| Regressions (secondary) | 0.3% | [0.1%, 0.7%] | 3 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -0.2% | [-0.2%, -0.2%] | 1 | +| All (primary) | 0.5% | [0.2%, 1.7%] | 15 | + +- Small regressions on `doc` builds caused by https://github.com/rust-lang/rust/pull/127439. +- This is a necessary refactoring, and the author has deemed the small perf. hit to be worth it. +- Marked as triaged. + +Rollup of 5 pull +requests [#127486](https://github.com/rust-lang/rust/pull/127486) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=cfd7cf5a0e497c238dcf9947e2eeec01837beeb4&end=a06e9c83f6bc6b9b69f1b0d9f1ab659f8f03db4d&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.4% | [0.2%, 0.4%] | 7 | +| Regressions (secondary) | 0.2% | [0.2%, 0.2%] | 1 | +| Improvements (primary) | -0.8% | [-0.8%, -0.8%] | 1 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.2% | [-0.8%, 0.4%] | 8 | + +- Unclear which PR has caused the (small) regression. +- Not marking as triaged yet. + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- None + +[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 + +- "Report a specialized error when a `'static` obligation comes from an `impl dyn Trait`" [rust#121274](https://github.com/rust-lang/rust/pull/121274) + - cc @**León Orell Liehr (fmease)** +- "Apply dllimport in ThinLTO for -Z dylib-lto" [rust#122790](https://github.com/rust-lang/rust/pull/122790) + - cc @**Wesley Wiser** +- "Suggest borrowing on fn argument that is `impl AsRef`" [rust#124599](https://github.com/rust-lang/rust/pull/124599) + - cc: @**Wesley Wiser** +- "PinCoerceUnsized trait into core" [rust#125048](https://github.com/rust-lang/rust/pull/125048) (last review activity: about 59 days ago) + - cc @**Michael Goulet (compiler-errors)** + + + +## Next week's WG checkins + +None + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/qw4V2S72S76yFPEn-uk2bg) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-07-18.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-07-18.md new file mode 100644 index 00000000..b1080837 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-07-18.md @@ -0,0 +1,241 @@ +--- +tags: weekly, rustc +type: docs +note_id: qw4V2S72S76yFPEn-uk2bg +--- + +# T-compiler Meeting Agenda 2024-07-18 + +## Announcements + +- Next week release of next stable Rust 1.80 +- Is there interest/capacity to pick a topic [from this list](https://github.com/rust-lang/compiler-team/issues?q=is%3Aissue+label%3Ameeting-proposal+is%3Aopen) and schedule a meeting? + - by the way, [40 P-high unassigned isues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high+no%3Aassignee) +- 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 + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - No new proposals 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: 6 months ago) + - concern: [added-complexity-to-frontend](https://github.com/rust-lang/compiler-team/issues/692#issuecomment-1845169318) + - "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)) (last review activity: 5 months ago) + - "Partial compilation using MIR-only rlibs" [compiler-team#738](https://github.com/rust-lang/compiler-team/issues/738) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Partial.20compilation.20using.20MIR-only.20rlibs.20compiler-team.23738)) (last review activity: 3 months 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: 2 months ago) +- Pending FCP requests (check your boxes!) + - merge: [sanitizers: Stabilize AddressSanitizer and LeakSanitizer for the Tier 1 targets (rust#123617)](https://github.com/rust-lang/rust/pull/123617#issuecomment-2135121317) + - no pending checkboxes + - concerns: [stabilization-scope (by wesleywiser)](https://github.com/rust-lang/rust/pull/123617#issuecomment-2192330122) + - Note: @**Wesley Wiser** you approved the MCP, is your recorded concern still standing? + - merge: [Disallow setting some built-in cfg via set the command-line (rust#126158)](https://github.com/rust-lang/rust/pull/126158#issuecomment-2196371697) + - @**|116083** @**|125250** @**|119031** @**|232957** + - no pending concerns + - merge: [Remove the `missing_copy_implementations` lint. (rust#126293)](https://github.com/rust-lang/rust/pull/126293#issuecomment-2162328824) + - @**|125250** @**|426609** @**|123856** + - no pending concerns +- Things in FCP (make sure you're good with it) + - "Implement lint against ambiguous negative literals" [rust#121364](https://github.com/rust-lang/rust/pull/121364) +- Accepted MCPs + - "Add `-Z embed-source` (DWARFv5 source code embedding extension)" [compiler-team#764](https://github.com/rust-lang/compiler-team/issues/764) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Add.20.60-C.20embed-source.60.20.28DWARFv5.20source.20cod.E2.80.A6.20compiler-team.23764)) + - "MCP: Alternate cargo freshness algorithm, unstable flag to annotate depinfo file with checksums and file sizes" [compiler-team#765](https://github.com/rust-lang/compiler-team/issues/765) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/MCP.3A.20Alternate.20cargo.20freshness.20algorithm.3A.E2.80.A6.20compiler-team.23765)) +- MCPs blocked on unresolved concerns + - merge: [Add `--print host-triple` to print host target triple (rust#125579)](https://github.com/rust-lang/rust/pull/125579#issuecomment-2133192548) + - @**|125250** @**|232957** + - concerns: [triple vs tuple (by lcnr)](https://github.com/rust-lang/rust/pull/125579#issuecomment-2133938172) + - with regard to the naming question ("tuple" or "triple"), there's a [Zulip topic](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/--print.20host.5B-tuple.7C-triple.5D/near/452327014) + - merge: [Add a new `--build-id` flag to rustc (compiler-team#635)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1777545767) + - @_**|125250** @_**|116107** @_**|125294** @_**|123856** + - concerns: [other-existing-options (by petrochenkov)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1779597156) [option-name (by wesleywiser)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1785349936) + - "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) + - merge: [Stabilize `--env-set` option (rust#119926)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1898766442) + - @_**|119009** @_**|124288** @_**|123586** @_**|125250** @_**|119031** @_**|124287** @_**|116118** + - concerns: [other-rustc-vars (by petrochenkov)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1900703005) +- Finalized FCPs (disposition merge) + - No new finished FCP (disposition merge) this time. +- Other teams finalized FCPs + - "Fix ambiguous cases of multiple & in elided self lifetimes" [rust#117967](https://github.com/rust-lang/rust/pull/117967) + - "offset_from: always allow pointers to point to the same address" [rust#124921](https://github.com/rust-lang/rust/pull/124921) + +### 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) +- [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) +- [68 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) + - [40 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, 2 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, 2 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) +- [0 P-critical, 35 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) +- No new beta regressions (#127339 fixed by #127568 now beta-backport accepted and #127342 fixed downstream) + +[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 2024-07-16](https://github.com/rust-lang/rustc-perf/blob/d86903679ac12804e7b15d9007e2539c0b541dc6/triage/2024-07-16.md) + +Fairly quite week with the only pure regressions being small and coming from correctness fixes. The biggest single change came from turning off the `-Zenforce-type-length-limit` check which had positive impacts across many different benchmarks since the compiler is doing strictly less work. + +Triage done by **@rylev**. +Revision range: [a2d58197..5572759b](https://perf.rust-lang.org/?start=a2d58197a766085856504328948c89a33a6a36e8&end=5572759b8d7012fa34eba47f4885c76fa06d9251&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:---------------:|:-----:| +| Regressions (primary) | 0.3% | [0.2%, 0.7%] | 12 | +| Regressions (secondary) | 0.4% | [0.2%, 0.9%] | 45 | +| Improvements (primary) | -0.7% | [-1.5%, -0.2%] | 37 | +| Improvements (secondary) | -3.3% | [-13.5%, -0.4%] | 21 | +| All (primary) | -0.4% | [-1.5%, 0.7%] | 49 | + + +2 Regressions, 3 Improvements, 2 Mixed; 1 of them in rollups +56 artifact comparisons made in total + +#### Regressions + +Fix regression in the MIR lowering of or-patterns [#127028](https://github.com/rust-lang/rust/pull/127028) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f25e92bd42b14e45440c0a30a4ed751ea502f430&end=9dcaa7f92cf3ed0a9d2e93824025243533bb5541&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.7% | [0.3%, 1.2%] | 3 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.7% | [0.3%, 1.2%] | 3 | +- Given this is a correctness fix, and the regressions seem in line with previous historical performance (i.e., it regressed back to a previous baseline), I think it's safe to call this triaged + + +Avoid follow-up errors and ICEs after missing lifetime errors on data structures [#127311](https://github.com/rust-lang/rust/pull/127311) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=fdf7ea6b5b1cac83c0f29e681202cf18bf25b01c&end=c92a8e4d4d7e8da53aa05309ef8d4fac2c9af52f&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.3% | [0.2%, 0.4%] | 8 | +| Regressions (secondary) | 0.3% | [0.2%, 0.4%] | 16 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.3% | [0.2%, 0.4%] | 8 | +- Instruction counts go up, cycles do not (deeply nested multi is probably just noise in mono collection). In any case, this is a correctness fix so it seems like a small perf hit would be acceptable in any case. + + +#### Improvements + +Fix `Parser::look_ahead` [#127636](https://github.com/rust-lang/rust/pull/127636) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5d76a13bbedebd773b4960432bff14f40acf3840&end=62c068feeafd1f4abbf87243d69cf8862e4dd277&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) | -2.4% | [-2.4%, -2.4%] | 1 | +| All (primary) | -0.3% | [-0.3%, -0.2%] | 3 | + + +Gate the type length limit check behind a nightly flag [#127670](https://github.com/rust-lang/rust/pull/127670) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a241cf1c49c46c57ee2ea9b19df4e7e2cc41449d&end=88fa119c77682e6d55ce21001cf761675cfebeae&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.6% | [-1.4%, -0.2%] | 28 | +| Improvements (secondary) | -1.1% | [-1.5%, -0.4%] | 8 | +| All (primary) | -0.6% | [-1.4%, -0.2%] | 28 | + + +find_field does not need to be a query. [#127718](https://github.com/rust-lang/rust/pull/127718) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d9284afea99e0969a0e692b9e9fd61ea4ba21366&end=8b72d7a9d7a02cb4f2b21c1497651c84a912550a&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:---------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | -7.5% | [-13.5%, -2.7%] | 9 | +| All (primary) | - | - | 0 | + + +#### Mixed + +Rollup of 7 pull requests [#127580](https://github.com/rust-lang/rust/pull/127580) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b215beb567857000fdaa868cbb78702bc5ee0ee9&end=c092b289764530221d09e000a789222bddb2c53c&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | 2.6% | [2.6%, 2.6%] | 1 | +| Improvements (primary) | -0.6% | [-1.0%, -0.2%] | 9 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.6% | [-1.0%, -0.2%] | 9 | +- Noise + + +Only track mentioned places for jump threading [#127087](https://github.com/rust-lang/rust/pull/127087) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8a63c84af5e7a201239e87d2175128907495b028&end=0ffbddd09e02a00b762d838ea1598bfa89dd1668&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.5% | [0.4%, 0.6%] | 3 | +| Regressions (secondary) | 1.1% | [0.2%, 1.6%] | 7 | +| Improvements (primary) | -0.6% | [-1.3%, -0.2%] | 6 | +| Improvements (secondary) | -0.6% | [-2.0%, -0.3%] | 8 | +| All (primary) | -0.2% | [-1.3%, 0.6%] | 9 | +- The perf impact was expected given the pre-merge runs and is less severe than it was pre-merge. + +## 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) +- "Remove unnecessary impl sorting in queries and metadata" [rust#120812](https://github.com/rust-lang/rust/pull/120812) (last review activity: 5 months ago) + - cc: @**cjgillot** +- "Stop using LLVM struct types for array/pointer offset GEPs" [rust#122325](https://github.com/rust-lang/rust/pull/122325) (last review activity: 4 months ago) + - cc: @**Nikita Popov** (author replied to your comment from last March) + + +## Next week's WG checkins + +None + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/zlNQiMzJThWdBQvPYaqh0w) diff --git a/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-07-25.md b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-07-25.md new file mode 100644 index 00000000..9148e572 --- /dev/null +++ b/content/minutes/triage-meeting/T-compiler Meeting Agenda 2024-07-25.md @@ -0,0 +1,207 @@ +--- +title: T-compiler Meeting Agenda 2024-07-25 +tags: [weekly, ' rustc'] + +--- + +--- +tags: weekly, rustc +type: docs +note_id: zlNQiMzJThWdBQvPYaqh0w +--- + +# T-compiler Meeting Agenda 2024-07-25 + +## Announcements + +- Today release of stable Rust 1.80 ([blog post](https://github.com/rust-lang/blog.rust-lang.org/blob/ae579984017a569c7280ba9dfc86861e89c1f104/posts/2024-07-25-Rust-1.80.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 + +## MCPs/FCPs + +- New MCPs (take a look, see if you like them!) + - No new proposals this time. +- 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: 6 months ago) + - concern: [added-complexity-to-frontend](https://github.com/rust-lang/compiler-team/issues/692#issuecomment-1845169318) + - "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)) (last review activity: 5 months ago) + - "Partial compilation using MIR-only rlibs" [compiler-team#738](https://github.com/rust-lang/compiler-team/issues/738) ([Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-xxx/topic/Partial.20compilation.20using.20MIR-only.20rlibs.20compiler-team.23738)) (last review activity: 3 months 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: 2 months ago) +- Pending FCP requests (check your boxes!) + - merge: [Disallow setting some built-in cfg via set the command-line (rust#126158)](https://github.com/rust-lang/rust/pull/126158#issuecomment-2196371697) + - @_**|116083** @_**|125250** @_**|119031** @_**|232957** + - no pending concerns + - merge: [Remove the `missing_copy_implementations` lint. (rust#126293)](https://github.com/rust-lang/rust/pull/126293#issuecomment-2162328824) + - @_**|125250** @_**|426609** @_**|123856** + - concern: [list-actually-useful](https://github.com/rust-lang/rust/pull/126293#issuecomment-2192690954) +- Things in FCP (make sure you're good with it) + - No FCP requests this time. +- Accepted MCPs + - No new accepted proposals this time. +- MCPs blocked on unresolved concerns + - merge: [Add a new `--build-id` flag to rustc (compiler-team#635)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1777545767) + - @_**|125250** @_**|116107** @_**|125294** @_**|123856** + - concerns: [other-existing-options (by petrochenkov)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1779597156) [option-name (by wesleywiser)](https://github.com/rust-lang/compiler-team/issues/635#issuecomment-1785349936) + - "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) + - merge: [Stabilize `--env-set` option (rust#119926)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1898766442) + - @_**|119009** @_**|124288** @_**|123586** @_**|125250** @_**|119031** @_**|124287** @_**|116118** + - concerns: [other-rustc-vars (by petrochenkov)](https://github.com/rust-lang/rust/pull/119926#issuecomment-1900703005) + - merge: [sanitizers: Stabilize AddressSanitizer and LeakSanitizer for the Tier 1 targets (rust#123617)](https://github.com/rust-lang/rust/pull/123617#issuecomment-2135121317) + - no pending checkboxes + - concerns: [stabilization-scope (by wesleywiser)](https://github.com/rust-lang/rust/pull/123617#issuecomment-2192330122) + - merge: [Add `--print host-triple` to print host target triple (rust#125579)](https://github.com/rust-lang/rust/pull/125579#issuecomment-2133192548) + - @_**|125250** @_**|232957** + - concerns: [triple vs tuple (by lcnr)](https://github.com/rust-lang/rust/pull/125579#issuecomment-2133938172) +- Finalized FCPs (disposition merge) + - No new finished FCP (disposition merge) this time. +- Other teams finalized FCPs + - "size_of_val_raw: for length 0 this is safe to call" [rust#126152](https://github.com/rust-lang/rust/pull/126152) + - "Reorder trait bound modifiers *after* `for<...>` binder in trait bounds" [rust#127054](https://github.com/rust-lang/rust/pull/127054) + +### 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) +- [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) +- [67 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) + - [39 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, 1 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, 2 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) +- 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 2024-07-25](https://github.com/rust-lang/rustc-perf/blob/master/triage/2024-07-21.md) + +Light week, with few changes on any dimension (including memory), though +overall a slight regression. + +Triage done by **@simulacrum**. +Revision range: [5572759b..9629b90b](https://perf.rust-lang.org/?start=5572759b8d7012fa34eba47f4885c76fa06d9251&end=9629b90b3f7dd8f5626ec9d3b42556f39f09e214&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.4% | [0.2%, 0.8%] | 6 | +| Regressions (secondary) | 1.3% | [0.2%, 7.3%] | 13 | +| Improvements (primary) | -0.7% | [-0.9%, -0.5%] | 6 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.1% | [-0.9%, 0.8%] | 12 | + +1 Regression, 1 Improvement, 1 Mixed; 2 of them in rollups +34 artifact comparisons made in total + +#### Regressions + +Rollup of 8 pull requests [#127865](https://github.com/rust-lang/rust/pull/127865) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=fcc325f1bc477975e2ce5ba534fe4c77ff8a8536&end=e35364a521372ce682e4bd4a5850d97ea33b0eab&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:----:|:------------:|:-----:| +| Regressions (primary) | 0.6% | [0.4%, 0.7%] | 4 | +| Regressions (secondary) | 1.1% | [0.6%, 2.1%] | 7 | +| Improvements (primary) | - | - | 0 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | 0.6% | [0.4%, 0.7%] | 4 | + +Clear regression, though contributing PR from the rollup is not clear. Started +a build to try to dig deeper. + +#### Improvements + +Represent type-level consts with new-and-improved `hir::ConstArg` [#125915](https://github.com/rust-lang/rust/pull/125915) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=3d68afc9e821b00d59058abc9bda670b07639955&end=8c3a94a1c79c67924558a4adf7fb6d98f5f0f741&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | - | - | 0 | +| Regressions (secondary) | - | - | 0 | +| Improvements (primary) | -0.6% | [-0.8%, -0.5%] | 6 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.6% | [-0.8%, -0.5%] | 6 | + + +#### Mixed + +Rollup of 9 pull requests [#127998](https://github.com/rust-lang/rust/pull/127998) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=41ff4608894d260462a7b6cf1ddefc6c8ecf6b1c&end=1afc5fd042f7583b9668dd62be98325487483d1c&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:------------------------:|:-----:|:--------------:|:-----:| +| Regressions (primary) | 0.3% | [0.3%, 0.3%] | 2 | +| Regressions (secondary) | 1.3% | [1.3%, 1.3%] | 1 | +| Improvements (primary) | -0.7% | [-0.7%, -0.7%] | 1 | +| Improvements (secondary) | - | - | 0 | +| All (primary) | -0.1% | [-0.7%, 0.3%] | 3 | + +Clear regression, though contributing PR from the rollup is not clear. Started +a build to try to dig deeper. + +## Nominated Issues + +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) +- "Async drop codegen" [rust#123948](https://github.com/rust-lang/rust/pull/123948) + - Nominated by @**oli** in [comment](https://github.com/rust-lang/rust/pull/123948#issuecomment-2249793560): asking for someone else with enough context to take over the review. + +[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) +- "Apply dllimport in ThinLTO for -Z dylib-lto" [rust#122790](https://github.com/rust-lang/rust/pull/122790) (last review activity: 4 months ago) + - cc: @**Wesley Wiser** +- "Issue 83060 fix" [rust#119798](https://github.com/rust-lang/rust/pull/119798) (last review activity: 3 months ago) + - cc @**Wesley Wiser** +- "Implement a lint for implicit autoref of raw pointer dereference - take 2" [rust#123239](https://github.com/rust-lang/rust/pull/123239) (last review activity: about 57 days ago) + - cc: @**León Orell Liehr (fmease)** (?) +- "Improve unconstrained impl diagnostic (fixes #107295)" [rust#126026](https://github.com/rust-lang/rust/pull/126026) (last review activity: about 49 days ago) + - cc @**León Orell Liehr (fmease)** (+ pending a rebase from author) +- "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: about 48 days ago) + - cc @**León Orell Liehr (fmease)** + +## Next week's WG checkins + +None + +Next meetings' agenda draft: [hackmd link](https://hackmd.io/hJCBlVJDQt-MIuhs6RM4Sw)