gcc/libgomp
Jakub Jelinek 2f6bb511d1 tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__SCANTEMP_ clause.
* tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__SCANTEMP_
	clause.
	* tree.h (OMP_CLAUSE_DECL): Use OMP_CLAUSE__SCANTEMP_ instead of
	OMP_CLAUSE__CONDTEMP_ as range's upper bound.
	(OMP_CLAUSE__SCANTEMP__ALLOC, OMP_CLAUSE__SCANTEMP__CONTROL): Define.
	* tree.c (omp_clause_num_ops, omp_clause_code_name): Add
	OMP_CLAUSE__SCANTEMP_ entry.
	(walk_tree_1): Handle OMP_CLAUSE__SCANTEMP_.
	* tree-pretty-print.c (dump_omp_clause): Likewise.
	* tree-nested.c (convert_nonlocal_omp_clauses,
	convert_local_omp_clauses): Likewise.
	* omp-general.h (struct omp_for_data): Add have_scantemp and
	have_nonctrl_scantemp members.
	* omp-general.c (omp_extract_for_data): Initialize them.
	* omp-low.c (struct omp_context): Add scan_exclusive member.
	(scan_omp_1_stmt): Don't unnecessarily mask gimple_omp_for_kind
	result again with GF_OMP_FOR_KIND_MASK.  Initialize also
	ctx->scan_exclusive.
	(lower_rec_simd_input_clauses): Use ctx->scan_exclusive instead
	of !ctx->scan_inclusive.
	(lower_rec_input_clauses): Simplify gimplification of dtors using
	gimplify_and_add.  For non-is_simd test OMP_CLAUSE_REDUCTION_INSCAN
	rather than rvarp.  Handle OMP_CLAUSE_REDUCTION_INSCAN in worksharing
	loops.  Don't add barrier for reduction_omp_orig_ref if
	ctx->scan_??xclusive.
	(lower_reduction_clauses): Don't do anything for ctx->scan_??xclusive.
	(lower_omp_scan): Use ctx->scan_exclusive instead
	of !ctx->scan_inclusive.  Handle worksharing loops with inscan
	reductions.  Use new_vard != new_var instead of repeated
	omp_is_reference calls.
	(omp_find_scan, lower_omp_for_scan): New functions.
	(lower_omp_for): Call lower_omp_for_scan for worksharing loops with
	inscan reductions.
	* omp-expand.c (expand_omp_scantemp_alloc): New function.
	(expand_omp_for_static_nochunk): Handle fd->have_nonctrl_scantemp
	and fd->have_scantemp.

	* c-c++-common/gomp/scan-3.c (f1): Don't expect a sorry message.
	* c-c++-common/gomp/scan-5.c (foo): Likewise.

	* testsuite/libgomp.c++/scan-1.C: New test.
	* testsuite/libgomp.c++/scan-2.C: New test.
	* testsuite/libgomp.c++/scan-3.C: New test.
	* testsuite/libgomp.c++/scan-4.C: New test.
	* testsuite/libgomp.c++/scan-5.C: New test.
	* testsuite/libgomp.c++/scan-6.C: New test.
	* testsuite/libgomp.c++/scan-7.C: New test.
	* testsuite/libgomp.c++/scan-8.C: New test.
	* testsuite/libgomp.c/scan-1.c: New test.
	* testsuite/libgomp.c/scan-2.c: New test.
	* testsuite/libgomp.c/scan-3.c: New test.
	* testsuite/libgomp.c/scan-4.c: New test.
	* testsuite/libgomp.c/scan-5.c: New test.
	* testsuite/libgomp.c/scan-6.c: New test.
	* testsuite/libgomp.c/scan-7.c: New test.
	* testsuite/libgomp.c/scan-8.c: New test.

From-SVN: r272958
2019-07-03 07:03:58 +02:00
..
config
plugin re PR libgomp/90585 (libgomp hsa plugin ftbfs in the x32 multilib variant) 2019-05-24 10:59:37 +02:00
testsuite tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__SCANTEMP_ clause. 2019-07-03 07:03:58 +02:00
acc_prof.h
acinclude.m4
aclocal.m4 Generalize getconf _NPROCESSORS_ONLN 2019-05-30 09:06:48 +00:00
affinity-fmt.c
affinity.c
alloc.c re PR libgomp/90527 (alloc.c:72:7: error: implicit declaration of function ‘posix_memalign’) 2019-05-20 23:29:17 +02:00
atomic.c
barrier.c
ChangeLog tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__SCANTEMP_ clause. 2019-07-03 07:03:58 +02:00
ChangeLog.graphite
config.h.in
configure Generalize getconf _NPROCESSORS_ONLN 2019-05-30 09:06:48 +00:00
configure.ac Generalize getconf _NPROCESSORS_ONLN 2019-05-30 09:06:48 +00:00
configure.tgt
critical.c
env.c
error.c
fortran.c
hashtab.h
icv-device.c
icv.c
iter_ull.c
iter.c
libgomp_f.h.in
libgomp_g.h
libgomp-plugin.c
libgomp-plugin.h
libgomp.h
libgomp.map
libgomp.spec.in
libgomp.texi
lock.c
loop_ull.c re PR libgomp/90641 (libgomp.c-c++-common/lastprivate-conditional-1.c etc FAIL) 2019-05-27 23:27:00 +02:00
loop.c re PR libgomp/90641 (libgomp.c-c++-common/lastprivate-conditional-1.c etc FAIL) 2019-05-27 23:27:00 +02:00
Makefile.am
Makefile.in Generalize getconf _NPROCESSORS_ONLN 2019-05-30 09:06:48 +00:00
oacc-async.c
oacc-cuda.c re PR libgomp/90585 (libgomp hsa plugin ftbfs in the x32 multilib variant) 2019-05-24 10:59:37 +02:00
oacc-host.c re PR libgomp/90585 (libgomp hsa plugin ftbfs in the x32 multilib variant) 2019-05-24 10:59:37 +02:00
oacc-init.c
oacc-int.h
oacc-mem.c re PR libgomp/90585 (libgomp hsa plugin ftbfs in the x32 multilib variant) 2019-05-24 10:59:37 +02:00
oacc-parallel.c [PR90743] Fortran 'allocatable' with OpenACC data/OpenMP 'target' 'map' clauses 2019-06-19 00:14:24 +02:00
oacc-plugin.c
oacc-plugin.h
oacc-profiling.c
omp_lib.f90.in
omp_lib.h.in
omp.h.in
openacc_lib.h
openacc.f90
openacc.h
ordered.c
parallel.c
priority_queue.c
priority_queue.h
sections.c re PR libgomp/90641 (libgomp.c-c++-common/lastprivate-conditional-1.c etc FAIL) 2019-05-27 23:27:00 +02:00
secure_getenv.h
single.c
splay-tree.c
splay-tree.h
target.c re PR libgomp/90585 (libgomp hsa plugin ftbfs in the x32 multilib variant) 2019-05-24 10:59:37 +02:00
task.c
taskloop.c
team.c
teams.c
work.c re PR libgomp/90641 (libgomp.c-c++-common/lastprivate-conditional-1.c etc FAIL) 2019-05-27 23:27:00 +02:00