owned this note changed 2 years ago
Published Linked with GitHub

T-compiler Meeting Agenda 2023-02-23

Announcements

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)
    • "Lower baseline expectations for i686 unix-like targets" compiler-team#548 (last review activity: about 0 days ago)
    • "configurable rustc timeout for compiletest tests" compiler-team#554 (last review activity: about 41 days ago)
    • "Rustc Contributor Program Major Change Proposal" compiler-team#557 (last review activity: about 41 days ago)
    • "needs_drop as an auto trait" compiler-team#575 (last review activity: about 48 days ago)
    • "Add builtin# for compiler-intrinsic syntax" compiler-team#580 (last review activity: about 28 days ago)
    • "Synthetic Partial Drop Glue" compiler-team#585 (last review activity: about 18 days ago)
    • "Clone "copyables" using copy codegen" compiler-team#588 (last review activity: about 5 days ago)
  • Pending FCP requests (check your boxes!)
    • "Make unused_allocation lint against Box::new too" rust#104363
    • "Add deployment-target print flag for Apple targets" rust#105354
    • "Update the version of musl used on *-linux-musl targets to 1.2.3" rust#107129
  • Things in FCP (make sure you're good with it)
    • " Promote i586-unknown-linux-gnu to Tier 2 with Host Tools " compiler-team#543
    • "Store ICE backtraces to disk and point end users at the file location" compiler-team#578
    • "Switch PLT default to "yes" for all targets except x86_64." compiler-team#581
    • "Opportunistically show code snippet on panic" compiler-team#591
    • "Implementing "<test_binary> list format json" for use by IDE test explorers / runners" compiler-team#592
  • Accepted MCPs
    • "Teach rustc to use OSC8 on nightly / Embedded links in terminal output" compiler-team#587
  • Finalized FCPs (disposition merge)
    • No new finished FCP (disposition merge) this time.

WG checkins

  • @_WG-async-foundations by @nikomatsakis and @tmandry (previous checkin):

    Checkin text

  • Generic Associated Types initiative by @Jack Huey (previous checkin):

    No updates

Backport nominations

T-compiler stable / T-compiler beta

  • :beta: "Fix index out of bounds ICE in point_at_expr_source_of_inferred_type" rust#108050
    • backport asked by @est31 on Zulip
    • Fixes this ICE in #108042
  • 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.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →
/
Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →
/
Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

PRs S-waiting-on-team

T-compiler

Oldest PRs waiting for review

T-compiler

  • "Print a backtrace when query forcing fails." rust#91742 (last review activity: 14 months ago)
    • r+ed by @Esteban Küber, suggested having also another view from someone else? Has anything changed since then?
  • "[unused_braces] Lint multiline blocks as long as not in arms" rust#102432 (last review activity: 4 months ago)
    • cc: @Caleb Cartwright
  • "add with_hash_task to generate DepNode deterministically" rust#100987 (last review activity: 4 months ago)
    • cc: @cjgillot
  • "Introduce a no-op PlaceMention statement for let _ =." rust#102256 (last review activity: 2 months ago)
    • cc: @Michael Goulet (compiler-errors) (new review assignee by rustbot)
  • "Avoid wrong code suggesting for attribute macro" rust#107254 (last review activity: about 28 days ago)
    • cc: @Esteban Küber
  • "Preprocess dominator tree to answer queries in O(1)" rust#107157 (last review activity: about 28 days ago)
    • @tm|352985 self-assigned review?
  • "Add consts for AssocConst w/ body & ignore regions in is_satisfied_from_param_env" rust#106965 (last review activity: about 27 days ago)
    • cc @Boxy [she/her]
  • "Add ability to transmute (somewhat) with generic consts in arrays" rust#106281 (last review activity: about 24 days ago)
    • cc: @eddyb. Re-roll for T-lang review?

Issues of Note

Short Summary

P-critical

T-compiler

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

T-types

  • No new P-critical issues for T-types, (#107516 discussed last week)

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-02-21

Overall a fairly positive week, with few noise-related regressions or
improvements and many benchmarks showing significant improvements. The one large
regression is limited to documentation builds and has at least a partial fix
already planned.

Other wins this week include an average improvement of around 1% in
maximum memory usage of optimized builds, and a 2% average reduction
in compiled binary sizes. These are fairly significant wins for these metrics.

Triage done by @simulacrum.
Revision range: 9bb6e60..3fee48c1

Summary:

(instructions:u) mean range count
Regressions (primary) 9.0% [0.3%, 79.8%] 10
Regressions (secondary) 0.9% [0.4%, 2.1%] 14
Improvements (primary) -1.7% [-5.0%, -0.2%] 128
Improvements (secondary) -1.6% [-5.2%, -0.2%] 61
All (primary) -0.9% [-5.0%, 79.8%] 138

3 Regressions, 3 Improvements, 3 Mixed; 2 of them in rollups
45 artifact comparisons made in total

Regressions

Rollup of 10 pull requests #108052 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 9.5% [0.3%, 80.7%] 10
Regressions (secondary) 2.7% [2.7%, 2.7%] 1
Improvements (primary) - - 0
Improvements (secondary) - - 0
All (primary) 9.5% [0.3%, 80.7%] 10

This regression is limited to doc builds and is likely caused by the tooltip
expansion in "rustdoc: add more tooltips to intra-doc links
#108025". An initial reduction
in overhead is proposed in
#108098.

use semantic equality for const param type equality assertion #107940 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 0.3% [0.2%, 0.5%] 5
Regressions (secondary) - - 0
Improvements (primary) - - 0
Improvements (secondary) - - 0
All (primary) 0.3% [0.2%, 0.5%] 5

Relatively small significance threshold in a single benchmark likely a real
regression, but not worth intense scrutiny.

give the resolver access to TyCtxt #105462 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 0.4% [0.2%, 1.4%] 94
Regressions (secondary) 0.6% [0.2%, 2.6%] 25
Improvements (primary) - - 0
Improvements (secondary) - - 0
All (primary) 0.4% [0.2%, 1.4%] 94

Regressions are being pursued in follow-up PRs, this architectural change
benefits incremental compilation and in general is on the right path even if in
the short term we are seeing some regressions due to increased locking.

Improvements

Avoid accessing HIR when it can be avoided #108006 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) - - 0
Regressions (secondary) - - 0
Improvements (primary) -0.4% [-0.4%, -0.4%] 3
Improvements (secondary) -0.2% [-0.2%, -0.2%] 1
All (primary) -0.4% [-0.4%, -0.4%] 3

Rollup of 6 pull requests #108211 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) - - 0
Regressions (secondary) - - 0
Improvements (primary) -0.2% [-0.3%, -0.2%] 3
Improvements (secondary) -0.3% [-0.3%, -0.3%] 1
All (primary) -0.2% [-0.3%, -0.2%] 3

Use ThinVec more in the AST #104754 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 0.5% [0.4%, 0.6%] 9
Regressions (secondary) - - 0
Improvements (primary) -0.5% [-1.5%, -0.2%] 80
Improvements (secondary) -0.8% [-3.3%, -0.2%] 44
All (primary) -0.4% [-1.5%, 0.6%] 89

Mixed

Enable CopyProp #107449 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 0.3% [0.3%, 0.4%] 2
Regressions (secondary) 1.2% [0.1%, 2.7%] 5
Improvements (primary) -1.4% [-4.4%, -0.3%] 151
Improvements (secondary) -1.7% [-5.5%, -0.3%] 57
All (primary) -1.4% [-4.4%, 0.4%] 153

The improvements here massively outweigh the tiny number of regressions.

(https://github.com/rust-lang/rust/pull/107449#issuecomment-1432772163)

Factor query arena allocation out from query caches #107833 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) - - 0
Regressions (secondary) 1.0% [0.2%, 1.9%] 4
Improvements (primary) -0.3% [-0.3%, -0.3%] 1
Improvements (secondary) -0.3% [-0.4%, -0.2%] 3
All (primary) -0.3% [-0.3%, -0.3%] 1

Enable instcombine for mutable reborrows #105274 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 0.6% [0.2%, 3.1%] 16
Regressions (secondary) 0.4% [0.2%, 0.5%] 11
Improvements (primary) -0.7% [-2.3%, -0.3%] 32
Improvements (secondary) -1.0% [-1.7%, -0.3%] 17
All (primary) -0.3% [-2.3%, 3.1%] 48

This also provides significant wins for binary size, up to 8.8% in stm32f4.

Nominated Issues

T-compiler

  • No I-compiler-nominated issues this time.

RFC

  • No I-compiler-nominated RFCs this time.

Next week meeting

Checkins:

  • @_WG-diagnostics by @Esteban Küber and @oli
  • @_WG-rustc-dev-guide by @Santiago Pastorino and @Yuki Okushi|217081

Agenda draft: https://hackmd.io/4CKNflTQQIKOxk7jiuh7NQ

Select a repo