diff options
author | Jakub Jelinek <jakub@redhat.com> | 2019-05-31 23:38:35 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2019-05-31 23:38:35 +0200 |
commit | e7393c8936b9cfb1a28f7e16043c107490491ba4 (patch) | |
tree | d0fa7f6aa5f6d8bb93ca641511f03dc17e4ee9be /gcc/tree.h | |
parent | 1ce8fc63a4132b66ced527afd2c88b840ecbb0b9 (diff) | |
download | gcc-e7393c8936b9cfb1a28f7e16043c107490491ba4.zip gcc-e7393c8936b9cfb1a28f7e16043c107490491ba4.tar.gz gcc-e7393c8936b9cfb1a28f7e16043c107490491ba4.tar.bz2 |
tree.h (OMP_CLAUSE__CONDTEMP__ITER): Define.
* tree.h (OMP_CLAUSE__CONDTEMP__ITER): Define.
* gimplify.c (gimplify_scan_omp_clauses): Allow lastprivate conditional
on OMP_SIMD if not nested inside of worksharing loop that also has
lastprivate conditional clause for the same decl.
(gimplify_omp_for): Add _condtemp_ clauses to OMP_SIMD if needed.
* omp-low.c (scan_sharing_clauses): Handle OMP_CLAUSE__CONDTEMP_ also
on simd.
(lower_rec_input_clauses): Likewise. Handle lastprivate conditional
on simd construct.
(lower_lastprivate_conditional_clauses): Handle lastprivate conditional
on simd construct.
(lower_lastprivate_clauses): Likewise.
(lower_omp_sections): Call lower_lastprivate_conditional_clauses before
calling lower_rec_input_clauses.
(lower_omp_for): Likewise.
(lower_omp_1): Use first rather than second OMP_CLAUSE__CONDTEMP_
clause on simd construct.
* omp-expand.c (expand_omp_simd): Initialize cond_var if
OMP_CLAUSE__CONDTEMP_ clause is present.
* c-c++-common/gomp/lastprivate-conditional-2.c (foo): Don't expect
a sorry on lastprivate conditional on simd construct.
* gcc.dg/vect/vect-simd-6.c: New test.
* gcc.dg/vect/vect-simd-7.c: New test.
From-SVN: r271825
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -1752,6 +1752,10 @@ class auto_suppress_location_wrappers #define OMP_CLAUSE__GRIDDIM__GROUP(NODE) \ OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE__GRIDDIM_), 1) +/* _CONDTEMP_ holding temporary with iteration count. */ +#define OMP_CLAUSE__CONDTEMP__ITER(NODE) \ + (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE__CONDTEMP_)->base.public_flag) + /* SSA_NAME accessors. */ /* Whether SSA_NAME NODE is a virtual operand. This simply caches the |