Skip to content

Rollup of 8 pull requests - #99014

Merged
bors merged 28 commits into
rust-lang:masterfrom
Dylan-DPC:rollup-n84y0jk
Jul 7, 2022
Merged

Rollup of 8 pull requests#99014
bors merged 28 commits into
rust-lang:masterfrom
Dylan-DPC:rollup-n84y0jk

Conversation

@Dylan-DPC

Copy link
Copy Markdown
Member

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

Noratrieband others added 28 commits June 3, 2022 22:46
Decrease the Ns of bug loops to a smaller N, which
makes them a lot faster in miri.
In this case, it seems fine to have the field be the inverse of the
flag, especially the `enable` vs `disable` terminology is clear.
Cache DWARF objects alongside object files in work products when those
exist so that DWARF object files are available for thorin in packed mode
in incremental scenarios.
Signed-off-by: David Wood <david.wood@huawei.com>
Compiling with `-Csplit-debuginfo=packed` was leaving behind `.dwo`
files because either the metadata or allocator module contained a DWARF
object which was not being removed by the
`maybe_remove_temps_from_module` closure.
This should have been here from the start... oops. When `thorin` fails
to package a DWARF package, that should fail compilation.
There was a problem with storing a `Box<T>` in a struct, where
the current rules would invalidate the value. this makes it store
a raw pointer instead, circumventing the aliasing problems.
…2383)
Examples: NON_ASCII_IDENTS, UNCOMMON_CODEPOINTS, CONFUSABLE_IDENTS, MIXED_SCRIPT_CONFUSABLES
This makes it possible to mutably borrow different fields of the MIR
body without resorting to methods like `basic_blocks_local_decls_mut_and_var_debug_info`.
To preserve validity of control flow graph caches in the presence of
modifications, a new struct `BasicBlocks` wraps together basic blocks
and control flow graph caches.
The `BasicBlocks` dereferences to `IndexVec<BasicBlock, BasicBlockData>`.
On the other hand a mutable access requires explicit `as_mut()` call.
…n, r=Icnr
Fix ProjectionElem validation
`TypeChecker::visit_projection_elem` was not actually being called.
…iser
Improve soundness of rustc_arena
Make it runnable in miri by changing the loop iteration count for some tests in miri. Also fix a stacked borrows issue with box.
…n-magic, r=wesleywiser
Finishing touches for `#[expect]` (RFC 2383)
This PR adds documentation and some functionality to rustc's lint passes, to manually fulfill expectations. This is needed for some lints in Clippy. Hopefully, it should be one of the last things before we can move forward with stabilizing this feature.
As part of this PR, I've also updated `clippy::duplicate_mod` to showcase how this new functionality can be used and to ensure that it works correctly.
---
changelog: [`duplicate_mod`]: Fixed lint attribute interaction
r? `@wesleywiser`
cc: rust-lang#97660, rust-lang#85549
And I guess that's it. Here have a magical unicorn 🦄
rustdoc: Cleanup more FIXMEs
r? `@GuillaumeGomez`
…uct, r=michaelwoerister
incr: cache dwarf objects in work products
Cache DWARF objects alongside object files in work products when those exist so that DWARF object files are available for thorin in packed mode in incremental scenarios.
r? `@michaelwoerister`
Make MIR basic blocks field public
This makes it possible to mutably borrow different fields of the MIR
body without resorting to methods like `basic_blocks_local_decls_mut_and_var_debug_info`.
To preserve validity of control flow graph caches in the presence of
modifications, a new struct `BasicBlocks` wraps together basic blocks
and control flow graph caches.
The `BasicBlocks` dereferences to `IndexVec<BasicBlock, BasicBlockData>`.
On the other hand a mutable access requires explicit `as_mut()` call.
…s, r=notriddle
Remove (unused) inherent impl anchors
This is something `@notriddle` realized a few days ago: we have unused anchors in the DOM.
This PR removes them.
You can test it [here](https://rustdoc.crud.net/imperio/inherent-impl-anchors/foo/index.html).
r? `@notriddle`
…ts, r=Dylan-DPC
Edit `rustc_mir_dataflow::framework` documentation
Some edits for clarity and consistency.
@rustbotrustbot added T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. labels Jul 7, 2022
@rustbotrustbot added the rollup A PR which is a rollup label Jul 7, 2022
@Dylan-DPC

Copy link
Copy Markdown
MemberAuthor

@bors r+ rollup=never p=5

@bors

bors commented Jul 7, 2022

Copy link
Copy Markdown
Collaborator

📌 Commit 6910d84 has been approved by Dylan-DPC

It is now in the queue for this repository.

@borsbors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Jul 7, 2022
@bors

bors commented Jul 7, 2022

Copy link
Copy Markdown
Collaborator

⌛ Testing commit 6910d84 with merge 3e51277...

@bors

bors commented Jul 7, 2022

Copy link
Copy Markdown
Collaborator

☀️ Test successful - checks-actions
Approved by: Dylan-DPC
Pushing 3e51277 to master...

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (3e51277): comparison url.

Instruction count

  • Primary benchmarks: 😿 relevant regression found
  • Secondary benchmarks: mixed results
mean1maxcount2
Regressions 😿
(primary)
0.5%0.5%1
Regressions 😿
(secondary)
0.3%0.3%1
Improvements 🎉
(primary)
N/AN/A0
Improvements 🎉
(secondary)
-1.3%-1.5%6
All 😿🎉 (primary)0.5%0.5%1

Max RSS (memory usage)

Results
  • Primary benchmarks: 🎉 relevant improvement found
  • Secondary benchmarks: 😿 relevant regressions found
mean1maxcount2
Regressions 😿
(primary)
N/AN/A0
Regressions 😿
(secondary)
2.3%3.7%4
Improvements 🎉
(primary)
-0.2%-0.2%1
Improvements 🎉
(secondary)
N/AN/A0
All 😿🎉 (primary)-0.2%-0.2%1

Cycles

Results
  • Primary benchmarks: mixed results
  • Secondary benchmarks: no relevant changes found
mean1maxcount2
Regressions 😿
(primary)
3.0%3.3%2
Regressions 😿
(secondary)
N/AN/A0
Improvements 🎉
(primary)
-3.0%-3.0%1
Improvements 🎉
(secondary)
N/AN/A0
All 😿🎉 (primary)1.0%3.3%3

If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf.

Next Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please open an issue or create a new PR that fixes the regressions, add a comment linking to the newly created issue or PR, and then add the perf-regression-triaged label to this PR.

@rustbot label: +perf-regression

Footnotes

  1. the arithmetic mean of the percent change23

  2. number of relevant changes23

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merged-by-borsThis PR was explicitly merged by bors.perf-regressionPerformance regression.rollupA PR which is a rollupS-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

12 participants

@Dylan-DPC@bors@rust-timer@rustbot@Noratrieb@camelid@beepster4096@davidtwco@GuillaumeGomez@pierwill@xFrednet@tmiasko