[Openmp-commits] [PATCH] D111789: [OpenMP][OMPT] ompt_parallel_invoker_program used when clang generates the code of parallel if(0)-serialized regions

Vladimir Inđić via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Tue Nov 30 03:25:08 PST 2021


vladaindjic updated this revision to Diff 390654.
vladaindjic added a comment.

As @protze.joachim suggested, __kmpc_end_serialized_parallel is not called from within the runtime code on host.
Instead, __kmp_end_serialized_parallel function has been created by copying the body 
of __kmpc_ counterpart. Its parameters list has been extended with the “invoker” parameter 
responsible to distinct whether the parallel region’s wrapper function is called 
by the runtime code or the OpenMP program directly. The later one corresponds to the 
parallel construct that contains if(0) clause compiled with clang.

The “foo” function is introduced to improve the tests clarification, while the “burn_CPU” has been removed.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D111789/new/

https://reviews.llvm.org/D111789

Files:
  openmp/runtime/src/kmp.h
  openmp/runtime/src/kmp_csupport.cpp
  openmp/runtime/src/kmp_runtime.cpp
  openmp/runtime/src/ompt-internal.h
  openmp/runtime/test/ompt/parallel/invoker.c
  openmp/runtime/test/ompt/parallel/invoker_if0_clang.c
  openmp/runtime/test/ompt/parallel/invoker_if0_gcc.c
  openmp/runtime/test/ompt/parallel/invoker_serialized.c

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D111789.390654.patch
Type: text/x-patch
Size: 22450 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20211130/00b724a0/attachment-0001.bin>


More information about the Openmp-commits mailing list