T-compiler Meeting Agenda 2022-03-03
Announcements
- Tomorrow we have our monthly planning meeting at time:2022-03-04T15:00:00+01:00 (Zulip topic)
- 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).
- Signal boost: Niko’s proposal to create a team for traits, polonius, etc. (see Zulip Topic)
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: 2 months ago) - “
-Dwarnings
to cover all warnings” compiler-team#473 (last review activity: 2 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: about 41 days ago)
- “Accept
- Pending FCP requests (check your boxes!)
- “Stabilize native library modifier syntax and the
whole-archive
modifier specifically” rust#93901
- “Stabilize native library modifier syntax and the
- Things in FCP (make sure you’re good with it)
- “allow arbitrary inherent impls in the standard library” compiler-team#487
- Accepted MCPs
- “Simplify rustc_codegen_llvm::debuginfo::metadata” compiler-team#482
- “Round-tripping hygienic ident serialization” compiler-team#485
- Finalized FCPs (disposition merge)
- “Check if enum from foreign crate has any non exhaustive variants when attempting a cast” rust#92744
- “Stabilize
#[cfg(panic = "...")]
” rust#93658 - “Remove the everybody loops pass” rust#93913
WG checkins
- @_WG-rls2.0 by @matklad (previous checkin)
Checkin text
- @_WG-self-profile by @mw and @Wesley Wiser (previous checkin)
nothing new since last report
Backport nominations
T-compiler beta / T-compiler stable
- :beta: “Check method input expressions once” rust#94438
- PR opened by @Michael Goulet (compiler-errors)
- PR is merged
- nominated for backport by @Noah Lev
- backport pending resolution of rust#94516
- :beta: “backport fix for #94502” rust#94552
- @lcnr authored PR, merge is in
beta
branch - @oli nominated for beta backport
- @lcnr authored PR, merge is in
- 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 S-waiting-on-team
for T-compiler
Oldest PRs waiting for review
- “Support #[global_allocator] without the allocator shim” rust#86844 (last review activity: 4 months ago)
- @pnkfelix self-assigned in a previous meeting
- “remove obligation dedup from
impl_or_trait_obligations
” rust#84944 (last review activity: 2 months ago)- cc: @Aaron Hill
- “Fix late-bound ICE” rust#92289 (last review activity: about 51 days ago)
- reviewed by @Wesley Wiser
- asking @Esteban Küber for a second look (see review)
- “add #[must_use] to functions of slice and its iterators.” rust#92853 (last review activity: about 48 days ago)
- rustbot assigned reviewer @Josh Triplett and label
T-compiler
- However: PR author references issue rust#89692, which is
T-libs-api
- reroll assignee? Change team?
- rustbot assigned reviewer @Josh Triplett and label
Issues of Note
Short Summary
- 1 T-compiler P-critical issues
- 68 T-compiler P-high issues
- 0 P-critical, 0 P-high, 0 P-medium, 2 P-low regression-from-stable-to-beta
- 0 P-critical, 1 P-high, 1 P-medium, 0 P-low regression-from-stable-to-nightly
- 1 P-critical, 43 P-high, 84 P-medium, 11 P-low regression-from-stable-to-stable
P-critical
- “optimized i686 fails primal-sieve tests” rust#94032
- mentioned last week (see message)
- decision to demote priority pushed to this meeting
- No
P-critical
issues forT-rustdoc
this time.
P-high regressions
- No
P-high
beta regressions this time.
Unassigned P-high nightly regressions
- No unassigned
P-high
nightly regressions this time.
Performance logs
A relatively noisy week in performance measurements, particularly on the
externs
incremental benchmark. Based on the timing of the first noise, this
seems to be due to #93839, which makes me suspect this is related to PGO or
inlining decisions of some kind. #94373 might help.
Overall a relatively unchanged to slightly good week, with no outright regressions and most changes relatively small.
Triage done by @simulacrum. Revision range: 1204400ab8da9830f6f77a5e40e7ad3ea459676a..f0c4da49983aa699f715caf681e3154b445fb60b
0 Regressions, 5 Improvements, 6 Mixed; 2 of them in rollups 43 comparisons made in total
Regressions
- No regressions this week.
Improvements
- At opt-level=0, apply only ABI-affecting attributes to functions #94127
- Make TLS
__getit
#[inline(always)] on non-Windows #94373 - Avoid query cache sharding code in single-threaded mode #94084
- Apply noundef attribute to all scalar types which do not permit raw init #94157
- rustc_errors: let
DiagnosticBuilder::emit
return a “guarantee of emission”. #93368
Mixed
Back more metadata using per-query tables #94129
- Arithmetic mean of relevant regressions: 0.8%
- Arithmetic mean of relevant improvements: -0.6%
- Arithmetic mean of all relevant changes: -0.5%
- Largest improvement in instruction counts: -1.0% on
full
builds ofwf-projection-stress-65510 doc
- Largest regression in instruction counts: 0.9% on
incr-unchanged
builds ofexterns opt
Rollup of 9 pull requests #94333
- Arithmetic mean of relevant regressions: 0.8%
- Arithmetic mean of relevant improvements: -5.9%
- Arithmetic mean of all relevant changes: -3.3%
- Largest improvement in instruction counts: -14.4% on
incr-unchanged
builds ofencoding check
- Largest regression in instruction counts: 1.1% on
incr-patched: println
builds ofcargo opt
Use undef for (some) partially-uninit constants #94130
- Arithmetic mean of relevant regressions: 0.7%
- Arithmetic mean of relevant improvements: -1.9%
- Arithmetic mean of all relevant changes: -0.1%
- Largest improvement in instruction counts: -2.9% on
full
builds ofctfe-stress-4 opt
- Largest regression in instruction counts: 0.9% on
incr-unchanged
builds ofexterns opt
Caching the stable hash of Ty within itself #94299
- Arithmetic mean of relevant regressions: 0.9%
- Arithmetic mean of relevant improvements: -1.2%
- Arithmetic mean of all relevant changes: -1.0%
- Largest improvement in instruction counts: -9.6% on
incr-unchanged
builds ofclap-rs check
- Largest regression in instruction counts: 1.3% on
incr-full
builds ofdeeply-nested check
Revert “Auto merge of #92419 - erikdesjardins:coldland, r=nagisa” #94402
- Arithmetic mean of relevant regressions: 0.7%
- Arithmetic mean of relevant improvements: -1.7%
- Arithmetic mean of all relevant changes: 0.5%
- Largest improvement in instruction counts: -3.8% on
full
builds ofripgrep opt
- Largest regression in instruction counts: 3.3% on
full
builds ofsyn opt
Rollup of 7 pull requests #94469
- Arithmetic mean of relevant regressions: 0.3%
- Arithmetic mean of relevant improvements: -0.8%
- Arithmetic mean of all relevant changes: 0.0%
- Largest improvement in instruction counts: -0.9% on
incr-unchanged
builds ofexterns debug
- Largest regression in instruction counts: 0.3% on
full
builds ofawait-call-tree doc
- Regression across multiple doc benchmarks.
Nominated Issues
- “Stabilize guaranteed compile time evaluation of unnamed constant items” rust#93838
- nominated by @pnkfelix to ensure T-compiler people are ok
- “process: release procedure only runs crater on nightly->beta cut” rust#94266
- nominated by @pnkfelix for T-compiler discussion