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) mean range count
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) mean range count
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) mean range count
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) mean range count
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) mean range count
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) mean range count
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) mean range count
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