[Patch] Fortran: Fixes for OpenMP loop-iter privatization (PRs 95109 + 94690)

Jakub Jelinek jakub@redhat.com
Wed Sep 9 06:54:07 GMT 2020


On Tue, Sep 08, 2020 at 12:22:57PM +0200, Tobias Burnus wrote:
> gcc/fortran/ChangeLog:
> 
> 	PR fortran/95109
> 	PR fortran/94690
> 	* resolve.c (gfc_resolve_code): Also call
> 	gfc_resolve_omp_parallel_blocks for 'distribute parallel do (simd)'.
> 	* openmp.c (gfc_resolve_omp_parallel_blocks): Handle it.
> 	(gfc_resolve_do_iterator): Remove special code for SIMD, which is
> 	not needed.
> 	* trans-openmp.c (gfc_trans_omp_target): For TARGET_PARALLEL_DO_SIMD,
> 	call simd not do processing function.
> 
> gcc/testsuite/ChangeLog:
> 
> 	PR fortran/95109
> 	PR fortran/94690
> 	* gfortran.dg/gomp/combined-if.f90: Update scan-tree-dump-times for
> 	'omp simd.*if'.
> 	* gfortran.dg/gomp/openmp-simd-5.f90: New test.

LGTM, thanks.
Note for OpenMP 5.0 we'll need also
EXEC_OMP_{,PARALLEL_}MASTER_TASKLOOP{,_SIMD},
EXEC_OMP_PARALLEL_{LOOP,MASTER}
EXEC_OMP_TARGET_{PARALLEL,TEAMS}_LOOP
EXEC_OMP_TEAMS_LOOP
handling for the combined constructs in these.

	Jakub



More information about the Gcc-patches mailing list