On Sun, Jul 10, 2011 at 09:36:15PM +0900, Sho Nakatani wrote: > 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.
Why? If your "GOMP_taskexit" is the last thing the *._omp_fn.[0-9] task body will do, what is the difference between that and just the point when the task body function returns? If you want to do something after GOMP_taskexit, you should explain what and why. Jakub