Auto merge of #150722 - nikic:llvm-22, r=cuviper
Update to LLVM 22
Scheduled release date: Feb 24
1.94 becomes stable: Mar 5
Changes:
* Update to rc2, with one patch to work around our outdated illumos sysroot (41256ab128).
* Update the host toolchain as well, otherwise we lose cross-language LTO, in particular for jemalloc.
* Adjust one loongarch assembly test. The split into r and s variants is based on the suggestion in https://github.com/rust-lang/rust/pull/151134.
Depends on:
* [x] https://github.com/rust-lang/rust/pull/151410
* [ ] https://github.com/rust-lang/rust/issues/150756
* [x] https://github.com/llvm/llvm-project/issues/175190
* [x] https://github.com/llvm/llvm-project/pull/175912
* [x] https://github.com/llvm/llvm-project/issues/175965
* [x] https://github.com/llvm/llvm-project/pull/176195
* [x] https://github.com/llvm/llvm-project/issues/157073
* [x] https://github.com/llvm/llvm-project/issues/176421
* [x] https://github.com/llvm/llvm-project/pull/176925
* [x] https://github.com/llvm/llvm-project/pull/177187
This commit is contained in:
commit
466ea4e6c3
4 changed files with 23 additions and 10 deletions
2
.gitmodules
vendored
2
.gitmodules
vendored
|
|
@ -25,7 +25,7 @@
|
|||
[submodule "src/llvm-project"]
|
||||
path = src/llvm-project
|
||||
url = https://github.com/rust-lang/llvm-project.git
|
||||
branch = rustc/21.1-2025-08-01
|
||||
branch = rustc/22.1-2026-01-27
|
||||
shallow = true
|
||||
[submodule "src/doc/embedded-book"]
|
||||
path = src/doc/embedded-book
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ set -ex
|
|||
source shared.sh
|
||||
|
||||
# Try to keep the LLVM version here in sync with src/ci/scripts/install-clang.sh
|
||||
LLVM=llvmorg-21.1.0-rc2
|
||||
LLVM=llvmorg-22.1.0-rc2
|
||||
|
||||
mkdir llvm-project
|
||||
cd llvm-project
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 00d23d10dc48c6bb9d57ba96d4a748d85d77d0c7
|
||||
Subproject commit 41256ab128f2af613b4a16771cda6baa36b55f45
|
||||
|
|
@ -1,10 +1,14 @@
|
|||
//@ add-minicore
|
||||
//@ revisions: loongarch32 loongarch64
|
||||
//@ revisions: loongarch32s loongarch32r loongarch64
|
||||
|
||||
//@ assembly-output: emit-asm
|
||||
|
||||
//@[loongarch32] compile-flags: --target loongarch32-unknown-none
|
||||
//@[loongarch32] needs-llvm-components: loongarch
|
||||
//@[loongarch32s] compile-flags: --target loongarch32-unknown-none -Ctarget-feature=+32s
|
||||
//@[loongarch32s] needs-llvm-components: loongarch
|
||||
|
||||
//@[loongarch32r] compile-flags: --target loongarch32-unknown-none
|
||||
//@[loongarch32r] needs-llvm-components: loongarch
|
||||
//@[loongarch32r] min-llvm-version: 22
|
||||
|
||||
//@[loongarch64] compile-flags: --target loongarch64-unknown-none
|
||||
//@[loongarch64] needs-llvm-components: loongarch
|
||||
|
|
@ -28,8 +32,12 @@ extern "C" {
|
|||
|
||||
// CHECK-LABEL: sym_fn:
|
||||
// CHECK: #APP
|
||||
// CHECK: pcalau12i $t0, %got_pc_hi20(extern_func)
|
||||
// CHECK: ld.{{[wd]}} $t0, $t0, %got_pc_lo12(extern_func)
|
||||
// loongarch64: pcalau12i $t0, %got_pc_hi20(extern_func)
|
||||
// loongarch64: ld.d $t0, $t0, %got_pc_lo12(extern_func)
|
||||
// loongarch32s: pcalau12i $t0, %got_pc_hi20(extern_func)
|
||||
// loongarch32s: ld.w $t0, $t0, %got_pc_lo12(extern_func)
|
||||
// loongarch32r: pcaddu12i $t0, %got_pcadd_hi20(extern_func)
|
||||
// loongarch32r: ld.w $t0, $t0, %got_pcadd_lo12(.Lpcadd_hi0)
|
||||
// CHECK: #NO_APP
|
||||
#[no_mangle]
|
||||
pub unsafe fn sym_fn() {
|
||||
|
|
@ -38,8 +46,13 @@ pub unsafe fn sym_fn() {
|
|||
|
||||
// CHECK-LABEL: sym_static:
|
||||
// CHECK: #APP
|
||||
// CHECK: pcalau12i $t0, %got_pc_hi20(extern_static)
|
||||
// CHECK: ld.{{[wd]}} $t0, $t0, %got_pc_lo12(extern_static)
|
||||
// loongarch64: pcalau12i $t0, %got_pc_hi20(extern_static)
|
||||
// loongarch64: ld.d $t0, $t0, %got_pc_lo12(extern_static)
|
||||
// loongarch32s: pcalau12i $t0, %got_pc_hi20(extern_static)
|
||||
// loongarch32s: ld.w $t0, $t0, %got_pc_lo12(extern_static)
|
||||
// loongarch32r: pcaddu12i $t0, %got_pcadd_hi20(extern_static)
|
||||
// loongarch32r: ld.w $t0, $t0, %got_pcadd_lo12(.Lpcadd_hi1)
|
||||
|
||||
// CHECK: #NO_APP
|
||||
#[no_mangle]
|
||||
pub unsafe fn sym_static() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue