T Compiler Meeting Agenda 2024 09 12

T-compiler Meeting Agenda 2024-09-12

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

  • New MCPs (take a look, see if you like them!)
  • Old MCPs (stale MCP might be closed as per MCP procedure)
    • None at this time
  • Old MCPs (not seconded, take a look)
    • “Target families for executable format” compiler-team#716 (Zulip) (last review activity: 7 months ago)
    • “Add Hotpatch flag” compiler-team#745 (Zulip) (last review activity: about 6 days ago)
    • “Opt-in flag for absolute paths in diagnostics” compiler-team#770 (Zulip) (last review activity: about 27 days ago)
    • “Add evex512 target feature for AVX10” compiler-team#778 (Zulip) (last review activity: about 6 days ago)
    • “mark some target features as ‘forbidden’ so they cannot be (un)set with -Ctarget-feature” compiler-team#780 (Zulip) (last review activity: about 6 days ago)
  • Pending FCP requests (check your boxes!)
    • “Add a new --orchestrator-id flag to rustc” compiler-team#635 (Zulip)
    • “sanitizers: Stabilize AddressSanitizer and LeakSanitizer for the Tier 1 targets” rust#123617
    • “Add --print host-triple to print host target triple” rust#125579
    • “make unsupported_calling_conventions a hard error” rust#129935
  • Things in FCP (make sure you’re good with it)
  • Accepted MCPs
    • No new accepted proposals this time.
  • MCPs blocked on unresolved concerns
  • Finalized FCPs (disposition merge)
    • None
  • Other teams finalized FCPs
    • “Proposal: stabilize const_refs_to_staticrust#128183
    • “Check WF of source type’s signature on fn pointer cast” rust#129021
    • “Make destructors on extern "C" frames to be executed” rust#129582

WG checkins

None

Backport nominations

T-compiler beta / T-compiler stable

  • :beta:“Don’t warn empty branches unreachable for now” rust#129103
    • Authored by Nadrieril
    • Disable some linting until the 2024 edition, or code’s MSRV is ≥ 1.82
    • Closes #129031, changes RFC’d by T-lang (comment)
  • No stable nominations for T-compiler this time.

T-types stable / T-types beta

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

PRs S-waiting-on-team

T-compiler

Issues of Note

Short Summary

P-critical

T-compiler

  • “core::iter::repeat_n is unsound with Box” rust#130141
    • Should be closed by #130145 authored by @fee1-dead, PR being reviewed

T-types

  • “Regression in nightly-2024-09-07: hang affecting nalgebrarust#130056
    • Under @lcnr scrutiny (comment) (thanks!)
    • Meanwhile @Michael Goulet (compiler-errors) suggests reverting the stabilization of -Znext-solver=coherence #130249

P-high regressions

P-high beta regressions

  • “regression: overflow evaluating the requirement” rust#128887
    • #129073 in final comment period (commentx)

Unassigned P-high nightly regressions

  • No unassigned P-high nightly regressions this time.

Performance logs

triage logs for 2024-09-10

A relatively quiet week with a majority of regressions coming in rollups which makes investigation more difficult. Luckily the regressions are relatively small and overall the week was a slight improvement in compiler performance.

Triage done by @rylev. Revision range: 6199b69c..263a3aee

Summary:

(instructions:u)meanrangecount
Regressions ❌ (primary)0.6%[0.2%, 1.4%]57
Regressions ❌ (secondary)0.7%[0.2%, 1.5%]23
Improvements ✅ (primary)-2.2%[-4.0%, -0.4%]23
Improvements ✅ (secondary)-0.3%[-0.3%, -0.2%]10
All ❌✅ (primary)-0.2%[-4.0%, 1.4%]80

3 Regressions, 1 Improvement, 2 Mixed; 3 of them in rollups 26 artifact comparisons made in total

Regressions

Rollup of 8 pull requests #129922 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌ (primary)--0
Regressions ❌ (secondary)5.8%[5.8%, 5.8%]1
Improvements ✅ (primary)--0
Improvements ✅ (secondary)--0
All ❌✅ (primary)--0
  • Noise

Update x86_64-linux host compiler to LLVM 19 rc 3 #129356 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌ (primary)0.5%[0.2%, 0.8%]34
Regressions ❌ (secondary)2.6%[0.5%, 5.7%]6
Improvements ✅ (primary)-0.4%[-0.4%, -0.4%]1
Improvements ✅ (secondary)--0
All ❌✅ (primary)0.5%[-0.4%, 0.8%]35
  • “Looks like this update is a very mild regression, but not enough to look into it in more detail, or skip this version.”

Rollup of 10 pull requests #130091 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌ (primary)0.9%[0.3%, 1.7%]13
Regressions ❌ (secondary)0.8%[0.2%, 1.3%]14
Improvements ✅ (primary)--0
Improvements ✅ (secondary)--0
All ❌✅ (primary)0.9%[0.3%, 1.7%]13
  • Regressions are happening in expand_crate so testing a change that touched rustc_expand

Improvements

Use DeepRejectCtxt to quickly reject ParamEnv candidates #128776 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌ (primary)--0
Regressions ❌ (secondary)--0
Improvements ✅ (primary)-1.8%[-4.7%, -0.3%]17
Improvements ✅ (secondary)--0
All ❌✅ (primary)-1.8%[-4.7%, -0.3%]17

Mixed

Rollup of 10 pull requests #129978 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌ (primary)0.4%[0.3%, 0.5%]4
Regressions ❌ (secondary)0.4%[0.4%, 0.4%]1
Improvements ✅ (primary)--0
Improvements ✅ (secondary)-3.1%[-3.1%, -3.1%]1
All ❌✅ (primary)0.4%[0.3%, 0.5%]4
  • The regressions here are small enough that I don’t think it’s worth investigating further.

stabilize -Znext-solver=coherence #121848 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌ (primary)0.4%[0.2%, 0.6%]11
Regressions ❌ (secondary)1.1%[0.4%, 5.1%]8
Improvements ✅ (primary)-3.4%[-4.2%, -2.8%]7
Improvements ✅ (secondary)-0.3%[-0.3%, -0.2%]5
All ❌✅ (primary)-1.1%[-4.2%, 0.6%]18
  • Mainly noise

Nominated Issues

T-compiler

  • None

RFC

  • No I-compiler-nominated RFCs this time.

Oldest PRs waiting for review

T-compiler

  • “Consistently use the highest bit of vector masks when converting to i1 vectors” rust#104693
    • cc: @Wesley Wiser
  • “add error message for c# style named arguments” rust#118733
    • cc: @Esteban Küber
  • “Fix bug where option_env! would return None when env var is present but not valid Unicode” rust#122670
    • cc: @lcnr
  • “More translatable diagnostics” rust#123822 (last review activity: 5 months ago)
    • cc @cjgillot

Next week’s WG checkins

None

Next meeting’s agenda draft: hackmd link