Skip to content

Rollup of 7 pull requests - #165617

Merged
rust-bors[bot] merged 14 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-C7TOjen
Nov 8, 2026
Merged

rust-bors[bot] merged 14 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-C7TOjen

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Member

Successful merges:

Failed merges:

r? @ghost

Create a similar rollup

ChrisDenton and others added 14 commits November 6, 2026 14:34
This removes the need for workarounds to ensure drops are run (e.g. for `TempDir` cleanup).
It will ensure library options are picked up by new contexts,
and lets us handle errors explicitly.
…nikic

Parse LLVM options into an explicit global LibraryOptionsContext

LLVM has been refactoring how it stores its internal (-mllvm) options recently, with the goal of getting rid of the global cl::opt objects.

After http://github.com/llvm/llvm-project/pull/233044 LTO passes no longer uses the global options, which would cause codegen-llvm/pgo-counter-bias.rs to fail since it relies on the -runtime-counter-relocation option to get passed to LTO.

Use the C API function LLVMParseCommandLineOptionsWithError which ensures the parsed options are
picked up by new LLVMContexts.
Remove typed allocas and geps from `gpu_offload.rs`

Typed GEPs are being removed from the rest of the compiler in rust-lang#165146, and typed allocas were already removed, so change `gpu_offload.rs` to match. This PR also removes the constant zero GEPs ([#t-compiler > GEP constant 0 in &rust-lang#96;gpu_offload.rs&rust-lang#96;](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/GEP.20constant.200.20in.20.60gpu_offload.2Ers.60/with/635158185)).

r? @ZuseZ4
…=lolbinarycat

rustdoc: remove `process::exit`

This removes the need for workarounds to ensure drops are run (e.g. for `TempDir` cleanup) and hopefully prevents such situations from arising again.
…hanna-kruppe

MIR opts: dont let optimize(size/none) increase the MIR opt level

It does not seem right that with `-Zmir-opt-level=0`, an `optimize(none)` function gets optimized *more* than all the other functions.
…nsts, r=JonathanBrouwer

Replace the name of a removed MIR pass used in a test

The `ConstDebugInfo` MIR pass was replaced by the `SingleUseConsts` pass in rust-lang#125910.
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Nov 7, 2026
@rustbot rustbot added A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. F-autodiff `#![feature(autodiff)]` 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-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. labels Nov 7, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Member Author

@bors r+ p=5 force

@rust-bors

rust-bors Bot commented Nov 7, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 06a7be9 has been approved by JonathanBrouwer

It is now in the queue for this repository.

@rust-bors rust-bors Bot 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 Nov 7, 2026
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job test-x86_64-gnu-next-trait-solver-polonius failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
[RUSTC-TIMING] shlex test:false 0.520
   Compiling jiff v0.2.16
##[error]The runner has received a shutdown signal. This can happen when the runner service is stopped, or a manually started runner is canceled.

Session terminated, killing shell...::group::Clock drift check
  local time: Sat Nov  7 21:38:40 UTC 2026
  network time: Sat, 07 Nov 2026 21:38:41 GMT
##[endgroup]
 ...killed.
##[error]The operation was canceled.

Important

For more information how to resolve CI failures of this job, visit this link.

@rust-bors

This comment has been minimized.

@rust-bors rust-bors Bot added merged-by-bors This PR was explicitly merged by bors. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Nov 8, 2026
@rust-bors

rust-bors Bot commented Nov 8, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: JonathanBrouwer
Duration: 3h 14m 13s
Pushing 29f2825 to main...

@rust-bors
rust-bors Bot merged commit 29f2825 into rust-lang:main Nov 8, 2026
6 of 15 checks passed
@rustbot rustbot added this to the 1.102.0 milestone Nov 8, 2026
@github-actions

github-actions Bot commented Nov 8, 2026

Copy link
Copy Markdown
Contributor
What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing f5cedb8 (parent) -> 29f2825 (this PR)

Test differences

Show 12 test diffs

Stage 1

  • [mir-opt] tests/mir-opt/optimize_attr.rs#ABSOLUTELY-NO-OPT: [missing] -> pass (J1)
  • [mir-opt] tests/mir-opt/optimize_attr.rs#NO-OPT: [missing] -> pass (J1)
  • [mir-opt] tests/mir-opt/optimize_attr.rs#SPEED-OPT: [missing] -> pass (J1)
  • [mir-opt] tests/mir-opt/optimize_none.rs#NO-OPT: pass -> [missing] (J1)
  • [mir-opt] tests/mir-opt/optimize_none.rs#SPEED-OPT: pass -> [missing] (J1)

Stage 2

  • [mir-opt] tests/mir-opt/optimize_attr.rs#ABSOLUTELY-NO-OPT: [missing] -> pass (J0)
  • [mir-opt] tests/mir-opt/optimize_attr.rs#NO-OPT: [missing] -> pass (J0)
  • [mir-opt] tests/mir-opt/optimize_attr.rs#SPEED-OPT: [missing] -> pass (J0)
  • [mir-opt] tests/mir-opt/optimize_none.rs#NO-OPT: pass -> [missing] (J0)
  • [mir-opt] tests/mir-opt/optimize_none.rs#SPEED-OPT: pass -> [missing] (J0)

Additionally, 2 doctest diffs were found. These are ignored, as they are noisy.

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 29f282561639932ad8c56c11ef6313ffbc9bdb05 --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. test-x86_64-gnu-llvm-22-1: 46m 6s -> 1h 19m (+73.1%)
  2. test-x86_64-msvc-ext3: 1h 10m -> 2h (+71.3%)
  3. dist-x86_64-msvc: 2h 2m -> 3h 13m (+57.7%)
  4. test-i686-msvc: 2h -> 3h 1m (+51.2%)
  5. test-x86_64-gnu-llvm-22-2: 1h 11m -> 1h 41m (+42.0%)
  6. dist-s390x-linux: 1h 5m -> 1h 33m (+41.7%)
  7. dist-x86_64-netbsd: 1h 5m -> 1h 32m (+40.8%)
  8. test-x86_64-gnu-gcc: 57m 57s -> 1h 21m (+39.9%)
  9. dist-aarch64-llvm-mingw: 2h 1m -> 1h 13m (-39.6%)
  10. dist-powerpc64-linux-musl: 1h 9m -> 1h 36m (+38.8%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (29f2825): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This perf run didn't have relevant results for this metric.

Max RSS (memory usage)

Results (secondary 1.2%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
1.2% [1.2%, 1.2%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Cycles

This perf run didn't have relevant results for this metric.

Binary size

This perf run didn't have relevant results for this metric.

Bootstrap: 482.59s -> 482.346s (-0.05%)
Artifact size: 406.17 MiB -> 406.21 MiB (0.01%)

@rust-bors

rust-bors Bot commented Nov 8, 2026

Copy link
Copy Markdown
Contributor

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#164591 Parse LLVM options into an explicit global LibraryOptionsCo… e4f6e95d39fa55c9ddc47397e2c23ffbf9a3037a
(link)
#165154 Remove typed allocas and geps from gpu_offload.rs babc2ef9be7f1fbf43a0be2fb5411672b64ea76a
(link)
#165554 rustdoc: remove process::exit 3e8eff60dc4e1d6d6e90584d6282d3765e4929cc
(link)
#165574 update Enzyme submodule 8eb8baba3172930192741bcf858fac907382425d
(link)
#165587 MIR opts: dont let optimize(size/none) increase the MIR opt… 6241922163550a767759aed5cae66fd3e60758fe
(link)
#165589 coretests: speed up some tests in Miri ee3b3102b0b27232fa81a8b745010439dbde6400
(link)
#165593 Replace the name of a removed MIR pass used in a test fc5e2bd9092f92527c6fa10678024b46d6d99406
(link)

parent commit: f5cedb83a7

In the case of a perf regression, run the following command with the SHAs of each PR you suspect might be the cause: @rust-timer triage $SHA $SHA $SHA..., or run @rust-timer triage all to benchmark all rollup members.

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

Labels

A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. F-autodiff `#![feature(autodiff)]` merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants