This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Advice for changing OpenMP translation


Hello,

I am trying to improve OpenMP task implementation.
At first I thought I just have to modify ABIs (such as GOMP_task) internal
but I realised I have to change the translation of OpenMP.

My question is how to change the translation of OpenMP.
(I guess I should edit gcc/omp-low.c:create_omp_child_function() but how?)

I checked the current translation by
  $ gcc -O2 -fopenmp -fdump-tree-ompexp omp_fib.c
and realised a problem that limits flexibility of internal implementation.

I want "GOMP_taskexit" ABI which is called just before functions
bound to tasks (*._omp_fn.[0-9]) ends.
Here a task finishes its work.
My task scheduling implementation needs GOMP_taskexit ABI.
For example, when the last child task of a parent task finishes its
work, it tells to the parent that all of children finished their work
so the parent should resume its work.

Tell me how to add "GOMP_taskexit" ABI.

Sho Nakatani


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]