T Compiler Meeting Agenda 2026 04 2

T-compiler Meeting Agenda 2026-04-02

Announcements

Other WG meetings

  • None

MCPs/FCPs

Backport nominations

T-compiler beta / T-compiler stable

  • :beta: “[perf] Revert FastISel patch” rust#154511
    • Authored by nikic
    • Fixes a perf regression in the other approved #154344 (LLVM upgrade to 22.1.2)
    • Voting Zulip topic
  • :beta: “Revert “-Znext-solver Remove the forced ambiguity hack from search graph”” rust#154712
    • Authored by lqd
    • This revert should restore a cospicous compile-time regression in Bevy (#153910)
    • Has been just r’ed and release is in ~2 weeks. This revert should be rather innocuous
    • Voting Zulip topic
  • No stable nominations for T-compiler this time.

T-types beta / T-types stable

  • No beta nominations for T-types this time.
  • No stable nominations for T-types this time.

PRs S-waiting-on-t-compiler

T-compiler

Issues of Note

Short Summary

P-critical

T-compiler

  • No P-critical issues for T-compiler this time.

T-types

  • No P-critical issues for T-types this time.

P-high regressions

P-high beta regressions

  • “Significant compilation time regression starting in v1.95.0-nightly (bevy)” rust#153910
    • T-types will have a look into it
  • “Complex EH flow miscompiled on wasm” rust#153948
    • Wesley authored a revert (thanks!) in #154700 until we get the fix from the LLVM project

Unassigned P-high nightly regressions

  • No unassigned P-high nightly regressions this time.

Performance logs

2026-03-31 Triage Log

We had some infrastructure troubles this week which prevented some rollup PRs from generating their “unrolled” builds, which made rollup regression investigation more complicated, although we were able to locate and revert the largest rollup regressions in the end. #154304 brought some nice improvements by optimizing the query system.

Triage done by @kobzol. Revision range: 6f22f613..cf7da0b7

Summary:

(instructions:u)meanrangecount
Regressions (primary)0.4%[0.1%, 1.2%]4
Regressions (secondary)0.3%[0.1%, 0.5%]12
Improvements (primary)-0.8%[-6.2%, -0.2%]58
Improvements (secondary)-0.4%[-1.9%, -0.1%]28
All (primary)-0.8%[-6.2%, 1.2%]62

3 Regressions, 4 Improvements, 2 Mixed; 2 of them in rollups 35 artifact comparisons made in total

Regressions

Rollup of 10 pull requests #154289 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.2%[0.2%, 0.2%]3
Regressions (secondary)0.5%[0.5%, 0.5%]1
Improvements (primary)--0
Improvements (secondary)--0
All (primary)0.2%[0.2%, 0.2%]3
  • The unicode normalization blip was noise. The rest looks real, but the regressions are tiny and only on doc builds, and since we don’t have unrolled builds here, I don’t think it’s worth it to go revert the individual PRs.
  • Marked as triaged.

Rollup of 22 pull requests #154384 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)1.2%[0.1%, 3.8%]53
Regressions (secondary)0.9%[0.2%, 6.2%]45
Improvements (primary)--0
Improvements (secondary)--0
All (primary)1.2%[0.1%, 3.8%]53
  • The regressions came from several pull requests.
  • #154200 caused compilation time and binary size regressions. It was reverted in #154468, and there is now an open PR (#154532) to reapply it with some modifications.
  • #154344, an LLVM version update, caused the rest of the major compilation time regressions. It was reverted in #154511.
  • Marked as triaged.

constify Step trait and all of its implementations #153821 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.8%[0.4%, 1.2%]2
Regressions (secondary)--0
Improvements (primary)--0
Improvements (secondary)--0
All (primary)0.8%[0.4%, 1.2%]2
  • Some tiny regressions in debug and opt builds.
  • Asked for a follow-up.
  • Not marking as triaged yet.

Improvements

DepNode use improvements #154076 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)--0
Improvements (primary)--0
Improvements (secondary)-0.2%[-0.3%, -0.0%]12
All (primary)--0

Revert “Rollup merge of #154200 - resrever:enable-dwarf-call-sites, r=dingxiangfei2009” #154468 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)--0
Improvements (primary)-0.5%[-1.0%, -0.2%]34
Improvements (secondary)-0.6%[-1.0%, -0.1%]25
All (primary)-0.5%[-1.0%, -0.2%]34

resolve: Never lookup glob names in modules from other crates #154472 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)--0
Improvements (primary)-0.1%[-0.2%, -0.1%]2
Improvements (secondary)-0.2%[-0.3%, -0.0%]11
All (primary)-0.1%[-0.2%, -0.1%]2

[perf] Revert FastISel patch #154511 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)--0
Improvements (primary)-1.3%[-3.2%, -0.1%]26
Improvements (secondary)-1.2%[-5.1%, -0.2%]13
All (primary)-1.3%[-3.2%, -0.1%]26

Mixed

rustc_expand: improve diagnostics for non-repeatable metavars #154014 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.2%[0.1%, 0.3%]7
Regressions (secondary)--0
Improvements (primary)-0.1%[-0.1%, -0.1%]1
Improvements (secondary)-0.2%[-0.2%, -0.2%]1
All (primary)0.2%[-0.1%, 0.3%]8
  • Small regression on html5ever, it was deemed to be acceptable prior to merging.
  • Marked as triaged.

Make typeck a tcx method which calls typeck_root query #154304 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.2%[0.2%, 0.2%]3
Regressions (secondary)0.3%[0.3%, 0.3%]6
Improvements (primary)-1.1%[-6.1%, -0.2%]41
Improvements (secondary)-0.7%[-2.0%, -0.2%]11
All (primary)-1.0%[-6.1%, 0.2%]44
  • Many more improvements than regressions.
  • Marked as triaged.

Nominated Issues

T-compiler

  • “Clean up crate type names to fix dylib vs staticlib confusion” rust#153863
    • cargo team raised some points, I think we can wait for them to settle first (unless someone has opinions and wants to share them)

RFC

  • No I-compiler-nominated RFCs this time.

Oldest PRs waiting for review

T-compiler

  • “Remove redundant information in rustc_abi::Variantsrust#151742
    • It’s a cleanup PR, partially addresses 113988
    • ABI/codegen reviewer likely needed, can anyone have a look?
  • “Store chunk_domain_size explicitly in Chunk.” rust#147802 (last review activity: 5 months ago)
    • cc @cjgillot
  • “Fix ICE when ABI computation fails for unreachable/no-codegen instances” rust#152306 (last review activity: about 53 days ago)
  • cc @Jubilee (self-assigned)
  • “Use edition ranges in tests/ui (Batch 1)” rust#151464 (last review activity: about 53 days ago)
  • cc @León Orell Liehr (fmease) (unsure if the reviewer agrees with the implementation, left a comment) Next meetings’ agenda draft: hackmd link