Paul-Antoine Arras wrote:
The GOMP_*_static_worksharing_dispatch builtins took no arguments and the
OMPT dispatch callback was missing information about the loop. Pass the loop's
iteration count, start, step, chunk size, and the thread's starting
iteration instead.

LGTM – Thanks for the patch!

Tobias

gcc/ChangeLog:

        * builtin-types.def 
(BT_FN_VOID_ULONGLONG_ULONGLONG_ULONGLONG_ULONGLONG_ULONGLONG): New.
        * omp-builtins.def (BUILT_IN_GOMP_LOOP_STATIC_WORKSHARING_DISPATCH): Use
        BT_FN_VOID_ULONGLONG_ULONGLONG_ULONGLONG_ULONGLONG_ULONGLONG.
        (BUILT_IN_GOMP_DISTRIBUTE_STATIC_WORKSHARING_DISPATCH): Likewise.
        * omp-expand.cc (expand_omp_for_static_nochunk): Pass niter, start,
        incr, chunk size, and istart to the dispatch call.
        (expand_omp_for_static_chunk): Likewise.

gcc/fortran/ChangeLog:

        * types.def 
(BT_FN_VOID_ULONGLONG_ULONGLONG_ULONGLONG_ULONGLONG_ULONGLONG): New.

libgomp/ChangeLog:

        * config/gcn/teams.c (GOMP_distribute_static_worksharing_dispatch): Add
        niter, start, incr, chunk_size, and istart parameters (unused).
        * config/nvptx/teams.c (GOMP_distribute_static_worksharing_dispatch):
        Likewise.
        * libgomp_g.h (GOMP_loop_static_worksharing_dispatch): Update prototype.
        (GOMP_distribute_static_worksharing_dispatch): Likewise.
        * loop.c (GOMP_loop_static_worksharing_dispatch): Add niter, start,
        incr, chunk_size, and istart parameters (unused).
        * teams.c (GOMP_distribute_static_worksharing_dispatch): Likewise.
        * testsuite/libgomp.c-c++-common/for-static-3.c: Update scan pattern
        to match new arguments.

gcc/testsuite/ChangeLog:

        * c-c++-common/gomp/for-static-3.c: Update scan pattern to match new
        arguments.

Reply via email to