Ping (adding Thomas to CC as OpenACC maintainer)

On 2018/8/30 9:27 PM, Chung-Lin Tang wrote:
Hi, this patch properly handles OpenACC 'wait' clauses without arguments, making it an 
equivalent of "wait all".
(current trunk basically discards and ignores such argument-less wait clauses)  
This adds additional handling in
the pack/unpack of the wait argument across the compiler/libgomp interface, but 
is done in a matter that
doesn't affect binary compatibility.

This patch was part of the OpenACC async re-work that was done on the gomp4 
branch (later merged to OG7/OG8), see [1].
I'm separating this part out and submitting it first because it's logically 
independent.

[1] https://gcc.gnu.org/ml/gcc-patches/2017-06/msg01842.html

Re-tested with offloading to ensure no regressions, is this okay for trunk?

Thanks,
Chung-Lin

2018-08-30  Chung-Lin Tang  <clt...@codesourcery.com>

         gcc/c/
         * c-parser.c (c_parser_oacc_clause_wait): Add representation of wait
         clause without argument as 'wait (GOMP_ASYNC_NOVAL)', adjust comments.

         gcc/cp/
         * parser.c (cp_parser_oacc_clause_wait): Add representation of wait
         clause without argument as 'wait (GOMP_ASYNC_NOVAL)', adjust comments.

         gcc/fortran/
         * trans-openmp.c (gfc_trans_omp_clauses_1): Add representation of wait
         clause without argument as 'wait (GOMP_ASYNC_NOVAL)'.

         gcc/
         * omp-low.c (expand_omp_target): Add middle-end support for handling
         OMP_CLAUSE_WAIT clause with a GOMP_ASYNC_NOVAL(-1) as the argument.

         include/
         * gomp-constants.h (GOMP_LAUNCH_OP_MASK): Define.
         (GOMP_LAUNCH_PACK): Add bitwise-and of GOMP_LAUNCH_OP_MASK.
         (GOMP_LAUNCH_OP): Likewise.

         libgomp/
         * oacc-parallel.c (GOACC_parallel_keyed): Interpret launch op as
         signed 16-bit field, adjust num_waits handling.
         (GOACC_enter_exit_data): Adjust num_waits handling.
         (GOACC_update): Adjust num_waits handling.

Reply via email to