Skip to content

Conversation

@tgross35
Copy link
Contributor

Since yesterday, the LLVM main branch should have working f16 on all platforms that Rust supports; this will be LLVM version 22, so update how cfg(target_has_reliable_f16) is set to reflect this.

Within the rust-lang organization, this currently has no effect. The goal is to start catching problems as early as possible in external CI that runs top-of-tree rust against top-of-tree LLVM, and once testing for the rust-lang bump to LLVM 22 starts. Hopefully this will mean that we can fix any problems that show up before the bump actually happens, meaning f16 will be about ready for stabilization at that point (with some considerations for the GCC patch at 1 propagating).

References:

r? @nikic

Since yesterday, the LLVM `main` branch should have working `f16` on all
platforms that Rust supports; this will be LLVM version 22, so update
how `cfg(target_has_reliable_f16)` is set to reflect this.

Within the rust-lang organization, this currently has no effect. The
goal is to start catching problems as early as possible in external CI
that runs top-of-tree rust against top-of-tree LLVM, and once testing
for the rust-lang bump to LLVM 22 starts. Hopefully this will mean that
we can fix any problems that show up before the bump actually happens,
meaning `f16` will be about ready for stabilization at that point (with
some considerations for the GCC patch at [1] propagating).

References:

* llvm/llvm-project@919021b
* llvm/llvm-project@054ee2f
* llvm/llvm-project@db26ce5
* llvm/llvm-project@549d7c4
* llvm/llvm-project@4903c62

[1]: gcc-mirror/gcc@8b6a18e
@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 10, 2026
@tgross35 tgross35 added the llvm-main Marks PRs that are making Rust work with LLVM main (this label is consumed by CI tooling) label Jan 10, 2026
@tgross35
Copy link
Contributor Author

Per @maurer that label makes things get picked up by https://buildkite.com/llvm-project/rust-llvm-integrate-prototype/

@nikic
Copy link
Contributor

nikic commented Jan 10, 2026

@bors r+ rollup

@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 10, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Jan 10, 2026

📌 Commit 07fa70e has been approved by nikic

It is now in the queue for this repository.

Zalathar added a commit to Zalathar/rust that referenced this pull request Jan 11, 2026
llvm: Update `reliable_f16` configuration for LLVM22

Since yesterday, the LLVM `main` branch should have working `f16` on all platforms that Rust supports; this will be LLVM version 22, so update how `cfg(target_has_reliable_f16)` is set to reflect this.

Within the rust-lang organization, this currently has no effect. The goal is to start catching problems as early as possible in external CI that runs top-of-tree rust against top-of-tree LLVM, and once testing for the rust-lang bump to LLVM 22 starts. Hopefully this will mean that we can fix any problems that show up before the bump actually happens, meaning `f16` will be about ready for stabilization at that point (with some considerations for the GCC patch at [1] propagating).

References:

* llvm/llvm-project@919021b
* llvm/llvm-project@054ee2f
* llvm/llvm-project@db26ce5
* llvm/llvm-project@549d7c4
* llvm/llvm-project@4903c62

[1]: gcc-mirror/gcc@8b6a18e
Zalathar added a commit to Zalathar/rust that referenced this pull request Jan 11, 2026
llvm: Update `reliable_f16` configuration for LLVM22

Since yesterday, the LLVM `main` branch should have working `f16` on all platforms that Rust supports; this will be LLVM version 22, so update how `cfg(target_has_reliable_f16)` is set to reflect this.

Within the rust-lang organization, this currently has no effect. The goal is to start catching problems as early as possible in external CI that runs top-of-tree rust against top-of-tree LLVM, and once testing for the rust-lang bump to LLVM 22 starts. Hopefully this will mean that we can fix any problems that show up before the bump actually happens, meaning `f16` will be about ready for stabilization at that point (with some considerations for the GCC patch at [1] propagating).

References:

* llvm/llvm-project@919021b
* llvm/llvm-project@054ee2f
* llvm/llvm-project@db26ce5
* llvm/llvm-project@549d7c4
* llvm/llvm-project@4903c62

[1]: gcc-mirror/gcc@8b6a18e
rust-bors bot added a commit that referenced this pull request Jan 11, 2026
Rollup of 14 pull requests

Successful merges:

 - #148941 (stabilize `Peekable::next_if_map` (`#![feature(peekable_next_if_map)]`))
 - #150368 (adding Ordering enum to minicore.rs, importing minicore in "tests/assembly-llvm/rust-abi-arg-attr.rs" test file)
 - #150668 (Unix implementation for stdio set/take/replace)
 - #150743 (Reword the collect() docs)
 - #150776 (Fix the connect_error test on FreeBSD 15+)
 - #150781 (Use `rand` crate more idiomatically)
 - #150786 (mGCA: Support array expression as direct const arguments)
 - #150812 (Bump `diesel` to the most recent commit in `cargotest`)
 - #150862 (std: sys: fs: uefi: Implement File::flush)
 - #150873 (Reenable GCC CI download)
 - #150908 (llvm: Update `reliable_f16` configuration for LLVM22)
 - #150918 (std: sys: fs: uefi: Implement File::seek)
 - #150922 (Subscribe myself to attr parsing)
 - #150930 (Remove special case for `AllowedTargets::CrateLevel`)

r? @ghost
rust-bors bot added a commit that referenced this pull request Jan 11, 2026
Rollup of 14 pull requests

Successful merges:

 - #148941 (stabilize `Peekable::next_if_map` (`#![feature(peekable_next_if_map)]`))
 - #150368 (adding Ordering enum to minicore.rs, importing minicore in "tests/assembly-llvm/rust-abi-arg-attr.rs" test file)
 - #150668 (Unix implementation for stdio set/take/replace)
 - #150743 (Reword the collect() docs)
 - #150776 (Fix the connect_error test on FreeBSD 15+)
 - #150781 (Use `rand` crate more idiomatically)
 - #150812 (Bump `diesel` to the most recent commit in `cargotest`)
 - #150862 (std: sys: fs: uefi: Implement File::flush)
 - #150873 (Reenable GCC CI download)
 - #150908 (llvm: Update `reliable_f16` configuration for LLVM22)
 - #150918 (std: sys: fs: uefi: Implement File::seek)
 - #150922 (Subscribe myself to attr parsing)
 - #150930 (Remove special case for `AllowedTargets::CrateLevel`)
 - #150942 (Port `#[rustc_has_incoherent_inherent_impls]` to attribute parser)

Failed merges:

 - #150943 (Port `#[must_not_suspend]` to attribute parser)

r? @ghost
@rust-bors rust-bors bot merged commit cbdfa91 into rust-lang:main Jan 11, 2026
11 checks passed
@rustbot rustbot added this to the 1.94.0 milestone Jan 11, 2026
rust-timer added a commit that referenced this pull request Jan 11, 2026
Rollup merge of #150908 - llvm-f16-cfg, r=nikic

llvm: Update `reliable_f16` configuration for LLVM22

Since yesterday, the LLVM `main` branch should have working `f16` on all platforms that Rust supports; this will be LLVM version 22, so update how `cfg(target_has_reliable_f16)` is set to reflect this.

Within the rust-lang organization, this currently has no effect. The goal is to start catching problems as early as possible in external CI that runs top-of-tree rust against top-of-tree LLVM, and once testing for the rust-lang bump to LLVM 22 starts. Hopefully this will mean that we can fix any problems that show up before the bump actually happens, meaning `f16` will be about ready for stabilization at that point (with some considerations for the GCC patch at [1] propagating).

References:

* llvm/llvm-project@919021b
* llvm/llvm-project@054ee2f
* llvm/llvm-project@db26ce5
* llvm/llvm-project@549d7c4
* llvm/llvm-project@4903c62

[1]: gcc-mirror/gcc@8b6a18e
@tgross35 tgross35 deleted the llvm-f16-cfg branch January 11, 2026 19:24
github-actions bot pushed a commit to rust-lang/miri that referenced this pull request Jan 12, 2026
Rollup of 14 pull requests

Successful merges:

 - rust-lang/rust#148941 (stabilize `Peekable::next_if_map` (`#![feature(peekable_next_if_map)]`))
 - rust-lang/rust#150368 (adding Ordering enum to minicore.rs, importing minicore in "tests/assembly-llvm/rust-abi-arg-attr.rs" test file)
 - rust-lang/rust#150668 (Unix implementation for stdio set/take/replace)
 - rust-lang/rust#150743 (Reword the collect() docs)
 - rust-lang/rust#150776 (Fix the connect_error test on FreeBSD 15+)
 - rust-lang/rust#150781 (Use `rand` crate more idiomatically)
 - rust-lang/rust#150812 (Bump `diesel` to the most recent commit in `cargotest`)
 - rust-lang/rust#150862 (std: sys: fs: uefi: Implement File::flush)
 - rust-lang/rust#150873 (Reenable GCC CI download)
 - rust-lang/rust#150908 (llvm: Update `reliable_f16` configuration for LLVM22)
 - rust-lang/rust#150918 (std: sys: fs: uefi: Implement File::seek)
 - rust-lang/rust#150922 (Subscribe myself to attr parsing)
 - rust-lang/rust#150930 (Remove special case for `AllowedTargets::CrateLevel`)
 - rust-lang/rust#150942 (Port `#[rustc_has_incoherent_inherent_impls]` to attribute parser)

Failed merges:

 - rust-lang/rust#150943 (Port `#[must_not_suspend]` to attribute parser)

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

3 participants