T Compiler Meeting Agenda 2023 07 13

T-compiler Meeting Agenda 2023-07-13

Announcements

Other WG meetings (calendar link)

MCPs/FCPs

  • New MCPs (take a look, see if you like them!)
  • Old MCPs (not seconded, take a look)
    • “Cell Broadband Engine SPU support” compiler-team#614 (last review activity: 3 months ago)
    • “Revise error code documentation standard” compiler-team#615 (last review activity: 2 months ago)
    • “Add support for Zephyr OS” compiler-team#629 (last review activity: about 21 days ago)
    • “Consistently use “region” terminology in later stages of the compiler” compiler-team#634 (last review activity: about 48 days ago)
    • “Add a new --build-id flag to rustc” compiler-team#635 (last review activity: about 48 days ago)
    • “Simplify and improve explicitness of the check-cfg syntax” compiler-team#636 (last review activity: about 28 days ago)
    • “[MCP] proposing a macros working group” compiler-team#637 (last review activity: about 27 days ago)
    • “Add support for visionOS targets” compiler-team#642 (last review activity: about 13 days ago)
    • “Add illumos Tier3 targets” compiler-team#644 (last review activity: about 13 days ago)
    • “Migrate away from u32 as an offset/length type” compiler-team#647 (last review activity: about 6 days ago)
  • Pending FCP requests (check your boxes!)
    • “Retire the mailing list and make all decisions on zulip” compiler-team#649
    • “Tracking issue for the thiscall calling convention” rust#42202
    • “Add documentation on v0 symbol mangling.” rust#97571
      • note: missing tick from @pnkfelix + @lcnr (if no concerns)
    • “Support overriding warnings level for a specific lint via command line” rust#113307
  • Things in FCP (make sure you’re good with it)
  • Accepted MCPs
    • No new accepted proposals this time.
  • Finalized FCPs (disposition merge)
    • “Create unnecessary_send_constraint lint for &(dyn ... + Send)rust#110961
    • “Enable coinduction support for Safe Transmute” rust#113175

WG checkins

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

    • Progress on the removal of the Deref projection: https://github.com/rust-lang/rust/pull/112882
    • mir-opt test blessing for 32 bit targets was simplified and happens automatically when you specifically run mir-opt tests
    • debug assertions for testing against unaligned dereferences are added in MIR: https://github.com/rust-lang/rust/pull/98112
    • stable MIR is progressing: support for most MIR operations and many types has been added. Support for constants is next on the list.
  • @_WG-polymorphization by @davidtwco (previous checkin):

    nothing to report, WG-polymorphization can be removed from the check-ins rotation for now

Backport nominations

T-compiler stable / T-compiler beta

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

T-rustdoc stable / T-rustdoc beta

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

:back: / :shrug: / :hand:

PRs S-waiting-on-team

T-compiler

Issues of Note

Short Summary

P-critical

T-compiler

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

T-types

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

T-rustdoc

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

A very quiet week with nearly no changes in compiler performance.

Triage done by @rylev. Revision range: 52d8c49..1d4f5af

Summary:

(instructions:u) mean range count
Regressions (primary) 1.1% [0.7%, 1.7%] 8
Regressions (secondary) 2.1% [0.4%, 3.7%] 2
Improvements (primary) -0.9% [-1.2%, -0.5%] 26
Improvements (secondary) -1.2% [-1.8%, -0.2%] 16
All (primary) -0.4% [-1.2%, 1.7%] 34

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

Regressions

Rollup of 8 pull requests #113370 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 1.3% [0.6%, 2.1%] 11
Regressions (secondary) 1.6% [1.6%, 1.6%] 1
Improvements (primary) - - 0
Improvements (secondary) - - 0
All (primary) 1.3% [0.6%, 2.1%] 11
  • #113320 seemed to be the culprit but it’s not clear why. Following up with the author.

Remove some unnecessary(?) normalization #113348 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 0.8% [0.4%, 1.1%] 6
Regressions (secondary) - - 0
Improvements (primary) - - 0
Improvements (secondary) - - 0
All (primary) 0.8% [0.4%, 1.1%] 6
  • Noise as this change only touched test files

Bump version to 1.73 #113485 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 0.8% [0.5%, 1.2%] 32
Regressions (secondary) 0.7% [0.7%, 0.7%] 3
Improvements (primary) - - 0
Improvements (secondary) - - 0
All (primary) 0.8% [0.5%, 1.2%] 32
  • Noise as this only was a version bump

Update debuginfo test runner to provide more useful output #113306 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) - - 0
Regressions (secondary) 5.6% [5.6%, 5.6%] 1
Improvements (primary) - - 0
Improvements (secondary) - - 0
All (primary) - - 0
  • Noise as this change only touched test files

Improvements

Move TyCtxt::mk_x to Ty::new_x where applicable #113377 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) - - 0
Regressions (secondary) - - 0
Improvements (primary) -0.7% [-1.1%, -0.4%] 10
Improvements (secondary) - - 0
All (primary) -0.7% [-1.1%, -0.4%] 10

Port PGO/LTO/BOLT optimized build pipeline to Rust #112235 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) - - 0
Regressions (secondary) 0.3% [0.3%, 0.3%] 1
Improvements (primary) -0.9% [-1.3%, -0.5%] 38
Improvements (secondary) -0.8% [-2.3%, -0.3%] 11
All (primary) -0.9% [-1.3%, -0.5%] 38

Mixed

perform TokenStream replacement in-place when possible in expand_macro #113270 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 0.6% [0.6%, 0.7%] 2
Regressions (secondary) 0.3% [0.3%, 0.3%] 3
Improvements (primary) - - 0
Improvements (secondary) -0.3% [-0.3%, -0.3%] 2
All (primary) 0.6% [0.6%, 0.7%] 2
  • Might be noise, but otherwise too small to be worth the investigation.

Sync portable-simd to 2023 July 07 #113437 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) - - 0
Regressions (secondary) 1.6% [1.6%, 1.6%] 1
Improvements (primary) -1.0% [-1.5%, -0.6%] 11
Improvements (secondary) -1.0% [-1.7%, -0.6%] 4
All (primary) -1.0% [-1.5%, -0.6%] 11
  • Numbers were declared acceptable as it potentially could have been much worse.

Nominated Issues

T-compiler

  • “standalone installer rustc-1.70.0 (precompiled binary) segfaults in elf_machine_runtime_setup” rust#112286
    • issue hits platform powerpc64le-unknown-linux-gnu, tier 2
    • Gihub comment thread, summary from @Jubilee
    • Zulip comment thread
    • @lqd points out that disabling BOLT (currently enabled only for x86_64-unknown-linux-gnu) altogether would cause too much loss for rustup users (comment)
    • Gentoo will disable stripping LLVM.so (as suggested by us) as a workaround
  • “MSVC and rustc disagree on minimum stack alignment on x86 Windows” rust#112480
    • Nominated again after T-opsem FCP proposing to close #98112 finished (comment)

RFC

  • No I-compiler-nominated RFCs this time.

Oldest PRs waiting for review

  • “Fix off-by-one error in X87DoubleExtended::from_bits” rust#100685 (last review activity: 10 months ago)
    • blocked on the new rust_apfloat with compatible licensing
    • There is some updates from @eddyb (see comment, thanks!)
  • “Only run MaybeInitializedPlaces dataflow once to elaborate drops” rust#111555 (last review activity: about 44 days ago)
    • I think it’s waiting on review cc @Wesley Wiser
  • “return NoSolution for default assoc items” rust#111994 (last review activity: about 28 days ago)
    • seems to be waiting on review cc @uwu
  • “riscv: Make ELF flags RVE-aware” rust#112567 (last review activity: about 21 days ago)
    • Seems that @Nikita Popov can help here

Next week’s WG checkins

  • @_WG-rls2.0 by @Lukas Wirth
  • @_WG-self-profile by @mw and @Wesley Wiser

Next agenda draft: https://hackmd.io/XBOdBRLXR7qFfq526W7gXg