Find a file
Jakub Jelinek 74bf76ed78 Makefile.in (omp-low.o): Depend on $(TARGET_H).
* Makefile.in (omp-low.o): Depend on $(TARGET_H).
	* cfgloop.h (struct loop): Add safelen, force_vect, simduid.
	* function.h (struct function): Add has_force_vect_loops and
	has_simduid_loops.
	* gimple-pretty-print.c (dump_gimple_omp_for): Handle
	GF_OMP_FOR_KIND*.
	* gimple.c (gimple_build_omp_critical): Add KIND argument and
	handle it.
	* gimple.def: Update CLAUSES comments.
	* gimple.h (enum gf_mask): Add GF_OMP_FOR_KIND_{FOR,SIMD}.
	(gimple_build_omp_for): Add argument to prototype.
	(gimple_omp_for_kind): New.
	(gimple_omp_for_set_kind): New.
	* gimplify.c (enum gimplify_omp_var_data): Add GOVD_LINEAR to
	GOVD_DATA_SHARE_CLASS.
	(enum omp_region_type): Add ORT_SIMD.
	(gimple_add_tmp_var): Handle ORT_SIMD.
	(gimplify_var_or_parm_decl): Same.
	(is_gimple_stmt): Same.
	(omp_firstprivatize_variable): Same.
	(omp_add_variable): Only use splay_tree_insert if lookup failed.
	(omp_notice_variable): Handle ORT_SIMD.
	(omp_is_private): Add SIMD argument and handle it as well as
	ORT_SIMD.
	(omp_check_private): Handle ORT_SIMD.
	(gimplify_scan_omp_clauses): Handle OMP_CLAUSE_LINEAR and
	OMP_CLAUSE_SAFELEN.
	(gimplify_adjust_omp_clauses_1): Handle GOVD_LINEAR.
	Handle OMP_CLAUSE_LASTPRIVATE.
	(gimplify_adjust_omp_clauses): Handle OMP_CLAUSE_LINEAR and
	OMP_CLAUSE_SAFELEN.
	(gimplify_omp_for): Handle OMP_SIMD and OMP_CLAUSE_LINEAR.
	(gimplify_expr): Handle OMP_SIMD.
	* internal-fn.c (expand_GOMP_SIMD_LANE): New.
	(expand_GOMP_SIMD_VF): New.
	(expand_GOMP_SIMD_LAST_LANE): New.
	* internal-fn.def (GOMP_SIMD_LANE): New.
	(GOMP_SIMD_VF): New.
	(GOMP_SIMD_LAST_LANE): New.
	* omp-low.c: Include target.h.
	(extract_omp_for_data): Handle OMP_SIMD, OMP_CLAUSE_LINEAR,
	OMP_CLAUSE_SAFELEN.
	(check_omp_nesting_restrictions): Same.
	(omp_max_vf): New.
	(lower_rec_simd_input_clauses): New.
	(lower_rec_input_clauses): Handle OMP_SIMD, GF_OMP_FOR_KIND_SIMD,
	OMP_CLAUSE_LINEAR.
	(lower_lastprivate_clauses): Handle OMP_CLAUSE_LINEAR,
	GF_OMP_FOR_KIND_SIMD, OMP_SIMD.
	(expand_omp_build_assign): New.
	(expand_omp_for_init_counts): New.
	(expand_omp_for_init_vars): New.
	(extract_omp_for_update_vars): New.
	(expand_omp_for_generic): Use expand_omp_for_{init,update}_vars
	and rewrite accordingly.
	(expand_omp_simd): New.
	(expand_omp_for): Use expand_omp_simd.
	(lower_omp_for_lastprivate): Unshare vinit when appropriate.
	(lower_omp_for): Do not lower the body.
	* tree-data-ref (get_references_in_stmt): Allow IFN_GOMP_SIMD_LANE
	in their own loops.
	* tree-flow.h (find_omp_clause): Remove prototype.
	* tree-if-conv.c (main_tree_if_conversion): Run if doing if
	conversion, forcing vectorization of the loop, or if
	flag_tree_vectorize.
	(gate_tree_if_conversion): Similarly.
	* tree-inline.c (remap_gimple_stmt): Pass for kind argument to
	gimple_build_omp_for.
	(copy_cfg_body): set has_force_vect_loops and has_simduid_loops.
	* tree-parloops (create_parallel_loop): Pass kind argument to
	gimple_build_omp_for.
	* tree-pretty-print.c (dump_omp_clause): Add cases for
	OMP_CLAUSE_UNIFORM, OMP_CLAUSE_LINEAR, OMP_CLAUSE_SAFELEN,
	OMP_CLAUSE__SIMDUID_.
	(dump_generic_node): Handle OMP_SIMD.
	* tree-ssa-ccp.c (likely_value): Handle IFN_GOMP_SIMD*.
	* tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): Do not
	unroll OMP_SIMD loops here.
	* tree-ssa-loop.c (gate_tree_vectorize): Run if
	has_force_vect_loops.
	* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Handle
	loop->safelen
	(vect_analyze_data_refs): Handle simd loops.
	* tree-vect-loop.c (vectorizable_live_operation): Handle
	IFN_GOMP_SIMD*.
	* tree-vect-stmts.c (vectorizable_call): Handle
	IFN_GOMP_SIMD_LANE.
	(vectorizable_store): Handle STMT_VINFO_SIMD_LANE_ACCESS_P.
	(vectorizable_load): Same.
	* tree-vectorizer.c: Include hash-table.h and
	tree-ssa-propagate.h.
	(struct simduid_to_vf): New.
	(simduid_to_vf::hash): New.
	(simduid_to-vf::equal): New.
	(struct simd_array_to_simduid): New.
	(simd_array_to_simduid::hash): New.
	(simd_array_to_simduid::equal): New.
	(adjust_simduid_builtins): New.
	(struct note_simd_array_uses_struct): New.
	(note_simd_array_uses_cb): New.
	(note_simd_array_uses): New.
	(vectorize_loops): Handle simd hints and adjust simd builtins
	accordingly.
	* tree-vectorizer.h (struct _stmt_vec_info): Add
	simd_lane_access_p field.
	(STMT_VINFO_SIMD_LANE_ACCESS_P): New macro.
	* tree.c (omp_clause_num_ops): Add entries for OMP_CLAUSE_LINEAR,
	OMP_CLAUSE_SAFELEN, OMP_CLAUSE__SIMDUID_, OMP_CLAUSE_UNIFORM.
	(omp_clause_code_name): Same.
	(walk_tree_1): Handle OMP_CLAUSE_UNIFORM, OMP_CLAUSE_SAFELEN,
	OMP_CLAUSE__SIMDUID_, OMP_CLAUSE_LINEAR.
	* tree.def (OMP_SIMD): New entry.
	* tree.h (enum omp_clause_code): Add entries for
	OMP_CLAUSE_LINEAR, OMP_CLAUSE_UNIFORM, OMP_CLAUSE_SAFELEN,
	OMP_CLAUSE__SIMDUID_.
	(OMP_CLAUSE_DECL): Adjust range for new clauses.
	(OMP_CLAUSE_LINEAR_NO_COPYIN): New.
	(OMP_CLAUSE_LINEAR_NO_COPYOUT): New.
	(OMP_CLAUSE_LINEAR_STEP): New.
	(OMP_CLAUSE_SAFELEN_EXPR): New.
	(OMP_CLAUSE__SIMDUID__DECL): New.
	(find_omp_clause): New prototype.
cp/
	* cp-tree.h (CP_OMP_CLAUSE_INFO): Adjust range for new clauses.

Co-Authored-By: Aldy Hernandez <aldyh@redhat.com>

From-SVN: r202029
2013-08-27 18:38:00 +00:00
boehm-gc Add ChangeLog entry for r197770 (in boehm-gc). 2013-05-02 21:48:45 +02:00
config Fix whitespace issue 2013-03-27 22:58:04 +01:00
contrib Commit the vtable verification feature. 2013-08-06 20:38:59 -07:00
fixincludes Remove sample result for CDEF_CPLUSPLUS hack 2013-07-07 13:57:21 +00:00
gcc Makefile.in (omp-low.o): Depend on $(TARGET_H). 2013-08-27 18:38:00 +00:00
gnattools Remove obsolete IRIX 6.5 support 2012-03-14 16:33:37 +00:00
include floatformat.h (floatformat_ibm_long_double): Delete. 2013-08-20 15:01:41 +09:30
INSTALL README: Also refer to the online installation instructions. 2012-08-25 20:48:20 +00:00
intl
libada configure: Regenerated. 2013-03-27 23:00:53 +01:00
libatomic Avoid non constant memory model uses in libatomic 2013-03-24 00:23:10 +00:00
libbacktrace elf.c (elf_syminfo): Loop over the elf_syminfo_data chain. 2013-07-23 13:17:10 +04:00
libcpp configure.ac: Set need_64bit_hwint for all arm targets. 2013-08-07 13:51:38 +00:00
libdecnumber configure.ac: Add AC_CONFIG_AUX_DIR. 2013-07-09 10:24:39 +00:00
libffi ffi.c (ffi_prep_args_SYSV): Move var declaration before statements. 2013-06-25 09:38:47 +09:30
libgcc re PR gcov-profile/58127 (37 failures in gcc.dg/tree-prof/ for x86_64-apple-darwin10) 2013-08-18 15:50:17 +00:00
libgfortran fpu-387.h (get_fpu_rounding_mode): Read rounding mode from SSE mxcsr register on x86_64. 2013-07-23 11:45:30 +02:00
libgo libgo: Update libtool.m4 from upstream to recognize powerpcle. 2013-08-23 01:08:25 +00:00
libgomp Disable strassen.f90 test for aarch64 tiny memory. 2013-06-28 12:45:57 +00:00
libiberty floatformat.h (floatformat_ibm_long_double): Delete. 2013-08-20 15:01:41 +09:30
libitm revert: configure.tgt: Add -msoft-float to XCFLAGS. 2013-08-14 21:04:07 +00:00
libjava aot-compile.in: Fix typo in option list. 2013-06-27 13:58:20 +00:00
libmudflap re PR tree-optimization/53265 (Warn when undefined behavior implies smaller iteration count) 2013-03-14 10:13:36 +01:00
libobjc class.c: Fix typos. 2013-07-21 15:38:21 +00:00
libquadmath re PR libquadmath/55473 (quadmath.h should have extern "C" for C++ users) 2013-03-07 08:53:10 +01:00
libsanitizer sanitizer_linux.cc (MemoryMappingLayout::Next): Cherry pick upstream r182922. 2013-06-03 15:04:35 +02:00
libssp Revert libquadmath and libssp copyright patches. 2013-02-06 22:03:54 +00:00
libstdc++-v3 Makefile.am: Add regex_scanner.{h,tcc}. 2013-08-27 02:49:22 +00:00
libvtv Fix logging to not use /tmp or the current directory... 2013-08-20 13:43:16 -07:00
lto-plugin * configure: Regenerated. 2012-09-14 19:42:24 -04:00
maintainer-scripts crontab: Disable snapshots from gcc-4_6-branch. 2013-04-12 17:07:38 +02:00
zlib 2012-11-16 Matthias Klose <doko@ubuntu.com> 2012-11-16 18:35:05 +00:00
.gitignore * .gitignore: Import from gdb repository. 2013-01-10 10:48:46 -05:00
ABOUT-NLS
ChangeLog Move myself from libvtv "Various Reviewers" to libvtv 2013-08-26 15:27:56 -07:00
ChangeLog.tree-ssa
compile
config-ml.in MAINTAINERS (crx port, [...]): Remove. 2011-03-22 19:58:18 +00:00
config.guess config.sub: Merge from config repo. 2013-01-08 22:46:38 +00:00
config.rpath Remove freebsd1 from libtool.m4 macros and config.rpath. 2011-02-13 11:45:53 +00:00
config.sub * config.sub: Update from config repo. 2013-01-11 13:02:58 +00:00
configure configure.tgt: Simplify, just use VTV_SUPPORTED. 2013-08-09 03:50:55 +00:00
configure.ac configure.tgt: Simplify, just use VTV_SUPPORTED. 2013-08-09 03:50:55 +00:00
COPYING
COPYING.LIB
COPYING.RUNTIME
COPYING3
COPYING3.LIB
depcomp
install-sh
libtool-ldflags
libtool.m4 re PR bootstrap/38607 (AIX error messages about TOC during build) 2012-09-14 19:23:41 -04:00
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4
MAINTAINERS Move myself from libvtv "Various Reviewers" to libvtv 2013-08-26 15:27:56 -07:00
Makefile.def Commit the vtable verification feature. 2013-08-06 20:38:59 -07:00
Makefile.in Commit the vtable verification feature. 2013-08-06 20:38:59 -07:00
Makefile.tpl Makefile.tpl (BOOT_ADAFLAGS): Remove -gnata. 2013-01-11 11:46:21 +00:00
missing
mkdep
mkinstalldirs
move-if-change
README * README: Document use of ranges of years in copyright notices. 2012-07-16 15:01:34 +01:00
symlink-tree
ylwrap

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the files whose
names start with COPYING for copying permission.  The manuals, and
some of the runtime libraries, are under different terms; see the
individual source files for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs/ for how to report bugs usefully.

Copyright years on GCC source files may be listed using range
notation, e.g., 1987-2012, indicating that every year in the range,
inclusive, is a copyrightable year that could otherwise be listed
individually.