T-compiler Meeting Agenda 2024-07-18
Announcements
- Next week release of next stable Rust 1.80
- Is there interest/capacity to pick a topic from this list and schedule a meeting?
- by the way, 40 P-high unassigned isues
- 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
- Types Team: ITE (Impl Trait Everywhere) Triage time:2024-07-18T22:00:00+01:00
MCPs/FCPs
- New MCPs (take a look, see if you like them!)
- No new proposals this time.
- Old MCPs (not seconded, take a look)
- “Add hygiene attributes to compile expanded source code” compiler-team#692 (Zulip) (last review activity: 6 months ago)
- concern: added-complexity-to-frontend
- “Target families for executable format” compiler-team#716 (Zulip) (last review activity: 5 months ago)
- “Partial compilation using MIR-only rlibs” compiler-team#738 (Zulip) (last review activity: 3 months ago)
- “Add Hotpatch flag” compiler-team#745 (Zulip) (last review activity: 2 months ago)
- “Add hygiene attributes to compile expanded source code” compiler-team#692 (Zulip) (last review activity: 6 months ago)
- Pending FCP requests (check your boxes!)
- merge: sanitizers: Stabilize AddressSanitizer and LeakSanitizer for the Tier 1 targets (rust#123617)
- no pending checkboxes
- concerns: stabilization-scope (by wesleywiser)
- Note: @Wesley Wiser you approved the MCP, is your recorded concern still standing?
- merge: Disallow setting some built-in cfg via set the command-line (rust#126158)
- @|116083 @|125250 @|119031 @|232957
- no pending concerns
- merge: Remove the
missing_copy_implementations
lint. (rust#126293)- @|125250 @|426609 @|123856
- no pending concerns
- merge: sanitizers: Stabilize AddressSanitizer and LeakSanitizer for the Tier 1 targets (rust#123617)
- Things in FCP (make sure you’re good with it)
- “Implement lint against ambiguous negative literals” rust#121364
- Accepted MCPs
- “Add
-Z embed-source
(DWARFv5 source code embedding extension)” compiler-team#764 (Zulip) - “MCP: Alternate cargo freshness algorithm, unstable flag to annotate depinfo file with checksums and file sizes” compiler-team#765 (Zulip)
- “Add
- MCPs blocked on unresolved concerns
- merge: Add
--print host-triple
to print host target triple (rust#125579)- @|125250 @|232957
- concerns: triple vs tuple (by lcnr)
- with regard to the naming question (“tuple” or “triple”), there’s a Zulip topic
- merge: Add a new
--build-id
flag to rustc (compiler-team#635)- @|125250 @|116107 @|125294 @|123856
- concerns: other-existing-options (by petrochenkov) option-name (by wesleywiser)
- “Retire the mailing list and make all decisions on zulip” compiler-team#649 (Zulip)
- concern: automatic-sync
- merge: Stabilize
--env-set
option (rust#119926)- @|119009 @|124288 @|123586 @|125250 @|119031 @|124287 @_|116118
- concerns: other-rustc-vars (by petrochenkov)
- merge: Add
- Finalized FCPs (disposition merge)
- No new finished FCP (disposition merge) this time.
- Other teams finalized FCPs
- “Fix ambiguous cases of multiple & in elided self lifetimes” rust#117967
- “offset_from: always allow pointers to point to the same address” rust#124921
WG checkins
None
Backport nominations
T-compiler beta / T-compiler stable
- No beta nominations for
T-compiler
this time. - No stable nominations for
T-compiler
this time.
- No beta nominations for
T-types
this time. - No stable nominations for
T-types
this time.
PRs S-waiting-on-team
Issues of Note
Short Summary
- 0 T-compiler P-critical issues
- 68 T-compiler P-high issues
- 0 P-critical, 2 P-high, 2 P-medium, 2 P-low regression-from-stable-to-beta
- 0 P-critical, 0 P-high, 6 P-medium, 2 P-low regression-from-stable-to-nightly
- 0 P-critical, 35 P-high, 100 P-medium, 17 P-low regression-from-stable-to-stable
P-critical
- No
P-critical
issues forT-compiler
this time.
- No
P-critical
issues forT-types
this time.
P-high regressions
- No new beta regressions (#127339 fixed by #127568 now beta-backport accepted and #127342 fixed downstream)
Unassigned P-high nightly regressions
- No unassigned
P-high
nightly regressions this time.
Performance logs
Fairly quite week with the only pure regressions being small and coming from correctness fixes. The biggest single change came from turning off the -Zenforce-type-length-limit
check which had positive impacts across many different benchmarks since the compiler is doing strictly less work.
Triage done by @rylev. Revision range: a2d58197..5572759b
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.3% | [0.2%, 0.7%] | 12 |
Regressions (secondary) | 0.4% | [0.2%, 0.9%] | 45 |
Improvements (primary) | -0.7% | [-1.5%, -0.2%] | 37 |
Improvements (secondary) | -3.3% | [-13.5%, -0.4%] | 21 |
All (primary) | -0.4% | [-1.5%, 0.7%] | 49 |
2 Regressions, 3 Improvements, 2 Mixed; 1 of them in rollups 56 artifact comparisons made in total
Regressions
Fix regression in the MIR lowering of or-patterns #127028 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.7% | [0.3%, 1.2%] | 3 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | - | - | 0 |
All (primary) | 0.7% | [0.3%, 1.2%] | 3 |
- Given this is a correctness fix, and the regressions seem in line with previous historical performance (i.e., it regressed back to a previous baseline), I think it’s safe to call this triaged
Avoid follow-up errors and ICEs after missing lifetime errors on data structures #127311 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.3% | [0.2%, 0.4%] | 8 |
Regressions (secondary) | 0.3% | [0.2%, 0.4%] | 16 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | - | - | 0 |
All (primary) | 0.3% | [0.2%, 0.4%] | 8 |
- Instruction counts go up, cycles do not (deeply nested multi is probably just noise in mono collection). In any case, this is a correctness fix so it seems like a small perf hit would be acceptable in any case.
Improvements
Fix Parser::look_ahead
#127636 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | -0.3% | [-0.3%, -0.2%] | 3 |
Improvements (secondary) | -2.4% | [-2.4%, -2.4%] | 1 |
All (primary) | -0.3% | [-0.3%, -0.2%] | 3 |
Gate the type length limit check behind a nightly flag #127670 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | -0.6% | [-1.4%, -0.2%] | 28 |
Improvements (secondary) | -1.1% | [-1.5%, -0.4%] | 8 |
All (primary) | -0.6% | [-1.4%, -0.2%] | 28 |
find_field does not need to be a query. #127718 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | -7.5% | [-13.5%, -2.7%] | 9 |
All (primary) | - | - | 0 |
Mixed
Rollup of 7 pull requests #127580 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | 2.6% | [2.6%, 2.6%] | 1 |
Improvements (primary) | -0.6% | [-1.0%, -0.2%] | 9 |
Improvements (secondary) | - | - | 0 |
All (primary) | -0.6% | [-1.0%, -0.2%] | 9 |
- Noise
Only track mentioned places for jump threading #127087 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.5% | [0.4%, 0.6%] | 3 |
Regressions (secondary) | 1.1% | [0.2%, 1.6%] | 7 |
Improvements (primary) | -0.6% | [-1.3%, -0.2%] | 6 |
Improvements (secondary) | -0.6% | [-2.0%, -0.3%] | 8 |
All (primary) | -0.2% | [-1.3%, 0.6%] | 9 |
- The perf impact was expected given the pre-merge runs and is less severe than it was pre-merge.
Nominated Issues
- No I-compiler-nominated issues this time.
- No I-compiler-nominated RFCs this time.
Oldest PRs waiting for review
- “Remove unnecessary impl sorting in queries and metadata” rust#120812 (last review activity: 5 months ago)
- cc: @cjgillot
- “Stop using LLVM struct types for array/pointer offset GEPs” rust#122325 (last review activity: 4 months ago)
- cc: @Nikita Popov (author replied to your comment from last March)
Next week’s WG checkins
None
Next meetings' agenda draft: hackmd link