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
pc
in place ofunknown
andunknown
in place ofpc
forx86_64
andi?86
targets” compiler-team#441 (last review activity: 8 months ago) - “Make
-Z binary-dep-depinfo
the 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) - “
-Dwarnings
to 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
Clone
for generators” compiler-team#494 - “Stabilize native library modifier syntax and the
whole-archive
modifier specifically” rust#93901
- “Implement
- Accepted MCPs
- “Increase the minimum linux-gnu versions” compiler-team#493
- Finalized FCPs (disposition merge)
- “Tracking issue for
const extern fn
andconst 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_impls
lint 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-compiler
this time.
T-rustdoc beta / T-rustdoc stable
- No backport nominations for
T-rustdoc
this 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_limit
programs” 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_floats
and[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-critical
issues forT-compiler
this time.
- No
P-critical
issues forT-rustdoc
this time.
P-high regressions
- No new unassigned
P-high
Unassigned P-high nightly regressions
- No unassigned
P-high
nightly 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
full
builds 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-compiler
this time.
- No nominated RFCs for
T-compiler
this time.