owned this note
owned this note
Published
Linked with GitHub
---
tags: weekly, rustc
type: docs
note_id: GbNOsH56RWudQ4drStxBHQ
---
# T-compiler Meeting Agenda 2024-01-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 ([calendar link](https://calendar.google.com/calendar/embed?src=6u5rrtce6lrtv07pfi3damgjus%40group.calendar.google.com))
- No meetings scheduled for next week
## MCPs/FCPs
- New MCPs (take a look, see if you like them!)
- "Start using clippy on rustc" [compiler-team#709](https://github.com/rust-lang/compiler-team/issues/709)
- "Promote tier 3 `*-pc-windows-gnullvm` targets to tier 2" [compiler-team#710](https://github.com/rust-lang/compiler-team/issues/710)
### WG checkins
No checkins this week
## 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] Fix: Properly set vendor in i686-win7-windows-msvc target" [rustc#119544](https://github.com/rust-lang/rust/pull/119544)
- 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)
- Other 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)
- [60 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high)
- [31 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, 1 P-high, 3 P-medium, 0 P-low regression-from-stable-to-beta](https://github.com/rust-lang/rust/labels/regression-from-stable-to-beta)
- [0 P-critical, 0 P-high, 2 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, 41 P-high, 100 P-medium, 18 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)
- "🐛 Symbol multiply defined since nightly-2023-12-02 with custom builtins." [rust#118609](https://github.com/rust-lang/rust/issues/118609)
[Unassigned P-high nightly regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-nightly+label%3AP-high+no%3Aassignee+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core+)
- No unassigned `P-high` nightly regressions this time.
## Performance logs
> [triage logs for 2024-01-02](https://github.com/rust-lang/rustc-perf/blob/master/triage/2024-01-02.md)
Overall, this week had very few regressions and a moderate amount of improvements. The two biggest improvements came in how metadata was being encoded including a change to only store StableCrateId once in DefPathTable which yielded a 0.3% average improvement across 79 different benchmarks.
Triage done by **@rylev**.
Revision range: [1ab783112..67b6975](https://perf.rust-lang.org/?start=1ab783112ab4e4807304dbd249b39771246013ef&end=67b6975051b83ef2bd28f06e8467470d570aceb3&absolute=false&stat=instructions%3Au)
**Summary**:
| (instructions:u) | mean | range | count |
|:------------------------:|:-----:|:---------------:|:-----:|
| Regressions (primary) | 0.7% | [0.3%, 1.5%] | 8 |
| Regressions (secondary) | 0.8% | [0.2%, 1.3%] | 23 |
| Improvements (primary) | -0.6% | [-2.6%, -0.2%] | 121 |
| Improvements (secondary) | -5.2% | [-62.5%, -0.2%] | 53 |
| All (primary) | -0.5% | [-2.6%, 1.5%] | 129 |
2 Regressions, 3 Improvements, 1 Mixed; 0 of them in rollups
46 artifact comparisons made in total
#### Regressions
Emit better suggestions for `&T == T` and `T == &T` [#118431](https://github.com/rust-lang/rust/pull/118431) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=deace71034d4940d064619882e0297c4ad858b2e&end=2df6406b886757a3c1475957660a3a4ae6c786de&stat=instructions:u)
| (instructions:u) | mean | range | count |
|:------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary) | 24.0% | [18.1%, 29.5%] | 3 |
| Regressions (secondary) | - | - | 0 |
| Improvements (primary) | - | - | 0 |
| Improvements (secondary) | - | - | 0 |
| All (primary) | 24.0% | [18.1%, 29.5%] | 3 |
- Blip in the perf infrastructure that was reversed in the [next run](https://perf.rust-lang.org/compare.html?start=2df6406b886757a3c1475957660a3a4ae6c786de&end=eee93d839654def74bee9c98c4e7785d29d993cb&stat=instructions:u)
rustc_lint: Enforce `rustc::potential_query_instability` lint [#119251](https://github.com/rust-lang/rust/pull/119251) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=67b6975051b83ef2bd28f06e8467470d570aceb3&end=e51e98dde6a60637b6a71b8105245b629ac3fe77&stat=instructions:u)
| (instructions:u) | mean | range | count |
|:------------------------:|:----:|:------------:|:-----:|
| Regressions (primary) | 0.2% | [0.2%, 0.3%] | 2 |
| Regressions (secondary) | 0.3% | [0.2%, 0.4%] | 8 |
| Improvements (primary) | - | - | 0 |
| Improvements (secondary) | - | - | 0 |
| All (primary) | 0.2% | [0.2%, 0.3%] | 2 |
- Small regression that might just be worth it. There is discussion in [#119488](https://github.com/rust-lang/rust/pull/119488) on whether to do a partial revert, but so far the argument is being made to just accept the small regression.
#### Improvements
Suggest `=` to `==` in more cases, even in the face of reference mismatch [#119328](https://github.com/rust-lang/rust/pull/119328) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2df6406b886757a3c1475957660a3a4ae6c786de&end=eee93d839654def74bee9c98c4e7785d29d993cb&stat=instructions:u)
| (instructions:u) | mean | range | count |
|:------------------------:|:------:|:----------------:|:-----:|
| Regressions (primary) | - | - | 0 |
| Regressions (secondary) | - | - | 0 |
| Improvements (primary) | -19.2% | [-22.7%, -15.3%] | 3 |
| Improvements (secondary) | - | - | 0 |
| All (primary) | -19.2% | [-22.7%, -15.3%] | 3 |
- Reversal of perf infrastructure blip in previous run
Only store StableCrateId once in DefPathTable. [#119259](https://github.com/rust-lang/rust/pull/119259) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1a7e97f1ef3ce44f060f338c79d7dcbfb91bbc8a&end=dc450f9dcb243368275598b506d04a54d7019a42&stat=instructions:u)
| (instructions:u) | mean | range | count |
|:------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary) | 0.8% | [0.8%, 0.8%] | 1 |
| Regressions (secondary) | - | - | 0 |
| Improvements (primary) | -0.3% | [-0.6%, -0.2%] | 78 |
| Improvements (secondary) | -0.4% | [-0.6%, -0.3%] | 16 |
| All (primary) | -0.3% | [-0.6%, 0.8%] | 79 |
Shrink span encoding further [#119367](https://github.com/rust-lang/rust/pull/119367) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8d76d076665f862ec9619f2de68d6d9ca1db4601&end=fe2cfd45055abfde24cb372a311095c105265236&stat=instructions:u)
| (instructions:u) | mean | range | count |
|:------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary) | - | - | 0 |
| Regressions (secondary) | - | - | 0 |
| Improvements (primary) | -0.3% | [-0.5%, -0.2%] | 27 |
| Improvements (secondary) | -0.5% | [-0.6%, -0.3%] | 11 |
| All (primary) | -0.3% | [-0.5%, -0.2%] | 27 |
#### Mixed
Implement constant propagation on top of MIR SSA analysis [#116012](https://github.com/rust-lang/rust/pull/116012) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=03b50195ab61a0dc9fc8de43d1de92769c4e6f23&end=8d76d076665f862ec9619f2de68d6d9ca1db4601&stat=instructions:u)
| (instructions:u) | mean | range | count |
|:------------------------:|:------:|:---------------:|:-----:|
| Regressions (primary) | 0.7% | [0.2%, 1.9%] | 10 |
| Regressions (secondary) | 0.6% | [0.2%, 1.1%] | 15 |
| Improvements (primary) | -0.6% | [-2.6%, -0.2%] | 26 |
| Improvements (secondary) | -31.2% | [-62.1%, -0.2%] | 8 |
| All (primary) | -0.2% | [-2.6%, 1.9%] | 36 |
- Change has positive impacts on runtime performance and the improvements outweigh the regressions
## Nominated Issues
[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated)
- No I-compiler-nominated issues this time.
[RFC](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AI-compiler-nominated)
- No I-compiler-nominated RFCs this time.
### Oldest PRs waiting for review
None this week
## Next week's WG checkins
TODO
Next meetings' agenda draft: [hackmd link](https://hackmd.io/9uykm3hKQkiNVxHG_w33vQ)