This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r222879 - in /branches/gomp-4_1-branch/gcc: Cha...
- From: jakub at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Thu, 07 May 2015 15:32:20 -0000
- Subject: r222879 - in /branches/gomp-4_1-branch/gcc: Cha...
Author: jakub
Date: Thu May 7 15:32:20 2015
New Revision: 222879
URL: https://gcc.gnu.org/viewcvs?rev=222879&root=gcc&view=rev
Log:
* gimple.h (enum gf_mask): Add GF_OMP_TASK_TASKLOOP.
Add GF_OMP_FOR_KIND_TASKLOOP and renumber GF_OMP_FOR_*.
(gimple_omp_task_taskloop_p, gimple_omp_task_set_taskloop_p): New
functions.
* gimplify.c (is_gimple_stmt): Return true for OMP_TARGET,
OMP_TARGET_DATA, OMP_TARGET_UPDATE, OMP_TARGET_ENTER_DATA,
OMP_TARGET_EXIT_DATA, OMP_TASKLOOP and OMP_TEAMS.
(gimplify_omp_for): Handle OMP_TASKLOOP.
(gimplify_expr): Likewise.
* gimple-pretty-print.c (dump_gimple_omp_for): Handle taskloop.
(dump_gimple_omp_task): Likewise.
* omp-low.c (is_taskloop_ctx): New function.
(is_taskreg_ctx): Use is_parallel_ctx and is_task_ctx helpers.
(extract_omp_for_data): Use OMP_CLAUSE_SCHEDULE_RUNTIME for
taskloop.
(scan_sharing_clauses): Allow _LOOPTEMP_ clause on GOMP_TASK.
(find_combined_for): Allow searching for different GIMPLE_OMP_FOR
kinds.
(add_taskreg_looptemp_clauses): New function.
(scan_omp_parallel): Use it.
(scan_omp_task): Likewise.
(finish_taskreg_scan): For taskloop, move fields for the first two
_LOOPTEMP_ clauses first.
(check_omp_nesting_restrictions): Allow the sandwiched taskloop
constructs.
(lower_rec_input_clauses): Allow _LOOPTEMP_ clause on GOMP_TASK.
(lower_send_clauses): Ignore first two _LOOPTEMP_ clauses in
taskloop GOMP_TASK.
(expand_task_call): Handle taskloop construct expansion. Add
REGION argument.
(expand_omp_taskreg): Adjust caller.
(expand_omp_for_init_vars): Handle GOMP_TASK inner_stmt.
(expand_omp_taskloop_for_outer, expand_omp_taskloop_for_inner): New
functions.
(expand_omp_for): Call them.
(lower_omp_for): Handle taskloop constructs.
* omp-builtins.def (BUILT_IN_GOMP_TASKLOOP,
BUILT_IN_GOMP_TASKLOOP_ULL): New builtins.
* builtin-types.def
(BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_LONG_LONG_LONG,
BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_ULL_ULL_ULL): New.
c/
* c-parser.c (OMP_TASKLOOP_CLAUSE_MASK): Add untied clause.
c-family/
* c-pragma.c (omp_pragmas_simd): Add taskloop.
* c-common.c (DEF_FUNCTION_TYPE_10): Define.
lto/
* lto-lang.c (DEF_FUNCTION_TYPE_10): Define.
fortran/
* types.def
(BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_LONG_LONG_LONG,
BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_ULL_ULL_ULL): New.
* f95-lang.c (DEF_FUNCTION_TYPE_10): Define.
jit/
* jit-builtins.c (DEF_FUNCTION_TYPE_10): Define.
* jit-builtins.h (DEF_FUNCTION_TYPE_10): Define.
Added:
branches/gomp-4_1-branch/gcc/jit/ChangeLog.gomp
branches/gomp-4_1-branch/gcc/lto/ChangeLog.gomp
Modified:
branches/gomp-4_1-branch/gcc/ChangeLog.gomp
branches/gomp-4_1-branch/gcc/builtin-types.def
branches/gomp-4_1-branch/gcc/c-family/ChangeLog.gomp
branches/gomp-4_1-branch/gcc/c-family/c-common.c
branches/gomp-4_1-branch/gcc/c-family/c-pragma.c
branches/gomp-4_1-branch/gcc/c/ChangeLog.gomp
branches/gomp-4_1-branch/gcc/c/c-parser.c
branches/gomp-4_1-branch/gcc/fortran/ChangeLog.gomp
branches/gomp-4_1-branch/gcc/fortran/f95-lang.c
branches/gomp-4_1-branch/gcc/fortran/types.def
branches/gomp-4_1-branch/gcc/gimple-pretty-print.c
branches/gomp-4_1-branch/gcc/gimple.h
branches/gomp-4_1-branch/gcc/gimplify.c
branches/gomp-4_1-branch/gcc/jit/jit-builtins.c
branches/gomp-4_1-branch/gcc/jit/jit-builtins.h
branches/gomp-4_1-branch/gcc/lto/lto-lang.c
branches/gomp-4_1-branch/gcc/omp-builtins.def
branches/gomp-4_1-branch/gcc/omp-low.c