Skip to content

Commit 77c1db4

Browse files
[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](#163352)
1 parent 912cc5f commit 77c1db4

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

openmp/runtime/src/z_Linux_asm.S

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1358,10 +1358,10 @@ __tid = 8
13581358
PROC __kmp_invoke_microtask
13591359
PACBTI_C
13601360

1361-
stp x29, x30, [sp, #-16]!
13621361
# if OMPT_SUPPORT
13631362
stp x19, x20, [sp, #-16]!
13641363
# endif
1364+
stp x29, x30, [sp, #-16]!
13651365
mov x29, sp
13661366

13671367
orr w9, wzr, #1
@@ -1415,11 +1415,11 @@ KMP_LABEL(kmp_1):
14151415
blr x8
14161416
orr w0, wzr, #1
14171417
mov sp, x29
1418+
ldp x29, x30, [sp], #16
14181419
# if OMPT_SUPPORT
14191420
str xzr, [x19]
14201421
ldp x19, x20, [sp], #16
14211422
# endif
1422-
ldp x29, x30, [sp], #16
14231423
PACBTI_RET
14241424
ret
14251425

0 commit comments

Comments
 (0)