This is an archive of the discontinued LLVM Phabricator instance.

[OMPT] Cleanup reset of exit_frame pointer
ClosedPublic

Authored by Hahnfeld on Jul 9 2019, 12:27 PM.

Details

Summary

This is done at call-site and does not need to be handled in
__kmp_invoke_microtask. It was already absent from the x86
and x86_64 assembly, this patch removes it from the generic
implementation in z_Linux_util.cpp and adds documentation for
AArch64 and PPC64 that it's actually not needed. I can't test
on these architectures, so I don't want to change the code just
because it looks right :)

While at it, rename some variables for consistency and add a
check in test/ompt/parallel/normal.c to check that the pointer
was reset before entering the barrier.

Diff Detail

Event Timeline

Hahnfeld created this revision.Jul 9 2019, 12:27 PM
Hahnfeld marked an inline comment as done.Jul 9 2019, 12:29 PM

I also tried to test that the exit_frame is reset for serialized regions, but we don't have an implicit barrier then :-(

openmp/runtime/src/kmp_runtime.cpp
1828

I think this was actually wrong before, but I didn't manage to write a test for this code path.

hbae accepted this revision.Jul 22 2019, 11:15 AM

Looks good to me.

This revision is now accepted and ready to land.Jul 22 2019, 11:15 AM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptJul 22 2019, 11:48 AM