Skip to content

Conversation

@nikic
Copy link
Contributor

@nikic nikic commented Jan 20, 2026

This includes three fixes for LLVM 22 compatibility:

  • Update the AMDGPU data layout.
  • Update AVX512 target feature handling. evex512 is no longer used and avx10.[12]-512 are now just avx10.[12], matching the Rust feature name.
  • Strip address space casts when emitting lifetime intrinsics. These are now required to directly work on the alloca.

r? @cuviper

nikic added 3 commits January 20, 2026 14:46
Since LLVM 22 the alloca must be passed directly. Do this by
stripping the addrspacecast if it exists.
As Intel has walked back on the existence of AVX 10.1-256, LLVM
no longer uses evex512 and avx-10.n-512 are now avx-10.n instead,
so we can skip all the special handling on LLVM 22.
@rustbot rustbot added A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. 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 Jan 20, 2026
@nikic nikic mentioned this pull request Jan 20, 2026
10 tasks
@cuviper
Copy link
Member

cuviper commented Jan 20, 2026

@bors r+ rollup

@rust-bors
Copy link
Contributor

rust-bors bot commented Jan 20, 2026

📌 Commit 08da368 has been approved by cuviper

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 Jan 20, 2026
rust-bors bot pushed a commit that referenced this pull request Jan 20, 2026
Rollup of 7 pull requests

Successful merges:

 - #151216 ([rustdoc] Make popover menus content scrollable on mobile devices)
 - #151373 (Fix an ICE on transmute goals with placeholders in `param_env`)
 - #151399 (Generate error delegation when delegation is not resolved)
 - #151406 (Use version 1.93.0 in `RELEASES.md` instead of 1.93)
 - #151410 (Fixes for LLVM 22 compatibility)
 - #151415 (chore: Remove redundant conversion)
 - #151418 (Avoid pulling in unicode when calling io::Error::kind)

r? @ghost
@rust-bors rust-bors bot merged commit 87f83fa into rust-lang:main Jan 21, 2026
11 checks passed
@rustbot rustbot added this to the 1.95.0 milestone Jan 21, 2026
rust-timer added a commit that referenced this pull request Jan 21, 2026
Rollup merge of #151410 - llvm-22-fixes, r=cuviper

Fixes for LLVM 22 compatibility

This includes three fixes for LLVM 22 compatibility:

 * Update the AMDGPU data layout.
 * Update AVX512 target feature handling. `evex512` is no longer used and `avx10.[12]-512` are now just `avx10.[12]`, matching the Rust feature name.
 * Strip address space casts when emitting lifetime intrinsics. These are now required to directly work on the alloca.

r? @cuviper
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. 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.

3 participants