[OpenMP][AArch64] Fix frame pointer save in microtask (#165313)

When OMPT is enabled, the stack pointer was not saved to frame pointer
register immediately after storing the frame pointer to the stack.
Therefore the frame pointers did not constitute a proper chain.
Fixes [#163352](https://github.com/llvm/llvm-project/issues/163352)
This commit is contained in:
Dominik Wójt (Cognizant) 2025-11-03 08:34:54 +01:00 committed by GitHub
parent 912cc5f098
commit 77c1db47ef
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1358,10 +1358,10 @@ __tid = 8
PROC __kmp_invoke_microtask
PACBTI_C
stp x29, x30, [sp, #-16]!
# if OMPT_SUPPORT
stp x19, x20, [sp, #-16]!
# endif
stp x29, x30, [sp, #-16]!
mov x29, sp
orr w9, wzr, #1
@ -1415,11 +1415,11 @@ KMP_LABEL(kmp_1):
blr x8
orr w0, wzr, #1
mov sp, x29
ldp x29, x30, [sp], #16
# if OMPT_SUPPORT
str xzr, [x19]
ldp x19, x20, [sp], #16
# endif
ldp x29, x30, [sp], #16
PACBTI_RET
ret