Skip to content
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

Rollup of 9 pull requests #137010

Merged
merged 21 commits into from
Feb 14, 2025
Merged

Rollup of 9 pull requests #137010

merged 21 commits into from
Feb 14, 2025

Conversation

workingjubilee
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

real-eren and others added 21 commits February 2, 2025 21:51
Only newlines and multibyte characters are actually relevant
for `range_into_bounds`  feature, rust-lang#136903
Make `-O` mean `OptLevel::Aggressive`

Implementation of this MCP: rust-lang/compiler-team#828, changing the meaning of `-O` from `-Copt-level=2` to `-Copt-level=3`.

This also renames `OptLevel::Default` to `OptLevel::More`, as `Default` no longer makes sense.
…yze, r=Noratrieb

Simplify `rustc_span` `analyze_source_file`

Simplifies the logic to what the code *actually* does, which is to just record newlines and multibyte characters. Checking for other ASCII control characters is unnecessary because the generic fallback doesn't do anything for those cases.
Also uses a simpler (and more efficient) means of iterating the set bits of the mask.
add `IntoBounds` trait

for `range_into_bounds`  feature

Tracking issue: rust-lang#136903
ACP: rust-lang/libs-team#538
… r=joboet

[AIX] expect `EINVAL` for `pthread_mutex_destroy`

Calling `pthread_mutex_destory` on a mutex initalized with the static initializer macro `PTHREAD_MUTEX_INITIALIZER` will result in `EINVAL` if the mutex is not lock/unlocked prior to calling `pthread_mutex_destroy`.
Add profiling of bootstrap commands using Chrome events

Since we now have support for tracing in bootstrap, and the execution of most commands is centralized within a few functions, it's quite trivial to also trace command execution, and visualize it using the Chrome profiler. This can be helpful both to profile what takes time in bootstrap and also to get a visual idea of what happens in a given bootstrap invocation (since the execution of external commands is usually the most interesting thing).

This is how it looks:
![image](https://github.com/user-attachments/assets/3351489e-3a0f-4729-9082-5bf40c586d4b)

I first tried to use [tracing-flame](https://github.com/tokio-rs/tracing/tree/master/tracing-flame), but the output wasn't very useful, because the event/stackframe names were bootstrap code locations, instead of the command contents.

r? ``@jieyouxu``
Use the right binder for rebinding `PolyTraitRef`

Fixes rust-lang#136940

I committed a slightly different test which still demonstrates the issue.
…r=Kobzol

ci: switch loongarch jobs to free runners

try-job: dist-loongarch64-linux
try-job: dist-loongarch64-musl
…ubilee

Update backtrace

This updates the backtrace submodule.

6 commits in f8cc6ac9acc4e663ecd96f9bcf1ff4542636d1b9..9d2c34e7e63afe1e71c333b247065e3b7ba4d883
2025-01-04 03:37:47 +0100 to 2025-02-13 14:14:18 -0800
- Various cleanups: rust-lang/backtrace-rs#673
- libunwind: Use builtin _Unwind_GetIP for NuttX on ARM platform: rust-lang/backtrace-rs#692
- remove outdated docs part on Dbghelp::ensure_open: rust-lang/backtrace-rs#696
- Cleanup Windows trace modules: rust-lang/backtrace-rs#697
- Attempt to fix ARM32 Windows: rust-lang/backtrace-rs#685
- Prepare backtrace for Rust 2024: rust-lang/backtrace-rs#700
…bilee

[cg_llvm] Remove dead error message

Part of rust-lang#135502

Discovered a dead error message in rustc_codegen_llvm, so removing it.

r? ``@Zalathar``
@rustbot rustbot added A-run-make Area: port run-make Makefiles to rmake.rs A-rustc-dev-guide Area: rustc-dev-guide A-testsuite Area: The testsuite used to check the correctness of rustc O-unix Operating system: Unix-like S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure 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. labels Feb 14, 2025
@rustbot rustbot added the rollup A PR which is a rollup label Feb 14, 2025
@workingjubilee
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Contributor

bors commented Feb 14, 2025

📌 Commit e8d0d00 has been approved by workingjubilee

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 Feb 14, 2025
@bors
Copy link
Contributor

bors commented Feb 14, 2025

⌛ Testing commit e8d0d00 with merge 905b1bf...

@bors
Copy link
Contributor

bors commented Feb 14, 2025

☀️ Test successful - checks-actions
Approved by: workingjubilee
Pushing 905b1bf to master...

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

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#135439 Make -O mean OptLevel::Aggressive 8d077391393dffe7939ddda22098cdb6aba15d49 (link)
#136460 Simplify rustc_span analyze_source_file 8ea5d85235e1a57ea3e17f26ca101ac50e7bc6aa (link)
#136904 add IntoBounds trait 129150388b29b3f20234a78e86e975de657583f6 (link)
#136908 [AIX] expect EINVAL for pthread_mutex_destroy 98838d2145dc1f7df5cb6e7eeab7b167720216d7 (link)
#136924 Add profiling of bootstrap commands using Chrome events 5b9cae80c6cc38e18d0b0d21c10bb24aeb24d31d (link)
#136951 Use the right binder for rebinding PolyTraitRef 4b99a091f84bab6d0e52b894ae66503257eb3d5d (link)
#136981 ci: switch loongarch jobs to free runners 53a676e36223c61dfb8a1f2f493c64c2658a2f43 (link)
#136992 Update backtrace da89396927b8f20223531f072aab48a348431593 (link)
#136993 [cg_llvm] Remove dead error message 0a1925ded8947d8d8aa8465c46aad941ec756e95 (link)

previous master: 6dfeab5c9e

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 (905b1bf): comparison URL.

Overall result: ❌✅ regressions and improvements - no action needed

@rustbot label: -perf-regression

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
Regressions ❌
(secondary)
0.3% [0.2%, 0.3%] 3
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.2% [-0.2%, -0.2%] 1
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary -8.3%, secondary 1.7%)

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)
3.8% [3.5%, 4.1%] 2
Improvements ✅
(primary)
-8.3% [-8.3%, -8.3%] 1
Improvements ✅
(secondary)
-2.5% [-2.5%, -2.5%] 1
All ❌✅ (primary) -8.3% [-8.3%, -8.3%] 1

Cycles

Results (primary -0.7%)

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)
- - 0
Improvements ✅
(primary)
-0.7% [-0.7%, -0.7%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.7% [-0.7%, -0.7%] 1

Binary size

Results (primary -0.1%, secondary -0.1%)

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)
- - 0
Improvements ✅
(primary)
-0.1% [-0.1%, -0.0%] 8
Improvements ✅
(secondary)
-0.1% [-0.1%, -0.1%] 38
All ❌✅ (primary) -0.1% [-0.1%, -0.0%] 8

Bootstrap: 789.679s -> 787.772s (-0.24%)
Artifact size: 347.73 MiB -> 348.36 MiB (0.18%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-run-make Area: port run-make Makefiles to rmake.rs A-rustc-dev-guide Area: rustc-dev-guide A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. O-unix Operating system: Unix-like 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-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure 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.

None yet