Skip to content

Conversation

nikic
Copy link
Contributor

@nikic nikic commented Jul 29, 2025

Fixes #144604.
Fixes #144606.

r? @durin42

nikic added 2 commits July 29, 2025 12:15
This is now printed on the same line. Use NEXT/SAME depending on
the LLVM version.
The two xors get folded into the select.
@nikic nikic added the llvm-main Marks PRs that are making Rust work with LLVM main (this label is consumed by CI tooling) label Jul 29, 2025
@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. labels Jul 29, 2025
// LLVM20: %[[B_DISCR:.+]] = select i1 %[[B_IS_NICHE]], i8 %[[B_REL_DISCR]], i8 1

// LLVM21: %[[A_DISCR:.+]] = select i1 %[[A_IS_NICHE]], i8 %a, i8 -127
// LLVM21: %[[B_DISCR:.+]] = select i1 %[[B_IS_NICHE]], i8 %b, i8 -127
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@scottmcm This is an improvement, but it's not the improvement you actually wanted...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like the assumes prevent folding the case below: llvm/llvm-project#134024 (comment)

On LLVM 21 additional %esp adjustments are generated. Don't use
NEXT to allow these.
@durin42
Copy link
Contributor

durin42 commented Jul 29, 2025

@bors r+

@bors
Copy link
Collaborator

bors commented Jul 29, 2025

📌 Commit ccf660f has been approved by durin42

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 Jul 29, 2025
@durin42
Copy link
Contributor

durin42 commented Jul 29, 2025

@bors rollup=always

bors added a commit that referenced this pull request Jul 29, 2025
Rollup of 8 pull requests

Successful merges:

 - #144034 (tests: Test line number in debuginfo for diverging function calls)
 - #144510 (Fix Ord, Eq and Hash implementation of panic::Location)
 - #144583 (Enable T-compiler backport nomination)
 - #144586 (Update wasi-sdk to 27.0 in CI)
 - #144605 (Resolve: cachify `ExternPreludeEntry.binding` through a `Cell`)
 - #144632 (Update some tests for LLVM 21)
 - #144639 (Update rustc-perf submodule)
 - #144640 (Add support for the m68k architecture in 'object_architecture')

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit bd40dd6 into rust-lang:master Jul 30, 2025
10 checks passed
@rustbot rustbot added this to the 1.90.0 milestone Jul 30, 2025
rust-timer added a commit that referenced this pull request Jul 30, 2025
Rollup merge of #144632 - nikic:llvm-21-tests, r=durin42

Update some tests for LLVM 21

Fixes #144604.
Fixes #144606.

r? `@durin42`
github-actions bot pushed a commit to model-checking/verify-rust-std that referenced this pull request Jul 31, 2025
Rollup of 8 pull requests

Successful merges:

 - rust-lang#144034 (tests: Test line number in debuginfo for diverging function calls)
 - rust-lang#144510 (Fix Ord, Eq and Hash implementation of panic::Location)
 - rust-lang#144583 (Enable T-compiler backport nomination)
 - rust-lang#144586 (Update wasi-sdk to 27.0 in CI)
 - rust-lang#144605 (Resolve: cachify `ExternPreludeEntry.binding` through a `Cell`)
 - rust-lang#144632 (Update some tests for LLVM 21)
 - rust-lang#144639 (Update rustc-perf submodule)
 - rust-lang#144640 (Add support for the m68k architecture in 'object_architecture')

r? `@ghost`
`@rustbot` modify labels: rollup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
llvm-main Marks PRs that are making Rust work with LLVM main (this label is consumed by CI tooling) 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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

LLVM 21: f128/i128 now 16-byte aligned on x86-32 LLVM 21/22 failure: enum/enum-discriminant-eq.rs
4 participants