This is the mail archive of the
mailing list for the GCC project.
Advice for changing OpenMP translation
- From: Sho Nakatani <dev dot laysakura at gmail dot com>
- To: Jakub Jelinek <jakub at redhat dot com>, gcc at gcc dot gnu dot org
- Date: Sun, 10 Jul 2011 21:36:15 +0900
- Subject: Advice for changing OpenMP translation
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.