[Openmp-commits] [openmp] 77c1db4 - [OpenMP][AArch64] Fix frame pointer save in microtask (#165313)

via Openmp-commits openmp-commits at lists.llvm.org
Sun Nov 2 23:34:58 PST 2025


Author: Dominik Wójt (Cognizant)
Date: 2025-11-03T08:34:54+01:00
New Revision: 77c1db47efb3cbc37b59b4be8eaa9ebaecedf360

URL: https://github.com/llvm/llvm-project/commit/77c1db47efb3cbc37b59b4be8eaa9ebaecedf360
DIFF: https://github.com/llvm/llvm-project/commit/77c1db47efb3cbc37b59b4be8eaa9ebaecedf360.diff

LOG: [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)

Added: 
    

Modified: 
    openmp/runtime/src/z_Linux_asm.S

Removed: 
    


################################################################################
diff  --git a/openmp/runtime/src/z_Linux_asm.S b/openmp/runtime/src/z_Linux_asm.S
index 684c7e2816442..12fea67e000e8 100644
--- a/openmp/runtime/src/z_Linux_asm.S
+++ b/openmp/runtime/src/z_Linux_asm.S
@@ -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
 


        


More information about the Openmp-commits mailing list