Age | Commit message (Collapse) | Author |
|
gcc/
* omp-low.c (build_oacc_routine_dims): Move some of its processing
into...
(verify_oacc_routine_clauses): ... this new function.
* omp-low.h (verify_oacc_routine_clauses): New prototype.
gcc/c/
* c-parser.c (c_parser_oacc_routine): Normalize order of clauses.
(c_finish_oacc_routine): Call verify_oacc_routine_clauses.
gcc/cp/
* parser.c (cp_parser_oacc_routine)
(cp_parser_late_parsing_oacc_routine): Normalize order of clauses.
(cp_finalize_oacc_routine): Call verify_oacc_routine_clauses.
gcc/testsuite/
* c-c++-common/goacc/routine-2.c: Update, and move some test
into...
* c-c++-common/goacc/routine-level-of-parallelism-1.c: ... this
new file.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@239520 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
gcc/c/
* c-parser.c (c_parser_oacc_shape_clause)
(c_parser_oacc_simple_clause): Add loc formal parameter. Adjust
all users.
gcc/cp/
* parser.c (cp_parser_oacc_shape_clause): Add loc formal
parameter. Adjust all users.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@239519 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* openmp.c (gfc_match_oacc_routine): Error on repeated ACC ROUTINE
directives. Consider the optional NAME argument being the current
procedure name.
* trans-decl.c (add_attributes_to_decl): Use build_oacc_routine_dims
to construct the oacc_function attribute arguments.
gcc/testsuite/
* gfortran.dg/goacc/pr72741-2.f: New test.
* gfortran.dg/goacc/pr72741-intrinsic-1.f: Add test coverage.
* gfortran.dg/goacc/pr72741-intrinsic-2.f: Likewise.
* gfortran.dg/goacc/pr72741.f90: Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@239515 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* omp-low.c (lower_oacc_reductions): Adjust variable lookup to use
maybe_lookup_decl, to handle nested acc loop directives.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@239468 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Increase test
coverage. Build with -Wall -Wextra.
* testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
* testsuite/libgomp.oacc-fortran/cublas-fixed.h: New test.
* testsuite/libgomp.oacc-fortran/host_data-3.f: New test.
* testsuite/libgomp.oacc-fortran/host_data-4.f90: New test.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@239427 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
ROUTINE ( NAME )
gcc/fortran/
* openmp.c (gfc_match_oacc_routine): Check clauses of intrinsic
functions.
gcc/testsuite/
* gfortran.dg/goacc/pr72741-intrinsic-1.f: New file.
* gfortran.dg/goacc/pr72741-intrinsic-2.f: Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@239422 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* testsuite/libgomp.oacc-fortran/host_data-1.f90: Remove stale xfail.
* testsuite/libgomp.oacc-fortran/host_data-2.f90: New test.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@239396 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
Backport trunk r239128:
gcc/c/
* c-parser.c (struct oacc_routine_data): Add error_seen and
fndecl_seen members.
(c_finish_oacc_routine): Use these.
(c_parser_declaration_or_fndef): Adjust.
(c_parser_oacc_routine): Likewise. Support more C language
constructs, and improve diagnostics. Move pragma context
checking...
(c_parser_pragma): ... here.
gcc/cp/
* parser.c (cp_ensure_no_oacc_routine): Improve diagnostics.
(cp_parser_late_parsing_cilk_simd_fn_info): Fix diagnostics.
(cp_parser_late_parsing_oacc_routine, cp_finalize_oacc_routine):
Simplify code, and improve diagnostics.
(cp_parser_oacc_routine): Likewise. Move pragma context
checking...
(cp_parser_pragma): ... here.
gcc/testsuite/
* c-c++-common/goacc/routine-5.c: Update.
gcc/testsuite/
* g++.dg/goacc/routine-2.C: Update.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@239133 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
Backport trunk r239127:
gcc/c/
* c-parser.c (struct oacc_routine_data): New.
(c_parser_declaration_or_fndef, c_parser_oacc_routine): Use it.
Simplify code.
(c_finish_oacc_routine): Likewise. Don't attach clauses to "omp
declare target" attribute.
gcc/cp/
* parser.h (struct cp_omp_declare_simd_data): New.
(struct cp_parser): Use it for oacc_routine member.
* parser.c (cp_ensure_no_oacc_routine, cp_parser_oacc_routine)
(cp_parser_late_parsing_oacc_routine, cp_finalize_oacc_routine):
Use it. Simplify code.
(cp_parser_new): Initialize all members pointing to special
parsing data structures.
(cp_parser_cilk_simd_fn_vector_attrs): Initialize
parser->cilk_simd_fn_info->clauses.
(cp_parser_omp_declare_simd): Initialize
parser->omp_declare_simd->clauses.
(cp_parser_late_parsing_omp_declare_simd): Simplify code.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@239132 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
Backport trunk r236639:
gcc/c/
* c-parser.c (c_parser_oacc_routine): Tighten syntax checks.
gcc/testsuite/
* c-c++-common/goacc/routine-5.c: Add tests.
* g++.dg/goacc/routine-2.C: Remove duplicate tests.
* gfortran.dg/goacc/routine-6.f90: Add tests.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@239131 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
return type syntax
Backport trunk r239126:
libgomp/
* testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
* testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
* testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
Likewise.
* testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
* testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@239130 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
Backport trunk r239125:
libgomp/
* testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
test, and don't hardcode -O0.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@239129 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* config/nvptx/nvptx.c (nvptx_declare_function_name): Round frame
size to DImode boundary.
(nvptx_propagate): Likewise.
libgomp/
* testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@239085 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
gcc/
* fortran/openmp.c (resolve_omp_clauses): Adjust use_device clause
handling to only allow pointers and arrays.
gcc/testsuite/
* gfortran.dg/goacc/host_data-tree.f95: Adjust to use accept pointers in use_device clause.
* gfortran.dg/goacc/uninit-use-device-clause.f95: Likewise.
* gfortran.dg/goacc/list.f95: Adjust to catch "neither a pointer nor an array" error messages.
libgomp/testsuite/
* libgomp.oacc-fortran/host_data-1.f90: New testcase.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@238875 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
gcc/fortran/
* openmp.c (gfc_oacc_routine_dims): Move gfc_error to
gfc_match_oacc_routine. Return OACC_FUNCTION_NONE on error.
(gfc_match_oacc_routine): Call gfc_oacc_routine_dims for all
routines directives. Propagate error as appropriate.
gcc/testsuite/
* gfortran.dg/goacc/pr72741.f90: New test.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@238847 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* gfortran.h (enum oacc_function): Define.
(oacc_function_type): Declare.
(symbol_attribute): Change the type of oacc_function from unsigned
to an ENUM_BITFIELD.
* module.c (oacc_function): New DECL_MIO_NAME.
(mio_symbol_attribute): Set the oacc_function attribute.
* openmp.c (gfc_oacc_routine_dims): Change the return type from
int to oacc_function.
(gfc_match_oacc_routine): Handle intrinsic procedures.
* symbol.c (oacc_function_types): Define.
* trans-decl.c (add_attributes_to_decl): Update to handle the
retyped oacc_function attribute.
gcc/
* lto-cgraph.c (input_overwrite_node): Change the assertion to an
error for missing symbols.
gcc/testsuite/
* gfortran.dg/goacc/fixed-1.f: Add test coverage.
* gfortran.dg/goacc/routine-7.f90: New test.
libgomp/
* testsuite/libgomp.oacc-fortran/abort-1.f90:
* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Add test
coverage.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@238807 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
gcc/c/
* c-parser.c (c_parser_oacc_declare): Don't scan for
GOMP_MAP_POINTER.
* c-typeck.c (handle_omp_array_sections): Mark data clauses with
GOMP_MAP_FORCE_{PRESENT,TO,FROM,TOFROM} as potentially having
zero-length subarrays.
gcc/cp/
* parser.c (cp_parser_oacc_declare): Don't scan for
GOMP_MAP_POINTER.
* semantics.c (handle_omp_array_sections): Mark data clauses with
GOMP_MAP_FORCE_{PRESENT,TO,FROM,TOFROM} as potentially having
zero-length subarrays.
gcc/
* omp-low.c (lower_omp_target): Mark data clauses with
GOMP_MAP_FORCE_{PRESENT,TO,FROM,TOFROM} as potentially having
zero-length subarrays.
libgomp/
* testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
test.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@238385 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
gcc/fortran/
* openmp.c (gfc_match_omp_clauses): Scan for clause vector_length
before vector.
gcc/testsuite/
* gfortran.dg/goacc/vector_length.f90: New test.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@238384 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@238296 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
2016-07-08 Cesar Philippidis <cesar@codesourcery.com>
gcc/fortran/
* parse.c (matcha): Define.
(decode_oacc_directive): Add spec_only local var and set it. Use
matcha to parse acc directives except for routine and declare. Return
ST_GET_FCN_CHARACTERISTICS if a non-declarative directive could be
matched.
gcc/testsuite/
* gfortran.dg/goacc/pr71704.f90: New test.
2016-06-01 Jakub Jelinek <jakub@redhat.com>
gcc/fortran/
* parse.c (case_decl): Move ST_OMP_* to ...
(case_omp_decl): ... here, new macro.
(verify_st_order): For case_omp_decl, complain about
p->state >= ORDER_EXEC, but don't change p->state otherwise.
gcc/testsuite
* gfortran.dg/gomp/order-1.f90: New test.
* gfortran.dg/gomp/order-2.f90: New test.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@238262 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
2016-06-29 Cesar Philippidis <cesar@codesourcery.com>
gcc/fortran/
* openmp.c (match_oacc_clause_gang): Rename to ...
(match_oacc_clause_gwv): this. Add support for OpenACC worker and
vector clauses.
(gfc_match_omp_clauses): Use match_oacc_clause_gwv for
OMP_CLAUSE_{GANG,WORKER,VECTOR}. Propagate any MATCH_ERRORs for
invalid OMP_CLAUSE_{ASYNC,WAIT,GANG,WORKER,VECTOR} clauses.
(gfc_match_oacc_wait): Propagate MATCH_ERROR for invalid
oacc_expr_lists. Adjust the first and needs_space arguments to
gfc_match_omp_clauses.
gcc/testsuite/
* gfortran.dg/goacc/asyncwait-2.f95: Updated expected diagnostics.
* gfortran.dg/goacc/asyncwait-3.f95: Likewise.
* gfortran.dg/goacc/asyncwait-4.f95: Add test coverage.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@237915 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
gcc/
* config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Only trigger
the "avoid offloading" mechanism for -O2 and higher.
libgomp/
* testsuite/libgomp.oacc-c-c++-common/avoid-offloading-1.c:
Update.
* testsuite/libgomp.oacc-fortran/avoid-offloading-1.f: Update.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@237895 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
2016-05-10 James Norris <jnorris@codesourcery.com>
PR driver/68463
* config/rs6000/sysv4.h (CRTOFFLOADBEGIN): Define. Add crtoffloadbegin.o
if offloading is enabled and -fopenacc or -fopenmp is specified.
(CRTOFFLOADEND): Likewise.
(STARTFILE_LINUX_SPEC): Add CRTOFFLOADBEGIN.
(ENDFILE_LINUX_SPEC): Add CRTOFFLOADEND.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@237379 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
Backport trunk r237291:
gcc/
* gimplify.c (gimplify_adjust_omp_clauses): Discard
OMP_CLAUSE_TILE.
* omp-low.c (scan_sharing_clauses): Don't expect OMP_CLAUSE_TILE.
gcc/testsuite/
* c-c++-common/goacc/combined-directives.c: XFAIL tree scanning
for OpenACC tile clauses.
* gfortran.dg/goacc/combined-directives.f90: Likewise.
gcc/
PR middle-end/71373
* tree-nested.c (convert_nonlocal_omp_clauses)
(convert_local_omp_clauses): Handle OMP_CLAUSE_ASYNC,
OMP_CLAUSE_WAIT, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
OMP_CLAUSE__CACHE_, OMP_CLAUSE_TILE.
gcc/testsuite/
PR middle-end/71373
* gcc.dg/goacc/nested-function-1.c: New file.
* gcc.dg/goacc/nested-function-2.c: Likewise.
* gcc.dg/goacc/pr71373.c: Likewise.
* gfortran.dg/goacc/cray-2.f95: Likewise.
* gfortran.dg/goacc/loop-1-2.f95: Likewise.
* gfortran.dg/goacc/loop-3-2.f95: Likewise.
* gfortran.dg/goacc/cray.f95: Update.
* gfortran.dg/goacc/loop-1.f95: Likewise.
* gfortran.dg/goacc/loop-3.f95: Likewise.
* gfortran.dg/goacc/subroutines.f90: Update, and rename to...
* gfortran.dg/goacc/nested-function-1.f90: ... this new file.
libgomp/testsuite/
PR middle-end/71373
* libgomp.oacc-c/nested-function-1.c: New file.
* libgomp.oacc-c/nested-function-2.c: Likewise.
* libgomp.oacc-fortran/nested-function-1.f90: Likewise.
* libgomp.oacc-fortran/nested-function-2.f90: Likewise.
* libgomp.oacc-fortran/nested-function-3.f90: Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@237300 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
libgomp/
PR c/71381
* testsuite/libgomp.oacc-fortran/cache-1.f90: Remove file.
Backport trunk r237290:
gcc/c/
PR c/71381
* c-parser.c (c_parser_omp_variable_list) <OMP_CLAUSE__CACHE_>:
Loosen checking.
gcc/cp/
PR c/71381
* parser.c (cp_parser_omp_var_list_no_open) <OMP_CLAUSE__CACHE_>:
Loosen checking.
gcc/fortran/
PR c/71381
* openmp.c (gfc_match_oacc_cache): Add comment.
gcc/testsuite/
PR c/71381
* c-c++-common/goacc/cache-1.c: Update. Move invalid usage tests
to...
* c-c++-common/goacc/cache-2.c: ... this new file.
* gfortran.dg/goacc/cache-1.f95: Move invalid usage tests to...
* gfortran.dg/goacc/cache-2.f95: ... this new file.
* gfortran.dg/goacc/coarray.f95: Update OpenACC cache directive
usage.
* gfortran.dg/goacc/cray.f95: Likewise.
* gfortran.dg/goacc/loop-1.f95: Likewise.
libgomp/
PR c/71381
* testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
"../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
* testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
gcc/
* omp-low.c (scan_sharing_clauses): Don't expect
OMP_CLAUSE__CACHE_.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@237299 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
libgomp/
* testsuite/libgomp.oacc-c++/template-reduction.C: Remove XFAIL.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@237298 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
Backport trunk r235802:
gcc/
* c-common.h (enum c_omp_region_type): Remove stray comma.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@237297 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
Backport trunk r237070:
2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
c/
* c-typeck.c (c_finish_omp_clauses): Mark OpenACC reduction
arguments as addressable when async clause exists.
cp/
* semantics.c (finish_omp_clauses): Mark OpenACC reduction
arguments as addressable when async clause exists.
fortran/
* trans-openmp.c (gfc_trans_omp_reduction_list): Add mark_addressable
bool parameter, set reduction clause DECLs as addressable when true.
(gfc_trans_omp_clauses): Pass clauses->async to
gfc_trans_omp_reduction_list, add comment describing OpenACC situation.
libgomp/
* testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
* testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@237210 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* pr70688.c: New file.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@237012 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* c-c++-common/goacc/kernels-loop-offload-alias-none.c: Add xfails.
* c-c++-common/goacc/kernels-loop-offload-alias-ptr.c: Likewise.
* c-c++-common/goacc/kernels-offload-alias-2.c: Likewise.
* c-c++-common/goacc/kernels-offload-alias-3.c: Likewise.
* c-c++-common/goacc/kernels-offload-alias-6.c: Likewise.
* c-c++-common/goacc/kernels-offload-alias.c: Likewise.
* c-c++-common/goacc/kernels-parallel-loop-data-enter-exit.c:
Likewise.
* g++.dg/goacc/data-1.C: New test.
libgomp/
* testsuite/libgomp.oacc-c++/non-scalar-data.C: Adjust test.
* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Adjust
test.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/
kernels-parallel-loop-data-enter-exit.c: Likewise.
* testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
Backport trunk r236678:
2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
gcc/c/
* c-parser.c (c_parser_oacc_declare): Add support for
GOMP_MAP_FIRSTPRIVATE_POINTER.
* c-typeck.c (handle_omp_array_sections_1): Replace bool is_omp
argument with enum c_omp_region_type ort.
(handle_omp_array_sections): Likewise. Update call to
handle_omp_array_sections_1.
(c_finish_omp_clauses): Add specific errors and warning messages for
OpenACC. Use firsrtprivate pointers for OpenACC subarrays. Update
call to handle_omp_array_sections.
gcc/cp/
* parser.c (cp_parser_oacc_declare): Add support for
GOMP_MAP_FIRSTPRIVATE_POINTER.
* semantics.c (handle_omp_array_sections_1): Replace bool is_omp
argument with enum c_omp_region_type ort. Don't privatize OpenACC
non-static members.
(handle_omp_array_sections): Replace bool is_omp argument with enum
c_omp_region_type ort. Update call to handle_omp_array_sections_1.
(finish_omp_clauses): Add specific errors and warning messages for
OpenACC. Use firsrtprivate pointers for OpenACC subarrays. Update
call to handle_omp_array_sections.
gcc/
* gimplify.c (omp_notice_variable): Use zero-length arrays for data
pointers inside OACC_DATA regions.
(gimplify_scan_omp_clauses): Prune firstprivate clause associated
with OACC_DATA, OACC_ENTER_DATA and OACC_EXIT data regions.
(gimplify_adjust_omp_clauses): Fix typo in comment.
gcc/testsuite/
* c-c++-common/goacc/data-clause-duplicate-1.c: Adjust test.
* c-c++-common/goacc/deviceptr-1.c: Likewise.
* c-c++-common/goacc/kernels-alias-3.c: Likewise.
* c-c++-common/goacc/kernels-alias-4.c: Likewise.
* c-c++-common/goacc/kernels-alias-5.c: Likewise.
* c-c++-common/goacc/kernels-alias-8.c: Likewise.
* c-c++-common/goacc/kernels-alias-ipa-pta-3.c: Likewise.
* c-c++-common/goacc/pcopy.c: Likewise.
* c-c++-common/goacc/pcopyin.c: Likewise.
* c-c++-common/goacc/pcopyout.c: Likewise.
* c-c++-common/goacc/pcreate.c: Likewise.
* c-c++-common/goacc/pr70688.c: New test.
* c-c++-common/goacc/present-1.c: Adjust test.
* c-c++-common/goacc/reduction-5.c: Likewise.
* g++.dg/goacc/data-1.C: New test.
libgomp/
* oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
(acc_free): Likewise.
(acc_memcpy_to_device): Likewise.
(acc_memcpy_from_device): Likewise.
(acc_deviceptr): Likewise.
(acc_hostptr): Likewise.
(acc_is_present): Likewise.
(acc_map_data): Likewise.
(acc_unmap_data): Likewise.
(present_create_copy): Likewise.
(delete_copyout): Likewise.
(update_dev_host): Likewise.
* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
* testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
* testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
* testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
it only runs on nvptx targets.
* testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@236829 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
2016-05-05 Jakub Jelinek <jakub@redhat.com>
* openmp.c (gfc_match_omp_clauses): Restructuralize, so that clause
parsing is done in a big switch based on gfc_peek_ascii_char and
individual clauses under their first letters are sorted too.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@236824 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
when comparing outer_assign and loop->inner.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@236821 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@236779 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
(TARGET_FUNCTION_ARG_BOUNDARY): Override.
testsuite/
* gcc.target/nvptx/abi-vararg-3.c: New.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@236776 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* config/nvptx/malloc.asm: Delete.
* config/nvptx/realloc.c: Delete.
* config/nvptx/crt0.s: Delete.
* config/nvptx/crt0.c: New.
* t-nvptx: Update.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@236775 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* config/nvptx/nvptx.md (sincossf3): New pattern.
gcc/testsuite/
* gcc.target/nvptx/sincos.c: New test.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@236592 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
gcc/c-family/
PR middle-end/70626
* c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
* c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
reduction clauses in acc parallel loops.
gcc/c/
PR middle-end/70626
* c-parser.c (c_parser_oacc_loop): Don't augment mask with
OACC_LOOP_CLAUSE_MASK.
(c_parser_oacc_kernels_parallel): Update call to
c_oacc_split_loop_clauses.
gcc/cp/
PR middle-end/70626
* parser.c (cp_parser_oacc_loop): Don't augment mask with
OACC_LOOP_CLAUSE_MASK.
(cp_parser_oacc_kernels_parallel): Update call to
c_oacc_split_loop_clauses.
gcc/fortran/
PR middle-end/70626
* trans-openmp.c (gfc_trans_oacc_combined_directive): Duplicate
the reduction clause in both parallel and loop directives.
gcc/testsuite/
PR middle-end/70626
* c-c++-common/goacc/combined-reduction.c: New test.
* gfortran.dg/goacc/reduction-2.f95: Add check for kernels reductions.
libgomp/
PR middle-end/70626
* testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
* testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
* testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@236049 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
2016-05-02 Cesar Philippidis <cesar@codesourcery.com>
gcc/c-family/
* c-common.h (enum c_omp_region_type): Define.
gcc/c/
* c-parser.c (c_parser_oacc_all_clauses): Update call to
c_finish_omp_clauses.
(c_parser_omp_all_clauses): Likewise.
(c_parser_oacc_cache): Likewise.
(c_parser_oacc_loop): Likewise.
(omp_split_clauses): Likewise.
(c_parser_omp_declare_target): Likewise.
(c_parser_cilk_all_clauses): Likewise.
(c_parser_cilk_for): Likewise.
* c-typeck.c (c_finish_omp_clauses): Replace bool arguments
is_omp, declare_simd, and is_cilk with enum c_omp_region_type ort.
gcc/cp/
* cp-tree.h (finish_omp_clauses): Update prototype.
* parser.c (cp_parser_oacc_all_clauses): Update call to
finish_omp_clauses.
(cp_parser_omp_all_clauses): Likewise.
(cp_parser_omp_for_loop): Likewise.
(cp_omp_split_clauses): Likewise.
(cp_parser_oacc_cache): Likewise.
(cp_parser_oacc_loop): Likewise.
(cp_parser_omp_declare_target):
(cp_parser_cilk_simd_all_clauses): Likewise.
(cp_parser_cilk_for): Likewise.
* pt.c (tsubst_omp_clauses): Replace allow_fields and declare_simd
arguments with enum c_omp_region_type ort.
(tsubst_omp_clauses): Update calls to finish_omp_clauses.
(tsubst_omp_attribute): Update calls to tsubst_omp_clauses.
(tsubst_omp_for_iterator): Update calls to finish_omp_clauses.
(tsubst_expr): Update calls to tsubst_omp_clauses.
* semantics.c (finish_omp_clauses): Replace bool arguments
allow_fields, declare_simd, and is_cilk with bitmask ort.
(finish_omp_for): Update call to finish_omp_clauses.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@236048 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
2016-04-20 Ilya Verbin <ilya.verbin@intel.com>
gcc/c-family/
PR c++/69363
* c-cilkplus.c (c_finish_cilk_clauses): Remove function.
* c-common.h (c_finish_cilk_clauses): Remove declaration.
gcc/c/
PR c++/69363
* c-parser.c (c_parser_cilk_all_clauses): Use c_finish_omp_clauses
instead of c_finish_cilk_clauses.
* c-tree.h (c_finish_omp_clauses): Add new default argument.
* c-typeck.c (c_finish_omp_clauses): Add new argument. Allow
floating-point variables in the linear clause for Cilk Plus.
gcc/cp/
PR c++/69363
* cp-tree.h (finish_omp_clauses): Add new default argument.
* parser.c (cp_parser_cilk_simd_all_clauses): Use finish_omp_clauses
instead of c_finish_cilk_clauses.
* semantics.c (finish_omp_clauses): Add new argument. Allow
floating-point variables in the linear clause for Cilk Plus.
gcc/testsuite/
PR c++/69363
* c-c++-common/cilk-plus/PS/clauses3.c: Adjust dg-error string.
* c-c++-common/cilk-plus/PS/clauses4.c: New test.
* c-c++-common/cilk-plus/PS/pr69363.c: New test.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@236047 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* omp-low.c (lower_oacc_head_mark): Ensure 2 levels for auto
loops.
(oacc_loop_auto_partitions): Add outer_assign parm. Assign all but
vector partitioning to outer loops. Assign 2 partitions to loops
when available.
(oacc_loop_partition): Adjust oacc_loop_auto_partitions call.
gcc/testsuite/
* c-c++-common/goacc/loop-auto-1.c: Adjust and add additionnal
case.
libgomp/
* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
add additional case.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@235979 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* tree-ssa-tail-merge.c (same_succ::equal): Check pointer eq
equality first.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@235927 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
marker.
(oacc_loop_process): Check mask for loop termination.
(oacc_loop_auto_part): Remove code duplicated in merge.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@235774 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
Backport trunk r235339:
libgomp/
2016-04-21 Alexander Monakov <amonakov@ispras.ru>
* plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
non-fatal.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@235345 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@235188 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* constexpr.c (constexpr_call_table): Preserve in GC.
(struct fundef_copy, struct fundef_copies_table_t): Delete.
(fundef_copies_table): Preserve in GC. Change to pointer to
tree->tree hash.
(maybe_initialize_fundef_copies_table): Adjust.
(get_fundef_copy): Return a TREE_LIST. Use non-inserting search.
(save_fundef_copy): Adjust for a TREE_LIST.
(cxx_eval_call_expression): Adjust for a fundef_copy TREE_LIST.
(fini_constexpr): New.
* cp-tree.h (fini_constexpr): Declare.
* decl2.c (c_parse_final_cleanups): Call fini_constexpr.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@235033 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* c-typeck.c (build_unary_op): Pass location down to error and
warning call.
* gcc.dg/bitfld-22.c: New test.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@235032 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@235031 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* doc/invoke.texi (ARM Options): Add note on deprecation of pre-ARMv4T
architecture revisions.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@235029 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* config/i386/i386-protos.h (ix86_using_red_zone): Declare.
* config/i386/i386.c (ix86_using_red_zone): No longer static.
* config/i386/i386.md (stack decrement to push peepholes): Guard
with !x86_using_red_zone ().
testsuite/
* gcc.target/i386/pr46470.c: Add -mno-red-zone to dg-options for
x86_64.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@235028 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* c-common.c (build_va_arg): Change two asserts into errors and return
error_mark_node.
* c-c++-common/pr70651.c: New test.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@235027 138bc75d-0d04-0410-961f-82ee72b054a4
|