T Compiler Meeting Agenda 2025 11 06

T-compiler Meeting Agenda 2025-11-06

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

MCPs/FCPs

Backport nominations

T-compiler beta / T-compiler stable

  • :beta: “Fix wasm_import_module attribute cross-crate” rust#148363
    • Authored by alexcrichton
    • Voting Zulip topic, in favor
    • Fixes #148347 a P-high regression. As Alex points out, a very small fix
  • :stable: “Fix wasm_import_module attribute cross-crate” rust#148363
    • Authored by alexcrichton
    • Voting Zulip topic, mostly in favor though not justifying a dot release on its own
      • For the record: I (@_apiraino) also find Jubilee’s argument compelling (comment)

        honestly “a tier 2 target has runtime errors with common compiler options” does sound pretty close to worth a patch release on its own. even if it is technically within our support tier promises it is Very pushing it. but I am also sympathetic to not bothering if we don’t have other reasons.

    • FWIW: A Fastly employee chimed in (comment) pointing out the impact of this issue
    • We have so far 2 stable-backport: #148322 (illumos cargo breakage, approved) and #148363 (wasm linker breakage, trending towards being stable-approved). T-release is waiting on us down at https://rust-lang.zulipchat.com/#narrow/channel/241545-t-release/topic/1.2E91.2E1/near/553918718 to then take a decision about a 1.91.1

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

  • No P-high beta regressions this time.

Unassigned P-high nightly regressions

  • No unassigned P-high nightly regressions this time.

Performance logs

2025-11-03 Triage Log

Mostly positive week. We saw a great performance win implemented by #148040 and #148182, which optimizes crates with a lot of trivial constants.

Triage done by @kobzol. Revision range: 23fced0f..35ebdf9b

Summary:

(instructions:u)meanrangecount
Regressions (primary)0.8%[0.1%, 2.9%]22
Regressions (secondary)0.5%[0.1%, 1.7%]48
Improvements (primary)-2.8%[-16.4%, -0.1%]102
Improvements (secondary)-1.9%[-8.0%, -0.1%]51
All (primary)-2.1%[-16.4%, 2.9%]124

4 Regressions, 6 Improvements, 7 Mixed; 7 of them in rollups 36 artifact comparisons made in total

Regressions

Rollup of 14 pull requests #148202 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)1.7%[0.3%, 2.9%]9
Regressions (secondary)0.7%[0.2%, 1.6%]10
Improvements (primary)--0
Improvements (secondary)--0
All (primary)1.7%[0.3%, 2.9%]9
  • The new solver regressions come from #147840.
  • The bulk of the regression comes from #147185. The changes trigger a lint in syn, which causes many more errors to be emitted, which caused the regressions.
  • Marked as triaged.

Update cc-rs to 1.2.39 #146186 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.7%[0.3%, 3.7%]259
Regressions (secondary)0.9%[0.0%, 3.0%]287
Improvements (primary)--0
Improvements (secondary)--0
All (primary)0.7%[0.3%, 3.7%]259

Rollup of 5 pull requests #148241 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)3.1%[3.1%, 3.1%]1
Regressions (secondary)--0
Improvements (primary)--0
Improvements (secondary)--0
All (primary)3.1%[3.1%, 3.1%]1
  • Noise.
  • Already marked as triaged.

compiletest: rename add-core-stubs/core-stubs-compile-flags to add-minicore/minicore-compile-flags #148305 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)3.1%[3.1%, 3.1%]1
Regressions (secondary)0.2%[0.2%, 0.2%]1
Improvements (primary)--0
Improvements (secondary)--0
All (primary)3.1%[3.1%, 3.1%]1
  • Noise.
  • Marked as triaged.

Improvements

Rollup of 4 pull requests #148245 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)--0
Improvements (primary)-2.9%[-2.9%, -2.9%]1
Improvements (secondary)--0
All (primary)-2.9%[-2.9%, -2.9%]1

Move wasm throw intrinsic back to unwind #148291 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)--0
Improvements (primary)-3.0%[-3.0%, -3.0%]1
Improvements (secondary)-0.8%[-0.8%, -0.8%]1
All (primary)-3.0%[-3.0%, -3.0%]1

Revert “Update cc-rs to 1.2.39 #146186” #148298 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)--0
Improvements (primary)-0.7%[-3.6%, -0.3%]251
Improvements (secondary)-0.9%[-2.9%, -0.0%]288
All (primary)-0.7%[-3.6%, -0.3%]251

Adjust successor iterators. #148157 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)--0
Improvements (primary)-0.2%[-0.4%, -0.1%]19
Improvements (secondary)-0.2%[-0.4%, -0.0%]21
All (primary)-0.2%[-0.4%, -0.1%]19

Rollup of 10 pull requests #148356 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)--0
Improvements (primary)-3.0%[-3.0%, -3.0%]1
Improvements (secondary)-0.4%[-1.0%, -0.1%]10
All (primary)-3.0%[-3.0%, -3.0%]1

Rollup of 7 pull requests #148412 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)--0
Improvements (primary)-2.8%[-2.8%, -2.8%]1
Improvements (secondary)--0
All (primary)-2.8%[-2.8%, -2.8%]1

Mixed

Add a fast path for lowering trivial consts #148040 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.3%[0.2%, 0.4%]14
Regressions (secondary)0.5%[0.0%, 2.1%]36
Improvements (primary)-3.7%[-15.5%, -0.1%]71
Improvements (secondary)-4.0%[-8.2%, -0.0%]22
All (primary)-3.0%[-15.5%, 0.4%]85
  • Improvements greatly outweigh regressions.
  • Marked as triaged.

Skip codegen_crate call in check mode #148035 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)1.2%[1.2%, 1.2%]1
Regressions (secondary)1.2%[1.2%, 1.2%]1
Improvements (primary)-0.8%[-0.8%, -0.8%]3
Improvements (secondary)-0.3%[-0.7%, -0.2%]11
All (primary)-0.3%[-0.8%, 1.2%]4
  • The syn regression is noise.
  • Already marked as triaged.

Accept trivial consts based on trivial consts #148182 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)0.1%[0.1%, 0.1%]2
Improvements (primary)-0.7%[-1.1%, -0.2%]13
Improvements (secondary)-1.4%[-1.4%, -1.4%]1
All (primary)-0.7%[-1.1%, -0.2%]13
  • Tiny regression on a secondary benchmark, improvements outweigh regressions.
  • Marked as triaged.

Remove QPath::LangItem #148193 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)1.1%[0.2%, 2.9%]3
Regressions (secondary)0.4%[0.1%, 1.3%]21
Improvements (primary)-0.2%[-0.4%, -0.1%]18
Improvements (secondary)-0.1%[-0.2%, -0.0%]2
All (primary)-0.0%[-0.4%, 2.9%]21
  • The single primary regression is noise, otherwise it’s a few small wins on primary benchmarks and a few small losses on secondary ones. Overall a wash. And since this is compiler refactoring/cleanup, there’s probably not that much to be done anyway.
  • Marked as triaged.

Rollup of 9 pull requests #148337 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)1.2%[0.3%, 3.0%]5
Regressions (secondary)0.2%[0.1%, 0.3%]5
Improvements (primary)--0
Improvements (secondary)-0.2%[-0.2%, -0.2%]1
All (primary)1.2%[0.3%, 3.0%]5
  • Small performance loss caused by #147622, which was reverted in #148436.
  • Marked as triaged.

Rollup of 3 pull requests #148425 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)0.1%[0.1%, 0.2%]5
Regressions (secondary)0.2%[0.1%, 0.2%]15
Improvements (primary)--0
Improvements (secondary)-0.2%[-0.3%, -0.2%]5
All (primary)0.1%[0.1%, 0.2%]5
  • Tiny doc losses caused likely either by stdlib doc changes introduced by #146260 or #148402 or both.
  • Marked as triaged.

Revert “unicode_data refactors RUST-147622” #148436 (Comparison Link)

(instructions:u)meanrangecount
Regressions (primary)--0
Regressions (secondary)0.2%[0.1%, 0.3%]5
Improvements (primary)-0.8%[-1.0%, -0.4%]3
Improvements (secondary)--0
All (primary)-0.8%[-1.0%, -0.4%]3
  • Performance-wish it’s a wash, and this is a revert anyway.
  • Marked as triaged.

Nominated Issues

T-compiler

RFC

  • No I-compiler-nominated RFCs this time.

Oldest PRs waiting for review

T-compiler

  • “Revert “Change prefetch to avoid deadlock”” rust#121910 (last review activity: 20 months ago)
    • cc @cjgillot
  • “Change codegen of LLVM intrinsics to be name-based, and add llvm linkage support for bf16(xN) and i1xNrust#140763 (last review activity: 4 months ago)
    • cc @Nikita Popov
  • “Remove fewer Storage calls in CopyProp and GVN” rust#142531 (last review activity: 2 months ago)
    • cc @cjgillot
  • “Compute jump threading opportunities in a single pass” rust#142821 (last review activity: 3 months ago)
    • cc: @Ben Kimock (Saethlin)

Next meetings’ agenda draft: hackmd link