T Compiler Meeting Agenda 2023 10 12

T-compiler Meeting Agenda 2023-10-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 (calendar link)

MCPs/FCPs

  • New MCPs (take a look, see if you like them!)
    • No new proposals this time.
  • Old MCPs (stale MCP might be closed as per MCP procedure)
    • None at this time
  • Old MCPs (not seconded, take a look)
    • “Consistently use “region” terminology in later stages of the compiler” compiler-team#634 (last review activity: 4 months ago)
    • “Add a new --build-id flag to rustc” compiler-team#635 (last review activity: 4 months ago)
    • “Add support for visionOS targets” compiler-team#642 (last review activity: about 40 days ago)
    • “Match the behavior of strip and split-debuginfo across platforms” compiler-team#669 (last review activity: about 37 days ago)
  • Pending FCP requests (check your boxes!)
    • “Retire the mailing list and make all decisions on zulip” compiler-team#649
    • " Add type field to distinguish json diagnostic outputs" compiler-team#673
    • “Stabilize --json=unused-externs(-silent)compiler-team#674
    • “Tracking issue for dyn upcasting coercion” rust#65991
    • “Support overriding warnings level for a specific lint via command line” rust#113307
    • “Update Windows platform support” rust#115141
    • “make soft_unstable show up in future breakage reports” rust#116274
    • “Remove support for compiler plugins.” rust#116412
  • Things in FCP (make sure you’re good with it)
  • Accepted MCPs
  • Finalized FCPs (disposition merge)
    • “rustdoc-search: add impl disambiguator to duplicate assoc items” rust#109422
    • “Rework negative coherence to properly consider impls that only partly overlap” rust#112875
    • “stabilize combining +bundle and +whole-archive link modifiers” rust#113301
    • “fix detecting references to packed unsized fields” rust#115583
    • “rustdoc: show crate name beside smaller logo” rust#115948

WG checkins

  • @_WG-llvm by @nagisa and @Nikita Popov (previous checkin):

    The main news is that the change of alignment for i128 on x86 to match the SysV ABI has been merged. This may be tricky to phase in as it also affects layout of types in Rust.

  • @_WG-mir-opt by @oli (previous checkin):

    Checkin text

Backport nominations

T-compiler stable / T-compiler beta

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

PRs S-waiting-on-team

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.

T-rustdoc

  • No P-critical issues for T-rustdoc 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

triage logs for 2023-10-10

A quiet week, with few regressions and improvements.

Triage done by @simulacrum. Revision range: 9998f4add08c3d09c82e00975cf3a293b30160ec..84d44dd1d8ec1e98fff94272ba4f96b2a1f044ca

Summary:

(instructions:u) mean range count
Regressions (primary) 0.8% [0.3%, 2.9%] 47
Regressions (secondary) 1.1% [0.2%, 4.8%] 19
Improvements (primary) -2.0% [-3.6%, -0.4%] 2
Improvements (secondary) -0.5% [-0.7%, -0.4%] 11
All (primary) 0.7% [-3.6%, 2.9%] 49

1 Regressions, 2 Improvements, 4 Mixed; 1 of them in rollups 68 artifact comparisons made in total

Regressions

Rollup of 7 pull requests #116492 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 0.9% [0.7%, 1.0%] 2
Regressions (secondary) 2.3% [1.2%, 3.6%] 4
Improvements (primary) - - 0
Improvements (secondary) - - 0
All (primary) 0.9% [0.7%, 1.0%] 2

This is likely due to better ability to optimize, see comment.

Improvements

Rollup of 5 pull requests #116455 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) - - 0
Regressions (secondary) - - 0
Improvements (primary) -0.7% [-0.9%, -0.5%] 3
Improvements (secondary) - - 0
All (primary) -0.7% [-0.9%, -0.5%] 3

Generalize small dominators optimization #116454 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) - - 0
Regressions (secondary) - - 0
Improvements (primary) -0.5% [-0.8%, -0.3%] 7
Improvements (secondary) -0.9% [-1.1%, -0.7%] 7
All (primary) -0.5% [-0.8%, -0.3%] 7

Mixed

Make subtyping explicit in MIR #115025 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 0.6% [0.4%, 0.8%] 2
Regressions (secondary) 0.5% [0.1%, 1.1%] 17
Improvements (primary) -0.5% [-0.6%, -0.5%] 2
Improvements (secondary) -0.5% [-0.5%, -0.5%] 1
All (primary) 0.0% [-0.6%, 0.8%] 4

Remove mir::LocalDecl::internal. #116427 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 0.6% [0.4%, 0.8%] 4
Regressions (secondary) 0.1% [0.1%, 0.1%] 1
Improvements (primary) -0.4% [-0.4%, -0.4%] 1
Improvements (secondary) - - 0
All (primary) 0.4% [-0.4%, 0.8%] 5

Remove is global hack #116417 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 0.4% [0.1%, 1.4%] 22
Regressions (secondary) - - 0
Improvements (primary) - - 0
Improvements (secondary) -0.7% [-0.9%, -0.2%] 7
All (primary) 0.4% [0.1%, 1.4%] 22

Always preserve DebugInfo in DeadStoreElimination. #116183 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 0.7% [0.2%, 3.1%] 30
Regressions (secondary) 1.4% [0.1%, 2.3%] 13
Improvements (primary) -1.1% [-3.1%, -0.2%] 4
Improvements (secondary) -0.3% [-0.3%, -0.3%] 1
All (primary) 0.5% [-3.1%, 3.1%] 34

Nominated Issues

T-compiler

  • “Code no longer compiles after -Zdrop-tracking-mir was enabled by default” rust#116242
    • regression reported from @tmandry on some Fuchsia code
    • regressed in rust#107421
    • @apiraino nominated to get more eyeballs on it: help get some context, which group of people to assign (wg-async?) and maybe priority (is it a bad regression?)
    • Zulip prioritization short topic

RFC

  • No I-compiler-nominated RFCs this time.

Oldest PRs waiting for review

T-compiler

  • “Implement jump threading MIR opt” rust#107009 (last review activity: 6 months ago)
    • This was rerolled to you @Wesley Wiser, do you have time for that or roll again?
  • “Require type_map::stub callers to supply file information” rust#104342 (last review activity: 3 months ago)
    • same as above cc @Wesley Wiser (sorry Wes for being hit by the rustbot!)
  • “Fix ICE when trying to convert ConstKind::Error to usize” rust#113712 (last review activity: 2 months ago)
    • cc: @cjgillot
  • “Make privacy visitor use types more (instead of HIR)” rust#113671 (last review activity: about 34 days ago)
    • cc: @Vadim Petrochenkov
  • “Add type field to distinguish json diagnostic outputs” rust#115691 (last review activity: about 30 days ago)
  • “tvOS simulator support on Apple Silicon for rustc” rust#115773 (last review activity: about 29 days ago)
    • cc @Thom Chiovoloni

Next week’s WG checkins

  • @_T-rust-analyzer by @Lukas Wirth

Next meeting’s agenda draft: hackmd link