[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