[llvm] [AArch64] Use a load instead of a store for inline stack probes (PR #170855)

via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 30 07:01:28 PST 2025


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

* 128978 tests passed
* 2842 tests skipped
* 2 tests failed

## Failed Tests
(click on a test name to see its output)

### LLVM
<details>
<summary>LLVM.CodeGen/AArch64/sme-agnostic-za.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mattr=+sme2 < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\sme-agnostic-za.ll -aarch64-new-sme-abi=false | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\sme-agnostic-za.ll --check-prefixes=CHECK-COMMON,CHECK-SDAG
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mattr=+sme2 -aarch64-new-sme-abi=false
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\sme-agnostic-za.ll' --check-prefixes=CHECK-COMMON,CHECK-SDAG
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\sme-agnostic-za.ll:368:20: error: CHECK-SDAG-NEXT: expected string not found in input
# | ; CHECK-SDAG-NEXT: str xzr, [sp]
# |                    ^
# | <stdin>:221:43: note: scanning from here
# | // %bb.2: // in Loop: Header=BB7_1 Depth=1
# |                                           ^
# | <stdin>:222:2: note: possible intended match here
# |  ldr xzr, [sp]
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\sme-agnostic-za.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           216:  sub x19, x8, x0 
# |           217: .LBB7_1: // =>This Inner Loop Header: Depth=1 
# |           218:  sub sp, sp, #16, lsl #12 // =65536 
# |           219:  cmp sp, x19 
# |           220:  b.le .LBB7_3 
# |           221: // %bb.2: // in Loop: Header=BB7_1 Depth=1 
# | next:368'0                                               X error: no match found
# |           222:  ldr xzr, [sp] 
# | next:368'0     ~~~~~~~~~~~~~~~
# | next:368'1      ?              possible intended match
# |           223:  b .LBB7_1 
# | next:368'0     ~~~~~~~~~~~
# |           224: .LBB7_3: 
# | next:368'0     ~~~~~~~~~
# |           225:  mov sp, x19 
# | next:368'0     ~~~~~~~~~~~~~
# |           226:  ldr xzr, [sp] 
# | next:368'0     ~~~~~~~~~~~~~~~
# |           227:  mov x0, x19 
# | next:368'0     ~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/AArch64/sme-za-lazy-save-buffer.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=aarch64-linux-gnu -mattr=+sme2 -aarch64-new-sme-abi=false < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\sme-za-lazy-save-buffer.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\sme-za-lazy-save-buffer.ll --check-prefixes=CHECK-COMMON,CHECK-SDAG
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=aarch64-linux-gnu -mattr=+sme2 -aarch64-new-sme-abi=false
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\sme-za-lazy-save-buffer.ll' --check-prefixes=CHECK-COMMON,CHECK-SDAG
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\sme-za-lazy-save-buffer.ll:71:20: error: CHECK-SDAG-NEXT: expected string not found in input
# | ; CHECK-SDAG-NEXT: str xzr, [sp, #-16]!
# |                    ^
# | <stdin>:65:13: note: scanning from here
# |  mov x29, sp
# |             ^
# | <stdin>:66:2: note: possible intended match here
# |  ldr xzr, [sp, #-16]!
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\sme-za-lazy-save-buffer.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |           60:  .type multi_bb_stpidr2_save_required_stackprobe, at function 
# |           61: multi_bb_stpidr2_save_required_stackprobe: // @multi_bb_stpidr2_save_required_stackprobe 
# |           62:  .cfi_startproc 
# |           63: // %bb.0: 
# |           64:  stp x29, x30, [sp, #-16]! // 16-byte Folded Spill 
# |           65:  mov x29, sp 
# | next:71'0                 X error: no match found
# |           66:  ldr xzr, [sp, #-16]! 
# | next:71'0     ~~~~~~~~~~~~~~~~~~~~~~
# | next:71'1      ?                     possible intended match
# |           67:  .cfi_def_cfa w29, 16 
# | next:71'0     ~~~~~~~~~~~~~~~~~~~~~~
# |           68:  .cfi_offset w30, -8 
# | next:71'0     ~~~~~~~~~~~~~~~~~~~~~
# |           69:  .cfi_offset w29, -16 
# | next:71'0     ~~~~~~~~~~~~~~~~~~~~~~
# |           70:  rdsvl x8, #1 
# | next:71'0     ~~~~~~~~~~~~~~
# |           71:  mov x9, sp 
# | next:71'0     ~~~~~~~~~~~~
# |            .
# |            .
# |            .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

https://github.com/llvm/llvm-project/pull/170855


More information about the llvm-commits mailing list