T-compiler Meeting Agenda 2023-07-13
Announcements
- Today release of stable 1.71 :loudspeaker:
- [Types team] Formality testing sync at time:2023-07-12T09:00:00-04:00
- Should wg-async be a team? at time:2023-07-13T12:00:00-04:00
- AFIT/RPITIT Impl Triage at time:2023-07-13T16:00:00-04:00
- 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).
Other WG meetings (calendar link)
- Types team meeting: dropck at time:2023-07-17T10:00:00-04:00
- [Types] Rotating new solver / formality / polonius deep dive at time:2023-07-17T11:00:00-04:00
- Async WG triage meeting at time:2023-07-17T11:30:00-04:00
MCPs/FCPs
- New MCPs (take a look, see if you like them!)
- “Windows support schedule 2024” compiler-team#651
- “New tier-3 targets for TEEOS” compiler-team#652
- Old MCPs (not seconded, take a look)
- “Cell Broadband Engine SPU support” compiler-team#614 (last review activity: 3 months ago)
- “Revise error code documentation standard” compiler-team#615 (last review activity: 2 months ago)
- “Add support for Zephyr OS” compiler-team#629 (last review activity: about 21 days ago)
- “Consistently use “region” terminology in later stages of the compiler” compiler-team#634 (last review activity: about 48 days ago)
- “Add a new
--build-id
flag to rustc” compiler-team#635 (last review activity: about 48 days ago) - “Simplify and improve explicitness of the check-cfg syntax” compiler-team#636 (last review activity: about 28 days ago)
- “[MCP] proposing a macros working group” compiler-team#637 (last review activity: about 27 days ago)
- “Add support for visionOS targets” compiler-team#642 (last review activity: about 13 days ago)
- “Add illumos Tier3 targets” compiler-team#644 (last review activity: about 13 days ago)
- “Migrate away from u32 as an offset/length type” compiler-team#647 (last review activity: about 6 days ago)
- Pending FCP requests (check your boxes!)
- “Retire the mailing list and make all decisions on zulip” compiler-team#649
- “Tracking issue for the
thiscall
calling convention” rust#42202 - “Add documentation on v0 symbol mangling.” rust#97571
- note: missing tick from @pnkfelix + @lcnr (if no concerns)
- “Support overriding
warnings
level for a specific lint via command line” rust#113307
- Things in FCP (make sure you’re good with it)
- “Add a blanket flag to enable/disable codegen UB checks” compiler-team#625
- “Report all lints, even if other errors already occurred.” compiler-team#633
- “Use
FieldIdx
all the way down” compiler-team#639 - “Add support for the riscv64-linux-android target” compiler-team#640
- “Implement alignment and size niches for references” compiler-team#641
- “Changes to StatementKind::Coverage” compiler-team#645
- “KRabcake SANitization (KRSAN) mode” compiler-team#646
- “Drop MIPS to tier 3” compiler-team#648
- “Disallow non-identifier-valid –extern crate names " compiler-team#650
- Accepted MCPs
- No new accepted proposals this time.
- Finalized FCPs (disposition merge)
- “Create
unnecessary_send_constraint
lint for&(dyn ... + Send)
” rust#110961 - “Enable coinduction support for Safe Transmute” rust#113175
- “Create
WG checkins
-
@_WG-mir-opt by @oli (previous checkin):
- Progress on the removal of the
Deref
projection: https://github.com/rust-lang/rust/pull/112882 - mir-opt test blessing for 32 bit targets was simplified and happens automatically when you specifically run mir-opt tests
- debug assertions for testing against unaligned dereferences are added in MIR: https://github.com/rust-lang/rust/pull/98112
- stable MIR is progressing: support for most MIR operations and many types has been added. Support for constants is next on the list.
- Progress on the removal of the
-
@_WG-polymorphization by @davidtwco (previous checkin):
nothing to report, WG-polymorphization can be removed from the check-ins rotation for now
Backport nominations
T-compiler stable / T-compiler beta
- No beta nominations for
T-compiler
this time. - No stable nominations for
T-compiler
this time.
T-rustdoc stable / T-rustdoc beta
- No beta nominations for
T-rustdoc
this time. - No stable nominations for
T-rustdoc
this time.
:back: / :shrug: / :hand:
PRs S-waiting-on-team
- “Add new simpler and more explicit syntax for check-cfg” rust#111072
- depends on MCP compiler-team#636 (-> Zulip discussion)
- “Update Android system definitions and add riscv-linux-android as tier 3 target” rust#112858
- (T-libs approved, split T-libs changes in a separate PR #113130)
- Issues in progress or waiting on other teams
Issues of Note
Short Summary
- 0 T-compiler P-critical issues
- 58 T-compiler P-high issues
- 0 P-critical, 0 P-high, 2 P-medium, 1 P-low regression-from-stable-to-beta
- 0 P-critical, 0 P-high, 2 P-medium, 2 P-low regression-from-stable-to-nightly
- 0 P-critical, 34 P-high, 100 P-medium, 19 P-low regression-from-stable-to-stable
P-critical
- No
P-critical
issues forT-compiler
at this time.
- No
P-critical
issues forT-types
at this time.
- No
P-critical
issues forT-rustdoc
at 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 very quiet week with nearly no changes in compiler performance.
Triage done by @rylev. Revision range: 52d8c49..1d4f5af
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 1.1% | [0.7%, 1.7%] | 8 |
Regressions (secondary) | 2.1% | [0.4%, 3.7%] | 2 |
Improvements (primary) | -0.9% | [-1.2%, -0.5%] | 26 |
Improvements (secondary) | -1.2% | [-1.8%, -0.2%] | 16 |
All (primary) | -0.4% | [-1.2%, 1.7%] | 34 |
4 Regressions, 2 Improvements, 2 Mixed; 1 of them in rollups 51 artifact comparisons made in total
Regressions
Rollup of 8 pull requests #113370 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 1.3% | [0.6%, 2.1%] | 11 |
Regressions (secondary) | 1.6% | [1.6%, 1.6%] | 1 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | - | - | 0 |
All (primary) | 1.3% | [0.6%, 2.1%] | 11 |
- #113320 seemed to be the culprit but it’s not clear why. Following up with the author.
Remove some unnecessary(?) normalization #113348 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.8% | [0.4%, 1.1%] | 6 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | - | - | 0 |
All (primary) | 0.8% | [0.4%, 1.1%] | 6 |
- Noise as this change only touched test files
Bump version to 1.73 #113485 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.8% | [0.5%, 1.2%] | 32 |
Regressions (secondary) | 0.7% | [0.7%, 0.7%] | 3 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | - | - | 0 |
All (primary) | 0.8% | [0.5%, 1.2%] | 32 |
- Noise as this only was a version bump
Update debuginfo test runner to provide more useful output #113306 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | 5.6% | [5.6%, 5.6%] | 1 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | - | - | 0 |
All (primary) | - | - | 0 |
- Noise as this change only touched test files
Improvements
Move TyCtxt::mk_x
to Ty::new_x
where applicable #113377 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | -0.7% | [-1.1%, -0.4%] | 10 |
Improvements (secondary) | - | - | 0 |
All (primary) | -0.7% | [-1.1%, -0.4%] | 10 |
Port PGO/LTO/BOLT optimized build pipeline to Rust #112235 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | 0.3% | [0.3%, 0.3%] | 1 |
Improvements (primary) | -0.9% | [-1.3%, -0.5%] | 38 |
Improvements (secondary) | -0.8% | [-2.3%, -0.3%] | 11 |
All (primary) | -0.9% | [-1.3%, -0.5%] | 38 |
Mixed
perform TokenStream replacement in-place when possible in expand_macro #113270 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.6% | [0.6%, 0.7%] | 2 |
Regressions (secondary) | 0.3% | [0.3%, 0.3%] | 3 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | -0.3% | [-0.3%, -0.3%] | 2 |
All (primary) | 0.6% | [0.6%, 0.7%] | 2 |
- Might be noise, but otherwise too small to be worth the investigation.
Sync portable-simd to 2023 July 07 #113437 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | 1.6% | [1.6%, 1.6%] | 1 |
Improvements (primary) | -1.0% | [-1.5%, -0.6%] | 11 |
Improvements (secondary) | -1.0% | [-1.7%, -0.6%] | 4 |
All (primary) | -1.0% | [-1.5%, -0.6%] | 11 |
- Numbers were declared acceptable as it potentially could have been much worse.
Nominated Issues
- “standalone installer rustc-1.70.0 (precompiled binary) segfaults in elf_machine_runtime_setup” rust#112286
- issue hits platform
powerpc64le-unknown-linux-gnu
, tier 2 - Gihub comment thread, summary from @Jubilee
- Zulip comment thread
- @lqd points out that disabling BOLT (currently enabled only for
x86_64-unknown-linux-gnu
) altogether would cause too much loss forrustup
users (comment) - Gentoo will disable stripping LLVM.so (as suggested by us) as a workaround
- issue hits platform
- “MSVC and rustc disagree on minimum stack alignment on x86 Windows” rust#112480
- Nominated again after T-opsem FCP proposing to close #98112 finished (comment)
- No I-compiler-nominated RFCs this time.
Oldest PRs waiting for review
- “Fix off-by-one error in X87DoubleExtended::from_bits” rust#100685 (last review activity: 10 months ago)
- blocked on the new
rust_apfloat
with compatible licensing - There is some updates from @eddyb (see comment, thanks!)
- blocked on the new
- “Only run MaybeInitializedPlaces dataflow once to elaborate drops” rust#111555 (last review activity: about 44 days ago)
- I think it’s waiting on review cc @Wesley Wiser
- “return
NoSolution
for default assoc items” rust#111994 (last review activity: about 28 days ago)- seems to be waiting on review cc @uwu
- “riscv: Make ELF flags RVE-aware” rust#112567 (last review activity: about 21 days ago)
- Seems that @Nikita Popov can help here
Next week’s WG checkins
- @_WG-rls2.0 by @Lukas Wirth
- @_WG-self-profile by @mw and @Wesley Wiser
Next agenda draft: https://hackmd.io/XBOdBRLXR7qFfq526W7gXg