[llvm] Autogenerate llvm/test/CodeGen/AArch64/wineh-pac.ll (PR #170925)

via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 5 13:21:36 PST 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-backend-aarch64

Author: Eli Friedman (efriedma-quic)

<details>
<summary>Changes</summary>

Using custom CHECK lines doesn't really help here.

---
Full diff: https://github.com/llvm/llvm-project/pull/170925.diff


1 Files Affected:

- (modified) llvm/test/CodeGen/AArch64/wineh-pac.ll (+52-50) 


``````````diff
diff --git a/llvm/test/CodeGen/AArch64/wineh-pac.ll b/llvm/test/CodeGen/AArch64/wineh-pac.ll
index 797dd10d7e49d..4a95b159ff859 100644
--- a/llvm/test/CodeGen/AArch64/wineh-pac.ll
+++ b/llvm/test/CodeGen/AArch64/wineh-pac.ll
@@ -1,63 +1,65 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6
 ; RUN: llc < %s -mtriple=aarch64-windows | FileCheck %s
 
 define dso_local i32 @func(ptr %g, i32 %a) "sign-return-address"="non-leaf" "sign-return-address-key"="b_key" {
+; CHECK-LABEL: func:
+; CHECK:       .seh_proc func
+; CHECK-NEXT:  // %bb.0: // %entry
+; CHECK-NEXT:    hint #27
+; CHECK-NEXT:    .seh_pac_sign_lr
+; CHECK-NEXT:    str x19, [sp, #-16]! // 8-byte Folded Spill
+; CHECK-NEXT:    .seh_save_reg_x x19, 16
+; CHECK-NEXT:    str x30, [sp, #8] // 8-byte Spill
+; CHECK-NEXT:    .seh_save_reg x30, 8
+; CHECK-NEXT:    .seh_endprologue
+; CHECK-NEXT:    mov w19, w1
+; CHECK-NEXT:    blr x0
+; CHECK-NEXT:    mov w0, w19
+; CHECK-NEXT:    .seh_startepilogue
+; CHECK-NEXT:    ldr x30, [sp, #8] // 8-byte Reload
+; CHECK-NEXT:    .seh_save_reg x30, 8
+; CHECK-NEXT:    ldr x19, [sp], #16 // 8-byte Folded Reload
+; CHECK-NEXT:    .seh_save_reg_x x19, 16
+; CHECK-NEXT:    hint #31
+; CHECK-NEXT:    .seh_pac_sign_lr
+; CHECK-NEXT:    .seh_endepilogue
+; CHECK-NEXT:    ret
+; CHECK-NEXT:    .seh_endfunclet
+; CHECK-NEXT:    .seh_endproc
 entry:
   tail call void %g() #2
   ret i32 %a
 }
 
+;; For func2, check that the potentially folded autibsp+ret -> retab
+;; is handled correctly - currently we inhibit producing retab here.
+
 define dso_local i32 @func2(ptr %g, i32 %a) "sign-return-address"="non-leaf" "sign-return-address-key"="b_key" "target-features"="+v8.3a" {
+; CHECK-LABEL: func2:
+; CHECK:       .seh_proc func2
+; CHECK-NEXT:  // %bb.0: // %entry
+; CHECK-NEXT:    pacibsp
+; CHECK-NEXT:    .seh_pac_sign_lr
+; CHECK-NEXT:    str x19, [sp, #-16]! // 8-byte Folded Spill
+; CHECK-NEXT:    .seh_save_reg_x x19, 16
+; CHECK-NEXT:    str x30, [sp, #8] // 8-byte Spill
+; CHECK-NEXT:    .seh_save_reg x30, 8
+; CHECK-NEXT:    .seh_endprologue
+; CHECK-NEXT:    mov w19, w1
+; CHECK-NEXT:    blr x0
+; CHECK-NEXT:    mov w0, w19
+; CHECK-NEXT:    .seh_startepilogue
+; CHECK-NEXT:    ldr x30, [sp, #8] // 8-byte Reload
+; CHECK-NEXT:    .seh_save_reg x30, 8
+; CHECK-NEXT:    ldr x19, [sp], #16 // 8-byte Folded Reload
+; CHECK-NEXT:    .seh_save_reg_x x19, 16
+; CHECK-NEXT:    autibsp
+; CHECK-NEXT:    .seh_pac_sign_lr
+; CHECK-NEXT:    .seh_endepilogue
+; CHECK-NEXT:    ret
+; CHECK-NEXT:    .seh_endfunclet
+; CHECK-NEXT:    .seh_endproc
 entry:
   tail call void %g() #2
   ret i32 %a
 }
-
-
-; CHECK-LABEL: func:
-; CHECK-NEXT: .seh_proc func
-; CHECK-NEXT: // %bb.0:
-; CHECK-NEXT: hint #27
-; CHECK-NEXT: .seh_pac_sign_lr
-; CHECK-NEXT: str x19, [sp, #-16]!
-; CHECK-NEXT: .seh_save_reg_x x19, 16
-; CHECK-NEXT: str x30, [sp, #8]
-; CHECK-NEXT: .seh_save_reg x30, 8
-; CHECK-NEXT: .seh_endprologue
-
-; CHECK:      .seh_startepilogue
-; CHECK-NEXT: ldr x30, [sp, #8]
-; CHECK-NEXT: .seh_save_reg x30, 8
-; CHECK-NEXT: ldr x19, [sp], #16
-; CHECK-NEXT: .seh_save_reg_x x19, 16
-; CHECK-NEXT: hint #31
-; CHECK-NEXT: .seh_pac_sign_lr
-; CHECK-NEXT: .seh_endepilogue
-; CHECK-NEXT: ret
-; CHECK-NEXT: .seh_endfunclet
-; CHECK-NEXT: .seh_endproc
-
-;; For func2, check that the potentially folded autibsp+ret -> retab
-;; is handled correctly - currently we inhibit producing retab here.
-
-; CHECK-LABEL: func2:
-; CHECK-NEXT: .seh_proc func2
-; CHECK-NEXT: // %bb.0:
-; CHECK-NEXT: pacibsp
-; CHECK-NEXT: .seh_pac_sign_lr
-; CHECK-NEXT: str x19, [sp, #-16]!
-; CHECK-NEXT: .seh_save_reg_x x19, 16
-; CHECK-NEXT: str x30, [sp, #8]
-; CHECK-NEXT: .seh_save_reg x30, 8
-; CHECK-NEXT: .seh_endprologue
-
-; CHECK:      .seh_startepilogue
-; CHECK-NEXT: ldr x30, [sp, #8]
-; CHECK-NEXT: .seh_save_reg x30, 8
-; CHECK-NEXT: ldr x19, [sp], #16
-; CHECK-NEXT: .seh_save_reg_x x19, 16
-; CHECK-NEXT: autibsp
-; CHECK-NEXT: .seh_pac_sign_lr
-; CHECK-NEXT: .seh_endepilogue
-; CHECK-NEXT: ret
-; CHECK-NEXT: .seh_endfunclet
-; CHECK-NEXT: .seh_endproc

``````````

</details>


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


More information about the llvm-commits mailing list