blob: 9d763eefdc6bd9322a9f5b93b633a1ce4d943dc9 [file] [log] [blame]
2018-10-18 Jakub Jelinek <jakub@redhat.com>
* c-omp.c (c_omp_split_clauses): Add support for combined
#pragma omp parallel master and
#pragma omp {,parallel }master taskloop{, simd} constructs.
2018-10-16 Jakub Jelinek <jakub@redhat.com>
* c-omp.c (c_omp_split_clauses) <case OMP_CLAUSE_IN_REDUCTION>: For
taskloop simd, copy the clause to simd construct transformed into
OMP_CLAUSE_REDUCTION clause.
2018-08-01 Jakub Jelinek <jakub@redhat.com>
* c-omp.c (c_finish_omp_depobj): Test for OMP_CLAUSE_DEPEND_DEPOBJ
on clause instead of OMP_CLAUSE_DEPEND_UNSPECIFIED, adjust diagnostics
in that case. Expect kind to be OMP_CLAUSE_DEPEND_SOURCE if clause
is specified, rather than OMP_CLAUSE_DEPEND_UNSPECIFIED.
* c-omp.c (c_omp_split_clauses): Handle OMP_CLAUSE_REDUCTION_TASK.
2018-07-18 Jakub Jelinek <jakub@redhat.com>
* c-omp.c (c_omp_check_loop_iv_r): Look for orig decl of C++
range for loops too.
2018-06-28 Jakub Jelinek <jakub@redhat.com>
* c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_DEPOBJ.
* c-pragma.c (omp_pragmas): Likewise.
* c-common.h (c_omp_depend_t_p, c_finish_omp_depobj): Declare.
* c-omp.c (c_omp_depend_t_p, c_finish_omp_depobj): New functions.
2018-06-19 Jakub Jelinek <jakub@redhat.com>
* c-common.h (c_finish_omp_flush): Add MO argument.
* c-omp.c: Include memmodel.h.
(c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit
__atomic_thread_fence call with the given value.
2018-06-05 Jakub Jelinek <jakub@redhat.com>
* c-omp.c (c_omp_predetermined_sharing): Don't return
OMP_CLAUSE_DEFAULT_SHARED for const qualified decls.
2018-05-31 Jakub Jelinek <jakub@redhat.com>
* c-common.h (c_finish_omp_atomic): Replace bool seq_cst argument with
enum omp_memory_order memory_order.
* c-omp.c (c_finish_omp_atomic): Likewise. Set OMP_ATOMIC_MEMORY_ORDER
instead of OMP_ATOMIC_SEQ_CST.
* c-pragma.c (omp_pragmas): Add requires.
* c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_REQUIRES.
2018-05-04 Jakub Jelinek <jakub@redhat.com>
* c-omp.c (c_omp_split_clauses): Handle OMP_CLAUSE_NONTEMPORAL. Handle
splitting OMP_CLAUSE_IF also to OMP_SIMD.
* c-pragma.h (enum pragma_omp_clause): Add
PRAGMA_OMP_CLAUSE_NONTEMPORAL.
2017-06-29 Jakub Jelinek <jakub@redhat.com>
* c-common.h (c_finish_omp_for): Add FINAL_P argument.
* c-omp.c (check_omp_for_incr_expr): Formatting fixes.
(c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR
even in OpenMP loops, diagnose if NE_EXPR and incr expression
is not constant expression 1 or -1. Transform NE_EXPR loops
with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
2017-06-12 Jakub Jelinek <jakub@redhat.com>
* c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument.
* c-omp.c (c_finish_omp_taskgroup): Likewise. Set
OMP_TASKGROUP_CLAUSES to it.
(c_omp_split_clauses): Handle in_reduction clause. Handle
reduction clause on taskloop simd.
* c-pragma.h (enum pragma_omp_clause): Add
PRAGMA_OMP_CLAUSE_IN_REDUCTION and PRAGMA_OMP_CLAUSE_TASK_REDUCTION.
2017-05-10 Jakub Jelinek <jakub@redhat.com>
* c-omp.c (c_omp_split_clauses): Copy
OMP_CLAUSE_LASTPRIVATE_CONDITIONAL.
Copyright (C) 2017-2018 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.