Skip to content

Update LLVM to 22.1.6#156757

Merged
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
dianqk:update-llvm
May 21, 2026
Merged

Update LLVM to 22.1.6#156757
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
dianqk:update-llvm

Conversation

@dianqk
Copy link
Copy Markdown
Member

@dianqk dianqk commented May 19, 2026

@rustbot rustbot added A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels May 19, 2026
@dianqk
Copy link
Copy Markdown
Member Author

dianqk commented May 19, 2026

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label May 19, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request May 19, 2026
@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 19, 2026

☀️ Try build successful (CI)
Build commit: 65b7be1 (65b7be141c10a0cdb6e4f33424c800eb63c1bcc5, parent: 60592ad7c63cdb7cfe092f785bb224b655512926)

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (65b7be1): comparison URL.

Overall result: ❌ regressions - no action needed

Benchmarking means the PR may be perf-sensitive. Consider adding rollup=never if this change is not fit for rolling up.

@rustbot label: -S-waiting-on-perf -perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.1% [0.1%, 0.1%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary -2.5%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-2.5% [-2.5%, -2.5%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -2.5% [-2.5%, -2.5%] 1

Cycles

Results (primary 1.6%, secondary 3.1%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
1.6% [1.6%, 1.6%] 1
Regressions ❌
(secondary)
3.1% [3.1%, 3.1%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 1.6% [1.6%, 1.6%] 1

Binary size

Results (primary -0.0%, secondary -0.0%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.0% [-0.0%, -0.0%] 4
Improvements ✅
(secondary)
-0.0% [-0.0%, -0.0%] 2
All ❌✅ (primary) -0.0% [-0.0%, -0.0%] 4

Bootstrap: 509.294s -> 511.761s (0.48%)
Artifact size: 402.61 MiB -> 400.57 MiB (-0.51%)

@rustbot rustbot removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label May 19, 2026
@dianqk dianqk marked this pull request as ready for review May 20, 2026 06:22
@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label May 20, 2026
@rustbot rustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label May 20, 2026
@rustbot
Copy link
Copy Markdown
Collaborator

rustbot commented May 20, 2026

r? @cuviper

rustbot has assigned @cuviper.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: @cuviper

@rustbot
Copy link
Copy Markdown
Collaborator

rustbot commented May 20, 2026

⚠️ Warning ⚠️

@dianqk
Copy link
Copy Markdown
Member Author

dianqk commented May 20, 2026

I made a new branch that dropped all reverts because llvm/llvm-project#194586 fixed the compile-time regressions.

@cuviper
Copy link
Copy Markdown
Member

cuviper commented May 20, 2026

Thanks!

@bors r+ rollup=never

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 20, 2026

📌 Commit 6a59ea7 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 May 20, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request May 20, 2026
@rust-log-analyzer
Copy link
Copy Markdown
Collaborator

The job x86_64-mingw-1 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
---- [run-make] tests\run-make\thumb-interworking stdout ----

error: rmake recipe failed to complete
status: exit code: 1
command: "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\run-make\\thumb-interworking\\rmake.exe"
stdout: none
--- stderr -------------------------------
"D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\stage2\\bin\\rustc.exe" "-L" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\run-make\\thumb-interworking\\rmake_out" "D:\\a\\rust\\rust\\tests/auxiliary/minicore.rs" "--crate-name" "minicore" "--crate-type" "rlib" "-o" "libminicore.rlib" "--target=thumbv5te-none-eabi"
output status: `exit code: 0`
=== STDOUT ===



=== STDERR ===
warning: type `c_void` should have an upper camel case name
##[warning]   --> D:\a\rust\rust\tests/auxiliary/minicore.rs:372:10
    |
372 | pub enum c_void {
    |          ^^^^^^ help: convert the identifier to upper camel case: `CVoid`
    |
    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default

warning: variant `__variant1` should have an upper camel case name
##[warning]   --> D:\a\rust\rust\tests/auxiliary/minicore.rs:373:5
    |
373 |     __variant1,
    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `Variant1`

warning: variant `__variant2` should have an upper camel case name
##[warning]   --> D:\a\rust\rust\tests/auxiliary/minicore.rs:374:5
    |
374 |     __variant2,
    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `Variant2`

warning: 3 warnings emitted




"D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\stage2\\bin\\rustc.exe" "-L" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\run-make\\thumb-interworking\\rmake_out" "main.rs" "-Cpanic=abort" "-Clink-arg=-Tlink.ld" "--extern" "minicore=D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\run-make\\thumb-interworking\\rmake_out\\libminicore.rlib" "-o" "thumbv5te" "--target=thumbv5te-none-eabi"
output status: `exit code: 0`
=== STDOUT ===



=== STDERR ===



"D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\llvm\\bin\\llvm-objdump" "-d" "--demangle" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\run-make\\thumb-interworking\\rmake_out\\thumbv5te"
output status: `exit code: 0`
=== STDOUT ===

D:\a\rust\rust\build\x86_64-pc-windows-gnu\test\run-make\thumb-interworking\rmake_out\thumbv5te: file format elf32-littlearm

Disassembly of section .text:

000200e4 <thumb_globalfn>:
   200e4: 46c0          mov r8, r8
   200e6: 4770          bx lr

000200e8 <arm_globalfn>:
   200e8: e1a00000      mov r0, r0
   200ec: e12fff1e      bx lr

000200f0 <main::arm_nakedfn>:
   200f0: e1a00000      mov r0, r0
   200f4: e12fff1e      bx lr

000200f8 <main::thumb_nakedfn>:
   200f8: 46c0          mov r8, r8
   200fa: 4770          bx lr

000200fc <main::arm_normalfn>:
   200fc: e92d4800      push {r11, lr}
   20100: e1a0b00d      mov r11, sp
   20104: e1a00000      mov r0, r0
   20108: e8bd8800      pop {r11, pc}

0002010c <main::thumb_normalfn>:
   2010c: b580          push {r7, lr}
   2010e: af00          add r7, sp, #0x0
   20110: 46c0          mov r8, r8
   20112: bd80          pop {r7, pc}

00020114 <arm>:
   20114: b580          push {r7, lr}
   20116: af00          add r7, sp, #0x0
   20118: f7ff eff0     blx 0x200fc <main::arm_normalfn> @ imm = #-0x20
   2011c: f7ff efe4     blx 0x200e8 <arm_globalfn>  @ imm = #-0x38
   20120: f7ff efe6     blx 0x200f0 <main::arm_nakedfn> @ imm = #-0x34
   20124: bd80          pop {r7, pc}

00020126 <entry>:
   20126: b580          push {r7, lr}
   20128: af00          add r7, sp, #0x0
   2012a: f7ff fff3     bl 0x20114 <arm>           @ imm = #-0x1a
   2012e: f000 f801     bl 0x20134 <thumb>         @ imm = #0x2
   20132: bd80          pop {r7, pc}

00020134 <thumb>:
   20134: b580          push {r7, lr}
   20136: af00          add r7, sp, #0x0
   20138: f7ff ffe8     bl 0x2010c <main::thumb_normalfn> @ imm = #-0x30
   2013c: f7ff ffd2     bl 0x200e4 <thumb_globalfn> @ imm = #-0x5c
   20140: f7ff ffda     bl 0x200f8 <main::thumb_nakedfn> @ imm = #-0x4c
   20144: bd80          pop {r7, pc}



=== STDERR ===




D:\a\rust\rust\build\x86_64-pc-windows-gnu\test\run-make\thumb-interworking\rmake_out\thumbv5te: file format elf32-littlearm

Disassembly of section .text:

000200e4 <thumb_globalfn>:
   200e4: 46c0          mov r8, r8
   200e6: 4770          bx lr

000200e8 <arm_globalfn>:
   200e8: e1a00000      mov r0, r0
   200ec: e12fff1e      bx lr

000200f0 <main::arm_nakedfn>:
   200f0: e1a00000      mov r0, r0
   200f4: e12fff1e      bx lr

000200f8 <main::thumb_nakedfn>:
   200f8: 46c0          mov r8, r8
   200fa: 4770          bx lr

000200fc <main::arm_normalfn>:
   200fc: e92d4800      push {r11, lr}
   20100: e1a0b00d      mov r11, sp
   20104: e1a00000      mov r0, r0
   20108: e8bd8800      pop {r11, pc}

0002010c <main::thumb_normalfn>:
   2010c: b580          push {r7, lr}
   2010e: af00          add r7, sp, #0x0
   20110: 46c0          mov r8, r8
   20112: bd80          pop {r7, pc}

00020114 <arm>:
   20114: b580          push {r7, lr}
   20116: af00          add r7, sp, #0x0
   20118: f7ff eff0     blx 0x200fc <main::arm_normalfn> @ imm = #-0x20
   2011c: f7ff efe4     blx 0x200e8 <arm_globalfn>  @ imm = #-0x38
   20120: f7ff efe6     blx 0x200f0 <main::arm_nakedfn> @ imm = #-0x34
   20124: bd80          pop {r7, pc}

00020126 <entry>:
   20126: b580          push {r7, lr}
   20128: af00          add r7, sp, #0x0
   2012a: f7ff fff3     bl 0x20114 <arm>           @ imm = #-0x1a
   2012e: f000 f801     bl 0x20134 <thumb>         @ imm = #0x2
   20132: bd80          pop {r7, pc}

00020134 <thumb>:
   20134: b580          push {r7, lr}
   20136: af00          add r7, sp, #0x0
   20138: f7ff ffe8     bl 0x2010c <main::thumb_normalfn> @ imm = #-0x30
   2013c: f7ff ffd2     bl 0x200e4 <thumb_globalfn> @ imm = #-0x5c
   20140: f7ff ffda     bl 0x200f8 <main::thumb_nakedfn> @ imm = #-0x4c
   20144: bd80          pop {r7, pc}

"D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\llvm\\build\\bin\\FileCheck.exe" "main.rs" "--check-prefix=thumbv5te"
output status: `exit code: 0`
=== STDOUT ===



=== STDERR ===



"D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\stage2\\bin\\rustc.exe" "-L" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\run-make\\thumb-interworking\\rmake_out" "D:\\a\\rust\\rust\\tests/auxiliary/minicore.rs" "--crate-name" "minicore" "--crate-type" "rlib" "-o" "libminicore.rlib" "--target=thumbv4t-none-eabi"
output status: `exit code: 0`
=== STDOUT ===



=== STDERR ===
warning: type `c_void` should have an upper camel case name
##[warning]   --> D:\a\rust\rust\tests/auxiliary/minicore.rs:372:10
    |
372 | pub enum c_void {
    |          ^^^^^^ help: convert the identifier to upper camel case: `CVoid`
    |
    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default

warning: variant `__variant1` should have an upper camel case name
##[warning]   --> D:\a\rust\rust\tests/auxiliary/minicore.rs:373:5
    |
373 |     __variant1,
    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `Variant1`

warning: variant `__variant2` should have an upper camel case name
##[warning]   --> D:\a\rust\rust\tests/auxiliary/minicore.rs:374:5
    |
374 |     __variant2,
    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `Variant2`

warning: 3 warnings emitted




"D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\stage2\\bin\\rustc.exe" "-L" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\run-make\\thumb-interworking\\rmake_out" "main.rs" "-Cpanic=abort" "-Clink-arg=-Tlink.ld" "--extern" "minicore=D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\run-make\\thumb-interworking\\rmake_out\\libminicore.rlib" "-o" "thumbv4t" "--target=thumbv4t-none-eabi"
output status: `exit code: 0`
=== STDOUT ===



=== STDERR ===



"D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\llvm\\bin\\llvm-objdump" "-d" "--demangle" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\run-make\\thumb-interworking\\rmake_out\\thumbv4t"
output status: `exit code: 0`
=== STDOUT ===

D:\a\rust\rust\build\x86_64-pc-windows-gnu\test\run-make\thumb-interworking\rmake_out\thumbv4t: file format elf32-littlearm

Disassembly of section .text:

000200e4 <thumb_globalfn>:
   200e4: 46c0          mov r8, r8
   200e6: 4770          bx lr

000200e8 <arm_globalfn>:
   200e8: e1a00000      mov r0, r0
   200ec: e12fff1e      bx lr

000200f0 <main::arm_nakedfn>:
   200f0: e1a00000      mov r0, r0
   200f4: e12fff1e      bx lr

000200f8 <main::thumb_nakedfn>:
   200f8: 46c0          mov r8, r8
   200fa: 4770          bx lr

000200fc <main::arm_normalfn>:
   200fc: e92d4800      push {r11, lr}
   20100: e1a0b00d      mov r11, sp
   20104: e1a00000      mov r0, r0
   20108: e8bd4800      pop {r11, lr}
   2010c: e12fff1e      bx lr

00020110 <main::thumb_normalfn>:
   20110: b580          push {r7, lr}
   20112: af00          add r7, sp, #0x0
   20114: 46c0          mov r8, r8
   20116: bc80          pop {r7}
   20118: bc01          pop {r0}
   2011a: 4686          mov lr, r0
   2011c: 4770          bx lr

0002011e <arm>:
   2011e: b580          push {r7, lr}
   20120: af00          add r7, sp, #0x0
   20122: f000 f81f     bl 0x20164 <__Thumbv4ABSLongBXThunk__RNvCshZ9kMv8z9bM_4main12arm_normalfn> @ imm = #0x3e
   20126: f000 f823     bl 0x20170 <__Thumbv4ABSLongBXThunk_arm_globalfn> @ imm = #0x46
   2012a: f000 f827     bl 0x2017c <__Thumbv4ABSLongBXThunk__RNvCshZ9kMv8z9bM_4main11arm_nakedfn> @ imm = #0x4e
   2012e: bc80          pop {r7}
   20130: bc01          pop {r0}
   20132: 4686          mov lr, r0
   20134: 4770          bx lr

00020136 <entry>:
   20136: b580          push {r7, lr}
   20138: af00          add r7, sp, #0x0
   2013a: f7ff fff0     bl 0x2011e <arm>           @ imm = #-0x20
   2013e: f000 f804     bl 0x2014a <thumb>         @ imm = #0x8
   20142: bc80          pop {r7}
   20144: bc01          pop {r0}
   20146: 4686          mov lr, r0
   20148: 4770          bx lr

0002014a <thumb>:
   2014a: b580          push {r7, lr}
   2014c: af00          add r7, sp, #0x0
   2014e: f7ff ffdf     bl 0x20110 <main::thumb_normalfn> @ imm = #-0x42
   20152: f7ff ffc7     bl 0x200e4 <thumb_globalfn> @ imm = #-0x72
   20156: f7ff ffcf     bl 0x200f8 <main::thumb_nakedfn> @ imm = #-0x62
   2015a: bc80          pop {r7}
   2015c: bc01          pop {r0}
   2015e: 4686          mov lr, r0
   20160: 4770          bx lr
   20162: d4d4          bmi 0x2010e <main::arm_normalfn+0x12> @ imm = #-0x58

00020164 <__Thumbv4ABSLongBXThunk__RNvCshZ9kMv8z9bM_4main12arm_normalfn>:
   20164: 4778          bx pc
   20166: e7fd          b 0x20164 <__Thumbv4ABSLongBXThunk__RNvCshZ9kMv8z9bM_4main12arm_normalfn> @ imm = #-0x6
   20168: e51ff004      ldr pc, [pc, #-0x4]         @ 0x2016c <__Thumbv4ABSLongBXThunk__RNvCshZ9kMv8z9bM_4main12arm_normalfn+0x8>
   2016c: fc 00 02 00   .word 0x000200fc

00020170 <__Thumbv4ABSLongBXThunk_arm_globalfn>:
   20170: 4778          bx pc
   20172: e7fd          b 0x20170 <__Thumbv4ABSLongBXThunk_arm_globalfn> @ imm = #-0x6
   20174: e51ff004      ldr pc, [pc, #-0x4]         @ 0x20178 <__Thumbv4ABSLongBXThunk_arm_globalfn+0x8>
   20178: e8 00 02 00   .word 0x000200e8

0002017c <__Thumbv4ABSLongBXThunk__RNvCshZ9kMv8z9bM_4main11arm_nakedfn>:
   2017c: 4778          bx pc
   2017e: e7fd          b 0x2017c <__Thumbv4ABSLongBXThunk__RNvCshZ9kMv8z9bM_4main11arm_nakedfn> @ imm = #-0x6
   20180: e51ff004      ldr pc, [pc, #-0x4]         @ 0x20184 <__Thumbv4ABSLongBXThunk__RNvCshZ9kMv8z9bM_4main11arm_nakedfn+0x8>
   20184: f0 00 02 00   .word 0x000200f0



=== STDERR ===




D:\a\rust\rust\build\x86_64-pc-windows-gnu\test\run-make\thumb-interworking\rmake_out\thumbv4t: file format elf32-littlearm

Disassembly of section .text:

000200e4 <thumb_globalfn>:
   200e4: 46c0          mov r8, r8
   200e6: 4770          bx lr

000200e8 <arm_globalfn>:
   200e8: e1a00000      mov r0, r0
   200ec: e12fff1e      bx lr

000200f0 <main::arm_nakedfn>:
   200f0: e1a00000      mov r0, r0
   200f4: e12fff1e      bx lr

000200f8 <main::thumb_nakedfn>:
   200f8: 46c0          mov r8, r8
   200fa: 4770          bx lr

000200fc <main::arm_normalfn>:
   200fc: e92d4800      push {r11, lr}
   20100: e1a0b00d      mov r11, sp
   20104: e1a00000      mov r0, r0
   20108: e8bd4800      pop {r11, lr}
   2010c: e12fff1e      bx lr

00020110 <main::thumb_normalfn>:
   20110: b580          push {r7, lr}
   20112: af00          add r7, sp, #0x0
   20114: 46c0          mov r8, r8
   20116: bc80          pop {r7}
   20118: bc01          pop {r0}
   2011a: 4686          mov lr, r0
   2011c: 4770          bx lr

0002011e <arm>:
   2011e: b580          push {r7, lr}
   20120: af00          add r7, sp, #0x0
   20122: f000 f81f     bl 0x20164 <__Thumbv4ABSLongBXThunk__RNvCshZ9kMv8z9bM_4main12arm_normalfn> @ imm = #0x3e
   20126: f000 f823     bl 0x20170 <__Thumbv4ABSLongBXThunk_arm_globalfn> @ imm = #0x46
   2012a: f000 f827     bl 0x2017c <__Thumbv4ABSLongBXThunk__RNvCshZ9kMv8z9bM_4main11arm_nakedfn> @ imm = #0x4e
   2012e: bc80          pop {r7}
   20130: bc01          pop {r0}
   20132: 4686          mov lr, r0
   20134: 4770          bx lr

00020136 <entry>:
   20136: b580          push {r7, lr}
   20138: af00          add r7, sp, #0x0
   2013a: f7ff fff0     bl 0x2011e <arm>           @ imm = #-0x20
   2013e: f000 f804     bl 0x2014a <thumb>         @ imm = #0x8
   20142: bc80          pop {r7}
   20144: bc01          pop {r0}
   20146: 4686          mov lr, r0
   20148: 4770          bx lr

0002014a <thumb>:
   2014a: b580          push {r7, lr}
   2014c: af00          add r7, sp, #0x0
   2014e: f7ff ffdf     bl 0x20110 <main::thumb_normalfn> @ imm = #-0x42
   20152: f7ff ffc7     bl 0x200e4 <thumb_globalfn> @ imm = #-0x72
   20156: f7ff ffcf     bl 0x200f8 <main::thumb_nakedfn> @ imm = #-0x62
   2015a: bc80          pop {r7}
   2015c: bc01          pop {r0}
   2015e: 4686          mov lr, r0
   20160: 4770          bx lr
   20162: d4d4          bmi 0x2010e <main::arm_normalfn+0x12> @ imm = #-0x58

00020164 <__Thumbv4ABSLongBXThunk__RNvCshZ9kMv8z9bM_4main12arm_normalfn>:
   20164: 4778          bx pc
   20166: e7fd          b 0x20164 <__Thumbv4ABSLongBXThunk__RNvCshZ9kMv8z9bM_4main12arm_normalfn> @ imm = #-0x6
   20168: e51ff004      ldr pc, [pc, #-0x4]         @ 0x2016c <__Thumbv4ABSLongBXThunk__RNvCshZ9kMv8z9bM_4main12arm_normalfn+0x8>
   2016c: fc 00 02 00   .word 0x000200fc

00020170 <__Thumbv4ABSLongBXThunk_arm_globalfn>:
   20170: 4778          bx pc
   20172: e7fd          b 0x20170 <__Thumbv4ABSLongBXThunk_arm_globalfn> @ imm = #-0x6
   20174: e51ff004      ldr pc, [pc, #-0x4]         @ 0x20178 <__Thumbv4ABSLongBXThunk_arm_globalfn+0x8>
   20178: e8 00 02 00   .word 0x000200e8

0002017c <__Thumbv4ABSLongBXThunk__RNvCshZ9kMv8z9bM_4main11arm_nakedfn>:
   2017c: 4778          bx pc
   2017e: e7fd          b 0x2017c <__Thumbv4ABSLongBXThunk__RNvCshZ9kMv8z9bM_4main11arm_nakedfn> @ imm = #-0x6
   20180: e51ff004      ldr pc, [pc, #-0x4]         @ 0x20184 <__Thumbv4ABSLongBXThunk__RNvCshZ9kMv8z9bM_4main11arm_nakedfn+0x8>
   20184: f0 00 02 00   .word 0x000200f0

"D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\llvm\\build\\bin\\FileCheck.exe" "main.rs" "--check-prefix=thumbv4t"
output status: `exit code: 0`
=== STDOUT ===



=== STDERR ===



"D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\stage2\\bin\\rustc.exe" "-L" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\run-make\\thumb-interworking\\rmake_out" "D:\\a\\rust\\rust\\tests/auxiliary/minicore.rs" "--crate-name" "minicore" "--crate-type" "rlib" "-o" "libminicore.rlib" "--target=armv5te-none-eabi"
output status: `exit code: 0`
=== STDOUT ===



=== STDERR ===
warning: type `c_void` should have an upper camel case name
##[warning]   --> D:\a\rust\rust\tests/auxiliary/minicore.rs:372:10
    |
372 | pub enum c_void {
    |          ^^^^^^ help: convert the identifier to upper camel case: `CVoid`
    |
    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default

warning: variant `__variant1` should have an upper camel case name
##[warning]   --> D:\a\rust\rust\tests/auxiliary/minicore.rs:373:5
    |
373 |     __variant1,
    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `Variant1`

warning: variant `__variant2` should have an upper camel case name
##[warning]   --> D:\a\rust\rust\tests/auxiliary/minicore.rs:374:5
    |
374 |     __variant2,
    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `Variant2`

warning: 3 warnings emitted




command failed at line 39
"D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\stage2\\bin\\rustc.exe" "-L" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\run-make\\thumb-interworking\\rmake_out" "main.rs" "-Cpanic=abort" "-Clink-arg=-Tlink.ld" "--extern" "minicore=D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\run-make\\thumb-interworking\\rmake_out\\libminicore.rlib" "-o" "armv5te" "--target=armv5te-none-eabi"
output status: `exit code: 1`
=== STDOUT ===



=== STDERR ===
error: linking with `rust-lld` failed: exit code: 0xc0000374
  |
  = note: "rust-lld" "-flavor" "gnu" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\run-make\\thumb-interworking\\rmake_out\\rustcb92Erl\\symbols.o" "<1 object files omitted>" "--as-needed" "-Bstatic" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\run-make\\thumb-interworking\\rmake_out/libminicore.rlib" "-L" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\run-make\\thumb-interworking\\rmake_out\\rustcb92Erl\\raw-dylibs" "-Bdynamic" "--eh-frame-hdr" "-z" "noexecstack" "-L" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\run-make\\thumb-interworking\\rmake_out" "-o" "armv5te" "--gc-sections" "-Tlink.ld"
  = note: some arguments are omitted. use `--verbose` to show all linker arguments
  = note: 

error: aborting due to 1 previous error
------------------------------------------
---

Some tests failed in compiletest suite=run-make mode=run-make host=x86_64-pc-windows-gnu target=x86_64-pc-windows-gnu
Bootstrap failed while executing `test --stage 2 --skip=compiler --skip=src`
Build completed unsuccessfully in 2:50:34
make: *** [Makefile:126: ci-mingw-x] Error 1
  local time: Thu May 21 02:21:36 CUT 2026
  network time: Thu, 21 May 2026 02:21:37 GMT
##[error]Process completed with exit code 2.
##[group]Run echo "disk usage:"
echo "disk usage:"

@rust-bors rust-bors Bot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels May 21, 2026
@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 21, 2026

💔 Test for 8fbdca6 failed: CI. Failed job:

@Zalathar
Copy link
Copy Markdown
Member

@bors try jobs=x86_64-mingw-1

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request May 21, 2026
Update LLVM to 22.1.6


try-job: x86_64-mingw-1
@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 21, 2026

☀️ Try build successful (CI)
Build commit: 038e63d (038e63dfe347d644b92fd5ae3148cc069b7a762d, parent: b954122bbe6c4a244c511a9a168c6d5438d8f58f)

@dianqk
Copy link
Copy Markdown
Member Author

dianqk commented May 21, 2026

@bors retry

@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 May 21, 2026
@rust-bors

This comment has been minimized.

@rust-bors rust-bors Bot added merged-by-bors This PR was explicitly merged by bors. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels May 21, 2026
@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 21, 2026

☀️ Test successful - CI
Approved by: cuviper
Duration: 3h 10m 23s
Pushing e96c36b to main...

@rust-bors rust-bors Bot merged commit e96c36b into rust-lang:main May 21, 2026
13 checks passed
@rustbot rustbot added this to the 1.97.0 milestone May 21, 2026
@github-actions
Copy link
Copy Markdown
Contributor

What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing 037b621 (parent) -> e96c36b (this PR)

Test differences

Show 30 test diffs

Stage 1

  • [codegen] tests/codegen-llvm/amdgpu-addrspacecast.rs#LLVM21: ignore (ignored when the LLVM version (22.1.4) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.6) is newer than majorversion 21) (J1)
  • [codegen] tests/codegen-llvm/gpu-launch-sized-workgroup-memory.rs#nvptx-post-llvm-23: ignore (ignored when the LLVM version 22.1.4 is older than 23.0.0) -> ignore (ignored when the LLVM version 22.1.6 is older than 23.0.0) (J1)
  • [codegen] tests/codegen-llvm/issues/issue-122600-ptr-discriminant-update.rs#old: ignore (ignored when the LLVM version (22.1.4) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.6) is newer than majorversion 21) (J1)
  • [codegen] tests/codegen-llvm/issues/issue-37945.rs#new: ignore (ignored when the LLVM version 22.1.4 is older than 23.0.0) -> ignore (ignored when the LLVM version 22.1.6 is older than 23.0.0) (J1)
  • [codegen] tests/codegen-llvm/issues/matches-logical-or-141497.rs: ignore (ignored when the LLVM version 22.1.4 is older than 23.0.0) -> ignore (ignored when the LLVM version 22.1.6 is older than 23.0.0) (J1)
  • [codegen] tests/codegen-llvm/scalable-vectors/debuginfo.rs#PRE-LLVM-22: ignore (ignored when the LLVM version (22.1.4) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.6) is newer than majorversion 21) (J1)
  • [codegen] tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-gather.rs#LLVM21: ignore (ignored when the LLVM version (22.1.4) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.6) is newer than majorversion 21) (J1)
  • [codegen] tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-masked-load.rs#LLVM21: ignore (ignored when the LLVM version (22.1.4) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.6) is newer than majorversion 21) (J1)
  • [codegen] tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-masked-store.rs#LLVM21: ignore (ignored when the LLVM version (22.1.4) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.6) is newer than majorversion 21) (J1)
  • [codegen] tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-scatter.rs#LLVM21: ignore (ignored when the LLVM version (22.1.4) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.6) is newer than majorversion 21) (J1)
  • [codegen] tests/codegen-llvm/vec_pop_push_noop.rs#old: ignore (ignored when the LLVM version (22.1.4) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.6) is newer than majorversion 21) (J1)
  • [codegen] tests/codegen-llvm/vecdeque_pop_push.rs#old: ignore (ignored when the LLVM version (22.1.4) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.6) is newer than majorversion 21) (J1)

Stage 2

  • [codegen] tests/codegen-llvm/amdgpu-addrspacecast.rs#LLVM21: ignore (ignored when the LLVM version (22.1.4) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.6) is newer than majorversion 21) (J0)
  • [codegen] tests/codegen-llvm/gpu-launch-sized-workgroup-memory.rs#nvptx-post-llvm-23: ignore (ignored when the LLVM version 22.1.4 is older than 23.0.0) -> ignore (ignored when the LLVM version 22.1.6 is older than 23.0.0) (J0)
  • [codegen] tests/codegen-llvm/issues/issue-122600-ptr-discriminant-update.rs#old: ignore (ignored when the LLVM version (22.1.4) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.6) is newer than majorversion 21) (J0)
  • [codegen] tests/codegen-llvm/issues/issue-37945.rs#new: ignore (ignored when the LLVM version 22.1.4 is older than 23.0.0) -> ignore (ignored when the LLVM version 22.1.6 is older than 23.0.0) (J0)
  • [codegen] tests/codegen-llvm/issues/matches-logical-or-141497.rs: ignore (ignored when the LLVM version 22.1.4 is older than 23.0.0) -> ignore (ignored when the LLVM version 22.1.6 is older than 23.0.0) (J0)
  • [codegen] tests/codegen-llvm/scalable-vectors/debuginfo.rs#PRE-LLVM-22: ignore (ignored when the LLVM version (22.1.4) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.6) is newer than majorversion 21) (J0)
  • [codegen] tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-gather.rs#LLVM21: ignore (ignored when the LLVM version (22.1.4) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.6) is newer than majorversion 21) (J0)
  • [codegen] tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-masked-load.rs#LLVM21: ignore (ignored when the LLVM version (22.1.4) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.6) is newer than majorversion 21) (J0)
  • [codegen] tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-masked-store.rs#LLVM21: ignore (ignored when the LLVM version (22.1.4) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.6) is newer than majorversion 21) (J0)
  • [codegen] tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-scatter.rs#LLVM21: ignore (ignored when the LLVM version (22.1.4) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.6) is newer than majorversion 21) (J0)
  • [codegen] tests/codegen-llvm/vec_pop_push_noop.rs#old: ignore (ignored when the LLVM version (22.1.4) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.6) is newer than majorversion 21) (J0)
  • [codegen] tests/codegen-llvm/vecdeque_pop_push.rs#old: ignore (ignored when the LLVM version (22.1.4) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.6) is newer than majorversion 21) (J0)
  • [run-make] tests/run-make/compressed-debuginfo-zstd: pass -> ignore (ignored if LLVM wasn't build with zstd for ELF section compression or LLVM is not the default codegen backend) (J2)
  • [codegen] tests/codegen-llvm/array-equality.rs#llvm-next: ignore (ignored when the LLVM version 22.1.4 is older than 23.0.0) -> ignore (ignored when the LLVM version 22.1.6 is older than 23.0.0) (J3)

Additionally, 4 doctest diffs were found. These are ignored, as they are noisy.

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard e96c36b6f76833388c519561d145492d2c08db4e --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. pr-check-1: 31m 24s -> 42m 29s (+35.3%)
  2. x86_64-msvc-ext2: 1h 26m -> 1h 56m (+35.2%)
  3. optional-x86_64-gnu-parallel-frontend: 2h 6m -> 2h 48m (+33.0%)
  4. x86_64-gnu-tools: 1h 2m -> 1h 19m (+26.9%)
  5. dist-loongarch64-musl: 1h 27m -> 1h 49m (+25.1%)
  6. x86_64-rust-for-linux: 52m 57s -> 1h 5m (+23.2%)
  7. dist-ohos-x86_64: 1h 4m -> 1h 19m (+22.1%)
  8. x86_64-msvc-ext1: 1h 42m -> 1h 24m (-17.3%)
  9. dist-x86_64-musl: 2h 15m -> 1h 51m (-17.2%)
  10. aarch64-gnu-llvm-21-2: 41m 3s -> 36m 11s (-11.9%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer
Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (e96c36b): comparison URL.

Overall result: ✅ improvements - no action needed

@rustbot label: -perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.7% [-0.7%, -0.7%] 1
Improvements ✅
(secondary)
-0.4% [-0.4%, -0.4%] 1
All ❌✅ (primary) -0.7% [-0.7%, -0.7%] 1

Max RSS (memory usage)

Results (primary -0.3%, secondary -1.5%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
2.7% [2.7%, 2.7%] 1
Regressions ❌
(secondary)
0.7% [0.7%, 0.7%] 1
Improvements ✅
(primary)
-3.3% [-3.3%, -3.3%] 1
Improvements ✅
(secondary)
-2.1% [-2.3%, -1.7%] 4
All ❌✅ (primary) -0.3% [-3.3%, 2.7%] 2

Cycles

Results (secondary 4.5%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
4.5% [2.8%, 7.9%] 4
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Binary size

Results (primary 0.1%, secondary 0.1%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
0.1% [0.0%, 0.1%] 79
Regressions ❌
(secondary)
0.1% [0.0%, 0.1%] 25
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.1% [0.0%, 0.1%] 79

Bootstrap: 511.013s -> 530.554s (3.82%)
Artifact size: 400.50 MiB -> 400.60 MiB (0.02%)

@dianqk dianqk deleted the update-llvm branch May 22, 2026 03:32
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. merged-by-bors This PR was explicitly merged by bors.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

mipsel-sony-psx - potential load delay slot issue

6 participants