T-compiler Meeting Agenda 2024-07-11

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

WG checkins

None

Backport nominations

T-compiler beta / T-compiler stable

  • :beta: "Update LLVM submodule" rust#127364
    • Authored by DianQK
    • Fixes #127260 and #127286 (P-high miscompilations)
    • Changes
  • :beta: "instantiate higher ranked goals in candidate selection again" rust#127568
    • Authored by lcnr (thanks!)
    • As discussed last week. Reverts #119820 as that PR has a significant impact and breaks code which feels like it should work.
  • 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

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

T-types

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

P-high regressions

P-high beta regressions

  • "regression: trait bound is not satisfied Cow/Borrow<str>" rust#127339
    • regressions reverted in #127568 (beta-backport nominated)
  • "regression: borrowed data escapes outside of the method" rust#127342
    • fixed downstream

Unassigned P-high nightly regressions

  • "regression: trait bound not satisfied" rust#125194
    • regressions reverted in #127568 (beta-backport nominated)

Performance logs

triage logs for 2024-07-09

More regressions than improvements this week, caused by a combination of fixes,
refactorings, third-party dependency updates and in general the compiler doing
slightly more work.

Triage done by @kobzol.
Revision
range: cf2df68d..a2d58197

Summary:

(instructions:u) mean range count
Regressions (primary) 0.7% [0.2%, 2.5%] 53
Regressions (secondary) 1.0% [0.4%, 1.5%] 31
Improvements (primary) -0.6% [-1.2%, -0.2%] 10
Improvements (secondary) -1.7% [-2.4%, -1.4%] 4
All (primary) 0.5% [-1.2%, 2.5%] 63

1 Regression, 2 Improvements, 7 Mixed; 3 of them in rollups
62 artifact comparisons made in total

Regressions

Make can_eq process obligations (almost)
everywhere #127172 (Comparison Link)

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

Improvements

Make jump threading state
sparse #127036 (Comparison Link)

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

Cache hir_owner_nodes in
ParentHirIterator. #127421 (Comparison Link)

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

Mixed

Check alias args for WF even if they have escaping bound
vars #123737 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 0.5% [0.5%, 0.5%] 1
Regressions (secondary) 0.7% [0.4%, 1.1%] 4
Improvements (primary) -0.2% [-0.2%, -0.2%] 2
Improvements (secondary) - - 0
All (primary) 0.0% [-0.2%, 0.5%] 3
  • This change is required for further improvements of the type system, the compiler does a bit more work.
  • The regression is limited to one stress test and one cargo benchmark.
  • Marked as triaged.

Re-implement a type-size based
limit #125507 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 1.3% [0.3%, 1.9%] 5
Regressions (secondary) 0.9% [0.9%, 0.9%] 1
Improvements (primary) - - 0
Improvements (secondary) -0.4% [-0.4%, -0.4%] 1
All (primary) 1.3% [0.3%, 1.9%] 5

rustdoc: update to pulldown-cmark
0.11 #127127 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 0.8% [0.2%, 1.8%] 16
Regressions (secondary) 0.5% [0.3%, 0.6%] 7
Improvements (primary) - - 0
Improvements (secondary) -0.2% [-0.2%, -0.2%] 1
All (primary) 0.8% [0.2%, 1.8%] 16
  • This PR updated the used version of pulldown-cmark, which resolves several bugs in handling doc blocks.
  • It caused a small regression in doc builds.
  • Marked as triaged.

cache type sizes in type-size limit
visitor #127288 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 0.3% [0.2%, 0.3%] 9
Regressions (secondary) 0.7% [0.6%, 0.8%] 3
Improvements (primary) -1.3% [-1.6%, -0.4%] 4
Improvements (secondary) -85.4% [-99.8%, -1.9%] 7
All (primary) -0.2% [-1.6%, 0.3%] 13

Rollup of 8 pull
requests #127403 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 0.2% [0.2%, 0.3%] 3
Regressions (secondary) - - 0
Improvements (primary) - - 0
Improvements (secondary) -0.9% [-1.3%, -0.6%] 9
All (primary) 0.2% [0.2%, 0.3%] 3
  • Small regression on a single benchmark, but only in incremental unchanged build.
  • Improvements outweigh the regressions.
  • Marked as triaged.

Rollup of 10 pull
requests #127476 (Comparison Link)

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

Rollup of 5 pull
requests #127486 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 0.4% [0.2%, 0.4%] 7
Regressions (secondary) 0.2% [0.2%, 0.2%] 1
Improvements (primary) -0.8% [-0.8%, -0.8%] 1
Improvements (secondary) - - 0
All (primary) 0.2% [-0.8%, 0.4%] 8
  • Unclear which PR has caused the (small) regression.
  • Not marking as triaged yet.

Nominated Issues

T-compiler

  • None

RFC

  • No I-compiler-nominated RFCs this time.

Oldest PRs waiting for review

  • "Report a specialized error when a 'static obligation comes from an impl dyn Trait" rust#121274
    • cc @León Orell Liehr (fmease)
  • "Apply dllimport in ThinLTO for -Z dylib-lto" rust#122790
    • cc @Wesley Wiser
  • "Suggest borrowing on fn argument that is impl AsRef" rust#124599
    • cc: @Wesley Wiser
  • "PinCoerceUnsized trait into core" rust#125048 (last review activity: about 59 days ago)
    • cc @Michael Goulet (compiler-errors)

Next week's WG checkins

None

Next meetings' agenda draft: hackmd link

Select a repo