--- tags: weekly, rustc --- # T-compiler Meeting Agenda 2023-04-20 ## Announcements - [Types team meeting](https://www.google.com/calendar/event?eid=MTg3MDhpdTc3YXBqMGMzbnNxanUwdWZnazhfMjAyMzA0MjRUMTQwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-04-24T10:00:00-04:00> - Today Rust stable 1.69.0 release :tada: :rocket: - Reminder: if you see a PR/issue that seems like there might be legal implications due to copyright/IP/etc, please let the Core team know (or at least message @_**pnkfelix** or @_**Wesley Wiser** so we can pass it along). ### Other WG meetings ([calendar link](https://calendar.google.com/calendar/embed?src=6u5rrtce6lrtv07pfi3damgjus%40group.calendar.google.com)) - [wg-rls-2.0 weekly sync-up](https://www.google.com/calendar/event?eid=MXJnbzBscDExNHJjNmVsdGhsaW8xcDljMmdfMjAyMzA0MjRUMTUwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-04-24T11:00:00-04:00> - [Async WG triage meeting](https://www.google.com/calendar/event?eid=cXZ1NGZncDF1dXA1NnVnMnA1M2Mzb2lvdWVfMjAyMzA0MjRUMTUzMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-04-24T11:30:00-04:00> - [wg-async weekly](https://www.google.com/calendar/event?eid=N211N3RrYzVqcnVvNnBycGFrcW9mcjNocTNfMjAyMzA0MjdUMTYwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-04-27T12:00:00-04:00> ## MCPs/FCPs - New MCPs (take a look, see if you like them!) - "Revise error code documentation standard" [compiler-team#615](https://github.com/rust-lang/compiler-team/issues/615) - 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) - "Rustc Contributor Program Major Change Proposal" [compiler-team#557](https://github.com/rust-lang/compiler-team/issues/557) (last review activity: 3 months ago) - "`needs_drop` as an auto trait" [compiler-team#575](https://github.com/rust-lang/compiler-team/issues/575) (last review activity: 3 months ago) - "Synthetic Partial Drop Glue" [compiler-team#585](https://github.com/rust-lang/compiler-team/issues/585) (last review activity: 2 months ago) - "Add New Values To MIPS_ALLOWED_FEATURES" [compiler-team#595](https://github.com/rust-lang/compiler-team/issues/595) (last review activity: about 27 days ago) - "Take MIR `Analysis` by `&mut`" [compiler-team#598](https://github.com/rust-lang/compiler-team/issues/598) (last review activity: about 27 days ago) - "-C linker-flavor=clang" [compiler-team#601](https://github.com/rust-lang/compiler-team/issues/601) (last review activity: about 27 days ago) - "Stable -C binary-dep-depinfo flag" [compiler-team#604](https://github.com/rust-lang/compiler-team/issues/604) (last review activity: about 27 days ago) - "Disallow incoherent cfgs" [compiler-team#610](https://github.com/rust-lang/compiler-team/issues/610) (last review activity: about 6 days ago) - "2024: Decrease debuginfo generated by `-Cdebuginfo=1`" [compiler-team#613](https://github.com/rust-lang/compiler-team/issues/613) (last review activity: about 6 days ago) - "Cell Broadband Engine SPU support" [compiler-team#614](https://github.com/rust-lang/compiler-team/issues/614) (last review activity: about 6 days ago) - Pending FCP requests (check your boxes!) - "Add deployment-target --print flag for Apple targets" [rust#105354](https://github.com/rust-lang/rust/pull/105354#issuecomment-1354546850) - "Stabilize raw-dylib, link_ordinal, import_name_type and -Cdlltool" [rust#109677](https://github.com/rust-lang/rust/pull/109677#issuecomment-1491574659) - Things in FCP (make sure you're good with it) - "Integrate Enzyme into nightly rustc" [compiler-team#611](https://github.com/rust-lang/compiler-team/issues/611) - "Add a `--print=unmap-path-prefixes` flag" [compiler-team#612](https://github.com/rust-lang/compiler-team/issues/612) - "move constructors from `TyCtxt` to the constructed types" [compiler-team#616](https://github.com/rust-lang/compiler-team/issues/616) - "Rename `NEEDS_SUBST` and `NEEDS_INFER`" [compiler-team#617](https://github.com/rust-lang/compiler-team/issues/617) - "Enable the LLVM option `NoTrapAfterNoreturn` when `TrapUnreachable` is enabled." [compiler-team#618](https://github.com/rust-lang/compiler-team/issues/618) - "Tracking Issue for `debugger_visualizer`" [rust#95939](https://github.com/rust-lang/rust/issues/95939) - "Evaluate place expression in `PlaceMention`" [rust#104844](https://github.com/rust-lang/rust/pull/104844) - "Update the version of musl used on `*-linux-musl` targets to 1.2.3" [rust#107129](https://github.com/rust-lang/rust/pull/107129) - Accepted MCPs - "Add builtin# for compiler-intrinsic syntax" [compiler-team#580](https://github.com/rust-lang/compiler-team/issues/580) - "Clone "copyables" using copy codegen" [compiler-team#588](https://github.com/rust-lang/compiler-team/issues/588) - "New tier-2 target for `wasm32-wasi-preview2`" [compiler-team#594](https://github.com/rust-lang/compiler-team/issues/594) - "Add `force` option for `--extern` flag" [compiler-team#605](https://github.com/rust-lang/compiler-team/issues/605) - "Rename `wasm32-wasi` target to `wasm32-wasi-preview1`" [compiler-team#607](https://github.com/rust-lang/compiler-team/issues/607) - "Increase `TypeId`'s hash from 64 bits to 128 bits." [compiler-team#608](https://github.com/rust-lang/compiler-team/issues/608) - Finalized FCPs (disposition merge) - "Uplift `clippy::{drop,forget}_{ref,copy}` lints" [rust#109732](https://github.com/rust-lang/rust/pull/109732) - "rustdoc-search: add support for nested generics" [rust#109802](https://github.com/rust-lang/rust/pull/109802) ### WG checkins - @_*WG-llvm* by @**nagisa** and @**Nikita Popov** ([previous checkin](https://hackmd.io/Y3MpcGIXRuKpDGmYZV-TJg#WG-checkins)): > Upgrade to LLVM 16 and 16.0.2 - Types team by @**nikomatsakis** and @**Jack Huey** ([previous checkin](https://hackmd.io/gl1iwQGMR-qHwraZPc2c9A#WG-checkins)): > No significant updates. Work continues on various initiatives at a steady pace. ## Backport nominations [T-compiler stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler) / [T-compiler beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-compiler) - :beta: [1.70.0] "make sysroot finding compatible with multiarch systems" [rust#110281](https://github.com/rust-lang/rust/pull/110281) - Fixes #109994, regression in the bootstrap when moving libs around (discovered by Debian/Ubuntu packaging) <!-- /poll Approve beta backport of #110281? approve decline don't know --> - :beta: [1.70.0] "Encode def span for `ConstParam`" [rust#110425](https://github.com/rust-lang/rust/pull/110425) - Fixes #110206, a ICE on nightly and #109765 (now in beta) - Has follow-up patch in #110469 <!-- /poll Approve beta backport of #110425? approve decline don't know --> - :beta: [1.70.0] "Encode lifetime param spans too" [rust#110469](https://github.com/rust-lang/rust/pull/110469) - Fixes #110464, an ICE, complements #110425 - Patch still needs some work (negative perf. run) <!-- /poll Approve beta backport of #110469? approve decline don't know --> - :beta: [1.70.0] "Update to LLVM 16.0.2" [rust#110535](https://github.com/rust-lang/rust/pull/110535) - beta already has LLVM 16 <!-- /poll Approve beta backport of #110535? approve decline don't know --> - No stable nominations for `T-compiler` this time. [T-rustdoc stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-rustdoc) / [T-rustdoc beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-rustdoc) - No beta nominations for `T-rustdoc` this time. - No stable nominations for `T-rustdoc` this time. :back: / :shrug: / :hand: ## 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) - Other issues [in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) ### 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) - "Run various queries from other queries instead of explicitly in phases" [rust#108118](https://github.com/rust-lang/rust/pull/108118) (last review activity: 2 months ago) - unsure about the status. @**oli** is it proceeding nicely with Camille? Wesley was autoassigned, perhaps reroll the review assignment? - "Print a code snippet with the panicking expression" [rust#108108](https://github.com/rust-lang/rust/pull/108108) (last review activity: about 51 days ago) - needs both T-libs and T-compiler. I think T-compiler contributed already some comments - @**Esteban Küber**: your thoughts on this? - "Add support for the x86_64h-apple-darwin target" [rust#108795](https://github.com/rust-lang/rust/pull/108795) (last review activity: about 44 days ago) - Was waiting on [MCP #599](https://github.com/rust-lang/compiler-team/issues/599), @**oli** was autoassigned - reroll? - "Stabilize debugger_visualizer" [rust#108668](https://github.com/rust-lang/rust/pull/108668) (last review activity: about 43 days ago) - cc: @**oli** (though was autoassigned) ## 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) - [65 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) - [33 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, 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, 2 P-high, 2 P-medium, 1 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) - [0 P-critical, 37 P-high, 92 P-medium, 15 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) - :tada: No `P-critical` issues for `T-compiler` at 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` at this time. [T-rustdoc](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-rustdoc) - No `P-critical` issues for `T-rustdoc` at 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+) - "const-propagated `arithmetic_overflow` in unreachable code" [rust#109731](https://github.com/rust-lang/rust/issues/109731) - quickly mentioned last week, no time to really grok about this - Is it *really* a P-high? @__**lqd** [provides more context](https://rust-lang.zulipchat.com/#narrow/stream/245100-t-compiler.2Fwg-prioritization.2Falerts/topic/.23109731.20const-propagated.20.60arithmetic_overflow.60.20in.20unreachab.E2.80.A6/near/345631142): > const prop got smarter, started noticing the overflow, and prevented compilation even if the overflow is actually unreachable - "windows-gnu thin-lto test linking error regression" [rust#109797](https://github.com/rust-lang/rust/issues/109797) - Workarounds were merged in 1.68.2 (and subsequent) - [Comment from Felix](https://github.com/rust-lang/rust/issues/109797#issuecomment-1499205307): > After PR #109806 lands, we should keep this open and tag it as E-needs-test, to try to catch regressions while this linker bug persists (assuming our CI covers this case...) ## Performance logs > [triage logs for 2023-04-18](https://github.com/rust-lang/rustc-perf/blob/master/triage/2023-04-18.md) A busy two weeks (as last week perf triage was not done). Overall improvements outweigh regressions with an average improvement of -2.6% across a large swath of the test cases. Of particular note was the move to use SipHash-1-3 instead of SipHash-2-4 for StableHasher which improved 184 benchmark tests by an average of 2.3%! Triage done by **@rylev**. Revision range: [7c96e40..74864f](https://perf.rust-lang.org/?start=7c96e40da81165beef4f273f44e96eeef5a1bd30&end=74864fa496997a6498e623f0d2019ccb7eb6dad0&absolute=false&stat=instructions%3Au) **Summary**: | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:---------------:|:-----:| | Regressions (primary) | 3.1% | [0.2%, 24.4%] | 11 | | Regressions (secondary) | 4.9% | [0.4%, 37.4%] | 32 | | Improvements (primary) | -2.9% | [-20.4%, -0.3%] | 205 | | Improvements (secondary) | -4.0% | [-43.5%, -0.3%] | 160 | | All (primary) | -2.6% | [-20.4%, 24.4%] | 216 | 6 Regressions, 8 Improvements, 11 Mixed; 6 of them in rollups 119 artifact comparisons made in total #### Regressions Erase query cache values [#109333](https://github.com/rust-lang/rust/pull/109333) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0534655d9b5f61dbd75cf142ec8d2d3f68b550ee&end=f5b8f44e5d5dee0f60cec1729b5a107659779d94&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:----:|:------------:|:-----:| | Regressions (primary) | 0.4% | [0.2%, 0.6%] | 43 | | Regressions (secondary) | 0.4% | [0.3%, 0.7%] | 13 | | Improvements (primary) | - | - | 0 | | Improvements (secondary) | - | - | 0 | | All (primary) | 0.4% | [0.2%, 0.6%] | 43 | * Author has some ideas for how to tackle this [here](https://github.com/rust-lang/rust/pull/109333#issuecomment-1509269857) Rollup of 7 pull requests [#110012](https://github.com/rust-lang/rust/pull/110012) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f5b8f44e5d5dee0f60cec1729b5a107659779d94&end=de74dab880447f5227030b261dbd0f2bc4f32dba&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:----:|:------------:|:-----:| | Regressions (primary) | 0.6% | [0.6%, 0.7%] | 2 | | Regressions (secondary) | 1.9% | [1.5%, 2.2%] | 6 | | Improvements (primary) | - | - | 0 | | Improvements (secondary) | - | - | 0 | | All (primary) | 0.6% | [0.6%, 0.7%] | 2 | resolve: Preserve reexport chains in ModChildren [#109500](https://github.com/rust-lang/rust/pull/109500) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=56e0626836d92973cd12cb505179eef9795efc61&end=7201301df6afe8b68c6a8f5d2abba67bbba435ea&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:----:|:------------:|:-----:| | Regressions (primary) | 0.7% | [0.4%, 1.0%] | 17 | | Regressions (secondary) | 1.3% | [0.4%, 5.7%] | 22 | | Improvements (primary) | - | - | 0 | | Improvements (secondary) | - | - | 0 | | All (primary) | 0.7% | [0.4%, 1.0%] | 17 | * There are a few more regressions in the post merge perf run, but they seem to follow the same pattern as the regressions found pre-merge. I think we can just take this as a necessary trade off we need to make for the fixes that landed (as identified by @oli-obk [here](https://github.com/rust-lang/rust/pull/109500#issuecomment-1501119286)). Better diagnostic when pattern matching tuple structs [#109760](https://github.com/rust-lang/rust/pull/109760) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=39bf7777aab9ac1f6b0802cd52cd91d6e021aa91&end=696aaad58c57a589f6fb2ecff5bae2eec581cb71&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:----:|:------------:|:-----:| | Regressions (primary) | 6.4% | [3.1%, 9.1%] | 3 | | Regressions (secondary) | - | - | 0 | | Improvements (primary) | - | - | 0 | | Improvements (secondary) | - | - | 0 | | All (primary) | 6.4% | [3.1%, 9.1%] | 3 | * Looks like the regression was a blip as [the next run reverses the regressions](https://perf.rust-lang.org/compare.html?start=696aaad58c57a589f6fb2ecff5bae2eec581cb71&end=3c2e2dd5c516acc60ababd12e5dba684d71c2315&stat=instructions:u). Rollup of 3 pull requests [#110401](https://github.com/rust-lang/rust/pull/110401) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=18109d5032b0fd95ae81e30857a71e31e263044a&end=1b50ea9abb65b33aac7285dbe36b37f9e33381a2&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:----:|:------------:|:-----:| | Regressions (primary) | 0.3% | [0.2%, 0.3%] | 5 | | Regressions (secondary) | - | - | 0 | | Improvements (primary) | - | - | 0 | | Improvements (secondary) | - | - | 0 | | All (primary) | 0.3% | [0.2%, 0.3%] | 5 | * This is likely noise (bitmaps is a fairly noisy benchmark). Bypass the varint path when encoding InitMask [#110343](https://github.com/rust-lang/rust/pull/110343) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=31656e7295ebd5f2f6597f10c011e2ac4ba3ef39&end=56e28e904d6b3404abaaeb65d33636cc35ca3f4b&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:----:|:------------:|:-----:| | Regressions (primary) | 1.1% | [0.2%, 2.9%] | 11 | | Regressions (secondary) | 3.7% | [0.2%, 8.1%] | 11 | | Improvements (primary) | - | - | 0 | | Improvements (secondary) | - | - | 0 | | All (primary) | 1.1% | [0.2%, 2.9%] | 11 | * Marked as triaged since this was identified as most likely being noise. #### Improvements Use SipHash-1-3 instead of SipHash-2-4 for StableHasher [#107925](https://github.com/rust-lang/rust/pull/107925) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b2b676d886ded452125712a304c524c08360f916&end=2e486be8d29d198d48bc26bfce5712a4822814f5&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:---------------:|:-----:| | Regressions (primary) | - | - | 0 | | Regressions (secondary) | - | - | 0 | | Improvements (primary) | -2.3% | [-4.0%, -0.2%] | 184 | | Improvements (secondary) | -2.6% | [-32.1%, -0.2%] | 153 | | All (primary) | -2.3% | [-4.0%, -0.2%] | 184 | resolve: Restore some effective visibility optimizations [#109437](https://github.com/rust-lang/rust/pull/109437) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2e486be8d29d198d48bc26bfce5712a4822814f5&end=2eaeb1eee1b21772de8b935236d16ff8e03fdcf5&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | - | - | 0 | | Regressions (secondary) | - | - | 0 | | Improvements (primary) | -0.3% | [-0.4%, -0.3%] | 6 | | Improvements (secondary) | -0.6% | [-1.6%, -0.3%] | 12 | | All (primary) | -0.3% | [-0.4%, -0.3%] | 6 | Rollup of 6 pull requests [#110024](https://github.com/rust-lang/rust/pull/110024) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=28a29282f6dde2e4aba6e1e4cfea5c9430a00217&end=c934ce9e0a267340920a8bef96d7c59a46910c55&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | - | - | 0 | | Regressions (secondary) | - | - | 0 | | Improvements (primary) | -0.7% | [-0.7%, -0.6%] | 2 | | Improvements (secondary) | -1.8% | [-2.1%, -1.5%] | 6 | | All (primary) | -0.7% | [-0.7%, -0.6%] | 2 | Rollup of 6 pull requests [#110127](https://github.com/rust-lang/rust/pull/110127) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=696aaad58c57a589f6fb2ecff5bae2eec581cb71&end=3c2e2dd5c516acc60ababd12e5dba684d71c2315&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | - | - | 0 | | Regressions (secondary) | - | - | 0 | | Improvements (primary) | -5.9% | [-8.4%, -3.0%] | 3 | | Improvements (secondary) | - | - | 0 | | All (primary) | -5.9% | [-8.4%, -3.0%] | 3 | `rustc_metadata`: Filter encoded data more aggressively using DefKind [#109765](https://github.com/rust-lang/rust/pull/109765) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8e1162f07e8b7d59f6a0e0a5576352d888defa78&end=dfe024e1041d1cba1d3191024de3b7128c6734e6&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | 0.7% | [0.7%, 0.7%] | 1 | | Regressions (secondary) | - | - | 0 | | Improvements (primary) | -1.0% | [-1.8%, -0.2%] | 101 | | Improvements (secondary) | -1.2% | [-3.6%, -0.1%] | 34 | | All (primary) | -0.9% | [-1.8%, 0.7%] | 102 | Update cargo [#110198](https://github.com/rust-lang/rust/pull/110198) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=87a2408b06e7651f078a09f627940554da6137d5&end=9df3a39fb30575d808e70800f9fad5362aac57a2&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | - | - | 0 | | Regressions (secondary) | - | - | 0 | | Improvements (primary) | -1.1% | [-1.1%, -1.1%] | 1 | | Improvements (secondary) | - | - | 0 | | All (primary) | -1.1% | [-1.1%, -1.1%] | 1 | resolve: Pre-compute non-reexport module children [#110160](https://github.com/rust-lang/rust/pull/110160) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=367661b1fc58239fa5df5f472ad2047f97dc5465&end=7a78c4ffd56f11d3a84c99a1cc737cf7bde2660d&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | - | - | 0 | | Regressions (secondary) | - | - | 0 | | Improvements (primary) | -0.8% | [-1.5%, -0.2%] | 26 | | Improvements (secondary) | -0.3% | [-0.3%, -0.3%] | 1 | | All (primary) | -0.8% | [-1.5%, -0.2%] | 26 | Implement StableHasher::write_u128 via write_u64 [#110410](https://github.com/rust-lang/rust/pull/110410) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=e279f902f31af1e111f2a951781c9eed82f8c360&end=386025117a6b7cd9e7f7c96946793db2ec8aa24c&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | - | - | 0 | | Regressions (secondary) | - | - | 0 | | Improvements (primary) | -0.7% | [-2.8%, -0.2%] | 13 | | Improvements (secondary) | -1.9% | [-7.5%, -0.2%] | 24 | | All (primary) | -0.7% | [-2.8%, -0.2%] | 13 | #### Mixed Check pattern refutability on THIR [#108504](https://github.com/rust-lang/rust/pull/108504) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ce3cb03927f711f653ae2937c10ba40a5ede62c7&end=0534655d9b5f61dbd75cf142ec8d2d3f68b550ee&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | - | - | 0 | | Regressions (secondary) | 0.3% | [0.3%, 0.3%] | 3 | | Improvements (primary) | -0.4% | [-0.5%, -0.2%] | 4 | | Improvements (secondary) | -3.0% | [-3.2%, -2.8%] | 6 | | All (primary) | -0.4% | [-0.5%, -0.2%] | 4 | * Marked as triaged since the improvements outweigh the regressions and the regressions are small and in secondary benchmarks. Refactor unwind in MIR [#102906](https://github.com/rust-lang/rust/pull/102906) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b6f6104a1f62a0eec7d2e2ccdc07709fcc4c83f0&end=da140814682407ee326d36f5256bc883899a7388&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | 1.1% | [0.3%, 1.9%] | 2 | | Regressions (secondary) | - | - | 0 | | Improvements (primary) | -0.4% | [-0.6%, -0.3%] | 10 | | Improvements (secondary) | -0.6% | [-0.8%, -0.2%] | 8 | | All (primary) | -0.2% | [-0.6%, 1.9%] | 12 | * Perf wins outweigh losses. Make elaboration generic over input [#110031](https://github.com/rust-lang/rust/pull/110031) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d1be642ce3c24d1a0517c9bf91af926740618b01&end=f8ed97ecc11a7d8cd392607ed5a4f6592496c880&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | - | - | 0 | | Regressions (secondary) | 2.0% | [2.0%, 2.0%] | 1 | | Improvements (primary) | -1.1% | [-2.0%, -0.4%] | 3 | | Improvements (secondary) | -0.5% | [-0.5%, -0.5%] | 1 | | All (primary) | -1.1% | [-2.0%, -0.4%] | 3 | * Not enough perf changes here to be a problem. Make elaboration generic over input [#109900](https://github.com/rust-lang/rust/pull/109900) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=825c70658e0190bccd93d477907b06e05ad9ccc3&end=67e273ba0e8d0bacc98905c0e536b249f53fc011&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | 0.6% | [0.3%, 1.0%] | 8 | | Regressions (secondary) | 13.9% | [0.2%, 29.6%] | 6 | | Improvements (primary) | -0.7% | [-1.5%, -0.3%] | 13 | | Improvements (secondary) | -1.1% | [-1.8%, -0.1%] | 14 | | All (primary) | -0.2% | [-1.5%, 1.0%] | 21 | * Not enough perf changes here to be a problem. Permit MIR inlining without #[inline] [#109247](https://github.com/rust-lang/rust/pull/109247) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=23eb90ffa77943153d203c3d184c182490d758e7&end=5546cb64f6fbba70529582bbe58a40ba4a8ed9fc&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:---------------:|:-----:| | Regressions (primary) | 1.0% | [0.2%, 25.6%] | 135 | | Regressions (secondary) | 1.4% | [0.2%, 8.8%] | 97 | | Improvements (primary) | -1.8% | [-5.3%, -0.3%] | 52 | | Improvements (secondary) | -9.6% | [-43.2%, -1.2%] | 21 | | All (primary) | 0.2% | [-5.3%, 25.6%] | 187 | * perf may be worse than in the original perf run before merge. Of particular concern is that the cargo incr-patched: println test case has regressed significantly (42% increase in wall time). Pinged the author and reviewer about this. Alloc hir::Lit in an arena to remove the destructor from Expr [#109588](https://github.com/rust-lang/rust/pull/109588) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5546cb64f6fbba70529582bbe58a40ba4a8ed9fc&end=53ac4f8e2fc15e49ef3a04f98622a9b9db755fd4&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | 1.6% | [0.7%, 2.7%] | 4 | | Regressions (secondary) | 6.3% | [5.0%, 8.1%] | 6 | | Improvements (primary) | -0.5% | [-0.6%, -0.1%] | 3 | | Improvements (secondary) | -0.6% | [-2.4%, -0.3%] | 21 | | All (primary) | 0.7% | [-0.6%, 2.7%] | 7 | * Does look like something has made keccak noisy again. The bump *starts* with this PR but I suppose that could be due to the the previous change kicking off some bimodal behaivor. Alloc hir::Lit in an arena to remove the destructor from Expr [#110440](https://github.com/rust-lang/rust/pull/110440) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=53ac4f8e2fc15e49ef3a04f98622a9b9db755fd4&end=bdb32bd4bbcabb0d32a04a0b45e6a8ceaa5e54d6&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | 0.3% | [0.2%, 0.3%] | 3 | | Regressions (secondary) | 0.4% | [0.2%, 1.1%] | 9 | | Improvements (primary) | -0.8% | [-0.9%, -0.7%] | 4 | | Improvements (secondary) | - | - | 0 | | All (primary) | -0.3% | [-0.9%, 0.3%] | 7 | Remove some suspicious cast truncations [#110367](https://github.com/rust-lang/rust/pull/110367) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=bdb32bd4bbcabb0d32a04a0b45e6a8ceaa5e54d6&end=e49122fb1ca87a6c3e3c22abb315fc75cfe8daed&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | 0.4% | [0.2%, 1.1%] | 52 | | Regressions (secondary) | 0.5% | [0.3%, 0.8%] | 13 | | Improvements (primary) | - | - | 0 | | Improvements (secondary) | -0.9% | [-1.5%, -0.2%] | 6 | | All (primary) | 0.4% | [0.2%, 1.1%] | 52 | * Looks like this was fixed in #110410 so marking as triaged Rollup of 9 pull requests [#110458](https://github.com/rust-lang/rust/pull/110458) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=e49122fb1ca87a6c3e3c22abb315fc75cfe8daed&end=31656e7295ebd5f2f6597f10c011e2ac4ba3ef39&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | - | - | 0 | | Regressions (secondary) | 1.2% | [1.2%, 1.2%] | 3 | | Improvements (primary) | -1.1% | [-2.9%, -0.3%] | 12 | | Improvements (secondary) | -3.5% | [-7.7%, -0.2%] | 11 | | All (primary) | -1.1% | [-2.9%, -0.3%] | 12 | * Looks like this is all noise: keccak, cranelift-codegen and diesel have just started being noisy. Rollup of 7 pull requests [#110481](https://github.com/rust-lang/rust/pull/110481) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=386025117a6b7cd9e7f7c96946793db2ec8aa24c&end=74864fa496997a6498e623f0d2019ccb7eb6dad0&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:---------------:|:-----:| | Regressions (primary) | - | - | 0 | | Regressions (secondary) | 0.5% | [0.5%, 0.5%] | 3 | | Improvements (primary) | -7.9% | [-19.2%, -0.6%] | 3 | | Improvements (secondary) | -1.6% | [-1.8%, -1.3%] | 2 | | All (primary) | -7.9% | [-19.2%, -0.6%] | 3 | * regression is noise ci: add a runner for vanilla LLVM 16 [#110242](https://github.com/rust-lang/rust/pull/110242) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=74864fa496997a6498e623f0d2019ccb7eb6dad0&end=5fe3528be5ef12be3d12c7a9ee1b0bff9e3b35e4&stat=instructions:u) | (instructions:u) | mean | range | count | |:------------------------:|:-----:|:--------------:|:-----:| | Regressions (primary) | 1.7% | [0.8%, 2.8%] | 4 | | Regressions (secondary) | 6.4% | [5.2%, 8.0%] | 6 | | Improvements (primary) | -0.2% | [-0.2%, -0.2%] | 1 | | Improvements (secondary) | -0.6% | [-0.6%, -0.6%] | 3 | | All (primary) | 1.3% | [-0.2%, 2.8%] | 5 | * Noise ## Nominated Issues [T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) - "Report all lints, even if other errors already occurred." [rust#108813](https://github.com/rust-lang/rust/pull/108813) - @**Michael Goulet (compiler-errors)** asks if this needs an FCP ([comment](https://github.com/rust-lang/rust/pull/108813#issuecomment-1514073022)) before progressing? - "Enable flatten-format-args by default." [rust#109999](https://github.com/rust-lang/rust/pull/109999) - Nominated by @**Mara** - the intent (I infer) is to have T-compiler review the changes before merging - Perf. run regression was triaged [RFC](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AI-compiler-nominated) - No I-compiler-nominated RFCs this time. ## Next week's WG checkins - @_*WG-llvm* by @**nagisa** and @**Nikita Popov** - Types team by @**nikomatsakis** and @**Jack Huey** Agenda draft: https://hackmd.io/Yzsoivx9RrCD-uf2o_LIIw