T-compiler Meeting Agenda 2022-03-24
Announcements
- Tomorrow time:2022-03-25T10:00:00-04:00 Meeting formal methods + stable MIR meeting link
- See issues compiler-team#488 and compiler-team#498
- Reminder: if you see a PR/issue that seems like there might be legal implications due to copyright/IP/etc, please let the Core team know (or at least message @pnkfelix or @Wesley Wiser so we can pass it along).
MCPs/FCPs
- New MCPs (take a look, see if you like them!)
- No new proposals this time.
- Old MCPs (not seconded, take a look)
- “Accept
pcin place ofunknownandunknownin place ofpcforx86_64andi?86targets” compiler-team#441 (last review activity: 8 months ago) - “Make
-Z binary-dep-depinfothe default behavior” compiler-team#464 (last review activity: 5 months ago) - “Tier 3 target proposal: riscv64gc-linux-android (Android target for
riscv64gc)” compiler-team#472 (last review activity: 3 months ago) - “
-Dwarningsto cover all warnings” compiler-team#473 (last review activity: 3 months ago) - “Build-time execution sandboxing” compiler-team#475 (last review activity: 2 months ago)
- “Dealing with type/const ambiguities” compiler-team#480 (last review activity: 2 months ago)
- “Removing codegen logic for
nvptx-nvidia-cuda(32-bit target)” compiler-team#496 (last review activity: about 6 days ago)
- “Accept
- Pending FCP requests (check your boxes!)
- “Tracking issue for Consistent no-prelude attribute (RFC 501)” rust#20561
- Things in FCP (make sure you’re good with it)
- “Implement
Clonefor generators” compiler-team#494 - “Stabilize native library modifier syntax and the
whole-archivemodifier specifically” rust#93901
- “Implement
- Accepted MCPs
- “Increase the minimum linux-gnu versions” compiler-team#493
- Finalized FCPs (disposition merge)
- “Tracking issue for
const extern fnandconst unsafe extern fn” rust#64926 - “Always evaluate all cfg predicate in all() and any()” rust#94295
- “Tracking issue for
WG checkins
- @_WG-traits (impl trait) by @nikomatsakis (no previous checkin):
Checkin text
- @_WG-llvm by @nagisa and @Nikita Popov (previous checkin):
@nikita popov writes: From the LLVM side (though possibly I’m du):
- Rust (including the beta branch) is on LLVM 14 now. I don’t think we had any interesting problems with this release.
- The large increases in compile-time with the new pass manager due to catastrophic inlining have been fixed (part of the final LLVM 14 release).
- noundef metadata is now applied to loads as well (for types with invalid values – the larger question of whether we can make everything apart from MaybeUninit undef remains open)
- I’m mostly doing opaque pointers work upstream, and we’re close to enabling them by default. https://github.com/rust-lang/rust/pull/94214#issuecomment-1051946207 has some promising initial numbers for rust + opaque pointers.
- The allocalign attribute has landed, but the allocator attribute patches are still outstanding. Once everything is in place we can switch rust allocator functions to use the new attributes and drop the LLVM patch we carry for this.
Backport nominations
T-compiler stable / T-compiler beta
- :beta: “relax
suspicious_auto_trait_implslint wrt lifetimes” rust#94925- PR authored by @lcnr, (pr is merged)
- fixes a warning caused by rust#84857
- nominated by @_lcnr to remove all incorrect warnings before rust#93367 lands on stable (comment)
- No stable nominations for
T-compilerthis time.
T-rustdoc beta / T-rustdoc stable
- No backport nominations for
T-rustdocthis time.
:back: / :shrug: / :hand:
PRs S-waiting-on-team
- No PRs waiting on t-compiler
Oldest PRs waiting for review
- “Fix stack overflows when compiling high-
recursion_limitprograms” rust#93056 (last review activity: 2 months ago)- PR author has been keeping up with upstream changes
- Seems a reviewer is needed
- “Better method call error messages” rust#92364 (last review activity: about 57 days ago)
- PR author @Jack Huey suggests a review from @Esteban Küber
- “Add
[f32]::sort_floatsand[f64]::sort_floats” rust#93397 (last review activity: about 54 days ago)- left a comment for @Josh Triplett to be sure PR is actually ready for review
- “parallel_compiler: hide dependencies behind feature” rust#93787 (last review activity: about 39 days ago)
- bot assigned to @Wesley Wiser
- some comments left by @cuviper and @cjgillot
- PR needs a rebase (maybe not blocking review)
- “Only add codegen backend to dep info if -Zbinary-dep-depinfo is used” rust#93969 (last review activity: about 38 days ago)
- rustbot rolled the dice a few times but PR probably needs a reviewer, maybe re-assign?
- “Fix incorrect suggestion for trait bounds involving binary operators” rust#94034 (last review activity: about 35 days ago)
- first round of review by @oli and @Esteban Küber
- PR needs a rebase (maybe not blocking review?)
- “Only compile #[used] as llvm.compiler.used for ELF targets” rust#93718 (last review activity: about 34 days ago)
- can now be reviewed from
T-compiler
- can now be reviewed from
- “Introduce enhanced_binary_op feature” rust#93049
- assigned to @Matthew Jasper, comments indicate a conversation here
- (author also suggests closing it)
Issues of Note
Short Summary
- 1 T-compiler P-critical issues
- 64 T-compiler P-high issues
- 0 P-critical, 1 P-high, 1 P-medium, 2 P-low regression-from-stable-to-beta
- 0 P-critical, 0 P-high, 1 P-medium, 0 P-low regression-from-stable-to-nightly
- 1 P-critical, 43 P-high, 82 P-medium, 11 P-low regression-from-stable-to-stable
P-critical
- No new
P-criticalissues forT-compilerthis time.
- No
P-criticalissues forT-rustdocthis time.
P-high regressions
- No new unassigned
P-high
Unassigned P-high nightly regressions
- No unassigned
P-highnightly regressions this time.
Performance logs
Very quiet week for performance, with just one statistically significant change landing in the last week. This change was a regression, though primarily in stress tests, and was a result of a soundness fix.
Triage done by @simulacrum. Revision range: 3ba1ebea122238d1a5c613deb1bf60ce24bd8fd8..3ea44938e21f0de8ae7d4f6399a8a30f97867c70
1 Regressions, 0 Improvements, 0 Mixed; 0 of them in rollups 37 comparisons made in total
Regressions
Disable almost certainly unsound early otherwise branch MIR opt #95161
- Arithmetic mean of relevant regressions: 3.1%
- Largest regression in instruction counts: 8.5% on
fullbuilds ofdeeply-nested-multi check - Minimal impact on primary benchmarks, and as a soundness fix naturally pretty justified.
Improvements
- No improvements.
Mixed
- No mixed results.
Nominated Issues
- No nominated issues for
T-compilerthis time.
- No nominated RFCs for
T-compilerthis time.