Update to LLVM 19 by nikic · Pull Request #127513 · rust-lang/rust (original) (raw)

Conversation

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters

[ Show hidden characters]({{ revealButtonHref }})

nikic

@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 9, 2024

bors added a commit to rust-lang-ci/rust that referenced this pull request

Jul 9, 2024

@bors

Update to LLVM 19

r? @ghost

nikic added a commit to nikic/rust that referenced this pull request

Jul 11, 2024

@nikic

Remove the unstable extern "wasm" ABI (wasm_abi feature tracked in rust-lang#83788).

As discussed in rust-lang#127513 (comment) and following, this ABI is a failed experiment that did not end up being used for anything. Keeping support for this ABI in LLVM 19 would require us to switch wasm targets to the experimental-mv ABI, which we do not want to do.

It should be noted that Abi::Wasm was internally used for two things: The -Z wasm-c-abi=legacy ABI that is still used by default on some wasm targets, and the extern "wasm" ABI. Despite both being Abi::Wasm internally, they were not the same. An explicit extern "wasm" additionally enabled the +multivalue feature.

I've opted to remove Abi::Wasm in this patch entirely, instead of keeping it as an ABI with only internal usage. Both -Z wasm-c-abi variants are now treated as part of the normal C ABI, just with different different treatment in adjust_for_foreign_abi.

@nikic nikic mentioned this pull request

Jul 11, 2024

nikic added a commit to nikic/rust that referenced this pull request

Jul 11, 2024

@nikic

Remove the unstable extern "wasm" ABI (wasm_abi feature tracked in rust-lang#83788).

As discussed in rust-lang#127513 (comment) and following, this ABI is a failed experiment that did not end up being used for anything. Keeping support for this ABI in LLVM 19 would require us to switch wasm targets to the experimental-mv ABI, which we do not want to do.

It should be noted that Abi::Wasm was internally used for two things: The -Z wasm-c-abi=legacy ABI that is still used by default on some wasm targets, and the extern "wasm" ABI. Despite both being Abi::Wasm internally, they were not the same. An explicit extern "wasm" additionally enabled the +multivalue feature.

I've opted to remove Abi::Wasm in this patch entirely, instead of keeping it as an ABI with only internal usage. Both -Z wasm-c-abi variants are now treated as part of the normal C ABI, just with different different treatment in adjust_for_foreign_abi.

matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request

Jul 11, 2024

@matthiaskrgr

Remove extern "wasm" ABI

Remove the unstable extern "wasm" ABI (wasm_abi feature tracked in rust-lang#83788).

As discussed in rust-lang#127513 (comment) and following, this ABI is a failed experiment that did not end up being used for anything. Keeping support for this ABI in LLVM 19 would require us to switch wasm targets to the experimental-mv ABI, which we do not want to do.

It should be noted that Abi::Wasm was internally used for two things: The -Z wasm-c-abi=legacy ABI that is still used by default on some wasm targets, and the extern "wasm" ABI. Despite both being Abi::Wasm internally, they were not the same. An explicit extern "wasm" additionally enabled the +multivalue feature.

I've opted to remove Abi::Wasm in this patch entirely, instead of keeping it as an ABI with only internal usage. Both -Z wasm-c-abi variants are now treated as part of the normal C ABI, just with different different treatment in adjust_for_foreign_abi.

rust-timer added a commit to rust-lang-ci/rust that referenced this pull request

Jul 12, 2024

@rust-timer

Rollup merge of rust-lang#127605 - nikic:remove-extern-wasm, r=oli-obk

Remove extern "wasm" ABI

Remove the unstable extern "wasm" ABI (wasm_abi feature tracked in rust-lang#83788).

As discussed in rust-lang#127513 (comment) and following, this ABI is a failed experiment that did not end up being used for anything. Keeping support for this ABI in LLVM 19 would require us to switch wasm targets to the experimental-mv ABI, which we do not want to do.

It should be noted that Abi::Wasm was internally used for two things: The -Z wasm-c-abi=legacy ABI that is still used by default on some wasm targets, and the extern "wasm" ABI. Despite both being Abi::Wasm internally, they were not the same. An explicit extern "wasm" additionally enabled the +multivalue feature.

I've opted to remove Abi::Wasm in this patch entirely, instead of keeping it as an ABI with only internal usage. Both -Z wasm-c-abi variants are now treated as part of the normal C ABI, just with different different treatment in adjust_for_foreign_abi.

bors added a commit to rust-lang-ci/rust that referenced this pull request

Aug 7, 2024

@bors

Add range attribute to scalar function results and arguments

as LLVM 19 adds the range attribute this starts to use it for better optimization. hade been interesting to see a perf run with the rust-lang#127513

closes rust-lang#50156 cc rust-lang#49572 shall be fixed but not possible to see as there is asserts that already trigger the optimization.

r​? @nikic

bors added a commit to rust-lang-ci/rust that referenced this pull request

Aug 9, 2024

@bors

Add range attribute to scalar function results and arguments

as LLVM 19 adds the range attribute this starts to use it for better optimization. hade been interesting to see a perf run with the rust-lang#127513

closes rust-lang#50156 cc rust-lang#49572 shall be fixed but not possible to see as there is asserts that already trigger the optimization.

r​? @nikic

bors added a commit to rust-lang-ci/rust that referenced this pull request

Aug 9, 2024

@bors

Add range attribute to scalar function results and arguments

as LLVM 19 adds the range attribute this starts to use it for better optimization. hade been interesting to see a perf run with the rust-lang#127513

closes rust-lang#50156 cc rust-lang#49572 shall be fixed but not possible to see as there is asserts that already trigger the optimization.

try-job: i686-gnu

bors added a commit to rust-lang-ci/rust that referenced this pull request

Aug 10, 2024

@bors

Add range attribute to scalar function results and arguments

as LLVM 19 adds the range attribute this starts to use it for better optimization. hade been interesting to see a perf run with the rust-lang#127513

closes rust-lang#50156 cc rust-lang#49572 shall be fixed but not possible to see as there is asserts that already trigger the optimization.

bors added a commit to rust-lang-ci/rust that referenced this pull request

Aug 12, 2024

@bors

Add range attribute to scalar function results and arguments

as LLVM 19 adds the range attribute this starts to use it for better optimization. hade been interesting to see a perf run with the rust-lang#127513

closes rust-lang#50156 cc rust-lang#49572 shall be fixed but not possible to see as there is asserts that already trigger the optimization.

bors added a commit to rust-lang-ci/rust that referenced this pull request

Aug 12, 2024

@bors

Add range attribute to scalar function results and arguments

as LLVM 19 adds the range attribute this starts to use it for better optimization. hade been interesting to see a perf run with the rust-lang#127513

closes rust-lang#50156 cc rust-lang#49572 shall be fixed but not possible to see as there is asserts that already trigger the optimization.

lnicola pushed a commit to lnicola/rust-analyzer that referenced this pull request

Aug 13, 2024

@bors

Add range attribute to scalar function results and arguments

as LLVM 19 adds the range attribute this starts to use it for better optimization. hade been interesting to see a perf run with the rust-lang/rust#127513

closes rust-lang/rust#50156 cc rust-lang/rust#49572 shall be fixed but not possible to see as there is asserts that already trigger the optimization.

RalfJung pushed a commit to RalfJung/miri that referenced this pull request

Aug 14, 2024

@bors

Add range attribute to scalar function results and arguments

as LLVM 19 adds the range attribute this starts to use it for better optimization. hade been interesting to see a perf run with the rust-lang/rust#127513

closes rust-lang/rust#50156 cc rust-lang/rust#49572 shall be fixed but not possible to see as there is asserts that already trigger the optimization.

tgross35 added a commit to tgross35/rust that referenced this pull request

Aug 22, 2024

@tgross35

bors added a commit to rust-lang-ci/rust that referenced this pull request

Aug 22, 2024

@bors

Enable f16 tests on loongarch

Loongarch previously had a selection failure for f16 math llvm/llvm-project#93894. This was fixed in llvm/llvm-project#94456, which Rust got with the update to LLVM 19 rust-lang#127513.

Enable loongarch in std/build.rs so we start running tests.

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

@Mark-Simulacrum Mark-Simulacrum added relnotes

Marks issues that should be documented in the release notes of the next release.

and removed relnotes

Marks issues that should be documented in the release notes of the next release.

labels

Aug 25, 2024

wesleywiser pushed a commit to rust-lang/blog.rust-lang.org that referenced this pull request

Sep 24, 2024

@alexcrichton

tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request

Oct 18, 2024

@tmeijn

This MR contains the following updates:

Package Update Change
rust minor 1.81.0 -> 1.82.0

MR created with the help of el-capitano/tools/renovate-bot.

Proposed changes to behavior should be submitted there as MRs.


Release Notes

rust-lang/rust (rust)

v1.82.0

Compare Source

==========================

Language

Compiler

Libraries

Stabilized APIs

These APIs are now stable in const contexts:

Cargo

Compatibility Notes

Internal Changes

These changes do not affect any public interfaces of Rust, but they represent significant improvements to the performance or internals of rustc and related tools.


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.



This MR has been generated by Renovate Bot.

wip-sync pushed a commit to NetBSD/pkgsrc-wip that referenced this pull request

Oct 27, 2024

@he32

Pkgsrc changes:

Upstream changes:

Version 1.82.0 (2024-10-17)

Language

Compiler

Libraries

Stabilized APIs

These APIs are now stable in const contexts:

Cargo

Compatibility Notes

Internal Changes

These changes do not affect any public interfaces of Rust, but they represent significant improvements to the performance or internals of rustc and related tools.

NameYourOwn

@sffc sffc mentioned this pull request

Dec 21, 2024

netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request

Feb 2, 2025

@he32

Pkgsrc changes:

Upstream changes:

Version 1.82.0 (2024-10-17)

Language

Compiler

Libraries

Stabilized APIs

These APIs are now stable in const contexts:

Cargo

Compatibility Notes

Internal Changes

These changes do not affect any public interfaces of Rust, but they represent significant improvements to the performance or internals of rustc and related tools.

@jieyouxu jieyouxu added the A-LLVM

Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.

label

May 26, 2025