Skip to content

Rollup of 3 pull requests #135140

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 8 commits into from
Jan 6, 2025
Merged

Rollup of 3 pull requests #135140

merged 8 commits into from
Jan 6, 2025

Conversation

jhpratt
Copy link
Member

@jhpratt jhpratt commented Jan 5, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

ranger-ross and others added 8 commits January 5, 2025 19:25
The `gimli` crate is already a dependency of `thorin-dwp`, which is already a
dependency of `rustc_codegen_ssa`.
…ilee

cg_llvm: Use constants for DWARF opcodes, instead of FFI calls

Split off from rust-lang#134009 to incorporate feedback from rust-lang#134009 (comment).

Most of the constant values now come from gimli, which is already a compiler dependency.

I noticed that `DW_OP_LLVM_fragment` is an LLVM detail that is not defined by DWARF and could hypothetically change, so I added a static assertion on the C++ side to detect that if it ever happens.

r? workingjubilee
…s, r=jhpratt

Clarified the documentation on `core::iter::from_fn` and `core::iter::successors`

This PR clarifies the closure requirements for `core::iter::from_fn` and `core::iter::successors`.

`std::iter::successors` in particular is a bit difficult to understand if you are not already familiar with the signature of [`checked_mul`](https://docs.rs/num/latest/num/trait.CheckedMul.html) used in the example.

See rust-lang#135087
…ratt

Mark `slice::reverse` unstably const

Tracking issue rust-lang#135120

This is unblocked by the stabilization of `const_swap`
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Jan 5, 2025
@jhpratt
Copy link
Member Author

jhpratt commented Jan 5, 2025

@bors r+ rollup=never p=3

@bors
Copy link
Collaborator

bors commented Jan 5, 2025

📌 Commit 0f9f91c has been approved by jhpratt

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 5, 2025
@bors
Copy link
Collaborator

bors commented Jan 6, 2025

⌛ Testing commit 0f9f91c with merge 56f9e6f...

@bors
Copy link
Collaborator

bors commented Jan 6, 2025

☀️ Test successful - checks-actions
Approved by: jhpratt
Pushing 56f9e6f to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jan 6, 2025
@bors bors merged commit 56f9e6f into rust-lang:master Jan 6, 2025
7 checks passed
@rustbot rustbot added this to the 1.86.0 milestone Jan 6, 2025
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#135115 cg_llvm: Use constants for DWARF opcodes, instead of FFI ca… 92ac019c075af57b7c47e8acee07c886da648a5a (link)
#135118 Clarified the documentation on core::iter::from_fn and `c… 025cc4ae71b0cb3bff3986b14485474ba67bec77 (link)
#135121 Mark slice::reverse unstably const 26938cc037337fa994d2915c41a0b67184bff350 (link)

previous master: feb32c6546

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (56f9e6f): comparison URL.

Overall result: ❌✅ regressions and improvements - please read the text below

Our benchmarks found a performance regression caused by this PR.
This might be an actual regression, but it can also be just noise.

Next Steps:

  • If the regression was expected or you think it can be justified,
    please write a comment with sufficient written justification, and add
    @rustbot label: +perf-regression-triaged to it, to mark the regression as triaged.
  • If you think that you know of a way to resolve the regression, try to create
    a new PR with a fix for the regression.
  • If you do not understand the regression or you think that it is just noise,
    you can ask the @rust-lang/wg-compiler-performance working group for help (members of this group
    were already notified of this PR).

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

Instruction count

This is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.

mean range count
Regressions ❌
(primary)
0.5% [0.5%, 0.6%] 2
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-1.7% [-1.7%, -1.7%] 1
Improvements ✅
(secondary)
-0.4% [-0.4%, -0.4%] 2
All ❌✅ (primary) -0.2% [-1.7%, 0.6%] 3

Max RSS (memory usage)

Results (primary 2.3%, secondary 5.3%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
3.4% [1.0%, 7.7%] 5
Regressions ❌
(secondary)
5.3% [5.3%, 5.3%] 1
Improvements ✅
(primary)
-2.8% [-2.8%, -2.8%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 2.3% [-2.8%, 7.7%] 6

Cycles

Results (secondary 2.9%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.9% [2.1%, 4.0%] 8
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Binary size

Results (primary 0.0%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.1% [0.0%, 0.5%] 24
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.2% [-0.6%, -0.0%] 6
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.0% [-0.6%, 0.5%] 30

Bootstrap: 762.625s -> 763.028s (0.05%)
Artifact size: 325.60 MiB -> 325.70 MiB (0.03%)

@rustbot rustbot added the perf-regression Performance regression. label Jan 6, 2025
@Kobzol
Copy link
Contributor

Kobzol commented Jan 7, 2025

Results are a wash, probably just a bit of codegen shuffling.

@rustbot label: +perf-regression-triaged

@rustbot rustbot added the perf-regression-triaged The performance regression has been triaged. label Jan 7, 2025
@jhpratt jhpratt deleted the rollup-pn2gi84 branch January 14, 2025 09:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants