Paul-Antoine Arras:
GOMP_scope_start is emitted only for task reductions without -fopenmp-ompt
(unchanged). With -fopenmp-ompt, both GOMP_scope_start_with_end and
GOMP_scope_end are emitted, whether a task reduction is specified or not.
LGTM. Thanks!
gcc/ChangeLog:

        * omp-builtins.def (BUILT_IN_GOMP_SCOPE_START_WITH_END): New
        builtin.
        (BUILT_IN_GOMP_SCOPE_END): Likewise.
        * omp-low.cc (lower_omp_scope): Emit calls to
        GOMP_scope_start_with_end and GOMP_scope_end when -fopenmp-ompt.

libgomp/ChangeLog:

        * libgomp.map: Add GOMP_scope_start_with_end and GOMP_scope_end.
        * libgomp_g.h (GOMP_scope_start_with_end): Declare.
        (GOMP_scope_end): Likewise.
        * scope.c (GOMP_scope_start_with_end): New function.
        (GOMP_scope_end): New stub.

gcc/testsuite/ChangeLog:

        * c-c++-common/gomp/scope-7.c: New test.
        * c-c++-common/gomp/scope-8.c: New test.

Tobias

Reply via email to