gcc/gcc/fortran
Chung-Lin Tang 02889d23ee gimplify.c (gimplify_scan_omp_clauses): No special handling for OMP_CLAUSE_TILE.
2017-02-09  Nathan Sidwell  <nathan@codesourcery.com>
	    Cesar Philippidis  <cesar@codesourcery.com>
	    Joseph Myers  <joseph@codesourcery.com>
	    Chung-Lin Tang  <cltang@codesourcery.com>

	gcc/
	* gimplify.c (gimplify_scan_omp_clauses): No special handling for
	OMP_CLAUSE_TILE.
	(gimplify_adjust_omp_clauses): Don't delete TILE.
	(gimplify_omp_for): Deal with TILE.
	* internal-fn.c (expand_GOACC_TILE): New function.
	* internal-fn.def (GOACC_DIM_POS): Comment may be overly conservative.
	(GOACC_TILE): New.
	* omp-expand.c (struct oacc_collapse): Add tile and outer fields.
	(expand_oacc_collapse_init): Add LOC paramter.  Initialize tile
	element fields.
	(expand_oacc_collapse_vars): Add INNER parm, adjust for tiling,
	avoid DIV for outermost collapse var.
	(expand_oacc_for): Insert tile element loop as needed.  Adjust.
	Remove out of date comments, fix whitespace.
	* omp-general.c (omp_extract_for_data): Deal with tiling.
	* omp-general.h (enum oacc_loop_flags): Add OLF_TILE flag,
	adjust OLF_DIM_BASE value.
	(struct omp_for_data): Add tiling field.
	* omp-low.c (scan_sharing_clauses): Allow OMP_CLAUSE_TILE.
	(lower_oacc_head_mark): Add OLF_TILE as appropriate.  Ensure 2 levels
	for auto loops.  Remove default auto determining, moved to
	oacc_loop_fixed_partitions.
	* omp-offload.c (struct oacc_loop): Change 'ifns' to vector of call
	stmts, add e_mask field.
	(oacc_dim_call): New function, abstracted out from oacc_thread_numbers.
	(oacc_thread_numbers): Use oacc_dim_call.
	(oacc_xform_tile): New.
	(new_oacc_loop_raw): Initialize e_mask, adjust for ifns vector.
	(finish_oacc_loop): Adjust for ifns vector.
	(oacc_loop_discover_walk): Append loop abstraction sites to list,
	add case for GOACC_TILE fns.
	(oacc_loop_xform_loop): Delete.
	(oacc_loop_process): Iterate over call list directly, and add
	handling for GOACC_TILE fns.
	(oacc_loop_fixed_partitions): Determine default auto, deal with TILE,
	dump partitioning.
	(oacc_loop_auto_partitions): Add outer_assign parm. Assign all but
	vector partitioning to outer loops.  Assign 2 partitions to loops
	when available. Add TILE handling.
	(oacc_loop_partition): Adjust oacc_loop_auto_partitions call.
	(execite_oacc_device_lower): Process GOACC_TILE fns, ignore unknown specs.
	* tree-nested.c (convert_nonlocal_omp_clauses): Allow OMP_CLAUSE_TILE.
	* tree.c (omp_clause_num_ops): Adjust TILE ops.
	* tree.h (OMP_CLAUSE_TILE_ITERVAR, OMP_CLAUSE_TILE_COUNT): New.

	gcc/c/
	* c-parser.c (c_parser_omp_clause_collapse): Disallow tile.
	(c_parser_oacc_clause_tile): Disallow collapse. Fix parsing and
	semantic checking.
	* c-parser.c (c_parser_omp_for_loop): Accept tiling constructs.

	gcc/cp/
	* parser.c (cp_parser_oacc_clause_tile): Disallow collapse.  Fix
	parsing.  Parse constant expression. Remove semantic checking.
	(cp_parser_omp_clause_collapse): Disallow tile.
	(cp_parser_omp_for_loop): Deal with tile clause.  Don't emit a parse
	error about missing for after already emitting one.  Use more
	conventional for idiom for unbounded loop.
	* pt.c (tsubst_omp_clauses): Handle OMP_CLAUSE_TILE.
	* semantics.c (finish_omp_clauses): Correct TILE semantic check.
	(finish_omp_for): Deal with tile clause.

	gcc/fortran/
	* openmp.c (resolve_omp_clauses): Error on directives
	containing both tile and collapse clauses.
	(resolve_oacc_loop_blocks): Represent '*' tile arguments as zero.
	* trans-openmp.c (gfc_trans_omp_do): Lower tiled loops like
	collapsed loops.

	gcc/testsuite/
	* c-c++-common/goacc/combined-directives.c: Remove xfail.
	* c-c++-common/goacc/loop-auto-1.c: Adjust and add additional case.
	* c-c++-common/goacc/loop-auto-2.c: New.
	* c-c++-common/goacc/tile.c: Include stdbool, fix expected errors.
	* c-c++-common/goacc/tile-2.c: New.
	* g++.dg/goacc/template.C: Test tile subst.  Adjust erroneous uses.
	* g++.dg/goacc/tile-1.C: New, check tile subst.
	* gcc.dg/goacc/loop-processing-1.c: Adjust dg-final pattern.
	* gfortran.dg/goacc/combined-directives.f90: Remove xfail.
	* gfortran.dg/goacc/tile-1.f90: New test.
	* gfortran.dg/goacc/tile-2.f90: New test.
	* gfortran.dg/goacc/tile-lowering.f95: New test.

	libgomp/
	* testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
	add additional case.
	* testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
	"openacc_nvidia_accel_selected".
	* libgomp.oacc-fortran/nested-function-1.f90 (test2):
	Add num_workers(8) clause.

From-SVN: r245300
2017-02-09 13:46:20 +00:00
..
ChangeLog gimplify.c (gimplify_scan_omp_clauses): No special handling for OMP_CLAUSE_TILE. 2017-02-09 13:46:20 +00:00
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015 gcc.c (process_command): Update copyright notice dates. 2016-01-04 14:03:35 +01:00
ChangeLog-2016 gcc.c (process_command): Update copyright notice dates. 2017-01-01 12:31:28 +01:00
ChangeLog.ptr
Make-lang.in Update copyright years. 2017-01-01 13:07:43 +01:00
arith.c arith.c (arith_power): If simplifying integer power expression to zero... 2017-01-23 19:43:28 +00:00
arith.h Update copyright years. 2017-01-01 13:07:43 +01:00
array.c Update copyright years. 2017-01-01 13:07:43 +01:00
bbt.c Update copyright years. 2017-01-01 13:07:43 +01:00
check.c gfortran.h (gfc_extract_int): Change return type to bool. 2017-01-21 11:30:54 +01:00
class.c Revert r244448 2017-01-13 21:53:16 +02:00
config-lang.in Update copyright years. 2017-01-01 13:07:43 +01:00
constructor.c Update copyright years. 2017-01-01 13:07:43 +01:00
constructor.h Update copyright years. 2017-01-01 13:07:43 +01:00
convert.c Update copyright years. 2017-01-01 13:07:43 +01:00
cpp.c Update copyright years. 2017-01-01 13:07:43 +01:00
cpp.h Update copyright years. 2017-01-01 13:07:43 +01:00
data.c Update copyright years. 2017-01-01 13:07:43 +01:00
data.h Update copyright years. 2017-01-01 13:07:43 +01:00
decl.c gfortran.h (gfc_extract_int): Change return type to bool. 2017-01-21 11:30:54 +01:00
dependency.c Update copyright years. 2017-01-01 13:07:43 +01:00
dependency.h Update copyright years. 2017-01-01 13:07:43 +01:00
dump-parse-tree.c Revert r244448 2017-01-13 21:53:16 +02:00
error.c gfortran.h (gfc_extract_int): Change return type to bool. 2017-01-21 11:30:54 +01:00
expr.c gfortran.h (gfc_extract_int): Change return type to bool. 2017-01-21 11:30:54 +01:00
f95-lang.c re PR lto/79061 ([LTO][ASAN] LTO plus ASAN fails with "AddressSanitizer: initialization-order-fiasco") 2017-01-25 09:45:40 +02:00
frontend-passes.c gfortran.h (gfc_extract_int): Change return type to bool. 2017-01-21 11:30:54 +01:00
gfc-diagnostic.def Update copyright years. 2017-01-01 13:07:43 +01:00
gfc-internals.texi gfc-internals.texi (Symbol Versioning): Change references to www.akkadia.org to https. 2017-01-21 20:37:01 +00:00
gfortran.h gfortran.h (gfc_extract_int): Change return type to bool. 2017-01-21 11:30:54 +01:00
gfortran.texi gfortran.texi: Add missing parameters to caf-API functions. 2017-01-18 19:37:57 +01:00
gfortranspec.c Update copyright years. 2017-01-01 13:07:43 +01:00
interface.c Update copyright years. 2017-01-01 13:07:43 +01:00
intrinsic.c gfortran.h (gfc_extract_int): Change return type to bool. 2017-01-21 11:30:54 +01:00
intrinsic.h Update copyright years. 2017-01-01 13:07:43 +01:00
intrinsic.texi re PR translation/79019 (translatable string typo in cif-code.def:141) 2017-01-09 22:48:33 +01:00
invoke.texi re PR fortran/50069 (FORALL fails on a character array) 2017-01-18 21:41:48 +00:00
io.c Update copyright years. 2017-01-01 13:07:43 +01:00
ioparm.def Update copyright years. 2017-01-01 13:07:43 +01:00
iresolve.c gfortran.h (gfc_extract_int): Change return type to bool. 2017-01-21 11:30:54 +01:00
iso-c-binding.def Update copyright years. 2017-01-01 13:07:43 +01:00
iso-fortran-env.def Update copyright years. 2017-01-01 13:07:43 +01:00
lang-specs.h Update copyright years. 2017-01-01 13:07:43 +01:00
lang.opt Add missing period at end of -ftest-forall-temp option text. 2017-01-19 23:09:45 +00:00
libgfortran.h Update copyright years. 2017-01-01 13:07:43 +01:00
match.c gfortran.h (gfc_extract_int): Change return type to bool. 2017-01-21 11:30:54 +01:00
match.h Update copyright years. 2017-01-01 13:07:43 +01:00
matchexp.c gfortran.h (gfc_extract_int): Change return type to bool. 2017-01-21 11:30:54 +01:00
mathbuiltins.def Update copyright years. 2017-01-01 13:07:43 +01:00
misc.c Revert r244448 2017-01-13 21:53:16 +02:00
module.c gfortran.h (gfc_extract_int): Change return type to bool. 2017-01-21 11:30:54 +01:00
openmp.c gimplify.c (gimplify_scan_omp_clauses): No special handling for OMP_CLAUSE_TILE. 2017-02-09 13:46:20 +00:00
options.c Update copyright years. 2017-01-01 13:07:43 +01:00
parse.c re PR fortran/79154 (omp declare simd in pure function?) 2017-01-22 20:36:57 +01:00
parse.h Update copyright years. 2017-01-01 13:07:43 +01:00
primary.c gfortran.h (gfc_extract_int): Change return type to bool. 2017-01-21 11:30:54 +01:00
resolve.c Revert r244448 2017-01-13 21:53:16 +02:00
scanner.c Update copyright years. 2017-01-01 13:07:43 +01:00
scanner.h Update copyright years. 2017-01-01 13:07:43 +01:00
simplify.c gfortran.h (gfc_extract_int): Change return type to bool. 2017-01-21 11:30:54 +01:00
st.c Update copyright years. 2017-01-01 13:07:43 +01:00
symbol.c gfortran.h (gfc_extract_int): Change return type to bool. 2017-01-21 11:30:54 +01:00
target-memory.c Revert r244448 2017-01-13 21:53:16 +02:00
target-memory.h Revert r244448 2017-01-13 21:53:16 +02:00
trans-array.c re PR fortran/79230 ([OOP] Run time error: double free or corruption) 2017-02-05 13:02:15 +01:00
trans-array.h re PR fortran/78781 ([Coarray] ICE in gfc_deallocate_scalar_with_status, at fortran/trans.c:1588) 2017-01-07 18:26:58 +01:00
trans-common.c PR tree-optimization/78913 - Probably misleading error reported by -Wformat-length 2017-01-08 16:42:09 -07:00
trans-const.c Revert r244448 2017-01-13 21:53:16 +02:00
trans-const.h Revert r244448 2017-01-13 21:53:16 +02:00
trans-decl.c re PR fortran/79335 (Conditional jump or move depends on uninitialised in value get_scalar_to_descriptor_type(tree_node*, symbol_attribute) (trans-expr.c:53)) 2017-02-05 14:05:10 +01:00
trans-expr.c re PR fortran/50069 (FORALL fails on a character array) 2017-01-18 21:41:48 +00:00
trans-intrinsic.c Revert r244448 2017-01-13 21:53:16 +02:00
trans-io.c Revert r244448 2017-01-13 21:53:16 +02:00
trans-openmp.c gimplify.c (gimplify_scan_omp_clauses): No special handling for OMP_CLAUSE_TILE. 2017-02-09 13:46:20 +00:00
trans-stmt.c re PR fortran/79344 (segmentation faults and run-time errors) 2017-02-05 16:43:03 +01:00
trans-stmt.h Update copyright years. 2017-01-01 13:07:43 +01:00
trans-types.c trans-types.c (gfc_get_int_kind_from_width_isofortranen): Choose REAL type with the widest precision if... 2017-02-07 21:28:08 +00:00
trans-types.h Revert r244448 2017-01-13 21:53:16 +02:00
trans.c re PR fortran/78781 ([Coarray] ICE in gfc_deallocate_scalar_with_status, at fortran/trans.c:1588) 2017-01-07 18:26:58 +01:00
trans.h Update copyright years. 2017-01-01 13:07:43 +01:00
types.def Update copyright years. 2017-01-01 13:07:43 +01:00