From c1a9c369612878bf7b17faeef046e5a175eba64c Mon Sep 17 00:00:00 2001
From: Jakub Jelinek <jakub@gcc.gnu.org>
Date: Sun, 1 Jan 2017 12:31:28 +0100
Subject: [PATCH] gcc.c (process_command): Update copyright notice dates.

gcc/
	* gcc.c (process_command): Update copyright notice dates.
	* gcov-dump.c (print_version): Ditto.
	* gcov.c (print_version): Ditto.
	* gcov-tool.c (print_version): Ditto.
	* gengtype.c (create_file): Ditto.
	* doc/cpp.texi: Bump @copying's copyright year.
	* doc/cppinternals.texi: Ditto.
	* doc/gcc.texi: Ditto.
	* doc/gccint.texi: Ditto.
	* doc/gcov.texi: Ditto.
	* doc/install.texi: Ditto.
	* doc/invoke.texi: Ditto.
gcc/fortran/
	* gfortranspec.c (lang_specific_driver): Update copyright notice
	dates.
	* gfc-internals.texi: Bump @copying's copyright year.
	* gfortran.texi: Ditto.
	* intrinsic.texi: Ditto.
	* invoke.texi: Ditto.
gcc/ada/
	* gnat_ugn.texi: Bump @copying's copyright year.
	* gnat_rm.texi: Likewise.
gcc/go/
	* gccgo.texi: Bump @copyrights-go year.
libitm/
	* libitm.texi: Bump @copying's copyright year.
libgomp/
	* libgomp.texi: Bump @copying's copyright year.
libquadmath/
	* libquadmath.texi: Bump @copying's copyright year.

From-SVN: r243992
---
 gcc/ChangeLog                  | 36222 +-----------------------------
 gcc/ChangeLog-2016             | 36238 +++++++++++++++++++++++++++++++
 gcc/ada/ChangeLog              |  5912 +----
 gcc/ada/ChangeLog-2016         |  5918 +++++
 gcc/ada/gnat_rm.texi           |     2 +-
 gcc/ada/gnat_ugn.texi          |     2 +-
 gcc/doc/cpp.texi               |     2 +-
 gcc/doc/cppinternals.texi      |     4 +-
 gcc/doc/gcc.texi               |     2 +-
 gcc/doc/gccint.texi            |     2 +-
 gcc/doc/gcov.texi              |     2 +-
 gcc/doc/install.texi           |     4 +-
 gcc/doc/invoke.texi            |     2 +-
 gcc/fortran/ChangeLog          |  2984 +--
 gcc/fortran/ChangeLog-2016     |  2994 +++
 gcc/fortran/gfc-internals.texi |     2 +-
 gcc/fortran/gfortran.texi      |     2 +-
 gcc/fortran/gfortranspec.c     |     2 +-
 gcc/fortran/intrinsic.texi     |     2 +-
 gcc/fortran/invoke.texi        |     4 +-
 gcc/gcc.c                      |     2 +-
 gcc/gcov-dump.c                |     2 +-
 gcc/gcov-tool.c                |     2 +-
 gcc/gcov.c                     |     2 +-
 gcc/go/ChangeLog               |     6 +-
 gcc/go/gccgo.texi              |     2 +-
 libgomp/ChangeLog              |     6 +-
 libgomp/libgomp.texi           |     2 +-
 libitm/ChangeLog               |     6 +-
 libitm/libitm.texi             |     2 +-
 libquadmath/ChangeLog          |     6 +-
 libquadmath/libquadmath.texi   |     2 +-
 32 files changed, 45201 insertions(+), 45141 deletions(-)
 create mode 100644 gcc/ChangeLog-2016
 create mode 100644 gcc/ada/ChangeLog-2016
 create mode 100644 gcc/fortran/ChangeLog-2016

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 56123f6ad18d..7793fe4817ed 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,36144 +1,4 @@
-2016-12-30  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* doc/cppopts.texi: Reorder table entries to put the most 
-	commonly-used options first and debug options last.
-
-2016-12-30  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*testqi_ext_3): Merge insn pattern and
-	corresponding splitter to define_insn_and_split.  Use wi::shifted_mask
-	helper function to calculate mask.
-
-2016-12-30  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/predicates.md (ext_register_operand): Do not reject
-	registers without upper parts here.
-	* config/i386/i386.md (extv<mode>): Copy registers without
-	upper parts in operand 1 to a pseudo.
-	(extzv<mode>): Ditto.
-	(insv<mode>): Ditto.
-
-2016-12-30  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/standards.texi (Standards): Remove broken reference to
-	objc.toodarkpark.net and avoid list with now just one item.
-
-2016-12-29  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/78904
-	* config/i386/i386.md (*extvqi): Remove insn pattern.
-	(divmodqi4): Update expander to generate QImode zero-extract from AH.
-
-2016-12-29  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (altivec_expand_builtin): Fix typos in
-	error messages.
-
-2016-12-29  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/extend.texi (Cilk Plus Builtins): cilkplus.org now uses
-	https by default.
-	* doc/passes.texi (Cilk Plus Transformation): Ditto.
-	* doc/generic.texi (Statements for C++): Ditto, and use @uref.
-
-2016-12-28  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/78904
-	* config/i386/constraints.md (Bn): New special memory constraint.
-	* config/i386/predicates.md (norex_memory_operand): New predicate.
-	* config/i386/i386.md (*extzvqi_mem_rex64): New insn pattern and
-	corresponding peephole2 pattern.
-
-2016-12-27  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* doc/cppdiropts.texi, doc/cppwarnopts.texi:  New files, split from...
-	* doc/cppopts.texi: .... here.
-	* doc/cpp.texi (Invocation): Adjust includes.
-	* doc/invoke.texi (Option Summary): Add missing preprocesor-related
-	options.  Adjust sorting and formatting.
-	(Warning Options): Include cppwarnopts.texi.
-	(Preprocessor Options): Add pointers and list the specific
-	preprocessor options from cppopts.texi first instead of last.
-	(Directory Options): Move/merge documentation of -I, -iquote, and
-	-I- to cppdiropts.texi.  Include that file here.
-
-2016-12-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/predicates.md (const_0_to_12_operand): Rename
-	predicate and change test from 0..11 to 0..12 to match the
-	semantics of the word extract/insert instructions.  Change all
-	callers.
-	(const_0_to_11_operand): Likewise.
-	* config/rs6000/rs6000.c (altivec_expand_builtin): Likewise.
-	* config/rs6000/vsx.md (vextract4b): Likewise.
-	(vextract4b_internal): Likewise.
-	(vinsert4b): Likewise.
-	(vinsert4b_internal): Likewise.
-	(vinsert4b_di): Likewise.
-	(vinsert4b_di_internal): Likewise.
-	* config/rs6000/rs6000.md (zero_extendsi<mode>2): Fix offset used
-	in xxextractuw to zero extend the word in the vector registers.
-	(lfiwzx): Likewise.
-
-2016-12-27  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (ix86_secondary_reload): Require QImode
-	intermediate for QImode mask register spill only for !TARGET_AVX512DQ.
-	Always use true_regnum to determine operand regno.
-
-2016-12-27  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* doc/cppopts.texi: Delete redundant documentation for -x.  Move
-	-fno-show-column documentation to...
-	* doc/invoke.texi (Diagnostic Message Formatting Options):  ...here.
-	Update the option summary.
-
-2016-12-27  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (VI_512): Remove.
-	(vcond<V_512:mode><VI_AVX512BW:mode>): Use VI_AVX512BW
-	mode iterator instead of VI_512.
-	(vcondu<V_512:mode><VI_AVX512BW:mode>): Ditto.
-
-2016-12-27  Jakub Jelinek  <jakub@redhat.com>
-
-	PR translation/78922
-	* config/i386/stringop.opt: Remove.
-
-2016-12-27  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/78904
-	* config/i386/constraints.md (Bc): New special memory constraint.
-	* config/i386/i386.md (*cmpqi_ext_1, *extvqi, *extzvqi): Use Bc
-	constraint with nonimmediate_operand to allow constant memory operands.
-	(*cmpqi_ext_3, insv<mode>_1, addqi_ext_1, *testqi_ext_1, andqi_ext_1)
-	(*<any_or:code>qi_ext_1, *xorqi_ext_1_cc): Use Bc constraint
-	with general_operand to allow constant memory operands.
-
-2016-12-27  Alexander Ivchenko  <alexander.ivchenko@intel.com>
-
-	* c-family/c.opt (flag_chkp_flexible_struct_trailing_arrays):
-	Add new option.
-	(fchkp-narrow-to-innermost-array): Fix typo.
-	* doc/cpp.texi (flag_chkp_flexible_struct_trailing_arrays): Ditto.
-	* tree-chkp.c (chkp_may_narrow_to_field ): Forbid
-	narrowing when flag_chkp_flexible_struct_trailing_arrays is used
-	and the field is the last array field in the structure.
-
-2016-12-27  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (andqi_ext_1): Use general_operand
-	predicate for operand 2.
-
-2016-12-27  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/78904
-	* config/i386/i386.md (*cmpqi_ext_1, *extvqi, *extzvqi): Use
-	nonimmediate_operand instead of nonimmediate_x64nomem_operand.
-	(*cmpqi_ext_3, insv<mode>_1, addqi_ext_1, *testqi_ext_1, andqi_ext_1)
-	(*<any_or:code>qi_ext_1, *xorqi_ext_1_cc): Use general_operand
-	instead of general_x64nomem_operand.
-	* config/i386/predicates.md (nonimmediate_x64nomem_operand): Remove.
-	(general_x64nomem_operand): Ditto.
-
-2016-12-26  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/78904
-	* config/i386/i386.md (addqi_ext_1): Canonicalize insn pattern w.r.t.
-	zero_extract RTXes.
-	(*addqi_ext_2): Ditto.
-	(testqi_ext_ccno_0): Canonicalize expander w.r.t. zero_extract RTXes.
-	(testqi_ext_1_ccno): Rename from testqi_ext_ccno_0.
-	(*testqi_ext_0): Merge with *testqi_ext_1.
-	(*testqi_ext_1): Canonicalize insn pattern w.r.t. zero_extract RTXes.
-	Update corresponding splitter.
-	(*testqi_ext_2): Canonicalize insn pattern w.r.t. zero_extract RTXes.
-	(*andqi_ext_0): Merge with *andqi_ext_1.
-	(andqi_ext_1): Canonicalize insn pattern w.r.t. zero_extract RTXes.
-	Rename from *andqi_ext_1.  Update corresponding splitter and
-	peephole2 patterns.
-	(*andqi_ext_1_cc): Rename from *andqi_ext_0_cc.
-	(*andqi_ext_2): Canonicalize insn pattern w.r.t. zero_extract RTXes.
-	(*<any_or:code>qi_ext_0): Merge with *andqi_ext_1.
-	(*<any_or:code>qi_ext_1): Canonicalize insn pattern w.r.t.
-	zero_extract RTXes.  Update corresponding splitter.
-	(*<any_or:code>qi_ext_2): Canonicalize insn pattern w.r.t.
-	zero_extract RTXes.
-	(xorqi_cc_ext_1): Canonicalize expander w.r.t. zero_extract RTXes.
-	(xorqi_ext_1_cc): Rename from xorqi_cc_ext_1.
-	(*xorqi_cc_ext_1): Canonicalize insn pattern w.r.t. zero_extract RTXes.
-	Update corresponding splitter.
-	(*xorqi_ext_1_cc): Rename from *xorqi_cc_ext_1.
-	(isinfxf2): Update calls to renamed expanders.
-	(isinf<mode>2): Ditto.
-	* config/i386/i386.c (ix86_expand_fp_compare): Ditto.
-	(ix86_emit_fp_unordered_jump): Ditto.
-	(ix86_emit_i387_round): Ditto.
-
-2016-12-26  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* doc/invoke.texi (SPARC options): Add missing documentation for -mlra.
-
-	* doc/cpp.texi (Invocation): Remove space in command.
-
-2016-12-25  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* doc/cpp.texi (Invocation): Revise to indicate that GCC driver
-	options are only documented in the GCC manual.
-	* doc/cppopts.texi: Delete documentation of GCC driver options
-	-o, -Wall, -Wtraditional, -Werror, -Wsystem-headers, -w,
-	-pedantic, -pedantic-errors, -std=, -ansi, --help, --target-help,
-	-v, -version.  Update -Wcomment, -Wtrigraphs, -Wundef,
-	-Wexpansion-to-defined, -Wno-endif-labels, -traditional,
-	-traditional-cpp, -trigraphs to merge text previously in GCC manual.
-	* doc/invoke.texi (Option Summary): Move -trigraphs, -traditional,
-	and -traditional-cpp from C dialect options to preprocessor options.
-	(C Dialect Options): Likewise.
-	(Warning Options): Delete documentation of -Wcomment, -Wtrigraphs,
-	-Wexpansion-to-defined, -Wundef, and -Wno-endif-labels.
-
-2016-12-24  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-core.h (tree_base): Document the meaning of public_flag
-	for SSA names.
-	* tree.h (SSA_NAME_IS_VIRTUAL_OPERAND): New macro.
-	(SET_SSA_NAME_VAR_OR_IDENTIFIER): Record whether the variable
-	is a virtual operand.
-	* gimple-expr.h (virtual_operand_p): Use SSA_NAME_IS_VIRTUAL_OPERAND.
-
-2016-12-22  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	* tree-pretty-print.c (dump_generic_node): Change dump format for
-	REALPART_EXPR and IMAGPART_EXPR with TDF_GIMPLE.
-
-2016-12-22  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* varasm.c (build_constant_desc): Use the alignment of the var
-	decl instead of the original expression.
-
-2016-12-22  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	* config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Define
-	__S390_ARCH_LEVEL__.
-
-2016-12-22  Martin Liska  <mliska@suse.cz>
-
-	PR tree-optimization/78886
-	* tree-ssa-strlen.c (handle_builtin_malloc): Return when LHS
-	is equal to NULL.
-
-2016-12-22  Jakub Jelinek  <jakub@redhat.com>
-
-	PR bootstrap/78817
-	* vec.h (vec<T, va_heap, vl_ptr>::safe_grow_cleared): Revert
-	2016-12-15 change.
-
-2016-12-21  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/78580
-	* ira-costs.c (find_costs_and_classes): Make regno_aclass
-	translated into an allocno class.
-
-2016-12-21  Jakub Jelinek  <jakub@redhat.com>
-
-	PR bootstrap/78817
-	* tree-pass.h (make_pass_post_ipa_warn): Declare.
-	* builtins.c (validate_arglist): Adjust get_nonnull_args call.
-	Check for NULL pointer argument to nonnull arg here.
-	(validate_arg): Revert 2016-12-14 changes.
-	* calls.h (get_nonnull_args): Remove declaration.
-	* tree-ssa-ccp.c: Include diagnostic-core.h.
-	(pass_data_post_ipa_warn): New variable.
-	(pass_post_ipa_warn): New class.
-	(pass_post_ipa_warn::execute): New method.
-	(make_pass_post_ipa_warn): New function.
-	* tree.h (get_nonnull_args): Declare.
-	* tree.c (get_nonnull_args): New function.
-	* calls.c (maybe_warn_null_arg): Removed.
-	(maybe_warn_null_arg): Removed.
-	(initialize_argument_information): Revert 2016-12-14 changes.
-	* passes.def: Add pass_post_ipa_warn after first ccp after IPA.
-
-2016-12-21  Pat Haugen  <pthaugen@us.ibm.com>
-
-	PR rtl-optimization/11488
-	* common/config/rs6000/rs6000-common.c
-	(rs6000_option_optimization_table): Enable -fsched-pressure.
-	* config/rs6000/rs6000.c (TARGET_COMPUTE_PRESSURE_CLASSES): Define
-	target hook.
-	(rs6000_option_override_internal): Set default -fsched-pressure
-	algorithm.
-	(rs6000_compute_pressure_classes): Implement target hook.
-
-2016-12-21  Bill Seurer  <seurer@linux.vnet.ibm.com>
-
-	PR sanitizer/65479
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
-	-fasynchronous-unwind-tables option when -fsanitize=address is
-	specified.
-
-2016-12-21  Bernd Schmidt  <bschmidt@redhat.com>
-
-	PR target/71321
-	* config/i386/i386.md (lea<mode>_general_2b, lea<mode>_general_3b): New
-	patterns.
-	* config/i386/predicates.md (const123_operand): New.
-
-2016-12-21  Jakub Jelinek  <jakub@redhat.com>
-	    Martin Liska  <mliska@suse.cz>
-
-	PR driver/78863
-	* gcc.c (driver::build_option_suggestions): Do not add
-	-fsanitize=all as a suggestion candidate.
-
-2016-12-21  Alexander Monakov  <amonakov@ispras.ru>
-
-	PR target/78831
-	* config/nvptx/nvptx.c (init_softstack_frame): Remove assert.  Compute
-	crtl->is_leaf only if unset.  Adjust comment.
-
-2016-12-21  Andrew Pinski  <apinski@cavium.com>
-
-	* match.pd (max:c @0 (plus@2 @0 INTEGER_CST@1)): New Pattern.
-	(min:c @0 (plus@2 @0 INTEGER_CST@1)) : New Pattern.
-
-2016-12-20  James Greenhalgh  <james.greenhalghj@arm.com>
-
-	* common.opt (excess_precision): Tag as SetByCombined.
-	* opts.c (set_fast_math_flags): Also set
-	flag_excess_precision_cmdline.
-	(fast_math_flags_set_p): Also check flag_excess_precision_cmdline.
-	* doc/invoke.texi (-fexcess-precision): Drop text saying the
-	option has no effect under -ffast-math, make it clear that
-	-ffast-math will cause -fexcess-precision=fast by default even for
-	standards compliant modes.
-	(-ffast-math): Document that this sets -fexcess-precision=fast.
-
-2016-12-20  Richard Biener  <rguenther@suse.de>
-
-	* passes.c (execute_one_pass): Handle going out of SSA w/o
-	hitting pass_startwith.  Handle skipping property providers.
-
-2016-12-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/78694
-	* config/arm/arm.c (dump_minipool): Copy mp->value before emitting it
-	in the minipool to avoid invalid RTL sharing.
-
-2016-12-19  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000-protos.h (expand_strn_compare): Declare.
-	* config/rs6000/rs6000.md (UNSPEC_CMPB): New unspec.
-	(cmpb<mode>3): pattern for generating cmpb.
-	(cmpstrnsi): pattern to expand strncmp ().
-	* config/rs6000/rs6000.opt (mstring-compare-inline-limit): Add a new
-	target option for controlling how much code inline expansion of
-	strncmp() will be allowed to generate.
-	* config/rs6000/rs6000.c (expand_strncmp_align_check): generate code
-	for runtime page crossing check of strncmp () args.
-	(expand_strn_compare): Function to do builtin expansion of strncmp ().
-
-2016-12-19  David Malcolm  <dmalcolm@redhat.com>
-
-	* print-rtl-function.c (print_rtx_function): Update
-	example in comment to reflect current format.
-
-2016-12-19  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*popcounthi2_1): New insn_and_split pattern.
-
-2016-12-19  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* doc/cpp.texi: Clean up anachronistic C99 references and remove
-	discussion of very old GCC versions.
-	(Differences from previous versions): Delete entire section.
-
-2016-12-19  Will Schmidt  <will_schmidt@vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for
-	early expansion of vector multiply and subtract builtins.
-
-2016-12-19  David Malcolm  <dmalcolm@redhat.com>
-
-	* print-rtl.c (rtx_writer::print_rtx_operand_code_r): For
-	non-virtual pseudos in compact mode, wrap the regno in '<' and '>'
-	rather than using a '%' prefix.
-	* rtl-tests.c (selftest::test_dumping_regs): Update for above change.
-
-2016-12-19  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	PR target/78748
-	* config/s390/s390.md ("*andc_split_<mode>"): Allow memory destination
-	only if it coincides with operand 2.
-
-2016-12-19  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	* combine.c (change_zero_ext): Skip generation of redundant AND.
-
-2016-12-19  Krister Walfridsson  <krister.walfridsson@gmail.com>
-
-	* config/netbsd.h (LINK_EH_SPEC): Define.
-
-2016-12-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* lra-constraints.c (process_address): Add forward declaration.
-	(simplify_operand_subreg): In the MEM case, if the adjusted memory
-	reference is not sufficient aligned and the address was invalid,
-	reload the address before reloading the original memory reference.
-	Fix long lines and add a final return for the sake of clarity.
-
-2016-12-17  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/78832
-	* sanopt.c (sanitize_asan_mark_unpoison): Remove next variable, use
-	continue if gsi_next should be skipped.
-	(sanitize_asan_mark_poison): Remove prev variable, use continue if
-	gsi_prev should be skipped.  When removing ASAN_MARK, do gsi_prev
-	first and gsi_remove on a previously made copy of the iterator.
-
-2016-12-17  Andrew Senkevich  <andrew.senkevich@intel.com>
-
-	* config/i386/avx512bwintrin.h: Add new k-mask intrinsics.
-	* config/i386/avx512dqintrin.h: Ditto.
-	* config/i386/avx512fintrin.h: Ditto.
-	* config/i386/i386-builtin.def (__builtin_ia32_kaddqi,
-	__builtin_ia32_kaddhi, __builtin_ia32_kaddsi,
-	__builtin_ia32_kadddi): New.
-	* config/i386/sse.md (kadd<mode>): New.
-
-2016-12-17  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*tzcnt<mode>_1): Merge *tzcnt<mode>_1_falsedep_1
-	and *tzcnt<mode>_1 to define_insn_and_split pattern.  Adjust split
-	condition to split after epilogue_completed.
-	(ctz<mode>2): Remove expander.
-	(ctz<mode>2): Merge *ctz<mode>2_falsedep_1 and *ctz<mode>2 to
-	define_insn_and_split pattern.  Adjust split condition to split
-	after epilogue_completed.
-	(clz<mode>2_lznct): Remove expander.
-	(clz<mode>2_lzcnt): Merge *clz<mode>2_lzcnt_falsedep_1 and
-	*clz<mode>2 to define_insn_and_split pattern.  Adjust split
-	condition to split after epilogue_completed.
-	(<lt_zcnt>_<mode>): Remove expander.
-	(<lt_zcnt>_<mode>): Merge *<lt_zcnt>_<mode>_falsedep_1 and
-	*<lt_zcnt>_<mode> to define_insn_and_split pattern.  Adjust split
-	condition to split after epilogue_completed.
-	(<lt_zcnt>_hi): New insn pattern.
-	(popcount<mode>2): Remove expander.
-	(popcount<mode>2): Merge *popcount<mode>2_falsedep_1 and
-	*popcount<mode>2 to define_insn_and_split pattern.  Adjust split
-	condition to split after epilogue_completed.
-	(popcounthi2): New insn pattern.
-
-2016-12-16  Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	* config/rs6000/altivec.md (UNSPEC_CMPRB): New unspec value.
-	(UNSPEC_CMPRB2): New unspec value.
-	(UNSPEC_CMPEQB): New unspec value.
-	(cmprb): New expansion.
-	(*cmprb_internal): New insn.
-	(*setb_internal): New insn.
-	(cmprb2): New expansion.
-	(*cmprb2_internal): New insn.
-	(cmpeqb): New expansion.
-	(*cmpeqb_internal): New insn.
-	* config/rs6000/rs6000-builtin.def (BU_P9_2): New macro.
-	(BU_P9_64BIT_2): Likewise.
-	(BU_P9_OVERLOAD_2): Likewise.
-	(CMPRB): Add byte-in-range built-in function.
-	(CMBRB2): Add byte-in-either-range built-in function.
-	(CMPEQB): Add byte-in-set built-in function.
-	(CMPRB): Add overload support for byte-in-range function.
-	(CMPRB2): Add overload support for byte-in-either-range function.
-	(CMPEQB): Add overload support for byte-in-set built-in function.
-	* config/rs6000/rs6000-c.c (P9_BUILTIN_CMPRB): Macro expansion to
-	define argument types for new builtin.
-	(P9_BUILTIN_CMPRB2): Likewise.
-	(P9_BUILTIN_CMPEQB): Likewise.
-	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Rearrange
-	the order of presentation for certain built-in functions
-	(scalar_extract_exp, scalar_extract_sig, scalar_insert_exp)
-	(scalar_cmp_exp_gt, scalar_cmp_exp_lt, scalar_cmp_exp_eq)
-	(scalar_cmp_exp_unordered, scalar_test_data_class)
-	(scalar_test_neg) to improve locality and flow.  Document
-	the new __builtin_scalar_byte_in_set,
-	__builtin_scalar_byte_in_range, and
-	__builtin_scalar_byte_in_either_range functions.
-
-2016-12-16  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64.md: New define_split above bswap<mode>2.
-
-2016-12-16  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64.md: New define_split above insv<mode>.
-
-2016-12-16  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c/78408
-	* tree-ssa-ccp.c: Include tree-dfa.h.
-	(optimize_memcpy): New function.
-	(pass_fold_builtins::execute): Use it.  Remove useless conditional
-	break after BUILT_IN_VA_*.
-
-2016-12-16  Marek Polacek  <polacek@redhat.com>
-
-	PR tree-optimization/78819
-	* tree-vrp.c (find_switch_asserts): Return if the insertion limit is 0.
-	Don't register an assertion if the default case shares a label with
-	another case.
-
-2016-12-16  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/arm/arm.md (subsi3_carryin): Add Thumb-2 RSC #0.
-	(arm_negdi2) Rename to negdi2_insn, allow on Thumb-2.
-	* config/arm/thumb2.md (thumb2_negdi2): Remove pattern.
-
-2016-12-16  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/arm/arm.c (thumb_core_reg_alloc_order): Swap R12 and R14.
-
-2016-12-16  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.md (call_prof): Remove.
-	(call_value_prof): Likewise.
-	(sibcall_prof): Likewise.
-	(sibcall_value_prof): Likewise.
-
-2016-12-16  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.h (LINK_SPEC): Tidy up.
-	(ENDFILE_SPEC): Likewise.
-	(LIB_SPEC): Likewise.
-	(STARTFILE_SPEC): Include gcrt0 when profiling.
-	(FUNCTION_PROFILER): Use __mcount.
-	* config/arc/arc.opt (mucb-mcount): Remove.
-	* doc/invoke.texi (ARC): Remove mucb-mcount doc.
-	* arc/arc-protos.h (arc_profile_call): Remove.
-	* config/arc/arc.c (write_profile_sections): Likewise.
-	(arc_profile_call): Likewise.
-	(unspec_prof_hash): Likewise.
-	(unspec_prof_htab_eq): Likewise.
-	(arc_legitimate_constant_p): Remove UNSPEC_PROF.
-	(arc_reorg): Remove call to write_profile_sections.
-	* config/arc/arc.md (call): Remove call to arc_profile_call.
-	(call_value): Likewise.
-	(sibcall): Likewise.
-	(sibcall_value): Likewise.
-	(define_constants): Remove UNSPEC_PROF.
-
-2016-12-16  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.md (mulsidi_600): Change to insn_and_split,
-	generate new mul64 insn for core multiplication work.
-	(umulsidi_600): Likewise, but use mulu64 insn.
-	(mul64): New pattern, content taken from old mulsidi_600 insn pattern.
-	(mulu64): Likewise, but using umulsidi_600.
-	(mulsidi3): Remove move to destination, this is now handled by
-	mulsidi_600 insn_and_split.
-	(umulsidi3): Likewise, but using umulsidi_600.
-
-2016-12-16  Richard Biener  <rguenther@suse.de>
-
-	PR c++/71694
-	* langhooks-def.h (lhd_unit_size_without_reusable_padding): Declare.
-	(LANG_HOOKS_UNIT_SIZE_WITHOUT_REUSABLE_PADDING): Define.
-	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Adjust.
-	* langhooks.h (struct lang_hooks_for_types): Add
-	unit_size_without_reusable_padding.
-	* langhooks.c (lhd_unit_size_without_reusable_padding): New.
-	* stor-layout.c (finish_bitfield_representative): Use
-	unit_size_without_reusable_padding langhook to decide on the
-	last representatives size.
-
-2016-12-16  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/71632
-	* expr.c (expand_cond_expr_using_cmove): Bail out early if
-	we end up recursing via TER.
-
-2016-12-15  Martin Sebor  <msebor@redhat.com>
-
-	PR bootstrap/78817
-	* vec.h (vec<T, va_heap, vl_ptr>::safe_grow_cleared): Assert
-	a pointer is non-null.
-
-2016-12-15  Andrew Senkevich  <andrew.senkevich@intel.com>
-
-	* config/i386/avx512bwintrin.h: Add new k-mask intrinsics.
-	* config/i386/avx512dqintrin.h: Ditto.
-	* config/i386/avx512fintrin.h: Ditto.
-	* config/i386/i386-builtin.def (__builtin_ia32_kmovb,
-	__builtin_ia32_kmovd, __builtin_ia32_kmovq): New.
-	(__builtin_ia32_kmov16): Rename to __builtin_ia32_kmovw.
-	* config/i386/sse.md (kmov<mskmodesuffix>): New.
-
-2016-12-15  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (ffs<mode>2): Generate CCCmode flags register
-	for TARGET_BMI.
-	(ffssi2_no_cmove): Ditto.
-	(*tzcnt<mode>_1_falsedep_1): New insn_and_split pattern.
-	(*tzcnt<mode>_1_falsedep): New insn pattern.
-
-	(LT_ZCNT): New mode iterator.
-	(lt_zcnt): New mode attribute.
-	(lt_zcnt_type): New mode attribute.
-	(<lt_zcnt>_<mode>): Macroize expander from bmi_tzcnt_<mode> and
-	lzcnt_<mode> using LT_ZCNT mode iterator.
-	(*<lt_zcnt>_<mode>_falsedep_1): Macroize insn from
-	*bmi_tzcnt_<mode>_falsedep_1 and *lzcnt_<mode>_falsedep_1
-	using LT_ZCNT mode iterator.
-	(*<lt_zcnt>_<mode>_falsedep): Macroize insn from
-	*bmi_tzcnt_<mode>_falsedep and *lzcnt_<mode>_falsedep
-	using LT_ZCNT mode iterator.
-	(*<lt_zcnt>_<mode>): Macroize insn from *bmi_tzcnt_<mode>
-	and *lzcnt_<mode> using LT_ZCNT mode iterator.
-	* config/i386/i386-builtin.def (__builtin_ia32_tzcnt_u16)
-	(__builtin_ia32_tzcnt_u32, __builtin_ia32_tzcnt_u64, __builtin_ctzs):
-	Update for rename.
-
-2016-12-15  Jakub Jelinek  <jakub@redhat.com>
-
-	* ipa-cp.c (class ipcp_bits_lattice): Formatting fixes.
-	(print_ipcp_constant_value): Likewise.
-	(ipcp_cloning_candidate_p): Likewise.
-	(ipcp_bits_lattice::get_value_and_mask): Likewise.
-	(ipcp_bits_lattice::meet_with_1): Likewise.
-	(ipcp_bits_lattice::meet_with): Likewise.
-	(initialize_node_lattices): Likewise.
-	(ipcp_lattice::add_value): Likewise.
-	(propagate_vals_accross_pass_through): Renamed to ...
-	(propagate_vals_across_pass_through): ... this function.
-	(propagate_vals_accross_ancestor): Renamed to ...
-	(propagate_vals_across_ancestor): ... this.
-	(propagate_scalar_accross_jump_function): Renamed to ...
-	(propagate_scalar_across_jump_function): ... this.
-	Adjust calls to above functions.
-	(propagate_context_accross_jump_function): Renamed to ...
-	(propagate_context_across_jump_function): ... this.
-	(propagate_bits_accross_jump_function): Renamed to ...
-	(propagate_bits_accross_jump_function): ... this.  Formatting fixes.
-	(propagate_vr_accross_jump_function): Renamed to ...
-	(propagate_vr_across_jump_function): ... this.
-	(merge_agg_lats_step): Formatting fixes.
-	(propagate_constants_accross_call): Renamed to ...
-	(propagate_constants_across_call): ... this.  Adjust calls to above
-	functions.
-	(ipa_get_indirect_edge_target_1): Formatting fixes.
-	(gather_context_independent_values): Likewise.
-	(estimate_local_effects): Likewise.
-	(add_all_node_vals_to_toposort): Likewise.
-	(propagate_constants_topo): Adjust calls to above functions.
-	(get_replacement_map): Formatting fixes.
-	(dump_profile_updates): Likewise.
-	(update_profiling_info): Likewise.
-	(update_specialized_profile): Likewise.
-	(create_specialized_node): Likewise.
-	(find_more_contexts_for_caller_subset): Likewise.
-	(decide_whether_version_node): Likewise.
-	(identify_dead_nodes): Likewise.
-	(ipcp_decision_stage): Likewise.
-	(ipcp_store_bits_results): Likewise.
-	(ipcp_store_vr_results): Likewise.
-	(ipcp_driver): Likewise.
-
-2016-12-15  David Malcolm  <dmalcolm@redhat.com>
-
-	PR preprocessor/78680
-	PR preprocessor/78811
-	* input.c (struct selftest::lexer_test): Add field
-	m_implicitly_expect_EOF.
-	(selftest::lexer_error_sink): New class.
-	(selftest::lexer_error_sink::s_singleton): New global.
-	(selftest::lexer_test::lexer_test): Initialize new field
-	"m_implicitly_expect_EOF".
-	(selftest::lexer_test::~lexer_test): Conditionalize the
-	check for the EOF token on the new field.
-	(selftest::test_lexer_string_locations_raw_string_unterminated):
-	New function.
-	(selftest::input_c_tests): Call the new test.
-
-2016-12-15  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/arm/arm.h (TARGET_BACKTRACE): Use crtl->is_leaf.
-	* config/arm/arm.c (arm_option_check_internal): Improve comment.
-	(thumb_force_lr_save): Use crtl->is_leaf.
-	(arm_get_frame_offsets): Remove comment.  Use crtl->is_leaf.
-	(thumb_far_jump_used_p): Remove comment.
-	(arm_frame_pointer_required): Use crtl->is_leaf.
-
-2016-12-15  Jakub Jelinek  <jakub@redhat.com>
-
-	* doc/extend.texi: Clean up @xref{...} uses.
-	* doc/invoke.texi: Likewise.
-
-2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm-fpus.def: Add CNAME field to all FPU definitions.
-	* genopt.sh: Use explicit enumeration tags for FPU entries.
-	* arm-tables.opt: Regenerated.
-	* arm.opt (mfpu): Provide initial value.
-	* arm-opts.h (enum fpu_type): Build the enumeration from the list of
-	available FPUs.  Add 'auto' entry on the end.
-	* arm.c (arm_configure_build_target): Only do explicit configuration
-	of the FPU features if the selected FPU is not 'auto'.
-	(arm_option_override): Adjust initialization of arm_fpu_index.
-	Emit an error if we have a hard float ABI request, but the processor
-	does not support floating-point.
-	(arm_option_print): Handle -mfpu=auto.
-	(arm_valid_target_attribute_rec): Don't permit fpu=auto in pragmas
-	or function attributes.
-	(arm_identify_fpu_from_isa): Handle effective soft-float when
-	the FPU is automatically detected.
-	* arm-cores.def (arm1136jf-s): Add feature ISA_FP_DBL.
-	(arm1176jzf-s): Likewise.
-	(mpcore): Likewise.
-	(arm1156t2f-s): Likewise.
-
-2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm-fpus.def (ARM_FPU): Remove features field from all definitions.
-	* arm.h (arm_fpu_feature_set): Delete typedef.
-	(FPU_FL_NONE): Delete.
-	(FPU_FL_NEON): Delete.
-	(FPU_FL_FP16): Delete.
-	(FPU_FL_CRYPTO): Delete.
-	(FPU_FL_DBL): Delete.
-	(FPU_FL_D32): Delete.
-	(FPU_FL_VFPv2): Delete.
-	(FPU_FL_VFPv3): Delete.
-	(FPU_FL_VFPv4): Delete.
-	(FPU_FL_VFPv5): Delete.
-	(FPU_FL_AMRv8): Delete.
-	(FPU_VFPv2): Delete.
-	(FPU_VFPv3): Delete.
-	(FPU_VFPv4): Delete.
-	(FPU_VFPv5): Delete.
-	(FPU_ARMv8): Delete.
-	(FPU_DBL): Delete.
-	(FPU_D32): Delete.
-	(FPU_NEON): Delete.
-	(FPU_CRYPTO): Delete.
-	(FPU_FP16): Delete.
-	(arm_fpu_desc): Delete features field.
-	* arm.c (all_fpus): Don't initialize feature field.
-
-2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm.c (arm_can_inline_p): Use ISA features for determining
-	inlinability.
-
-2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm-protos.h (arm_configure_build_target): Change second argument
-	to cl_target_options.
-	* arm.c (arm_configure_build_target): Likewise.
-	(arm_option_restore): Update accordingly.
-	(arm_option_override): Create the target_option_default_node before
-	calling arm_configure_build_target.  Use it in call of latter.
-	Resynchronize after all other overrides have been calculated.
-	(arm_valid_target_attribute_tree): Use the target options for
-	reconfiguration.  Resynchronize after performing override checks.
-	* arm-c.c (arm_pragma_target_parse): Use target optiosn from cur_tree
-	to reconfigure the build target.
-
-2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm.h (TARGET_VFPD32): Use arm_active_target.
-	(TARGET_VFP3): Likewise.
-	(TARGET_VFP5): Likewise.
-	(TARGET_VFP_SINGLE): Likewise.
-	(TARGET_VFP_DOUBLE): Likewise.
-	(TARGET_NEON_FP16): Likewise.
-	(TARGET_FP16): Likewise.
-	(TARGET_FMA): Likewise.
-	(TARGET_FPU_ARMV8): Likewise.
-	(TARGET_CRYPTO): Likewise.
-	(TARGET_NEON): Likewise.
-	(TARGET_FPU_FEATURES): Delete.
-	* arm.c (arm_option_check_internal): Check for iwmmxt conflict with
-	Neon using arm_active_target.
-
-2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm.h (TARGET_FPU_NAME): Delete.
-	* arm.c (arm_identify_fpu_from_isa): New function.
-	(arm_declare_function_name): Use it to get the name for the FPU.
-
-2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm-protos.h: Include sbitmap.h
-	(arm_configure_build_target): Make public.
-	* arm.c (arm_configure_build_target): Now not static.
-	(arm_valid_target_attribute_rec): Move internal option check to...
-	(arm_valid_target_attribute_tree0: ... here.  Also reconfingure the
-	active target.
-	(arm_override_options_after_change): Call arm_configure_build_target.
-	(isa_all_fpubits): Renamed from isa_fpubits.
-	(arm_option_restore): New function.
-	(TARGET_OPTION_RESTORE): Register it.
-	(arm_configure_build_target): Initialize the FPU capability bits in
-	the isa.
-	(arm_option_override): Move the code that forces the setting of the
-	FPU option before the call to arm_configure_build_target.
-	* arm.opt (march): Mark as Save.
-	(mcpu, mtune): Likewise.
-	* arm-c.c (arm_pragma_target_parse): Reconfigure the build target
-	after pragmas change the target options.
-
-2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm-isa.h (isa_feature): Add bits for VFPv4, FPv5, fp16conv,
-	fP_dbl, fp_d32 and fp_crypto.
-	(ISA_ALL_FPU): Add all the new bits.
-	(ISA_VFPv2, ISA_VFPv3, ISA_VFPv4, ISA_FPv5): New macros.
-	(ISA_FP_ARMv8, ISA_FP_DBL, ISA_FP_D32, ISA_NEON, ISA_CRYPTO): Likewise.
-	* arm-fpus.def: Add ISA features to all FPUs.
-	* arm.h: (arm_fpu_desc): Add new field for ISA bits.
-	* arm.c (all_fpus): Initialize it.
-	* arm-tables.opt: Regenerated.
-
-2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm.h (FPU_FL_VFPv2) New feature bit.
-	(FPU_FL_VFPv3, FPU_FL_VFPv4, FPU_FL_VFPv5, FPU_FL_ARMv8): Likewise.
-	(FPU_VFPv2, FPU_VFPv3, FPU_VFPv4, FPU_VFPv5, FPU_ARMv8): New helper
-	macros.
-	(FPU_DBL, FPU_D32, FPU_NEON, FPU_CRYPTO, FPU_FP16): Likewise.
-	(TARGET_FPU_REV): Delete.
-	(TARGET_VFP3): Use feature bits.
-	(TARGET_VFP5): Likewise.
-	(TARGET_FMA): Likewise.
-	(TARGET_FPU_ARMV8): Likewise.
-	(struct arm_fpu_desc): Delete rev field.
-	* arm-fpus.def: Delete REV entry, use new feature bits and macros.
-	* arm.c (all_fpus): Delete rev field.
-
-2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm.h (vfp_reg_type): Delete.
-	(TARGET_FPU_REGS): Delete.
-	(arm_fpu_desc): Delete regs field.
-	(FPU_FL_NONE, FPU_FL_NEON, FPU_FL_FP16, FPU_FL_CRYPTO): Use unsigned
-	values.
-	(FPU_FL_DBL, FPU_FL_D32): Define.
-	(TARGET_VFPD32): Use feature test.
-	(TARGET_VFP_SINGLE): Likewise.
-	(TARGET_VFP_DOUBLE): Likewise.
-	* arm-fpus.def: Update all entries for new feature bits.
-	* arm.c (all_fpus): Update initializer macro.
-	(arm_can_inline_p): Remove test on fpu regs.
-
-2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm.h (arm_fp_model): Delete.
-
-2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm-cores.def: Remove FLAGS field from all core definitions.
-	* arm-arches.def: Likewise.
-	* arm-opts.h (enum processor_type): Remove FLAGS parameter from
-	ARM_CORES macro.
-	(arm_arch_core_flags): Likewise, plus ARM_ARCH macro.
-	* arm-protos.h (FL_*): Delete.
-	(arm_feature_set): Delete.
-	(ARM_FSET_*): Delete.
-	* arm.c (struct processors): Delete flags field.
-	(all_cores): Delete FLAGS parameter from macro, don't initialize flags.
-	(all architectures): Likewise.
-
-2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm-opts.h (struct arm_arch_core_flag): Add new field ISA.
-	Initialize it.
-	(arm_arch_core_flag): Delete flags field.
-	(arm_arch_core_flags): Don't initialize flags field.
-	* common/config/arm/arm-common.c (check_isa_bits_for): New function.
-	(arm_target_thumb_only): Use new isa bits arrays.
-
-2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm-protos.h (insn_flags): Delete declaration.
-	(arm_arch7ve): Declare.
-	* arm.c (insn_flags): Delete.
-	(arm_arch7ve): New variable.
-	(arm_selected_cpu): Delete.
-	(arm_option_check_internal): Use new ISA bitmap.
-	(arm_option_override_internal): Likewise.
-	(arm_configure_build_target): Declare arm_selected_cpu locally.
-	(arm_option_override): Use new ISA bitmap.  Initialize arm_arch7ve.
-	Rearrange variable intialization by general function.
-	* arm.h (TARGET_HAVE_LPAE): Use arm_arch7ve.
-
-2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm-builtins.c: Include sbitmap.h.
-	(def_mbuiltin): Change first parameter to a flag bit.  Use it to test
-	available features in the current target.
-	(struct builtin_description): Change type of feature field.
-	(IWMMXT_BUILTIN): Use the isa_features types.
-	(IWMMXT2_BUILTIN): Likewise.
-	(IWMMXT_BUILTIN2): Likewise.
-	(IWMMXT2_BUILTIN2): Likewise.
-	(CRC32_BUILTIN): Likewise.
-	(CRYPTO_BUILTIN): Likewise.
-	(iwmmx_builtin): Likewise.
-	(iwmmx2_builtin): Likewise.
-	(arm_iwmmxt_builtin): Check for specific feature bits.
-
-2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm-isa.h (enum isa_feature): Add isa_quirk_cm3_ldrd.
-	(ISA_ALL_QUIRKS): New macro.
-	* arm-cores.def (cortex-m3): Add isa_quirk_cm3_ldrd to isa feature list.
-	* arm.c (isa_quirkbits): New feature-list bitmap.
-	(arm_configure_build_target): Ignore quirk bits when comparing an
-	architecture feature list with a CPU feature list.
-	(arm_option_override): Initialize_isa_quirkbits.  If the user has
-	not specified -m[no-]fix-cortex-m3-ldrd, automatically enable the
-	feature if isa_quirk_cm3_ldrd appears in the isa feature list.
-
-2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm.c (arm_option_override): Use arm_active_target as source of
-	information for arm_base_arch and arm_arch_name.
-	* (arm_file_start): Use arm_active_target for core name.
-
-2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm.c (arm_selected_tune): Delete static variable.
-	(arm_selected_arch): Likewise.
-	(arm_configure_build_target): Declare local versions of arm_selected
-	target and arm_selected_arch.  Initialize more fields in target
-	data structure.
-	(arm_option_override): Use arm_active_target instead of
-	arm_selected_tune and arm_selected_arch.
-	(asm_file_start): Use arm_active_target.
-
-2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm-protos.h (arm_build_target): New structure.
-	(arm_active_target): Declare it.
-	* arm.c (arm_active_target): New variable.
-	(bitmap_popcount): New function.
-	(feature_count): Delete.
-	(arm_initialize_isa): New function.
-	isa_fpubits): New variable.
-	(arm_configure_build_target): New function.
-	(arm_option_override): Initialize isa_fpubits and arm_active_target.isa.
-	Use arm_configure_build_target.
-
-2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm-isa.h: New file.
-	* arm-protos.h: Include it.
-	* arm-arches.def: Add new ISA field to all entries.  Drop bogus
-	armv8.1-a+crc architecture.
-	* arm-cores.def: Similarly.  Group ARMv8 cores by profile.
-	* arm-opts.h (enum processor_type): Adjust for new field.
-	* arm.c (struct processors): New field 'isa_bits'.
-	(all_cores, all_architectures): Initialize new field.
-	* arm-tables.opt: Regenerated.
-	* arm-tune.md: Regenerated.
-
-2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm-arches.def (ARM_ARCH): Add extra field TUNE_FLAGS, move
-	tuning properties from architectural FLAGS field.
-	* arm-cores.def (ARM_CORE): Likewise.
-	* arm-protos.h (TF_LDSCHED, TF_WBUF, TF_CO_PROC): New macros.
-	(TF_SMALLMUL, TF_STRONG, TF_SCALE, TF_NOMODE32): New macros.
-	(FL_LDSCHED, FL_STRONG, FL_WBUF, FL_SMALLMUL): Delete.
-	(FL_TUNE): Remove deleted elements.
-	(tune_flags): Convert type to unsigned int.
-	* arm.c (struct processors): Add new field tune_flags.
-	(all_cores, all_arches): Initialize it.
-	(arm_option_override): Adapt uses of tune_flags.  Use tune_flags
-	for deciding when we should have slow multiply operations.
-
-2016-12-14  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/78519
-	* gimple-ssa-sprintf.c (format_string): Handle null pointers.
-	(format_directive): Diagnose null pointer arguments.
-	(pass_sprintf_length::handle_gimple_call): Diagnose null destination
-	pointers.  Correct location of null format string in diagnostics.
-
-2016-12-14  David Malcolm  <dmalcolm@redhat.com>
-
-	* Makefile.in (SELFTEST_FLAGS): Add path argument to -fself-test.
-	(s-selftest): Add dependency on the selftests data directory.
-	* common.opt (fself-test): Rename to...
-	(fself-test=): ...this, documenting the meaning of the argument.
-	* selftest-run-tests.c (along): Likewise.
-	* selftest-run-tests.c: Include "options.h".
-	(selftest::run_tests): Initialize selftest::path_to_selftest_files
-	from flag_self_test.
-	* selftest.c (selftest::path_to_selftest_files): New global.
-	(selftest::locate_file): New function.
-	(selftest::test_locate_file): New function.
-	(selftest_c_tests): Likewise.
-	(selftest::selftest_c_tests): Call test_locate_file.
-	* selftest.h (selftest::locate_file): New decl.
-	(selftest::path_to_selftest_files): New decl.
-
-2016-12-14  Andrew Pinski  <apinski@cavium.com>
-
-	* config/aarch64/aarch64-cores.def: Add -1 as the variant to all
-	of the cores.
-	(thunderx): Update to include LSE by default.
-	(thunderxt88p1): New core.
-	(thunderxt88): New core.
-	(thunderxt81): New core.
-	(thunderxt83): New core.
-	* config/aarch64/driver-aarch64.c (struct aarch64_core_data):
-	Add variant field.
-	(ALL_VARIANTS): New define.
-	(AARCH64_CORE): Support VARIANT operand.
-	(cpu_data): Likewise.
-	(host_detect_local_cpu): Parse variant field of /proc/cpuinfo.
-	Combine the arch and single core case and support variant searching.
-	* common/config/aarch64/aarch64-common.c (AARCH64_CORE):
-	Add VARIANT operand.
-	* config/aarch64/aarch64-opts.h (AARCH64_CORE): Likewise.
-	* config/aarch64/aarch64.c (AARCH64_CORE): Likewise.
-	* config/aarch64/aarch64.h (AARCH64_CORE): Likewise.
-	* config/aarch64/aarch64-tune.md: Regenerate.
-	* doc/invoke.texi (AARCH64/mtune): Document thunderxt88,
-	thunderxt88p1, thunderxt81, thunderxt83 as available options.
-
-2016-12-14  Martin Jambor  <mjambor@suse.cz>
-
-	* omp-offload.c: Fix coding style.
-	* omp-expand.c: Likewise.
-	* omp-general.c: Likewise.
-	* omp-grid.c: Likewise.
-	* omp-low.c: Fix coding style of parts touched by the
-	previous splitting patch.
-
-2016-12-14  Martin Jambor  <mjambor@suse.cz>
-
-	* omp-general.h: New file.
-	* omp-general.c: New file.
-	* omp-expand.h: Likewise.
-	* omp-expand.c: Likewise.
-	* omp-offload.h: Likewise.
-	* omp-offload.c: Likewise.
-	* omp-grid.c: Likewise.
-	* omp-grid.c: Likewise.
-	* omp-low.h: Include omp-general.h and omp-grid.h.  Removed includes
-	of params.h, symbol-summary.h, lto-section-names.h, cilk.h, tree-eh.h,
-	ipa-prop.h, tree-cfgcleanup.h, cfgloop.h, except.h, expr.h, stmt.h,
-	varasm.h, calls.h, explow.h, dojump.h, flags.h, tree-into-ssa.h,
-	tree-cfg.h, cfganal.h, alias.h, emit-rtl.h, optabs.h, expmed.h,
-	alloc-pool.h, cfghooks.h, rtl.h and memmodel.h.
-	(omp_find_combined_for): Declare.
-	(find_omp_clause): Renamed to omp_find_clause and moved to
-	omp-general.h.
-	(free_omp_regions): Renamed to omp_free_regions and moved to
-	omp-expand.h.
-	(replace_oacc_fn_attrib): Renamed to oacc_replace_fn_attrib and moved
-	to omp-general.h.
-	(set_oacc_fn_attrib): Renamed to oacc_set_fn_attrib and moved to
-	omp-general.h.
-	(build_oacc_routine_dims): Renamed to oacc_build_routine_dims and
-	moved to omp-general.h.
-	(get_oacc_fn_attrib): Renamed to oacc_get_fn_attrib and moved to
-	omp-general.h.
-	(oacc_fn_attrib_kernels_p): Moved to omp-general.h.
-	(get_oacc_fn_dim_size): Renamed to oacc_get_fn_dim_size and moved to
-	omp-general.c.
-	(omp_expand_local): Moved to omp-expand.h.
-	(make_gimple_omp_edges): Renamed to omp_make_gimple_edges and moved to
-	omp-expand.h.
-	(omp_finish_file): Moved to omp-offload.h.
-	(default_goacc_validate_dims): Renamed to
-	oacc_default_goacc_validate_dims and moved to omp-offload.h.
-	(offload_funcs, offload_vars): Moved to omp-offload.h.
-	* omp-low.c: Include omp-general.h, omp-offload.h and omp-grid.h.
-	(omp_region): Moved to omp-expand.c.
-	(omp_for_data_loop): Moved to omp-general.h.
-	(omp_for_data): Likewise.
-	(oacc_loop): Moved to omp-offload.c.
-	(oacc_loop_flags): Moved to omp-general.h.
-	(offload_funcs, offload_vars): Moved to omp-offload.c.
-	(root_omp_region): Moved to omp-expand.c.
-	(omp_any_child_fn_dumped): Likewise.
-	(find_omp_clause): Renamed to omp_find_clause and moved to
-	omp-general.c.
-	(is_combined_parallel): Moved to omp-expand.c.
-	(is_reference): Renamed to omp_is_reference and and moved to
-	omp-general.c.
-	(adjust_for_condition): Renamed to omp_adjust_for_condition and moved
-	to omp-general.c.
-	(get_omp_for_step_from_incr): Renamed to omp_get_for_step_from_incr
-	and moved to omp-general.c.
-	(extract_omp_for_data): Renamed to omp_extract_for_data and moved to
-	omp-general.c.
-	(workshare_safe_to_combine_p): Moved to omp-expand.c.
-	(omp_adjust_chunk_size): Likewise.
-	(get_ws_args_for): Likewise.
-	(get_base_type): Removed.
-	(dump_omp_region): Moved to omp-expand.c.
-	(debug_omp_region): Likewise.
-	(debug_all_omp_regions): Likewise.
-	(new_omp_region): Likewise.
-	(free_omp_region_1): Likewise.
-	(free_omp_regions): Renamed to omp_free_regions and moved to
-	omp-expand.c.
-	(find_combined_for): Renamed to omp_find_combined_for, made global.
-	(build_omp_barrier): Renamed to omp_build_barrier and moved to
-	omp-general.c.
-	(omp_max_vf): Moved to omp-general.c.
-	(omp_max_simt_vf): Likewise.
-	(gimple_build_cond_empty): Moved to omp-expand.c.
-	(parallel_needs_hsa_kernel_p): Likewise.
-	(expand_omp_build_assign): Moved declaration to omp-expand.c.
-	(expand_parallel_call): Moved to omp-expand.c.
-	(expand_cilk_for_call): Likewise.
-	(expand_task_call): Likewise.
-	(vec2chain): Likewise.
-	(remove_exit_barrier): Likewise.
-	(remove_exit_barriers): Likewise.
-	(optimize_omp_library_calls): Likewise.
-	(expand_omp_regimplify_p): Likewise.
-	(expand_omp_build_assign): Likewise.
-	(expand_omp_taskreg): Likewise.
-	(oacc_collapse): Likewise.
-	(expand_oacc_collapse_init): Likewise.
-	(expand_oacc_collapse_vars): Likewise.
-	(expand_omp_for_init_counts): Likewise.
-	(expand_omp_for_init_vars): Likewise.
-	(extract_omp_for_update_vars): Likewise.
-	(expand_omp_ordered_source): Likewise.
-	(expand_omp_ordered_sink): Likewise.
-	(expand_omp_ordered_source_sink): Likewise.
-	(expand_omp_for_ordered_loops): Likewise.
-	(expand_omp_for_generic): Likewise.
-	(expand_omp_for_static_nochunk): Likewise.
-	(find_phi_with_arg_on_edge): Likewise.
-	(expand_omp_for_static_chunk): Likewise.
-	(expand_cilk_for): Likewise.
-	(expand_omp_simd): Likewise.
-	(expand_omp_taskloop_for_outer): Likewise.
-	(expand_omp_taskloop_for_inner): Likewise.
-	(expand_oacc_for): Likewise.
-	(expand_omp_for): Likewise.
-	(expand_omp_sections): Likewise.
-	(expand_omp_single): Likewise.
-	(expand_omp_synch): Likewise.
-	(expand_omp_atomic_load): Likewise.
-	(expand_omp_atomic_store): Likewise.
-	(expand_omp_atomic_fetch_op): Likewise.
-	(expand_omp_atomic_pipeline): Likewise.
-	(expand_omp_atomic_mutex): Likewise.
-	(expand_omp_atomic): Likewise.
-	(oacc_launch_pack): and moved to omp-general.c, made public.
-	(OACC_FN_ATTRIB): Likewise.
-	(replace_oacc_fn_attrib): Renamed to oacc_replace_fn_attrib and moved
-	to omp-general.c.
-	(set_oacc_fn_attrib): Renamed to oacc_set_fn_attrib and moved to
-	omp-general.c.
-	(build_oacc_routine_dims): Renamed to oacc_build_routine_dims and
-	moved to omp-general.c.
-	(get_oacc_fn_attrib): Renamed to oacc_get_fn_attrib and moved to
-	omp-general.c.
-	(oacc_fn_attrib_kernels_p): Moved to omp-general.c.
-	(oacc_fn_attrib_level): Moved to omp-offload.c.
-	(get_oacc_fn_dim_size): Renamed to oacc_get_fn_dim_size and moved to
-	omp-general.c.
-	(get_oacc_ifn_dim_arg): Renamed to oacc_get_ifn_dim_arg and moved to
-	omp-general.c.
-	(mark_loops_in_oacc_kernels_region): Moved to omp-expand.c.
-	(grid_launch_attributes_trees): Likewise.
-	(grid_attr_trees): Likewise.
-	(grid_create_kernel_launch_attr_types): Likewise.
-	(grid_insert_store_range_dim): Likewise.
-	(grid_get_kernel_launch_attributes): Likewise.
-	(get_target_argument_identifier_1): Likewise.
-	(get_target_argument_identifier): Likewise.
-	(get_target_argument_value): Likewise.
-	(push_target_argument_according_to_value): Likewise.
-	(get_target_arguments): Likewise.
-	(expand_omp_target): Likewise.
-	(grid_expand_omp_for_loop): Moved to omp-grid.c.
-	(grid_arg_decl_map): Likewise.
-	(grid_remap_kernel_arg_accesses): Likewise.
-	(grid_expand_target_grid_body): Likewise.
-	(expand_omp): Renamed to omp_expand and moved to omp-expand.c.
-	(build_omp_regions_1): Moved to omp-expand.c.
-	(build_omp_regions_root): Likewise.
-	(omp_expand_local): Likewise.
-	(build_omp_regions): Likewise.
-	(execute_expand_omp): Likewise.
-	(pass_data_expand_omp): Likewise.
-	(pass_expand_omp): Likewise.
-	(make_pass_expand_omp): Likewise.
-	(pass_data_expand_omp_ssa): Likewise.
-	(pass_expand_omp_ssa): Likewise.
-	(make_pass_expand_omp_ssa): Likewise.
-	(grid_lastprivate_predicate): Renamed to
-	omp_grid_lastprivate_predicate and moved to omp-grid.c, made public.
-	(grid_prop): Moved to omp-grid.c.
-	(GRID_MISSED_MSG_PREFIX): Likewise.
-	(grid_safe_assignment_p): Likewise.
-	(grid_seq_only_contains_local_assignments): Likewise.
-	(grid_find_single_omp_among_assignments_1): Likewise.
-	(grid_find_single_omp_among_assignments): Likewise.
-	(grid_find_ungridifiable_statement): Likewise.
-	(grid_parallel_clauses_gridifiable): Likewise.
-	(grid_inner_loop_gridifiable_p): Likewise.
-	(grid_dist_follows_simple_pattern): Likewise.
-	(grid_gfor_follows_tiling_pattern): Likewise.
-	(grid_call_permissible_in_distribute_p): Likewise.
-	(grid_handle_call_in_distribute): Likewise.
-	(grid_dist_follows_tiling_pattern): Likewise.
-	(grid_target_follows_gridifiable_pattern): Likewise.
-	(grid_remap_prebody_decls): Likewise.
-	(grid_var_segment): Likewise.
-	(grid_mark_variable_segment): Likewise.
-	(grid_copy_leading_local_assignments): Likewise.
-	(grid_process_grid_body): Likewise.
-	(grid_eliminate_combined_simd_part): Likewise.
-	(grid_mark_tiling_loops): Likewise.
-	(grid_mark_tiling_parallels_and_loops): Likewise.
-	(grid_process_kernel_body_copy): Likewise.
-	(grid_attempt_target_gridification): Likewise.
-	(grid_gridify_all_targets_stmt): Likewise.
-	(grid_gridify_all_targets): Renamed to omp_grid_gridify_all_targets
-	and moved to omp-grid.c, made public.
-	(make_gimple_omp_edges): Renamed to omp_make_gimple_edges and moved to
-	omp-expand.c.
-	(add_decls_addresses_to_decl_constructor): Moved to omp-offload.c.
-	(omp_finish_file): Likewise.
-	(oacc_thread_numbers): Likewise.
-	(oacc_xform_loop): Likewise.
-	(oacc_default_dims, oacc_min_dims): Likewise.
-	(oacc_parse_default_dims): Likewise.
-	(oacc_validate_dims): Likewise.
-	(new_oacc_loop_raw): Likewise.
-	(new_oacc_loop_outer): Likewise.
-	(new_oacc_loop): Likewise.
-	(new_oacc_loop_routine): Likewise.
-	(finish_oacc_loop): Likewise.
-	(free_oacc_loop): Likewise.
-	(dump_oacc_loop_part): Likewise.
-	(dump_oacc_loop): Likewise.
-	(debug_oacc_loop): Likewise.
-	(oacc_loop_discover_walk): Likewise.
-	(oacc_loop_sibling_nreverse): Likewise.
-	(oacc_loop_discovery): Likewise.
-	(oacc_loop_xform_head_tail): Likewise.
-	(oacc_loop_xform_loop): Likewise.
-	(oacc_loop_process): Likewise.
-	(oacc_loop_fixed_partitions): Likewise.
-	(oacc_loop_auto_partitions): Likewise.
-	(oacc_loop_partition): Likewise.
-	(default_goacc_fork_join): Likewise.
-	(default_goacc_reduction): Likewise.
-	(execute_oacc_device_lower): Likewise.
-	(default_goacc_validate_dims): Likewise.
-	(default_goacc_dim_limit): Likewise.
-	(pass_data_oacc_device_lower): Likewise.
-	(pass_oacc_device_lower): Likewise.
-	(make_pass_oacc_device_lower): Likewise.
-	(execute_omp_device_lower): Likewise.
-	(pass_data_omp_device_lower): Likewise.
-	(pass_omp_device_lower): Likewise.
-	(make_pass_omp_device_lower): Likewise.
-	(pass_data_omp_target_link): Likewise.
-	(pass_omp_target_link): Likewise.
-	(find_link_var_op): Likewise.
-	(pass_omp_target_link::execute): Likewise.
-	(make_pass_omp_target_link): Likewise.
-	* Makefile.in (OBJS): Added omp-offload.o, omp-expand.o, omp-general.o
-	and omp-grid.o.
-	(GTFILES): Added omp-offload.h, omp-offload.c and omp-expand.c, removed
-	omp-low.h.
-	* gimple-fold.c: Include omp-general.h instead of omp-low.h.
-	(fold_internal_goacc_dim): Adjusted calls to
-	get_oacc_ifn_dim_arg and get_oacc_fn_dim_size to use their new names.
-	* gimplify.c: Include omp-low.h.
-	(omp_notice_variable): Adjust the call to get_oacc_fn_attrib to use
-	its new name.
-	(gimplify_omp_task): Adjusted calls to find_omp_clause to use its new
-	name.
-	(gimplify_omp_for): Likewise.
-	* lto-cgraph.c: Include omp-offload.h instead of omp-low.h.
-	* toplev.c: Include omp-offload.h instead of omp-low.h.
-	* tree-cfg.c: Include omp-general.h instead of omp-low.h.  Also
-	include omp-expand.h.
-	(make_edges_bb): Adjusted the call to make_gimple_omp_edges to use its
-	new name.
-	(make_edges): Adjust the call to free_omp_regions to use its new name.
-	* tree-parloops.c: Include omp-general.h.
-	(create_parallel_loop): Adjusted the call to set_oacc_fn_attrib to use
-	its new name.
-	(parallelize_loops): Adjusted the call to get_oacc_fn_attrib to use
-	its new name.
-	* tree-ssa-loop.c: Include omp-general.h instead of omp-low.h.
-	(gate_oacc_kernels): Adjusted the call to get_oacc_fn_attrib to use
-	its new name.
-	* tree-vrp.c: Include omp-general.h instead of omp-low.h.
-	(extract_range_basic): Adjusted calls to get_oacc_ifn_dim_arg and
-	get_oacc_fn_dim_size to use their new names.
-	* varpool.c: Include omp-offload.h instead of omp-low.h.
-	* gengtype.c (open_base_files): Replace omp-low.h with omp-offload.h in
-	ifiles.
-	* config/nvptx/nvptx.c: Include omp-general.c.
-	(nvptx_expand_call): Adjusted the call to get_oacc_fn_attrib to use
-	its new name.
-	(nvptx_reorg): Likewise.
-	(nvptx_record_offload_symbol): Likewise.
-
-2016-12-14  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/78786
-	* gimple-ssa-sprintf.c (target_dir_max): New macro.
-	(get_mpfr_format_length): New function.
-	(format_integer): Use HOST_WIDE_INT instead of int.
-	(format_floating_max): Same.
-	(format_floating): Call get_mpfr_format_length.
-	(format_directive): Use target_dir_max.
-
-2016-12-14  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/78791
-	* config/i386/i386.h (enum ix86_stack_slot): Add SLOT_STV_TEMP.
-	* config/i386/i386.c (dimode_scalar_chain::make_vector_copies,
-	dimode_scalar_chain::convert_reg): Use SLOT_STV_TEMP instead of
-	SLOT_TEMP.
-
-2016-12-14  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/59874
-	* config/i386/i386-builtin.def: Add __builtin_clzs and __builtin_ctzs.
-	(ix86_fold_builtin): Handle IX86_BUILTIN_CTZS and IX86_BUILTIN_CLZS.
-	* config/i386/i386.md (*ctzhi2): New insn_and_split pattern.
-	(*clzhi2): Ditto.
-
-2016-12-14  Jakub Jelinek  <jakub@redhat.com>
-
-	PR debug/77844
-	* valtrack.c: Include rtl-iter.h.
-	(struct rtx_subst_pair): Add insn field.
-	(propagate_for_debug_subst): If pair->to contains at least 2
-	regs, create a DEBUG_INSN with a debug temp before pair->insn
-	and replace from with the debug temp instead of pair->to.
-	(propagate_for_debug): Initialize p.insn.
-	* combine.c (insn_uid_check): New inline function.
-	(INSN_COST, LOG_LINKS): Use it instead of INSN_UID.
-	(find_single_use, combine_instructions,
-	cant_combine_insn_p, try_combine): Use NONDEBUG_INSN_P instead of
-	INSN_P.
-
-2016-12-14  Martin Sebor  <msebor@redhat.com>
-
-	PR c/17308
-	* builtin-attrs.def (ATTR_NONNULL_1_1, ATTR_NONNULL_1_2): Defined.
-	(ATTR_NONNULL_1_3, ATTR_NONNULL_1_4, ATTR_NONNULL_1_5): Same.
-	(ATTR_NOTHROW_NONNULL_1_1, ATTR_NOTHROW_NONNULL_1_2): Same.
-	(ATTR_NOTHROW_NONNULL_1_3, ATTR_NOTHROW_NONNULL_1_4): Same.
-	(ATTR_NOTHROW_NONNULL_1_5): Same.
-	(ATTR_NONNULL_1_FORMAT_PRINTF_1_2): Same.
-	(ATTR_NONNULL_1_FORMAT_PRINTF_2_0): Same.
-	(ATTR_NONNULL_1_FORMAT_PRINTF_2_3): Same.
-	(ATTR_NONNULL_1_FORMAT_PRINTF_3_0): Same.
-	(ATTR_NONNULL_1_FORMAT_PRINTF_3_4): Same.
-	(ATTR_NONNULL_1_FORMAT_PRINTF_4_0): Same.
-	(ATTR_NONNULL_1_FORMAT_PRINTF_4_5): Same.
-	* builtins.c (validate_arg): Add argument.  Treat null pointers
-	passed to nonnull arguments as invalid.
-	(validate_arglist): Same.
-	* builtins.def (fprintf, fprintf_unlocked): Add nonnull attribute.
-	(printf, printf_unlocked, sprintf. vfprintf, vsprintf): Same.
-	(__sprintf_chk, __vsprintf_chk, __fprintf_chk, __vfprintf_chk): Same.
-	* calls.c (get_nonnull_ags, maybe_warn_null_arg): New functions.
-	(initialize_argument_information): Diagnose null pointers passed to
-	arguments declared nonnull.
-	* calls.h (get_nonnull_args): Declared.
-
-2016-12-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_split_vec_extract_var): On ISA
-	3.0/power9, add support to use the VEXTU{B,H,W}{L,R}X extract
-	instructions.
-	* config/rs6000/vsx.md (VSr2): Add IEEE 128-bit floating point
-	type constraint registers.
-	(VSr3): Likewise.
-	(FL_CONV): New mode iterator for binary floating types that have a
-	direct conversion from 64-bit integer to floating point.
-	(vsx_extract_<mode>_p9): Add support for the ISA 3.0/power9
-	VEXTU{B,H,W}{L,R}X extract instructions.
-	(vsx_extract_<mode>_p9 splitter): Add splitter to load up the
-	extract byte position into the GPR if we are using the
-	VEXTU{B,H,W}{L,R}X extract instructions.
-	(vsx_extract_<mode>_di_p9): Support extracts to GPRs.
-	(vsx_extract_<mode>_store_p9): Support extracting to GPRs so that
-	we can use reg+offset address instructions.
-	(vsx_extract_<mode>_var): Support extracts to GPRs.
-	(vsx_extract_<VSX_EXTRACT_I:mode>_<SDI:mode>_var): New combiner
-	insn to combine vector extracts with zero_extend.
-	(vsx_ext_<VSX_EXTRACT_I:VS_scalar>_fl_<FL_CONV:mode>): Optimize
-	extracting a small integer vector element and converting it to a
-	floating point type.
-	(vsx_ext_<VSX_EXTRACT_I:VS_scalar>_ufl_<FL_CONV:mode>): Likewise.
-	(UNSPEC_XXEXTRACTUW): New unspec.
-	(UNSPEC_XXINSERTW): Likewise.
-	(vextract4b): Add support for the vec_vextract4b built-in
-	function.
-	(vextract4b_internal): Likewise.
-	(vinsert4b): Add support for the vec_insert4b built-in function.
-	Include both a version that inserts element 1 from a V4SI object
-	and one that inserts a DI object.
-	(vinsert4b_internal): Likewise.
-	(vinsert4b_di): Likewise.
-	(vinsert4b_di_internal): Likewise.
-	* config/rs6000/predicates.md (const_0_to_11_operand): New
-	predicate, match 0..11.
-	* config/rs6000/rs6000-builtin.def (BU_P9V_VSX_3): Set built-in
-	type to ternary, not binary.
-	(BU_P9V_64BIT_VSX_3): Likewise.
-	(P9V_BUILTIN_VEXTRACT4B): Add support for vec_vinsert4b and
-	vec_extract4b non-overloaded built-in functions.
-	(P9V_BUILTIN_VINSERT4B): Likewise.
-	(P9V_BUILTIN_VINSERT4B_DI): Likewise.
-	(P9V_BUILTIN_VEC_VEXTULX): Move to section that adds 2 operand ISA
-	3.0 built-in functions.
-	(P9V_BUILTIN_VEC_VEXTURX): Likewise.
-	(P9V_BUILTIN_VEC_VEXTRACT4B): Add support for overloaded
-	vec_insert4b and vec_extract4 built-in functions.
-	(P9V_BUILTIN_VEC_VINSERT4B): Likewise.
-	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
-	overloaded support for vec_vinsert4b and vec_extract4b.
-	* config/rs6000/rs6000.c (altivec_expand_builtin): Add checks for
-	the vec_insert4b and vec_extract4b byte number being a constant in
-	the range 0..11.
-	* config/rs6000/altivec.h (vec_vinsert4b): Support vec_vinsert4b
-	and vec_extract4b built-in functions.
-	* doc/extend.doc (PowerPC VSX built-in functions): Document
-	vec_insert4b and vec_extract4b.
-
-2016-12-14  Martin Liska  <mliska@suse.cz>
-
-	* gimple-pretty-print.c (dump_probability): New function.
-	(dump_edge_probability): Use the function.
-	(dump_gimple_label): Likewise.
-	(dump_gimple_bb_header): Likewise.
-
-2016-12-14  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	* tree-ssa-strlen.c (fold_strstr_to_memcmp): New function.
-	(strlen_optimize_stmt): Call fold_strstr_to_memcmp.
-
-2016-12-14  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* lra-constraints.c (process_address_1): Do not attempt to decompose
-	addresses for MEMs that satisfy fixed-form constraints.
-
-2016-12-14  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/78788
-	* tree-vrp.c (set_value_range): Allow [-INF(OVF), +INF(OVF)].
-	(set_and_canonicalize_value_range): Do not drop the above to
-	VARYING.
-
-2016-12-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/rs600.c (rs6000_builtin_vectorization_cost):
-	Adjust unaligned load cost.
-
-2016-12-13  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/78794
-	* config/i386/i386.c (dimode_scalar_chain::compute_convert_gain):
-	Calculate additional gain for andnot for targets without BMI.
-
-2016-12-13  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/rs6000-c.c: Add built-in support for
-	vector float vec_pack (vector double, vector double)
-	vector double vec_sld (vector double, vector double)
-	* config/rs6000/rs6000.c: Add icode check for vsldoi_v2df to allow
-	4-bit unsigned literal.
-	* config/rs6000/rs6000-builtin.def: Add definition for VSLDOI_2DF
-	* doc/extend.texi: Update the built-in documentation file for the
-	new powerpc vec_pack and vec_sld built-ins.
-
-2016-12-13  Martin Liska  <mliska@suse.cz>
-
-	* sanopt.c (sanopt_optimize_walker): Set contains_asan_mark.
-	(sanopt_optimize): Add new argument.
-	(sanitize_asan_mark_unpoison): New function.
-	(maybe_contains_asan_check): Likewise.
-	(sanitize_asan_mark_poison): Likewise.
-	(pass_sanopt::execute): Call the new functions.
-
-2016-12-13  Martin Liska  <mliska@suse.cz>
-
-	PR tree-optimization/78428
-	* expr.c (store_constructor_field): Add new arguments to the function.
-	(store_constructor): Set up bitregion_end and add gcc_unreachable to
-	fields that have either non-constant size or (and) offset.
-
-2016-12-13  Marek Polacek  <polacek@redhat.com>
-
-	* tree-data-ref.c (compute_overlap_steps_for_affine_univar): Change
-	parameters' type from int to HOST_WIDE_INT.
-	(compute_overlap_steps_for_affine_1_2): Change parameters' type from
-	int to HOST_WIDE_INT.
-	(build_classic_dist_vector_1): Likewise.
-	(add_multivariate_self_dist): Likewise.
-
-2016-12-13  Michael Matz  <matz@suse.de>
-
-	PR tree-optimization/78725
-	* tree-ssa-loop-split.c (split_at_bb_p): Check for overflow and
-	at correct use point.
-
-2016-12-13  Martin Liska  <mliska@suse.cz>
-
-	* asan.c (asan_expand_mark_ifn): Use renamed
-	BUILT_IN_ASAN_{UN}CLOBBER_N to BUILT_IN_ASAN_{UN}POISON_STACK_MEMORY.
-	* sanitizer.def: Likewise.
-
-2016-12-13  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* doc/extend.texi (Half-Precision): Update to document current
-	compiler behaviour.
-
-2016-12-13  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* doc/extend.texi (Floating Types): Document availability of
-	_Float16 on ARM/AArch64.
-
-2016-12-13  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/78699
-	* tree-vect-data-refs.c (vect_analyze_group_access_1): Limit
-	group size.
-
-2016-12-13  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/78742
-	* tree.c (cst_and_fits_in_hwi): Look if the actual value fits.
-	* tree-object-size.c (compute_builtin_object_size): Use
-	tree_fits_shwi_p.
-	* tree-data-ref.c (initialize_matrix_A): Remove excess assert.
-
-2016-12-13  Martin Liska  <mliska@suse.cz>
-
-	* asan.c (asan_mark_poison_p): Remove.
-	(asan_mark_p): New function.
-	(transform_statements): Use the function.
-	(asan_expand_mark_ifn): Do not use masked enum.
-	* asan.h (enum asan_mark_flags): Declare it via a macro.
-	* gimple-pretty-print.c (dump_gimple_call_args): Dump first
-	argument of ASAN_MARK.
-	* gimplify.c (build_asan_poison_call_expr): Use new enum values.
-	(asan_poison_variable): Likewise.
-
-2016-12-13  Jakub Jelinek  <jakub@redhat.com>
-
-	PR ipa/77905
-	* ipa-pure-const.c (cdtor_p): Return true for
-	DECL_STATIC_{CON,DE}STRUCTOR even when it is
-	DECL_LOOPING_CONST_OR_PURE_P.
-
-2016-12-12  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/78777
-	* gimple-ssa-strength-reduction.c (create_add_on_incoming_edge,
-	insert_initializers): Use stmt_ends_bb_p instead of is_ctrl_stmt.
-
-	PR other/78766
-	* opt-functions.awk (opt_args): Use [{] instead of { in regexps.
-	Formatting fix.
-
-2016-12-12  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/78622
-	PR middle-end78606
-	* gimple-ssa-sprintf.c (min_bytes_remaining): Use res.knownrange
-	rather than res.bounded.
-	(get_width_and_precision): Set precision to -1 when negative.
-	(adjust_range_for_overflow): New function.
-	(format_integer): Correct the handling of the space, plus, and pound
-	flags, and the special case of zero precision.
-	Always set res.bounded to true unless either precision or width
-	is specified and unknown.
-	Call adjust_range_for_overflow.
-	Avoid use zero as the shortest value when precision is specified
-	but unknown.
-	(format_directive): Remove vestigial quoting.  Always inform of
-	argument value or range when it's available.
-	(add_bytes): Correct the computation of boundrange used to
-	decide whether a warning is of a "maybe" or "defnitely" kind.
-
-2016-12-12  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	* combine.c (change_zero_ext): Handle mode expanding zero_extracts.
-
-2016-12-12  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/78738
-	* config/i386/i386.h (X87_ENABLE_ARITH): Also enable for
-	flag_unsafe_math_optimizations.
-	(X87_ENABLE_FLOAT): Ditto.
-
-2016-12-12  Marek Polacek  <polacek@redhat.com>
-
-	PR middle-end/78716
-	* gimplify.c (gimplify_va_arg_expr): Don't require ADDR_EXPR for
-	Case 1; check POINTER_TYPE_P instead.
-
-2016-12-12  Bernd Schmidt  <bschmidt@redhat.com>
-
-	PR rtl-optimization/78669
-	* ira.c (combine_and_move_insns): When deleting an insn, clear the
-	replace flag for all used regs in that insn.
-
-2016-12-12  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm-opts.h: Move struct arm_arch_core_flag and
-	arm_arch_core_flags to ...
-	* common/config/arm/arm-common.c: There.
-
-2016-12-12  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/sparc/constraints.md (T): Use special memory constraint.
-	(U): Minor tweak.
-	(W): Add TARGET_ARCH64 test.
-	* config/sparc/sparc.md (*movdi_insn_sp32): Replace 'W' with 'T'.
-	(*movdf_insn_sp32): Likewise.
-	(*mov<VM64:mode>_insn_sp32): Likewise.  Replace 'e' with 'f' in
-	conjunction with offsettable memory references.
-
-2016-12-11  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* config/nios2/nios2.c (nios2_emit_move_sequence): Call copy_rtx
-	to avoid shared structure error.
-
-2016-12-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR target/78695
-	* config/rs6000/rs6000.c (find_alignment_op): Discard from
-	consideration any artificial definition.
-
-2016-12-11  Iain Sandoe  <iain@codesourcery.com>
-
-	* configure.ac (CROSS directory tests): Remove the assumption that
-	Darwin hosts contain suitable target sysroots in "/".
-	* configure: Regenerate.
-
-2016-12-11  Iain Sandoe  <iain@codesourcery.com>
-
-	PR rtl-optimization/71496
-	* config/rs6000/darwin.md (load_macho_picbase_si): Mark as non-
-	copyable.  (load_macho_picbase_di, reload_macho_picbase_si,
-	reload_macho_picbase_di): Likewise.
-
-2012-12-11  John David Anglin  <danglin@gcc.gnu.org>
-
-	* config/pa/pa.c (pa_callee_copies): New function.
-	* config/pa/pa.opt (mcaller-copies): New option.
-	* doc/invoke.texi (mcaller-copies): Document option.
-
-2016-12-11  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/70799
-	* config/i386/i386.c (dimode_scalar_to_vector_candidate_p)
-	<case ASHIFT, case LSHIFTRT>: Consider all constant shifts.
-	Add FIXME comment.
-	(dimode_scalar_chain::compute_convert_gain): Reduce gain for
-	constant shifts larger or equal than 32.
-
-2016-12-11  Roger Pau Monné  <roger.pau@citrix.com>
-
-	* config/i386/x86-64.h: Append --32 to the assembler options when
-	-m16 is used on non-glibc systems as well.
-
-2016-12-10  Allan Sandfeld Jensen  <allan.jensen@qt.io>
-
-	PR target/70118
-	* config/i386/mmintrin.h (__m64_u): New type
-	* config/i386/emmintrin.h (_mm_loadl_epi64, _mm_storel_epi64):
-	Make the allowed unaligned memory access explicit.
-
-2016-12-10  Krister Walfridsson  <krister.walfridsson@gmail.com>
-
-	* config.gcc (i386-*-netbsd*): Make i486 the default arch on NetBSD.
-	Generally use cpu generic.
-
-2016-12-10  Jakub Jelinek  <jakub@redhat.com>
-	    Marc Glisse  <marc.glisse@inria.fr>
-
-	PR tree-optimization/78720
-	* match.pd (A < 0 ? C : 0): Only optimize for signed A.  If shift
-	is negative, sign extend to @1's type and than AND with C.
-
-2016-12-10  Jakub Jelinek  <jakub@redhat.com>
-
-	PR fortran/78758
-	* tree-object-size.c (compute_object_offset) <case ARRAY_REF>: Handle
-	non-zero low bound or non-standard element sizes.
-
-	PR sanitizer/78708
-	* lto-streamer-in.c (input_function): In addition to debug stmts
-	without -g, remove IFN_*SAN_* calls if corresponding flag_sanitize
-	bit is not enabled.
-
-2016-12-09  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000-passes.def: New file.
-	* config/rs6000/rs6000-protos.h: Declare make_pass_analyze_swaps.
-	* config/rs6000/rs6000.c (rs6000_option_override): Remove
-	registration of machine-specific passes.
-	(pass_analyze_swaps::clone): New function.
-	* config/rs6000/t-rs6000: Define PASSES_EXTRA.
-
-2016-12-09  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	PR ipa/78721
-	* ipa-cp.c (propagate_vr_accross_jump_function): Call
-	drop_tree_overflow after fold_convert.
-
-2016-12-09  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/72742
-	* config/rs6000/rs6000.md (*and<mode>3_imm_mask_dot,
-	*and<mode>3_imm_mask_dot2): Add rs6000_is_valid_and_mask to insn
-	condition.
-
-2016-12-09  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/78683
-	* config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Use
-	GET_MODE_BITSIZE.  Return 2.
-	(CTZ_DEFINED_VALUE_AT_ZERO): Use GET_MODE_BITSIZE.  Return 2.  Handle
-	TARGET_POPCNTD the same as TARGET_CTZ.
-	* config/rs6000/rs6000.md (ctz<mode>2): Reimplement.
-	(ffs<mode>2): Reimplement.
-
-2016-12-09  Andre Vieira <andre.simoesdiasvieira@arm.com>
-
-	PR rtl-optimization/78255
-	* gcc/postreload.c (reload_cse_simplify): Do not CSE a function if
-	NO_FUNCTION_CSE is true.
-
-2016-12-09  Cesar Philippidis  <cesar@codesourcery.com>
-
-	PR ipa/78027
-	* ipa-icf.c (sem_function::parse): Don't process functions with
-	oacc decl attributes, as they may be OpenACC routines.
-
-2016-12-09  David Malcolm  <dmalcolm@redhat.com>
-
-	* rtl.h (get_mem_attrs): Add "const" qualifier to returned
-	pointer.
-
-2016-12-09  Nathan Sidwell  <nathan@acm.org>
-
-	PR C++/78550
-	* convert.c (convert_to_integer_1): Maybe fold conversions to
-	integral types with fewer bits than its mode.
-
-2016-12-09  Martin Liska  <mliska@suse.cz>
-
-	* tree-pretty-print.c (pretty_print_string): Escape non-printable
-	chars in strings.
-
-2016-12-09  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/78726
-	* tree-ssa-reassoc.c (make_new_ssa_for_def): Add OPCODE and OP
-	argument.  For lhs uses in debug stmts, don't replace lhs with
-	new_lhs, but with a debug temp set to new_lhs opcode op.
-	(make_new_ssa_for_all_defs): Add OPCODE argument, pass OPCODE and
-	OP down to make_new_ssa_for_def.
-	(zero_one_operation): Call make_new_ssa_for_all_defs even when
-	stmts_to_fix is empty, if *def has not changed yet.  Pass
-	OPCODE to make_new_ssa_for_all_defs.
-
-2016-12-08  Martin Sebor  <msebor@redhat.com>
-
-	PR c/78284
-	* builtin-attrs.def (ATTR_ALLOC_SIZE, ATTR_RETURNS_NONNULL): New
-	identifier tree nodes.
-	(ATTR_ALLOCA_SIZE_1_NOTHROW_LEAF_LIST): New attribute list.
-	(ATTR_MALLOC_SIZE_1_NOTHROW_LIST): Same.
-	(ATTR_MALLOC_SIZE_1_NOTHROW_LEAF_LIST): Same.
-	(ATTR_MALLOC_SIZE_1_2_NOTHROW_LEAF_LIST): Same.
-	(ATTR_ALLOC_SIZE_2_NOTHROW_LEAF_LIST): Same.
-	* builtins.c (expand_builtin_alloca): Call
-	maybe_warn_alloc_args_overflow.
-	* builtins.def (aligned_alloc, calloc, malloc, realloc):
-	Add attribute alloc_size.
-	(alloca): Add attribute alloc_size and returns_nonnull.
-	* calls.h (maybe_warn_alloc_args_overflow): Declare.
-	* calls.c (alloc_max_size, operand_signed_p): New functions.
-	(maybe_warn_alloc_args_overflow): Define.
-	(initialize_argument_information): Diagnose overflow in functions
-	declared with attaribute alloc_size.
-	* doc/invoke.texi (Warning Options): Document -Walloc-zero and
-	-Walloc-size-larger-than.
-
-2016-12-08  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/78671
-	* lra-assign.c (find_hard_regno_for_1): Check prohibited regs for an
-	allocno class.
-
-2016-12-08  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.h (HARD_REGNO_NREGS): Use GENERAL_REGNO_P.
-	(HARD_REGNO_NREGS_HAS_PADDING): Ditto.  Simplify macro.
-
-2015-12-08  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	PR target/78733
-	* config/aarch64/aarch64.c (aarch64_classify_address):
-	Set load_store_pair_p for TImode and TFmode.
-
-2016-12-08  David Malcolm  <dmalcolm@redhat.com>
-
-	* emit-rtl.c (gen_reg_rtx): Move regno_pointer_align and
-	regno_reg_rtx resizing logic to...
-	(emit_status::ensure_regno_capacity): ...this new method,
-	and ensure that the buffers are large enough.
-	(init_emit): Allocate regno_reg_rtx using ggc_cleared_vec_alloc
-	rather than ggc_vec_alloc.
-	* function.h (emit_status::ensure_regno_capacity): New method.
-
-2016-12-08  Dmitry Vyukov  <dvyukov@google.com>
-
-	* opts.c (finish_options): Enable -fsanitize-address-use-after-scope
-	only if -fsanitize=address is enabled (not -fsanitize=kernel-address).
-	* doc/invoke.texi (-fsanitize=kernel-address):
-	Don't say that it enables -fsanitize-address-use-after-scope.
-
-2016-12-08  Bin Cheng  <bin.cheng@arm.com>
-
-	PR middle-end/78684
-	* tree-vect-loop-manip.c (create_intersect_range_checks_index): Check
-	sign bit for index step of data reference.
-
-2016-12-08  Naveen H.S  <Naveen.Hurugalawadi@cavium.com>
-
-	* config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
-	Handle SYMBOL_SMALL_TLSGD for ILP32.
-	* config/aarch64/aarch64.md : tlsgd_small modified into
-	tlsgd_small_<mode> to support SImode and DImode.
-	*tlsgd_small modified into *tlsgd_small_<mode> to support SImode and
-	DImode.
-
-2016-12-08  Andrew Pinski  <apinski@cavium.com>
-
-	* config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
-	Access the lower part of RTX appropriately.
-
-2016-12-07  David Malcolm  <dmalcolm@redhat.com>
-
-	* genpreds.c (write_tm_constrs_h): Update for renaming of
-	rtx_reader_ptr to md_reader_ptr.
-	(write_tm_preds_h): Likewise.
-	(write_insn_preds_c): Likewise.
-	* read-md.c (rtx_reader_ptr): Rename to...
-	(md_reader_ptr): ...this, and convert from an
-	rtx_reader * to a md_reader *.
-	(rtx_reader::set_md_ptr_loc): Rename to...
-	(md_reader::set_md_ptr_loc): ...this.
-	(rtx_reader::get_md_ptr_loc): Rename to...
-	(md_reader::get_md_ptr_loc): ...this.
-	(rtx_reader::copy_md_ptr_loc): Rename to...
-	(md_reader::copy_md_ptr_loc): ...this.
-	(rtx_reader::fprint_md_ptr_loc): Rename to...
-	(md_reader::fprint_md_ptr_loc): ...this.
-	(rtx_reader::print_md_ptr_loc): Rename to...
-	(md_reader::print_md_ptr_loc): ...this.
-	(rtx_reader::join_c_conditions): Rename to...
-	(md_reader::join_c_conditions): ...this.
-	(rtx_reader::fprint_c_condition): ...this.
-	(rtx_reader::print_c_condition): Rename to...
-	(md_reader::print_c_condition): ...this.
-	(fatal_with_file_and_line):  Update for renaming of
-	rtx_reader_ptr to md_reader_ptr.
-	(rtx_reader::require_char): Rename to...
-	(md_reader::require_char): ...this.
-	(rtx_reader::require_char_ws): Rename to...
-	(md_reader::require_char_ws): ...this.
-	(rtx_reader::require_word_ws): Rename to...
-	(md_reader::require_word_ws): ...this.
-	(rtx_reader::read_char): Rename to...
-	(md_reader::read_char): ...this.
-	(rtx_reader::unread_char): Rename to...
-	(md_reader::unread_char): ...this.
-	(rtx_reader::peek_char): Rename to...
-	(md_reader::peek_char): ...this.
-	(rtx_reader::read_name): Rename to...
-	(md_reader::read_name): ...this.
-	(rtx_reader::read_escape): Rename to...
-	(md_reader::read_escape): ...this.
-	(rtx_reader::read_quoted_string): Rename to...
-	(md_reader::read_quoted_string): ...this.
-	(rtx_reader::read_braced_string): Rename to...
-	(md_reader::read_braced_string): ...this.
-	(rtx_reader::read_string): Rename to...
-	(md_reader::read_string): ...this.
-	(rtx_reader::read_skip_construct): Rename to...
-	(md_reader::read_skip_construct): ...this.
-	(rtx_reader::handle_constants): Rename to...
-	(md_reader::handle_constants): ...this.
-	(rtx_reader::traverse_md_constants): Rename to...
-	(md_reader::traverse_md_constants): ...this.
-	(rtx_reader::handle_enum): Rename to...
-	(md_reader::handle_enum): ...this.
-	(rtx_reader::lookup_enum_type): Rename to...
-	(md_reader::lookup_enum_type): ...this.
-	(rtx_reader::traverse_enum_types): Rename to...
-	(md_reader::traverse_enum_types): ...this.
-	(rtx_reader::rtx_reader): Rename to...
-	(md_reader::md_reader): ...this, and update for renaming of
-	rtx_reader_ptr to md_reader_ptr.
-	(rtx_reader::~rtx_reader): Rename to...
-	(md_reader::~md_reader): ...this, and update for renaming of
-	rtx_reader_ptr to md_reader_ptr.
-	(rtx_reader::handle_include): Rename to...
-	(md_reader::handle_include): ...this.
-	(rtx_reader::handle_file): Rename to...
-	(md_reader::handle_file): ...this.
-	(rtx_reader::handle_toplevel_file): Rename to...
-	(md_reader::handle_toplevel_file): ...this.
-	(rtx_reader::get_current_location): Rename to...
-	(md_reader::get_current_location): ...this.
-	(rtx_reader::add_include_path): Rename to...
-	(md_reader::add_include_path): ...this.
-	(rtx_reader::read_md_files): Rename to...
-	(md_reader::read_md_files): ...this.
-	* read-md.h (class rtx_reader): Split into...
-	(class md_reader): ...new class.
-	(rtx_reader_ptr): Rename to...
-	(md_reader_ptr): ...this, and convert to a md_reader *.
-	(class noop_reader): Update base class to be md_reader.
-	(class rtx_reader): Reintroduce as a subclass of md_reader.
-	(rtx_reader_ptr): Reintroduce as a rtx_reader *.
-	(read_char): Update for renaming of rtx_reader_ptr to
-	md_reader_ptr.
-	(unread_char): Likewise.
-	* read-rtl.c (rtx_reader_ptr): New global.
-	(rtx_reader::apply_iterator_to_string): Rename to...
-	(md_reader::apply_iterator_to_string): ...this.
-	(rtx_reader::copy_rtx_for_iterators): Rename to...
-	(md_reader::copy_rtx_for_iterators): ...this.
-	(rtx_reader::read_conditions): Rename to...
-	(md_reader::read_conditions): ...this.
-	(rtx_reader::record_potential_iterator_use): Rename to...
-	(md_reader::record_potential_iterator_use): ...this.
-	(rtx_reader::read_mapping): Rename to...
-	(md_reader::read_mapping): ...this.
-	(rtx_reader::read_rtx): Use rtx_reader_ptr when calling
-	read_rtx_code.
-	(rtx_reader::read_rtx_operand): Use get_string_obstack rather
-	than directly accessing m_string_obstack.
-	(rtx_reader::rtx_reader): New ctor.
-	(rtx_reader::~rtx_reader): New dtor.
-
-2016-12-07  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/77784
-	PR middle-end/78149
-	PR middle-end/78138
-
-	* builtins.c (expand_builtin_strcat, expand_builtin_strncat): New
-	functions.
-	(compute_dest_size, get_size_range, check_sizes, check_strncat_sizes)
-	(check_memop_sizes): Same.
-	(expand_builtin_memcpy): Call check memop_sizes.
-	(expand_builtin_mempcpy): Same.
-	(expand_builtin_memset): Same,
-	(expand_builtin_bzero): Same.
-	(expand_builtin_memory_chk): Call check_sizes.
-	(expand_builtin_strcpy): Same.
-	(expand_builtin_strncpy): Same.
-	(maybe_emit_sprintf_chk_warning): Same.
-	(expand_builtin): Handle strcat and strncat.
-	(fini_object_sizes): Reset pointers.
-	(compute_object_size): New function.
-	* gimple-ssa-sprintf.c (pass_sprintf_length::handle_gimple_call):
-	Avoid issuing warnings also issued during built-in expansion.
-	* doc/invoke.texi (Warning Options): Document -Wstringop-overflow.
-
-2016-12-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/72717
-	* config/rs6000/rs6000.c (rs6000_expand_vector_init): If the
-	V2DImode elements are SUBREG's convert the result into DImode
-	rather than failing in emit_move_insn.
-
-2016-12-07  Jakub Jelinek  <jakub@redhat.com>
-
-	* builtins.c (fold_builtin_strstr): Removed.
-	(fold_builtin_2): Don't call fold_builtin_strstr.
-	* gimple-fold.c (gimple_fold_builtin_strchr): Check is_strrchr
-	earlier in the strrchr (x, 0) -> strchr (x, 0) optimization.
-	(gimple_fold_builtin_strstr): New function.
-	(gimple_fold_builtin): Call it.
-	* fold-const-call.c (fold_const_call): Handle CFN_BUILT_IN_STRSTR.
-
-	PR c++/78692
-	* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Set lhs
-	var to lhs of new_stmt right before noreturn handling rather than to
-	lhs of e->call_stmt early.
-
-2016-12-07  David Malcolm  <dmalcolm@redhat.com>
-
-	* read-md.c (rtx_reader::require_char): New method.
-	(require_char_ws): Convert from function to...
-	(rtx_reader::require_char_ws): ...method.
-	(rtx_reader::require_word_ws): New method.
-	* read-md.h (rtx_reader::require_char): New method decl.
-	(require_char_ws): Remove global decl in favor of...
-	(rtx_reader::require_char_ws): ...new method decl.
-	(rtx_reader::require_word_ws): New method decl.
-	(rtx_reader::peek_char): New method decl.
-
-2016-12-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	PR rtl-optimization/78617
-	* lra-remat.c (do_remat): Initialize live_hard_regs from live in
-	registers, also setting hard registers mapped to pseudo registers.
-
-2016-12-07  David Malcolm  <dmalcolm@redhat.com>
-
-	* cfgexpand.c (pass_expand::execute): Move stack initializations
-	to rtl_data::init_stack_alignment and call it.
-	* emit-rtl.c (rtl_data::init_stack_alignment): New method.
-	* emit-rtl.h (rtl_data::init_stack_alignment): New method.
-
-2016-12-07  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* gcc/ira.c (ira_setup_eliminable_regset): Initialize crtl->is_leaf.
-	(ira): Move initialization of crtl->is_leaf earlier.
-
-2016-12-07  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.md (movti_aarch64): Change Ump to m.
-	(movtf_aarch64): Likewise.
-	* config/aarch64/aarch64.c (aarch64_classify_address):
-	Use correct intersection of offsets.
-	(aarch64_legitimize_address_displacement): Use 9-bit signed offsets.
-	(aarch64_legitimize_address): Use 9-bit signed offsets for TI/TF mode.
-	Use 7-bit signed scaled mode for modes > 16 bytes.
-
-2016-12-07  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	PR rtl-optimization/78561
-	* config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p) Use
-	constant_pool_empty_p in place of get_pool_size_upper_bound.
-	(rs6000_stack_info): Likewise.
-	(rs6000_emit_prologue): Likewise.
-	(rs6000_elf_declare_function_name): Likewise.
-	(rs6000_set_up_by_prologue): Likewise.
-	(rs6000_can_eliminate): Likewise.
-	* output.h (get_pool_size_upper_bound): Delete.
-	(constant_pool_empty_p): New.
-	* varasm.c (get_pool_size_upper_bound): Delete
-	(constant_pool_empty_p): New.
-
-2016-12-07  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/78691
-	* match.pd ((convert1 (minmax ((convert2 (x) c)))) -> minmax (x c)):
-	Require integral type for the outer expression.
-
-2016-12-07  Naveen H.S  <Naveen.Hurugalawadi@cavium.com>
-
-	* config/aarch64/aarch64.c
-	(aarch64_builtin_support_vector_misalignment): New.
-	(TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT): Define.
-
-2016-12-06  David Malcolm  <dmalcolm@redhat.com>
-
-	PR bootstrap/78705
-	* config/i386/i386.c (ix86_test_dumping_memory_blockage):
-	Conditionalize the string comparison on Pmode == DImode.
-
-2016-12-06  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/67955
-	* tree-ssa-alias.c (same_addr_size_stores_p): New function.
-	(stmt_kills_ref_p): Use it.
-
-2016-12-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR middle-end/78700
-	* calls.c (expand_call): Move back call to prepare_call_address.
-
-2016-12-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/78658
-	* config/rs6000/rs6000.md (zero_extendqi<mode>2): Use ^ instead of
-	?* constraints for the ISA 3.0 patterns, so the register allocator
-	is more likely to allocate QImode/HImode to vector registers for
-	conversion to floating point unless a reload is needed.
-	(zero_extendhi<mode>2): Likewise.
-	(float<QHI:mode><FP_ISA3:mode>2_internal): Properly deal with the
-	first alternative which is converting QImode/HImode to floating
-	point and the QImode/HImode value is in a vector register, and
-	does not allocate the second pseudo register.  Remove zero
-	extending into traditional floating point registers, since the
-	instruction used only works on traditional altivec registers.
-	(floatuns<QHI:mode><FP_ISA3:mode>2_internal): Likewise.
-
-2016-12-06  David Malcolm  <dmalcolm@redhat.com>
-
-	* config/i386/i386.c: Include print-rtl.h.
-	(selftest::ix86_test_dumping_memory_blockage): New function.
-	(selftest::ix86_run_selftests): Call it.
-	* print-rtl-function.c (print_rtx_function): Create an
-	rtx_reuse_manager and use it.
-	* print-rtl.c: Include "rtl-iter.h".
-	(rtx_writer::rtx_writer): Add reuse_manager param.
-	(rtx_reuse_manager::rtx_reuse_manager): New ctor.
-	(uses_rtx_reuse_p): New function.
-	(rtx_reuse_manager::preprocess): New function.
-	(rtx_reuse_manager::has_reuse_id): New function.
-	(rtx_reuse_manager::seen_def_p): New function.
-	(rtx_reuse_manager::set_seen_def): New function.
-	(rtx_writer::print_rtx): If "in_rtx" has a reuse ID, print it as a
-	prefix the first time in_rtx is seen, and print reuse_rtx
-	subsequently.
-	(print_inline_rtx): Supply NULL for new reuse_manager param.
-	(debug_rtx): Likewise.
-	(print_rtl): Likewise.
-	(print_rtl_single): Likewise.
-	(rtx_writer::print_rtl_single_with_indent): Likewise.
-	* print-rtl.h: Include bitmap.h when building for host.
-	(rtx_writer::rtx_writer): Add reuse_manager param.
-	(rtx_writer::m_rtx_reuse_manager): New field.
-	(class rtx_reuse_manager): New class.
-	* rtl-tests.c (selftest::assert_rtl_dump_eq): Add reuse_manager
-	param and use it when constructing rtx_writer.
-	(selftest::test_dumping_rtx_reuse): New function.
-	(selftest::rtl_tests_c_tests): Call it.
-	* selftest-rtl.h (class rtx_reuse_manager): New forward decl.
-	(selftest::assert_rtl_dump_eq): Add reuse_manager param.
-	(ASSERT_RTL_DUMP_EQ): Supply NULL for reuse_manager param.
-	(ASSERT_RTL_DUMP_EQ_WITH_REUSE): New macro.
-
-2016-12-06  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR target/77761
-	* lra-lives.c (process_bb_lives): Update biggest mode for
-	implicitly used hard reg.
-
-2016-12-06  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/predicates.md (general_gr_operand): New predicate.
-	* config/i386/i386.md (TImode and DImode push_operand splitter):
-	Use general_gr_operand.  Macroize using DWI mode macro.
-	(TImode and DImode nonimmediate_operand splitter): Use
-	nonimmediate_gr_operand and general_gr_operand.  Macroize using
-	DWI mode macro.
-	(TF/XF/DFmode push_operand splitter): Use general_gr_operand.
-	(TFmode nonimmediate_operand splitter): Use nonimmediate_gr_operand
-	and general_gr_operand.
-	(XFmode nonimmediate_operand splitter): Ditto.
-	(DFmode nonimmediate_operand splitter): Ditto.
-	* config/i386/mmx.md (MMXMODE nonimmediate_operand splitter): Ditto.
-
-2016-12-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/arm-cores.def (cortex-m23, cortex-m33): Move into
-	alphabetical order with respect to other ARMv8 processors.
-	* config/arm/arm-tables.opt: Regenerate.
-	* config/arm/arm-tune.md: Likewise.
-
-2016-12-06  Robert Suchanek  <robert.suchanek@imgtec.com>
-
-	* config/mips/mips.c (mips_expand_builtin_insn): Check input
-	ranges of literal integer arguments.
-
-2016-12-06  Aldy Hernandez  <aldyh@redhat.com>
-
-	PR middle-end/78548
-	* tree-ssa-uninit.c (simplify_preds_4): Call release() instead of
-	destroy_predicate_vecs.
-	(uninit_uses_cannot_happen): Make uninit_preds a scalar.
-
-2016-12-06  Aldy Hernandez  <aldyh@redhat.com>
-
-	PR middle-end/78566
-	* tree-ssa-uninit.c (can_one_predicate_be_invalidated_p): Change
-	argument type to a pred_chain.
-	(can_chain_union_be_invalidated_p): Use pred_chain instead of a
-	worklist.
-	(flatten_out_predicate_chains): Remove.
-	(uninit_uses_cannot_happen): Rename from
-	uninit_ops_invalidate_phi_use.
-	Change logic so that we are checking that the PHI use will
-	invalidate _ALL_ possibly uninitialized operands.
-	(is_use_properly_guarded): Rename call to
-	uninit_ops_invalidate_phi_use into uninit_uses_cannot_happen.
-
-2016-12-06  Tamar Christina  <tamar.christina@arm.com>
-
-	* gcc/config/aarch64/arm_neon.h
-	(vreinterpretq_p8_p128, vreinterpretq_p16_p128): Added.
-	(vreinterpret_p64_p16, vreinterpretq_p64_p128): Likewise.
-	(vreinterpretq_p64_p16, vreinterpretq_p128_p8): Likewise.
-	(vreinterpretq_p128_p16, vreinterpretq_p128_f16): Likewise.
-	(vreinterpretq_p128_f32, vreinterpretq_p128_p64): Likewise.
-	(vreinterpretq_p128_s64, vreinterpretq_p128_u64): Likewise.
-	(vreinterpretq_p128_s8, vreinterpretq_p128_s16): Likewise.
-	(vreinterpretq_p128_s32, vreinterpretq_p128_u8): Likewise.
-	(vreinterpretq_p128_u16, vreinterpretq_p128_u32): Likewise.
-	(vreinterpretq_f16_p128, vreinterpretq_f32_p128): Likewise.
-	(vreinterpretq_s64_p128, vreinterpretq_u64_p128): Likewise.
-	(vreinterpretq_s8_p128, vreinterpretq_s16_p128): Likewise.
-	(vreinterpretq_s32_p128, vreinterpretq_u8_p128): Likewise.
-	(vreinterpretq_u16_p128, vreinterpretq_u32_p128): Likewise.
-
-2016-12-06  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/71537
-	* fold-const.c (fold_comparison): Assume CONSTANT_CLASS_P (base0)
-	plus offset is non-zero.  For maybe_nonzero_address decl base0,
-	require indirect_base0.
-
-	PR c++/71537
-	* fold-const-call.c (fold_const_call_1): Remove memchr handling here.
-	(fold_const_call) <case CFN_BUILT_IN_STRNCMP,
-	case CFN_BUILT_IN_STRNCASECMP>: Formatting improvements.
-	(fold_const_call) <case CFN_BUILT_IN_MEMCMP>: Likewise.  If s2 is 0
-	and arguments have no side-effects, return 0.
-	(fold_const_call): Handle CFN_BUILT_IN_MEMCHR.
-
-	PR c++/71537
-	* fold-const-call.c (fold_const_call): Handle
-	CFN_BUILT_IN_{INDEX,STRCHR,RINDEX,STRRCHR}.
-
-	PR tree-optimization/78675
-	* tree-vect-loop.c (vectorizable_live_operation): For
-	VECTOR_BOOLEAN_TYPE_P vectype use integral type with bitsize precision
-	instead of TREE_TYPE (vectype) for the BIT_FIELD_REF.
-
-2016-12-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR middle-end/78642
-	* emit-rtl.c (verify_rtx_sharing) <CLOBBER>: Relax condition.
-	(copy_rtx_if_shared_1) <CLOBBER>: Likewise.
-	(copy_insn_1) <CLOBBER>: Likewise.
-
-2016-12-05  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/78688
-	* config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Use IN_RANGE
-	instead of ((N) >= (X) && (N) <= (Y-X)) to silence warnings about
-	comparing signed to unsigned values.
-	(FUNCTION_ARG_REGNO_P): Likewise.
-
-2016-12-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-	    Stefan Freudenberger  <stefan@reservoir.com>
-
-	PR tree-optimization/78646
-	* gimple-ssa-strength-reduction.c (replace_ref): The pointer
-	addition used for the memory base expression should have the type
-	of the candidate.
-
-2016-12-05  Waldemar Brodkorb  <wbx@openadk.org>
-
-	PR target/71721
-	* config.gcc (*-*-uclinux*): Enable posix threads.
-
-2016-12-05  Andrew Senkevich  <andrew.senkevich@intel.com>
-
-	* config/i386/avx512bwintrin.h: Add new k-mask intrinsics.
-	* config/i386/avx512dqintrin.h: Ditto.
-	* config/i386/avx512fintrin.h: Ditto.
-	* config/i386/i386-builtin-types.def (UCHAR_FTYPE_UQI_UQI_PUCHAR,
-	UCHAR_FTYPE_UHI_UHI_PUCHAR, UCHAR_FTYPE_USI_USI_PUCHAR,
-	UCHAR_FTYPE_UDI_UDI_PUCHAR, UCHAR_FTYPE_UQI_UQI, UCHAR_FTYPE_UHI_UHI,
-	UCHAR_FTYPE_USI_USI, UCHAR_FTYPE_UDI_UDI, UQI_FTYPE_UQI_INT,
-	UHI_FTYPE_UHI_INT, USI_FTYPE_USI_INT, UDI_FTYPE_UDI_INT,
-	UQI_FTYPE_UQI, USI_FTYPE_USI, UDI_FTYPE_UDI, UQI_FTYPE_UQI_UQI): New
-	function types.
-	* config/i386/i386-builtin.def (__builtin_ia32_knotqi,
-	__builtin_ia32_knotsi, __builtin_ia32_knotdi,
-	__builtin_ia32_korqi, __builtin_ia32_korsi, __builtin_ia32_kordi,
-	__builtin_ia32_kxnorqi, __builtin_ia32_kxnorsi,
-	__builtin_ia32_kxnordi, __builtin_ia32_kxorqi, __builtin_ia32_kxorsi,
-	__builtin_ia32_kxordi, __builtin_ia32_kandqi,
-	__builtin_ia32_kandsi, __builtin_ia32_kanddi, __builtin_ia32_kandnqi,
-	__builtin_ia32_kandnsi, __builtin_ia32_kandndi): New.
-	* config/i386/i386.c (ix86_expand_args_builtin): Handle new types.
-
-2016-12-05  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* combine.c: Revert r243162.
-
-2016-12-05  Paolo Bonzini  <bonzini@gnu.org>
-
-	* match.pd: Simplify X ? C : 0 where C is a power of 2 and
-	X tests a single bit.
-
-2016-12-05  Nathan Sidwell  <nathan@acm.org>
-
-	* diagnostic.c (diagnostic_check_max_errors): New, broken out of ...
-	(diagnostic_action_after_output): ... here.
-	(diagnostic_report_diagnostic): Call it for non-notes.
-	* diagnostic.h (struct diagnostic_context): Make max_errors signed int.
-	(diagnostic_check_max_errors): Declare.
-
-2016-12-05  Cupertino Miranda  <cmiranda@synopsys.com>
-
-	* config/arc/arc.h (STARTFILE_SPEC): Use default linux specs.
-	(ENDFILE_SPEC): Likewise.
-
-2016-12-05  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc-protos.h (insn_is_tls_gd_dispatch): Remove.
-	* config/arc/arc.c (arc_unspec_offset): New function.
-	(arc_finalize_pic): Change.
-	(arc_emit_call_tls_get_addr): Likewise.
-	(arc_legitimize_tls_address): Likewise.
-	(arc_legitimize_pic_address): Likewise.
-	(insn_is_tls_gd_dispatch): Remove.
-	* config/arc/arc.h (INSN_REFERENCES_ARE_DELAYED): Change.
-	* config/arc/arc.md (ls_gd_load): Remove unused pattern.
-	(tls_gd_dispatch): Likewise.
-
-2016-12-05  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-
-	* config/arm/arm.c (TARGET_ASM_INIT_SECTIONS): Fix wrong undef
-	location.
-
-2016-12-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/sparc/sparc-protos.h (sparc_splitdi_legitimate): Rename to...
-	(sparc_split_reg_mem_legitimate): ...this.
-	(sparc_split_reg_mem): Declare.
-	(sparc_split_mem_reg): Likewise.
-	(sparc_split_regreg_legitimate): Rename to...
-	(sparc_split_reg_reg_legitimate): ...this.
-	* config/sparc/sparc.c (sparc_splitdi_legitimate): Rename to...
-	(sparc_split_reg_mem_legitimate): ...this.
-	(sparc_split_reg_mem): New function.
-	(sparc_split_mem_reg): Likewise.
-	(sparc_split_regreg_legitimate): Rename to...
-	(sparc_split_reg_reg_legitimate): ...this.
-	(sparc_split_reg_reg): New function.
-	* config/sparc/sparc.md (lra): Remove "none" value.
-	(enabled): Adjust to above change.
-	(*movdi_insn_sp32): Remove new (r,T) alternative and reorder others.
-	(DImode splitters): Adjust to above renamings and use new functions.
-	(*movdf_insn_sp32): Remove new (r,T) alternative and reorder others.
-	(DFmode splitters): Adjust to above renamings and use new functions.
-	(*mov<VM64:mode>_insn_sp64): Replace C with Z constraint and use W
-	constraint in conjunction with e.
-	(*mov<VM64:mode>_insn_sp32): Remove new (r,T) alternative, add (o,Y)
-	alternative and reorder others.
-	(VM64:mode splitters): Adjust to above renamings and use new functions.
-
-2016-12-04  Martin Sebor  <msebor@redhat.com>
-
-	PR c/78668
-	* builtin-attrs.def (ATTR_ALLOC_SIZE, ATTR_RETURNS_NONNULL): New
-	identifier tree nodes.
-	(ATTR_ALLOCA_SIZE_1_NOTHROW_LEAF_LIST): New attribute list.
-	(ATTR_MALLOC_SIZE_1_NOTHROW_LIST): Same.
-	(ATTR_MALLOC_SIZE_1_NOTHROW_LEAF_LIST): Same.
-	(ATTR_MALLOC_SIZE_1_2_NOTHROW_LEAF_LIST): Same.
-	(ATTR_ALLOC_SIZE_2_NOTHROW_LEAF_LIST): Same.
-	* builtins.def (aligned_alloc, calloc, malloc, realloc):
-	Add attribute alloc_size.
-	(alloca): Add attribute alloc_size and returns_nonnull.
-
-2016-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/70322
-	* config/i386/i386.c (dimode_scalar_to_vector_candidate_p): Handle NEG.
-	(dimode_scalar_chain::compute_convert_gain): Ditto.
-	(dimode_scalar_chain::convert_insn): Ditto.
-
-2016-12-03  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* lra-constraints.c (emit_spill_move): Use gen_lowpart_SUBREG in all
-	cases to build a lowpart SUBREG.
-
-2016-12-03  Eric Botcazou  <ebotcazou@adacore.com>
-	    David S. Miller  <davem@davemloft.net>
-
-	* config/sparc/constraints.md (U): Adjust comment.
-	* config/sparc/sparc.md (lra): New attribute.
-	(enabled): For base instructions, if the lra attribute is set,
-	return 1 if it is in keeping with TARGET_LRA.
-	(*movdi_insn_sp32): Add lra attribute for alternatives mentioning U
-	constraint and duplicate them with U replaced by r.
-	(*movdf_insn_sp32): Likewise.
-	(*mov<VM64:mode>_insn_sp32): Likewise.
-	(*movtf_insn_sp32): Remove alternatives mentioning U constraint.
-
-2016-12-02  Jeff Law  <law@redhat.com>
-
-	* config/arm/arm.c (arm_handle_cmse_nonsecure_call): Remove unused
-	variable main_variant.
-
-2016-12-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config.gcc (powerpc*-*-linux*): Set gnu-indirect-function by
-	default on PowerPC linux systems.
-
-2016-12-02  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/78638
-	* simplify-rtx.c (simplify_truncation): M2 is not mode, it is
-	GET_MODE (op).  Fix this.
-
-2016-12-02  David Malcolm  <dmalcolm@redhat.com>
-
-	PR bootstrap/78616
-	* selftest.c (selftest::assert_strndup_eq): Rename to...
-	(selftest::assert_xstrndup_eq): ...this, and remove call to
-	strndup.
-	(selftest::test_strndup): Rename to...
-	(selftest::test_xstrndup): ...this, updating for above renaming.
-	(selftest::test_libiberty): Update for renaming.
-
-2016-12-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/78639
-	* config/rs6000/rs6000.md (movdi_internal64): Fix typo in
-	subversion id 242679 that causes the wrong store instruction to be
-	generated if a DImode is in an Altivec register using REG+REG
-	addressing.
-
-2016-12-02  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/70322
-	* config/i386/i386.md (*andndi3_doubleword): Add non-BMI alternative
-	and corresponding post-reload splitter.
-
-2016-12-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64.h (machine_function): Add
-	reg_is_wrapped_separately field.
-	* config/aarch64/aarch64.md (LAST_SAVED_REGNUM): Define new constant.
-	* config/aarch64/aarch64.c (emit_set_insn): Change return type to
-	rtx_insn *.
-	(aarch64_save_callee_saves): Don't save registers that are wrapped
-	separately.
-	(aarch64_restore_callee_saves): Don't restore registers that are
-	wrapped separately.
-	(offset_9bit_signed_unscaled_p, offset_12bit_unsigned_scaled_p,
-	aarch64_offset_7bit_signed_scaled_p): Move earlier in the file.
-	(aarch64_get_separate_components): New function.
-	(aarch64_get_next_set_bit): Likewise.
-	(aarch64_components_for_bb): Likewise.
-	(aarch64_disqualify_components): Likewise.
-	(aarch64_emit_prologue_components): Likewise.
-	(aarch64_emit_epilogue_components): Likewise.
-	(aarch64_set_handled_components): Likewise.
-	(aarch64_process_components): Likewise.
-	(TARGET_SHRINK_WRAP_GET_SEPARATE_COMPONENTS,
-	TARGET_SHRINK_WRAP_COMPONENTS_FOR_BB,
-	TARGET_SHRINK_WRAP_DISQUALIFY_COMPONENTS,
-	TARGET_SHRINK_WRAP_EMIT_PROLOGUE_COMPONENTS,
-	TARGET_SHRINK_WRAP_EMIT_EPILOGUE_COMPONENTS,
-	TARGET_SHRINK_WRAP_SET_HANDLED_COMPONENTS): Define.
-
-2016-12-02  Martin Jambor  <mjambor@suse.cz>
-
-	* passes.def: Move pass_rebuild_cgraph_edges to the end of
-	pass_build_ssa_passes.
-
-2016-12-02  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/alpha/alpha.md (exception_receiver): Copy
-	alpha_gp_ave_rtx return value.
-
-2016-12-02  Tadek Kijkowski  <tkijkowski@gmail.com>
-
-	* Makefile.in (PREPROCESSOR_DEFINES): Add a level of indirection
-	for several include directories that may be relative to sysroot.
-	* config/i386/x-mingw32 (gplus_includedir): Define.
-	(gplus_tool_includedir, gplus_backward_include_dir): Likewise.
-	(native_system_includedir): Likewise.
-	* config/i386/mingw32.h (STANDARD_STARTFILE_PREFIX_1): Do not
-	override if TARGET_SYSTEM_ROOT is defined.
-	(NATIVE_SYSTEM_HEADER_DIR): Likewise.
-
-2016-12-02  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/70322
-	* config/i386/i386.c (dimode_scalar_to_vector_candidate_p): Handle NOT.
-	(dimode_scalar_chain::compute_convert_gain): Likewise.
-	(dimode_scalar_chain::convert_insn): Likewise.
-	* config/i386/i386.md (*one_cmpldi2_doubleword): New
-	define_insn_and_split.
-	(one_cmpl<mode>2): Use SWIM1248x iterator instead of SWIM.
-
-	PR target/78614
-	* rtl.c (copy_rtx): Don't clear used flag here.
-	(shallow_copy_rtx_stat): Clear used flag here unless code the rtx
-	is shareable.
-	* simplify-rtx.c (simplify_replace_fn_rtx): When copying rtx with
-	'E' in format, copy all vectors.
-	* emit-rtl.c (copy_insn_1): Don't clear used flag here.
-	* valtrack.c (cleanup_auto_inc_dec): Likewise.
-	* config/rs6000/rs6000.c (rs6000_frame_related): Likewise.
-
-2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-	    Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm-builtins.c (arm_builtins): Define
-	ARM_BUILTIN_CMSE_NONSECURE_CALLER.
-	(bdesc_2arg): Add line for cmse_nonsecure_caller.
-	(arm_init_builtins): Handle cmse_nonsecure_caller.
-	(arm_expand_builtin): Likewise.
-	* config/arm/arm_cmse.h (cmse_nonsecure_caller): New.
-
-2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-	    Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm.c (detect_cmse_nonsecure_call): New.
-	(cmse_nonsecure_call_clear_caller_saved): New.
-	(arm_reorg): Use cmse_nonsecure_call_clear_caller_saved.
-	(arm_function_ok_for_sibcall): Disable sibcalls for
-	cmse_nonsecure_call.
-	* config/arm/arm-protos.h (detect_cmse_nonsecure_call): New.
-	* config/arm/arm.md (call): Handle cmse_nonsecure_entry.
-	(call_value): Likewise.
-	(nonsecure_call_internal): New.
-	(nonsecure_call_value_internal): New.
-	* config/arm/thumb1.md (*nonsecure_call_reg_thumb1_v5): New.
-	(*nonsecure_call_value_reg_thumb1_v5): New.
-	* config/arm/thumb2.md (*nonsecure_call_reg_thumb2): New.
-	(*nonsecure_call_value_reg_thumb2): New.
-	* config/arm/unspecs.md (UNSPEC_NONSECURE_MEM): New.
-
-2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-	    Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm.c (gimplify.h): New include.
-	(arm_handle_cmse_nonsecure_call): New.
-	(arm_attribute_table): Added cmse_nonsecure_call.
-	(arm_comp_type_attributes): Deny compatibility of function types
-	with without the cmse_nonsecure_call attribute.
-	* doc/extend.texi (ARM ARMv8-M Security Extensions): New attribute.
-
-2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-	    Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm.c (output_return_instruction): Clear
-	registers.
-	(thumb2_expand_return): Likewise.
-	(thumb1_expand_epilogue): Likewise.
-	(thumb_exit): Likewise.
-	(arm_expand_epilogue): Likewise.
-	(cmse_nonsecure_entry_clear_before_return): New.
-	(comp_not_to_clear_mask_str_un): New.
-	(compute_not_to_clear_mask): New.
-	* config/arm/thumb1.md (*epilogue_insns): Change length attribute.
-	* config/arm/thumb2.md (*thumb2_return): Disable for
-	cmse_nonsecure_entry functions.
-	(*thumb2_cmse_entry_return): Duplicate thumb2_return pattern for
-	cmse_nonsecure_entry functions.
-
-2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-	    Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm.c (use_return_insn): Change to return with  bxns
-	when cmse_nonsecure_entry.
-	(output_return_instruction): Likewise.
-	(arm_output_function_prologue): Likewise.
-	(thumb_pop): Likewise.
-	(thumb_exit): Likewise.
-	(thumb2_expand_return): Assert that entry functions always have simple
-	returns.
-	(arm_expand_epilogue): Handle entry functions.
-	(arm_function_ok_for_sibcall): Disable sibcall for entry functions.
-	(arm_asm_declare_function_name): New.
-	* config/arm/arm-protos.h (arm_asm_declare_function_name): New.
-	* config/arm/elf.h (ASM_DECLARE_FUNCTION_NAME): Redefine to
-	use arm_asm_declare_function_name.
-
-2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-	    Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm.c (arm_handle_cmse_nonsecure_entry): New.
-	(arm_attribute_table): Added cmse_nonsecure_entry
-	(arm_compute_func_type): Handle cmse_nonsecure_entry.
-	(cmse_func_args_or_return_in_stack): New.
-	(arm_handle_cmse_nonsecure_entry): New.
-	* config/arm/arm.h (ARM_FT_CMSE_ENTRY): New macro define.
-	(IS_CMSE_ENTRY): Likewise.
-	* doc/extend.texi (ARM ARMv8-M Security Extensions): New attribute.
-
-2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-	    Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config.gcc (extra_headers): Added arm_cmse.h.
-	* config/arm/arm-arches.def (ARM_ARCH):
-	(armv8-m): Add FL2_CMSE.
-	(armv8-m.main): Likewise.
-	(armv8-m.main+dsp): Likewise.
-	* config/arm/arm-c.c
-	(arm_cpu_builtins): Added __ARM_FEATURE_CMSE macro.
-	* config/arm/arm-flags.h: Define FL2_CMSE.
-	* config/arm.c (arm_arch_cmse): New.
-	(arm_option_override): New error for unsupported cmse target.
-	* config/arm/arm.h (arm_arch_cmse): New.
-	* config/arm/arm.opt (mcmse): New.
-	* config/arm/arm_cmse.h: New file.
-	* doc/invoke.texi (ARM Options): Add -mcmse.
-	* doc/sourcebuild.texi (arm_cmse_ok): Add new effective target.
-	* doc/extend.texi: Add ARMv8-M Security Extensions entry.
-
-2016-12-02  Georg-Johann Lay  <avr@gjlay.de>
-
-	* config/avr/avr.c: Fix coding rule glitches.
-
-2016-12-02  Martin Jambor  <mjambor@suse.cz>
-
-	* hsa.c (hsa_callable_function_p): Return false for artificial
-	functions.
-
-2016-12-02  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	PR rtl-optimization/78561
-	* varasm.c (recompute_pool_offsets): New.
-	(output_constant_pool): Call it.
-
-2016-12-02  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	PR rtl-optimization/78561
-	* config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p) Rename
-	get_pool_size to get_pool_size_upper_bound.
-	(rs6000_stack_info): Likewise.
-	(rs6000_emit_prologue): Likewise.
-	(rs6000_elf_declare_function_name): Likewise.
-	(rs6000_set_up_by_prologue): Likewise.
-	(rs6000_can_eliminate): Likewise, reformat spaces to tabs.
-	* output.h (get_pool_size): Rename to...
-	(get_pool_size_upper_bound): ...This.
-	* varasm.c (get_pool_size): Rename to...
-	(get_pool_size_upper_bound): ...This.
-
-2016-12-02  Bin Cheng  <bin.cheng@arm.com>
-
-	* match.pd: Add new pattern:
-	(cond (cmp (convert? x) c1) (op x c2) c3) -> (op (minmax x c1) c2).
-
-2016-12-02  Nathan Sidwell  <nathan@acm.org>
-
-	* diagnostic.c (diagnostic_report_diagnostic): Remove extraneous
-	braces.
-
-2016-12-02  Aldy Hernandez  <aldyh@redhat.com>
-
-	PR middle-end/78328
-	* gimple-ssa-warn-alloca.c (alloca_call_type): Handle
-	VR_ANTI_RANGE.
-
-2016-12-02  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.c (s390_save_gprs_to_fprs): Fix RTL sharing
-	problem.
-
-2016-12-02  Georg-Johann Lay  <avr@gjlay.de>
-
-	* config/avr/avr-arch.h (avr_mcu_t) [n_flash]: Remove field.
-	* config/avr/avr-devices.c (AVR_MCU): Remove N_FLASH macro argument.
-	* config/avr/avr-mcus.def (AVR_MCU): Remove initializer for n_flash.
-	* config/avr/avr.c (avr_set_core_architecture) [avr_n_flash]: Use
-	avr_mcu_types.flash_size to compute default value.
-	* config/avr/gen-avr-mmcu-specs.c (print_mcu) [cc1_n_flash]: Use
-	mcu->flash_size to compute value for spec.
-
-2016-12-02  Georg-Johann Lay  <avr@gjlay.de>
-
-	* doc/invoke.texi (AVR Options) [-mabsdata]: Point to absdata.
-	* doc/extend.texi (AVR Variable Attributes) [progmem]: Hint
-	about linker description to avoid progmem altogether.
-	[absdata]: Point to -mabsdata option.
-
-2016-12-02  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/78547
-	* emit-rtl.c (unshare_all_rtl): Make sure DECL_RTL and
-	DECL_INCOMING_RTL is not shared.
-	* config/i386/i386.c (convert_scalars_to_vectors): If any
-	insns have been converted, adjust all parameter's DEC_RTL and
-	DECL_INCOMING_RTL back from V1TImode to TImode if the parameters have
-	TImode.
-
-	PR rtl-optimization/78575
-	* config/i386/i386.c (timode_scalar_chain::fix_debug_reg_uses): Use
-	DF infrastructure to wrap all V1TImode reg uses into TImode subreg
-	if not already wrapped in a subreg.  Make sure df_insn_rescan does not
-	affect further iterations.
-
-2016-12-02  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/78555
-	* sreal.c (sreal::to_int): Make absolute value before shifting.
-	(sreal::operator/): Likewise.
-	(sreal_verify_negative_division): New test.
-	(void sreal_c_tests): Call the new test.
-	* sreal.h (sreal::normalize_up): Use new SREAL_ABS and
-	SREAL_SIGN macros.
-	(sreal::normalize_down): Likewise.
-
-2016-12-02  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	* combine.c (combine_simplify_rtx):  Suppress replacement of
-	"(and (reg) (const_int bit))" with "if_then_else".
-
-2016-12-02  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	PR target/77822
-	* config/s390/s390.md ("extzv")
-	("*extzv<mode><clobbercc_or_nocc>")
-	("*extzvdi<clobbercc_or_nocc>_lshiftrt")
-	("*<risbg_n>_ior_and_sr_ze")
-	("*extract1bitdi<clobbercc_or_nocc>")
-	("*insv<mode><clobbercc_or_nocc>", "*insv_rnsbg_noshift")
-	("*insv_rnsbg_srl", "*insv<mode>_mem_reg")
-	("*insvdi_mem_reghigh", "*insvdi_reg_imm"): Use EXTRACT_ARGS_IN_RANGE
-	to validate the arguments of zero_extract and sign_extract.
-
-2016-12-02  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	PR target/77822
-	* rtl.h (EXTRACT_ARGS_IN_RANGE): New.
-
-2016-12-02  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* gcc/config/s390/s390.c (s390_builtin_vectorization_cost): New
-	function.
-	(TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Define target
-	macro.
-
-2016-12-02  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/vector.md (vec_halfhalf): New mode iterator.
-	("vec_pack_trunc_<mode>", "vec_pack_ssat_<mode>")
-	("vec_pack_usat_<mode>", "vec_unpacks_hi_v16qi")
-	("vec_unpacks_low_v16qi", "vec_unpacku_hi_v16qi")
-	("vec_unpacku_low_v16qi", "vec_unpacks_hi_v8hi")
-	("vec_unpacks_lo_v8hi", "vec_unpacku_hi_v8hi")
-	("vec_unpacku_lo_v8hi", "vec_unpacks_hi_v4si")
-	("vec_unpacks_lo_v4si", "vec_unpacku_hi_v4si")
-	("vec_unpacku_lo_v4si"): New pattern definitions.
-	* config/s390/vx-builtins.md: Move VI_HW_HSD mode iterator to
-	vector.md.
-
-2016-12-02  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390-protos.h (s390_reverse_condition): New
-	prototype.
-	* config/s390/s390.c (s390_canonicalize_comparison): Fold compares
-	of CC mode values.
-	(s390_reverse_condition): New function.
-	* config/s390/s390.h (REVERSE_CC_MODE, REVERSE_CONDITION): Define
-	target macros.
-
-2016-12-02  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390-modes.def (CCVEQANY, CCVH, CCVHANY, CCVHU)
-	(CCVHUANY): Remove modes.
-	(CCVIH, CCVIHU, CCVIALL, CCVIANY, CCVFALL, CCVFANY): Add modes and
-	documentation.
-	* config/s390/s390.c (s390_match_ccmode_set): Rename cc modes.
-	(s390_expand_vec_compare_scalar): Pick one of the cc consumer
-	modes.
-	(s390_branch_condition_mask): Adjust to use the new cc consumer
-	modes.  The new modes allow for proper reversal in the middle-end.
-	(s390_expand_vec_compare_cc): Determine the proper cc producer and
-	consumer modes for a comparison.
-	* config/s390/s390.md: Rename CCVH to CCVIH and CCVHU to CCVIHU
-	throughout the file.
-	* config/s390/vx-builtins.md: Likewise.
-
-2016-12-02  Maxim Ostapenko  <m.ostapenko@samsung.com>
-
-	* asan.c (asan_global_struct): Refactor.
-	(create_odr_indicator): New function.
-	(asan_needs_odr_indicator_p): Likewise.
-	(is_odr_indicator): Likewise.
-	(asan_add_global): Introduce odr_indicator_ptr. Pass it into global's
-	constructor.
-	(asan_protect_global): Do not protect odr indicators.
-
-2016-12-01  Jeff Law  <law@redhat.com>
-
-	* tree-ssa-threadedge.c
-	(record_temporary_equivalences_from_stmts_at_dest): Avoid temporary
-	propagation of operands if there are no operands.
-
-2016-12-02  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/78586
-	* gimple-ssa-sprintf.c (format_integer): Don't handle NOP_EXPR,
-	CONVERT_EXPR or COMPONENT_REF here.  Formatting fix.  For
-	SSA_NAME_DEF_STMT with NOP_EXPR only change argtype if the rhs1's
-	type is INTEGER_TYPE or POINTER_TYPE.
-
-2016-12-01  Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	PR target/78577
-	* config/rs6000/vsx.md (vextuhlx): Revise mode of operand 2.
-	(vextuhrx): Likewise.
-	(vextuwlx): Likewise.
-	(vextuwrx): Likewise.
-
-2016-12-01  David Malcolm  <dmalcolm@redhat.com>
-
-	* dwarf2out.c (dwarf2out_c_finalize): Reset early_dwarf and
-	early_dwarf_finished.
-
-2016-12-01  Eric Botcazou  <ebotcazou@adacore.com>
-	    David S. Miller  <davem@davemloft.net>
-
-	* config/sparc/sparc.opt (mlra): New target option.
-	* config/sparc/sparc.c (TARGET_LRA_P): Define to...
-	(sparc_lra_p): ...this.  New function.
-	(D_MODES, DF_MODES): Add missing cast.
-	* config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not
-	provide these insns when flag_pic.
-	(sethi_di_medlow, losum_di_medlow, seth44, setm44, setl44, sethh,
-	setlm, sethm, setlo, embmedany_sethi, embmedany_losum,
-	embmedany_brsum, embmedany_textuhi, embmedany_texthi,
-	embmedany_textulo, embmedany_textlo): Likewise.
-	(sethi_di_medlow_embmedany_pic): Provide it only with flag_pic.
-
-2016-12-01  David Edelsohn  <dje.gcc@gmail.com>
-
-	PR debug/66419
-	PR c++/78235
-	* dbxout.c (dbxout_type_fields): Skip TEMPLATE_DECLs.
-
-2016-12-01  Richard Biener  <rguenther@suse.de>
-	    Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	* vec.h (vec<T, A, vl_embed>::quick_grow_cleared): Guard call to
-	memset if len-oldlen != 0.
-	(vec<T, va_heap, vl_ptr>::safe_grow_cleared): Likewise.
-
-2016-12-01  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*andndi3_doubleword): Depend on TARGET_SSE2.
-
-2016-12-01  Georg-Johann Lay  <avr@gjlay.de>
-
-	* config/avr/avr.c: Fix coding rule glitches.
-
-2016-12-01  Markus Trippelsdorf  <markus@trippelsdorf.de>
-
-	PR tree-optimization/78598
-	* tree-ssa-loop-prefetch.c (ddown): Cast to signed to avoid
-	overflows.
-
-2016-12-01  Markus Trippelsdorf  <markus@trippelsdorf.de>
-
-	PR rtl-optimization/78596
-	* combine.c (simplify_comparison): Cast to unsigned to avoid
-	left shifting of negative value.
-
-2016-12-01  Matthias Klose  <doko@ubuntu.com>
-
-	* doc/install.texi: Don't use pkg-config to check for bdw-gc.
-
-2016-12-01  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-alias.c (indirect_refs_may_alias_p): Do not
-	treat arrays with same type as objects that cannot overlap.
-
-2016-12-01  Georg-Johann Lay  <avr@gjlay.de>
-
-	* config/avr/avr.c (avr_print_operand): Use SYMBOL_REF_P if possible.
-	(avr_handle_addr_attribute, avr_asm_output_aligned_decl_common)
-	(avr_asm_asm_output_aligned_bss, avr_addr_space_convert): Dito.
-
-2016-12-01  Jakub Jelinek  <jakub@redhat.com>
-
-	PR debug/78587
-	* dwarf2out.c (loc_descr_plus_const): For negative offset use
-	uint_loc_descriptor instead of int_loc_descriptor and perform negation
-	in unsigned HOST_WIDE_INT type.
-	(scompare_loc_descriptor): Shift UINTVAL left instead of INTVAL.
-
-	PR target/78614
-	* config/rs6000/rs6000.c (rs6000_frame_related): Call
-	set_used_flags (pat) before any simplifications.  Clear used flag on
-	PARALLEL copy.  Don't guard add_reg_note call.  Call
-	copy_rtx_if_shared on pat before storing it into
-	REG_FRAME_RELATED_EXPR.
-
-2016-12-01  Alan Modra  <amodra@gmail.com>
-
-	* gcc/config/rs6000/rs6000.c (insn_is_swappable_p): Properly
-	look inside UNSPEC_VSX_XXSPLTW vec.
-
-2016-12-01  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/78607
-	* combine.c (try_combine): Emit a barrier after a unconditional trap.
-
-2016-11-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/78602
-	* config/rs6000/rs6000.c (rs6000_expand_vector_extract): If the
-	element is not a constant or in a register, force it to a
-	register.
-
-	PR target/78560
-	* config/rs6000/rs6000.c (rs6000_expand_vector_set): Force value
-	that will be set to a vector element to be in a register.
-	* config/rs6000/vsx.md (vsx_set_<mode>_p9): Fix thinko that used
-	the wrong multiplier to convert the element number to a byte
-	offset.
-
-2016-11-30  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR tree-optimization/77856
-	* lra-constraints.c (inherit_in_ebb): Check original regno for
-	invalid invariant regs too.  Set only clobbered hard regs for the
-	invalid invariant regs.
-
-2016-11-30  Pitchumani Sivanupandi  <pitchumani.sivanupandi@microchip.com>
-
-	Commit files forgotten in r242966.
-
-	* config/avr/avr-arch.h (avr_mcu_t) [flash_size]: New member.
-	* config/avr/avr-devices.c (avr_mcu_types): Add flash size info.
-	* config/avr/gen-avr-mmcu-specs.c (print_mcu): Remove hard-coded
-	prefix check to find wrap-around value, instead use MCU flash size.
-	For 8k flash devices, update link_pmem_wrap spec string to
-	add --pmem-wrap-around=8k.
-	* config/avr/specs.h (LINK_RELAX_SPEC): Move link_pmem_wrap from
-	here...
-	(LINK_SPEC): ...to here.
-
-2016-11-30  David Malcolm  <dmalcolm@redhat.com>
-
-	PR c/78498
-	* selftest.c (selftest::assert_strndup_eq): New function.
-	(selftest::test_strndup): New function.
-	(selftest::test_libiberty): New function.
-	(selftest::selftest_c_tests): Call test_libiberty.
-
-2016-11-30  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/78610
-	* ira.c (combine_and_move_insns): Don't substitute into TRAP_IF
-	instructions.
-
-2016-11-30  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/78574
-	* tree-ssa-loop-ivopts.c (find_deriving_biv_for_expr): Skip loop
-	header PHI that doesn't define biv.
-
-2016-11-30  Jakub Jelinek  <jakub@redhat.com>
-
-	* emit-rtl.c (verify_insn_sharing): Call verify_rtx_sharing instead of
-	reset_used_flags.
-
-	* config/i386/i386.c (dimode_scalar_chain::convert_op): Avoid
-	sharing the SUBREG rtx between move and following insn.
-
-	* ira.c (ira_update_equiv_info_by_shuffle_insn): Use copy_rtx
-	for REG_EQUIV argument.
-
-2016-11-30  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/t-rmprofile: Add mappings for Cortex-M23 and Cortex-M33.
-
-2016-11-30  Markus Trippelsdorf  <markus@trippelsdorf.de>
-
-	PR ipa/78555
-	* real.c (real_hash): Add cast to avoid left
-	shifting of negative values.
-
-2016-11-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/78362
-	* config/aarch64/aarch64.md (add<mode>3): Extract inner expression
-	from a subreg in operands[1] and don't call REGNO on a non-reg
-	expression when deciding to force operands[2] into a reg.
-
-2016-11-30  Claudiu Zissulescu  <claziss@synopsys.com>
-	    Andrew Burgess  <andrew.burgess@embecosm.com>
-
-	* config/arc/arc-protos.h (arc_store_addr_hazard_p): Declare.
-	* config/arc/arc.c (arc_store_addr_hazard_p): New function.
-	(workaround_arc_anomaly): Call arc_store_addr_hazard_p for ARC700.
-	* config/arc/arc700.md: Add define_bypass for store/load.
-
-2016-11-30  Martin Liska  <mliska@suse.cz>
-
-	* cgraph.c (symbol_table::initialize): Initialize
-	ipa_clones_dump_file.
-	(cgraph_node::remove): Report to ipa_clones_dump_file.
-	* cgraph.h: Add new argument (suffix) to cloning methods.
-	* cgraphclones.c (dump_callgraph_transformation): New function.
-	(cgraph_node::create_clone): New argument.
-	(cgraph_node::create_virtual_clone): Likewise.
-	(cgraph_node::create_version_clone): Likewise.
-	* dumpfile.c: Add .ipa-clones dump file.
-	* dumpfile.h (enum tree_dump_index): Add TDI_clones
-	* ipa-inline-transform.c (clone_inlined_nodes): Report operation
-	to dump_callgraph_transformation.
-
-2016-11-30  Martin Liska  <mliska@suse.cz>
-
-	PR sanitizer/78541
-	* asan.c (asan_expand_mark_ifn): Properly
-	select a VAR_DECL from FRAME.* component reference.
-
-2016-11-30  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/78583
-	* simplify-rtx.c (simplify_truncation): Add check missing from the
-	previous commit.
-
-2016-11-30  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/78590
-	* combine.c (change_zero_ext): Transform zero_extend of subregs only
-	if the subreg_reg is a scalar integer mode.
-
-2016-11-30  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/78586
-	* gimple-ssa-sprintf.c (format_integer): Use TYPE_MAX_VALUE or
-	TYPE_MIN_VALUE or build_all_ones_cst instead of folding LSHIFT_EXPR.
-	Don't build_int_cst min/max twice.  Formatting fix.
-
-2016-11-30  Markus Trippelsdorf  <markus@trippelsdorf.de>
-
-	PR rtl-optimization/78588
-	* combine.c (if_then_else_cond): Also guard against BLKmode.
-	* rtlanal.c (num_sign_bit_copies1): Add assert.
-
-2016-11-29  Jeff Law  <law@redhat.com>
-
-	* common/config/arc/arc-common.c (arc_handle_option): Remove unused
-	variables.
-
-	* lra-constraints.c (check_and_process_move): Constrain the
-	range of DCLASS and SCLASS to avoid false positive out of bounds
-	array index warning.
-
-2016-11-29  David Malcolm  <dmalcolm@redhat.com>
-
-	* doc/install.texi (--with-target-bdw-gc): Remove stray '@'.
-
-2016-11-29  David Malcolm  <dmalcolm@redhat.com>
-
-	PR preprocessor/78569
-	* input.c (get_substring_ranges_for_loc): Fail gracefully if
-	line directives were present.
-
-2016-11-30  Matthias Klose  <doko@ubuntu.com>
-
-	* doc/install.texi: Document configure options --enable-objc-gc
-	and --with-target-bdw-gc.
-
-2016-11-29  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/78594
-	* config/rs6000/rs6000.md (mov<mode>_internal, QHI iterator): Add
-	'x' to stxsi<wd>x print pattern, so that QImode and HImode values
-	residing in traditional altivec registers can be stored
-	correctly.
-
-2016-11-29  Max Filippov  <jcmvbkbc@gmail.com>
-
-	PR target/78603
-	* config/xtensa/xtensa.c (hwloop_optimize): Don't emit zero
-	overhead loop start between a call and its CALL_ARG_LOCATION
-	note.
-
-2016-11-29  Waldemar Brodkorb  <wbx@openadk.org>
-
-	* config/bfin/linux.h (CPP_SPEC): Define.
-
-2016-11-29  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/78512
-	* config/linux.h (TARGET_PRINTF_POINTER_FORMAT): Remove.
-	* config/rs6000/linux.h: Same.
-	* config/rs6000/linux64.h: Same.
-	* config/sol2.h: Same.
-	* config/sol2.c (solaris_printf_pointer_format): Remove.
-	* doc/tm.texi.in (TARGET_PRINTF_POINTER_FORMAT): Remove.
-	* doc/tm.texi: Regenerate.
-	* gimple-ssa-sprintf.c (format_pointer): Rempove.
-	(pass_sprintf_length::compute_format_length): Return bool.
-	(pass_sprintf_length::handle_gimple_call): Adjust.
-	* target.def (printf_pointer_format): Remove.
-	* targhooks.c (default_printf_pointer_format): Remove.
-	(linux_printf_pointer_format): Same.
-	* targhooks.h (default_printf_pointer_format): Remove.
-	(linux_printf_pointer_format, solaris_printf_pointer_format): Same.
-
-2016-11-29  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/sse.md (UNSPEC_MASKOP): Move from i386.md.
-	(mshift): Ditto.
-	(SWI1248_AVX512BWDQ): Ditto.
-	(SWI1248_AVX512BW): Ditto.
-	(k<any_logic:code><mode>): Ditto.
-	(kandn<mode>): Ditto.
-	(kxnor<mode>): Ditto.
-	(knot<mode>): Ditto.
-	(*k<any_lshift:code><mode>): Ditto.
-	(kortestzhi, kortestchi): Ditto.
-	(kunpckhi, kunpcksi, kunpckdi): Ditto.
-
-2016-11-29  Andrew Pinski  <apinski@cavium.com>
-
-	* tree-vrp.c (simplify_stmt_using_ranges): Use boolean_type_node
-	for the EQ_EXPR.
-
-2016-11-29  Chen Gang  <gang.chen.5i5j@gmail.com>
-
-	PR target/71331
-	* config/tilegx/tilegx.c (tilegx_function_profiler): Save r10
-	to stack before call mcount.
-	(tilegx_can_use_return_insn_p): Clean up code.
-
-2016-11-29  Pitchumani Sivanupandi <pitchumani.s@atmel.com>
-
-	* config/avr/avr-mcu.def: (avr_mcu_types): Add flash size info.
-
-2016-11-29  David Malcolm  <dmalcolm@redhat.com>
-
-	PR c++/72774
-	PR c++/72786
-	PR c++/77922
-	PR c++/78313
-	* spellcheck.c (selftest::test_find_closest_string): Verify that
-	we don't offer the goal string as a suggestion.
-	* spellcheck.h (best_match::get_best_meaningful_candidate): Don't
-	offer the goal string as a suggestion.
-
-
-2016-11-29  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (arc_override_options): Avoid selection of
-	compact casesi for ARCv2.
-
-2016-11-29  Richard Biener  <rguenther@suse.de>
-
-	* tree-cfg.c (lower_phi_internal_fn): Do not look for further
-	PHIs after a regular stmt.
-	(stmt_starts_bb_p): PHIs not preceeded by a PHI or a label
-	start a new BB.
-
-2016-11-29  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/78582
-	* tree-profile.c (gimple_gen_time_profiler): Make one extra BB
-	to prevent PHI argument clash.
-
-2016-11-29  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.opt (marclinux): Fix typo.
-	(marclinux_prof): Likewise.
-
-2016-11-29  Jiong Wang  <jiong.wang@arm.com>
-
-	* target.def (stack_protect_runtime_enabled_p): New.
-	* function.c (expand_function_end): Guard stack_protect_epilogue with
-	targetm.stack_protect_runtime_enabled_p.
-	* cfgexpand.c (pass_expand::execute): Likewise.
-	* calls.c (expand_call): Likewise.
-	* doc/tm.texi.in (TARGET_STACK_PROTECT_RUNTIME_ENABLED_P): Add it.
-	* doc/tm.texi: Regenerate.
-
-2016-11-29  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/78546
-	* match.pd: Add CST1 - (CST2 - A) -> CST3 + A missing case.
-
-2016-11-29  Janus Weil  <janus@gcc.gnu.org>
-
-	* doc/contrib.texi: Add a few missing gfortran contributors.
-
-2016-11-29  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* combine.c (change_zero_ext): Also handle extends from a subreg
-	to a mode bigger than that of the operand of the subreg.
-
-2016-11-29  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/77687
-	* config/rs6000/rs6000.c (rs6000_emit_stack_reset): Emit the
-	stack_restore_tie insn instead of stack_tie, for the SVR4 and
-	SPE ABIs.
-	* config/rs6000/rs6000.md (stack_restore_tie): New define_insn.
-
-2016-11-28  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* shrink-wrap.c (init_separate_shrink_wrap): Do not clear
-	head_components and tail_components.
-	(spread_components): New algorithm.
-	(emit_common_tails_for_components): Clear head_components and
-	tail_components.
-	(insert_prologue_epilogue_for_components): Write extra output to the
-	dump file for sibcalls and abnormal exits.
-
-2016-11-28  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/78342
-	* combine.c: Include "cfghooks.h".
-	(try_combine): If we create an unconditional trap, break the basic
-	block in two just after it, and remove the edge between; also, set
-	the *new_direct_jump_p flag so that cleanup_cfg is run.
-
-2016-11-28  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* simplify-rtx.c (simplify_truncation): Handle truncate of zero_extract
-	and sign_extract.
-
-2016-11-28  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*and<mode>_1): Merge insn pattern from
-	*andsi_1 and *andhi_1 using SWI24 mode iterator.  Use multi-line
-	output template string.
-	(*anddi_1): Use multi-line output template string.
-	(*andqi_1): Ditto.
-
-2016-11-28  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/78540
-	* rtl.h (remove_reg_equal_equiv_notes): Return bool instead of void.
-	* rtlanal.c (remove_reg_equal_equiv_notes): Return true if any
-	note has been removed.
-	* postreload.c (reload_combine_recognize_pattern): If
-	remove_reg_equal_equiv_notes returns true, call df_notes_rescan.
-
-2016-11-28  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/78520
-	* gimple-ssa-sprintf.c (target_max_value): Remove.
-	(target_int_max, target_size_max): Use TYPE_MAX_VALUE.
-	(get_width_and_precision): New function.
-	(format_integer, format_floating, get_string_length, format_string):
-	Correct handling of width and precision with unknown value.
-	(format_directive): Add warning.
-	(pass_sprintf_length::compute_format_length): Allow for precision
-	to consist of a sole period with no asterisk or digits after it.
-
-2016-11-28  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/78546
-	* simplify-rtx.c (neg_const_int): When negating most negative
-	number in mode wider than HOST_BITS_PER_WIDE_INT, use
-	simplify_const_unary_operation to produce CONST_DOUBLE or
-	CONST_WIDE_INT.
-	(simplify_plus_minus): Handle the case where neg_const_int
-	doesn't return a CONST_INT.
-
-2016-11-28  Markus Trippelsdorf  <markus@trippelsdorf.de>
-
-	PR target/78556
-	* config/rs6000/rs6000.c (vspltis_constant): Add casts to avoid
-	left shifting of negative values.
-
-2016-11-28  Jakub Jelinek  <jakub@redhat.com>
-
-	PR fortran/78298
-	* tree-nested.c (convert_local_reference_stmt): After adding
-	shared (FRAME.NN) clause to omp parallel, task or target,
-	add it also to all outer omp parallel, task or target constructs.
-
-2016-11-28  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (UNSPEC_KMASKOP): New.
-	(UNSPEC_KMOV): Remove.
-	(kmovw): Expand to plain HImode move.
-	(k<any_logic:code><mode>): Rename from *k<logic><mode>. Use
-	register_operand predicates.  Tag pattern with UNSPEC_KMASKOP.
-	Remove corresponding clobber-removing splitter.
-	(*anddi_1): Remove mask register alternatives.
-	(*andsi_1): Ditto.
-	(*andhi_1): Ditto.
-	(*andqi_1): Ditto.
-	(*<any_or:code><mode>_1): Ditto.
-	(*<any_or:code>qi_1): Ditto.
-	(kandn<mode>): Use SWI1248_AVX512BW mode iterator.  Remove
-	general register alternatives.  Tag pattern with UNSPEC_KMASKOP.
-	Remove corresponding splitter to operation with general registers.
-	(*andn<SWI38:mode>): Rename from *bmi_andn_<mode>.
-	(*andn<SWI12:mode>): New pattern.
-	(*kxnor<mode>): Remove general register alternatives.  Tag pattern
-	with UNSPEC_KMASKOP.  Remove corresponding splitter to operation
-	with general registers.
-	(knot<mode>): New insn pattern.
-	(*one_cmpl<mode>2_1): Remove mask register alternatives.
-	(one_cmplqi2_1): Ditto.
-	(*k<any_lshift:code><mode>): Rename from *k<mshift><mode>3.
-	Tag pattern with UNSPEC_KMASKOP. Add mode attribute.
-	* config/i386/predicates.md (mask_reg_operand): Remove predicate.
-	* config/i386/sse.md (vec_unpacks_hi_hi): Update pattern
-	to generate kmaskop shift.
-	(vec_unpacks_hi_<mode>): Ditto.
-	* config/i386/i386-builtin.def (__builtin_ia32_kandhi):
-	Use CODE_FOR_kandhi.
-	(__builtin_ia32_knothi): Use CODE_FOR_knothi.
-	(__builtin_ia32_korhi): Use CODE_FOR_kiorhi.
-	(__builtin_ia32_kxorhi): Use CODE_FOR_kxorhi.
-
-2016-11-28  Richard Biener  <rguenther@suse.de>
-
-	* tree-vrp.c (vrp_visit_assignment_or_call): Handle simplifications
-	to SSA names via extract_range_from_ssa_name if allowed.
-
-2016-11-28  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/78542
-	* tree-ssa-ccp.c (evaluate_stmt): Only valueize simplification
-	if allowed.
-
-2016-11-28  Paolo Bonzini  <bonzini@gnu.org>
-
-	* combine.c (simplify_if_then_else): Simplify IF_THEN_ELSE that
-	isolates a single bit, even if the condition involves subregs.
-
-2016-11-28  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/aarch64/aarch64-simd-builtins.def
-	(BSL_P): Added di and v2di mode.
-	* config/aarch64/arm_neon.h
-	(vsriq_n_p64, vsri_n_p64): Added poly type.
-	(vextq_p64, vext_p64): Likewise.
-	(vceq_p64, vbslq_p64, vbsl_p64): Likewise.
-
-2016-11-28  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/aarch64/aarch64-builtins.c (TYPES_SETREGP): Added poly type.
-	(TYPES_GETREGP): Likewise.
-	(TYPES_SHIFTINSERTP): Likewise.
-	(TYPES_COMBINEP): Likewise.
-	(TYPES_STORE1P): Likewise.
-	* config/aarch64/aarch64-simd-builtins.def
-	(combine): Added poly generator.
-	(get_dregoi): Likewise.
-	(get_dregci): Likewise.
-	(get_dregxi): Likewise.
-	(ssli_n): Likewise.
-	(ld1): Likewise.
-	(st1): Likewise.
-	* config/aarch64/arm_neon.h
-	(poly64x1x2_t, poly64x1x3_t): New.
-	(poly64x1x4_t, poly64x2x2_t): Likewise.
-	(poly64x2x3_t, poly64x2x4_t): Likewise.
-	(poly64x1_t): Likewise.
-	(vcreate_p64, vcombine_p64): Likewise.
-	(vdup_n_p64, vdupq_n_p64): Likewise.
-	(vld2_p64, vld2q_p64): Likewise.
-	(vld3_p64, vld3q_p64): Likewise.
-	(vld4_p64, vld4q_p64): Likewise.
-	(vld2_dup_p64, vld3_dup_p64): Likewise.
-	(vld4_dup_p64, vsli_n_p64): Likewise.
-	(vsliq_n_p64, vst1_p64): Likewise.
-	(vst1q_p64, vst2_p64): Likewise.
-	(vst3_p64, vst4_p64): Likewise.
-	(__aarch64_vdup_lane_p64, __aarch64_vdup_laneq_p64): Likewise.
-	(__aarch64_vdupq_lane_p64, __aarch64_vdupq_laneq_p64): Likewise.
-	(vget_lane_p64, vgetq_lane_p64): Likewise.
-	(vreinterpret_p8_p64, vreinterpretq_p8_p64): Likewise.
-	(vreinterpret_p16_p64, vreinterpretq_p16_p64): Likewise.
-	(vreinterpret_p64_f16, vreinterpret_p64_f64): Likewise.
-	(vreinterpret_p64_s8, vreinterpret_p64_s16): Likewise.
-	(vreinterpret_p64_s32, vreinterpret_p64_s64): Likewise.
-	(vreinterpret_p64_f32, vreinterpret_p64_u8): Likewise.
-	(vreinterpret_p64_u16, vreinterpret_p64_u32): Likewise.
-	(vreinterpret_p64_u64, vreinterpret_p64_p8): Likewise.
-	(vreinterpretq_p64_f64, vreinterpretq_p64_s8): Likewise.
-	(vreinterpretq_p64_s16, vreinterpretq_p64_s32): Likewise.
-	(vreinterpretq_p64_s64, vreinterpretq_p64_f16): Likewise.
-	(vreinterpretq_p64_f32, vreinterpretq_p64_u8): Likewise.
-	(vreinterpretq_p64_u16, vreinterpretq_p64_u32): Likewise.
-	(vreinterpretq_p64_u64, vreinterpretq_p64_p8): Likewise.
-	(vreinterpret_f16_p64, vreinterpretq_f16_p64): Likewise.
-	(vreinterpret_f32_p64, vreinterpretq_f32_p64): Likewise.
-	(vreinterpret_f64_p64, vreinterpretq_f64_p64): Likewise.
-	(vreinterpret_s64_p64, vreinterpretq_s64_p64): Likewise.
-	(vreinterpret_u64_p64, vreinterpretq_u64_p64): Likewise.
-	(vreinterpret_s8_p64, vreinterpretq_s8_p64): Likewise.
-	(vreinterpret_s16_p64, vreinterpret_s32_p64): Likewise.
-	(vreinterpretq_s32_p64, vreinterpret_u8_p64): Likewise.
-	(vreinterpret_u16_p64, vreinterpretq_u16_p64): Likewise.
-	(vreinterpret_u32_p64, vreinterpretq_u32_p64): Likewise.
-	(vset_lane_p64, vsetq_lane_p64): Likewise.
-	(vget_low_p64, vget_high_p64): Likewise.
-	(vcombine_p64, vst2_lane_p64): Likewise.
-	(vst3_lane_p64, vst4_lane_p64): Likewise.
-	(vst2q_lane_p64, vst3q_lane_p64): Likewise.
-	(vst4q_lane_p64, vget_lane_p64): Likewise.
-	(vget_laneq_p64, vset_lane_p64): Likewise.
-	(vset_laneq_p64, vcopy_lane_p64): Likewise.
-	(vcopy_laneq_p64, vdup_n_p64): Likewise.
-	(vdupq_n_p64, vdup_lane_p64): Likewise.
-	(vdup_laneq_p64, vld1_p64): Likewise.
-	(vld1q_p64, vld1_dup_p64): Likewise.
-	(vld1q_dup_p64, vld1q_dup_p64): Likewise.
-	(vmov_n_p64, vmovq_n_p64): Likewise.
-	(vst3q_p64, vst4q_p64): Likewise.
-	(vld1_lane_p64, vld1q_lane_p64): Likewise.
-	(vst1_lane_p64, vst1q_lane_p64): Likewise.
-	(vcopy_laneq_p64, vcopyq_laneq_p64): Likewise.
-	(vdupq_laneq_p64): Likewise.
-
-2016-11-28  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/arm/arm_neon.h (vget_lane_p64): New.
-
-2016-11-28  Iain Sandoe  <iain@codesourcery.com>
-
-	PR target/71767
-	* configure.ac (with_ld64): Use portable method to extract the
-	major part of the version number.
-	* configure: Regenerated.
-
-2016-11-28  Jakub Jelinek  <jakub@redhat.com>
-
-	* gimple-ssa-sprintf.c (build_intmax_type_nodes): Look at
-	UINTMAX_TYPE rather than SIZE_TYPE.  Add gcc_unreachable if
-	intmax_t couldn't be determined.
-	(format_integer): Make {,u}intmax_type_node no longer static,
-	initialize them only when needed.  For z and t use
-	signed_or_unsigned_type_for instead of assuming size_t and
-	ptrdiff_t have the same precision.
-
-	PR lto/78211
-	* ipa-icf.h (sem_item_optimizer): Add m_classes_vec member.
-	* ipa-icf.c (sem_item_optimizer::sem_item_optimizer): Initialize it.
-	(sem_item_optimizer::~sem_item_optimizer): Traverse m_classes_vec
-	vector instead of traversing m_classes hash table.  Release
-	m_classes_vec.
-	(sem_item_optimizer::read_section, sem_item_optimizer::add_class):
-	Formatting fixes.
-	(sem_item_optimizer::get_group_by_hash): When inserting a new group,
-	add it also to m_classes_vec vector.
-	(sem_item_optimizer::remove_symtab_node,
-	sem_item_optimizer::build_hash_based_classes,
-	sem_item_optimizer::parse_nonsingleton_classes): Formatting fixes.
-	(sem_item_optimizer::subdivide_classes_by_equality,
-	sem_item_optimizer::subdivide_classes_by_sensitive_refs,
-	sem_item_optimizer::verify_classes): Traverse m_classes_vec vector
-	instead of traversing m_classes hash table.  Formatting fixes.
-	(sem_item_optimizer::traverse_congruence_split,
-	sem_item_optimizer::do_congruence_step_for_index,
-	sem_item_optimizer::do_congruence_step): Formatting fixes.
-	(sem_item_optimizer::process_cong_reduction): Traverse m_classes_vec
-	vector instead of traversing m_classes hash table.
-	(sem_item_optimizer::dump_cong_classes): Likewise.  Formatting fixes.
-	(sem_item_optimizer::merge_classes): Traverse m_classes_vec vector
-	instead of traversing m_classes hash table.
-
-2016-11-28  Georg-Johann Lay  <avr@gjlay.de>
-
-	* config/avr/avr.c (out_movhi_r_mr) [REG_X + PLUS]: Only SBIW if
-	X is not unused after.
-
-2016-11-28  Bernd Schmidt  <bschmidt@redhat.com>
-
-	PR rtl-optimization/78120
-	* rtlanal.c (insn_rtx_cost): Revert previous change.
-
-2016-11-28  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR 41076
-	* config/avr/avr.md (SPLIT34): New mode iterator.
-	(bitop): New code iterator.
-	(*iorhi3.ashift8-*). New insn-and-split patterns.
-	(*movhi): Post-reload split reg = 0.
-	[!MOVW]: Post-reload split reg = reg.
-	(*mov<mode>) [SI,SF,PSI,SQ,USQ,SA,USA]: Post-reload split reg = reg.
-	(andhi3, andpsi3, andsi3): Post-reload split reg-reg operations.
-	(iorhi3, iorpsi3, iorsi3): Same.
-	(xorhi3, xorpsi3, xorsi3): Same.
-	* config/avr/avr.c (avr_rtx_costs_1) [IOR && HImode]: Adjust rtx
-	costs to *iorhi3.ashift8-* patterns.
-
-2016-11-27  Iain Sandoe  <iain@codesourcery.com>
-	    Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	PR target/67710
-	* config.in: Regenerate
-	* config/darwin-driver.c (darwin_driver_init): Emit a version string
-	for the assembler.
-	* config/darwin.h(ASM_MMACOSX_VERSION_MIN_SPEC): New, new tests.
-	* config/darwin.opt(asm_macosx_version_min): New.
-	* config/i386/darwin.h: Handle ASM_MMACOSX_VERSION_MIN_SPEC.
-	* configure: Regenerate
-	* configure.ac: Check for mmacosx-version-min handling.
-
-2016-11-27  Iain Sandoe  <iain@codesourcery.com>
-
-	PR target/57438
-	* config/i386/i386.c (ix86_code_end): Note that we emitted code
-	where the function might otherwise appear empty for picbase thunks.
-	(ix86_output_function_epilogue): If we find a zero-sized function
-	assume that reaching it is UB and trap.  If we find a trailing label
-	append a nop.
-	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): If we
-	find a zero-sized function assume that reaching it is UB and trap.
-	If we find a trailing label, append a nop.
-
-2016-11-27  Iain Sandoe  <iain@codesourcery.com>
-
-	PR target/71767
-	* config/darwin-sections.def (picbase_thunk_section): New.
-	* config/darwin.c (darwin_init_sections): Set up picbase thunk
-	section. (darwin_rodata_section, darwin_objc2_section,
-	machopic_select_section, darwin_asm_declare_constant_name,
-	darwin_emit_weak_or_comdat, darwin_function_section): Don’t use
-	coalesced with newer linkers.
-	(darwin_override_options): Decide on usage of coalesed sections
-	on the basis of the target linker version.
-	* config/darwin.h (MIN_LD64_NO_COAL_SECTS): New.
-	* config/darwin.opt  (mtarget-linker): New.
-	* config/i386/i386.c (ix86_code_end): Do not force the thunks into
-	a coalesced section, instead use a thunks section.
-
-2016-11-27  Iain Sandoe  <iain@codesourcery.com>
-
-	PR target/71767
-	* configure.ac (with-ld64): New var, set for Darwin, set on
-	detection of ld64, gcc_cv_ld64_export_dynamic: New, New test.
-	* config/darwin.h: Use LD64_HAS_DYNAMIC export. DEF_LD64: New, define.
-	* config/darwin10.h(DEF_LD64): Update for this target version.
-	* config/darwin12.h(LINK_GCC_C_SEQUENCE_SPEC): Remove rdynamic test.
-	(DEF_LD64): Update for this target version.
-	* configure: Regenerated.
-	* config.in: Regenerated.
-
-2016-11-27  Iain Sandoe  <iain@codesourcery.com>
-
-	PR target/71767
-	* config/darwin.c (imachopic_indirection_name): Make data
-	section indirections linker-visible.
-	* config/darwin.h (ASM_GENERATE_INTERNAL_LABEL): Make local
-	constant labels linker-visible.
-
-2016-11-26  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	* tree.c (build_common_tree_nodes): Initialize ptrdiff_type_node.
-	(free_lang_data): Remove assignment to ptrdiff_type_node.
-
-2016-11-25  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/78526
-	* simplify-rtx.c (simplify_immed_subreg): Don't use wi::extract_uhwi
-	beyond val's precision.
-
-	PR rtl-optimization/78527
-	* combine.c (make_compound_operation_int): Ignore LSHIFTRT with
-	out of bounds shift count.
-
-2016-11-25  Martin Liska  <mliska@suse.cz>
-
-	PR web/71666
-	* doc/invoke.texi (-fprofile-use): Fix reference to a section
-	where -fprofile-generate is documented.
-
-2016-11-25  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/78086
-	* coverage.c (build_init_ctor): Don't use priority {cd}tors if
-	not supported by a target.  Set priority to 100 if possible.
-	(build_gcov_exit_decl): Likewise.
-
-2016-11-25  Richard Biener  <rguenther@suse.de>
-
-	PR ipa/78515
-	* ipa-prop.c (compute_complex_assign_jump_func): Properly identify
-	unary, binary and single RHSs.
-	* tree.def (BIT_INSERT_EXPR): Adjust tree code name.
-
-2016-11-25  Bin Cheng  <bin.cheng@arm.com>
-
-	PR middle-end/78507
-	PR middle-end/78510
-	PR middle-end/78517
-	* match.pd ((cond (cmp (convert1? @1) @3) (convert2? @1) @2)): Use
-	cmp directly, rather than cmp_code.  Initialize code to ERROR_MARK
-	and set it to result code if transformation is valid.  Use code EQ
-	directly in last simplification case.
-
-2016-11-25  Richard Biener  <rguenther@suse.de>
-
-	* gimple-fold.c (fold_stmt_1): Check may_propagate_copy
-	before valueizing return stmts.
-
-2016-11-24  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/78343
-	* passes.def: Add CD-DCE pass after loop splitting.
-	* tree-ssa-dce.c (find_obviously_necessary_stmts): Move
-	SCEV init/finalize ...
-	(perform_tree_ssa_dce): ... here.  Deal with being
-	executed inside the loop pipeline in aggressive mode.
-
-2016-11-25  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* tree-ssa-math-opts.c (struct symbolic_number): Improve comment.
-
-2016-11-25  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	PR tree-optimization/77673
-	* tree-ssa-math-opts.c (struct symbolic_number): Add new src field.
-	(init_symbolic_number): Initialize src field from src parameter.
-	(perform_symbolic_merge): Select most dominated statement as the
-	source statement.  Set src field of resulting n structure from the
-	input src with the lowest address.
-	(find_bswap_or_nop): Rename source_stmt into ins_stmt.
-	(bswap_replace): Rename src_stmt into ins_stmt.  Initially get source
-	of load from src field rather than insertion statement.  Cancel
-	optimization if statement analyzed is not dominated by the insertion
-	statement.
-	(pass_optimize_bswap::execute): Rename src_stmt to ins_stmt.  Compute
-	dominance information.
-
-2016-11-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/67205
-	* config/mips/mips.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define.
-
-2016-11-25  Martin Jambor  <mjambor@suse.cz>
-
-	PR tree-optimization/70965
-	* passes.def (pass_build_ssa_passes): Add pass_rebuild_cgraph_edges.
-
-2016-11-24  James Greenahlgh  <james.greenhalgh@arm.com>
-
-	PR target/78509
-	* config/i386/i386.c (i386_excess_precision): Do not return
-	FLT_EVAL_METHOD_UNPREDICTABLE when "type" is
-	EXCESS_PRECISION_TYPE_STANDARD.
-	* target.def (excess_precision): Document that targets should
-	not return FLT_EVAL_METHOD_UNPREDICTABLE when "type" is
-	EXCESS_PRECISION_TYPE_STANDARD or EXCESS_PRECISION_TYPE_FAST.
-	Fix typo in first sentence.
-	* doc/tm.texi: Regenerate.
-
-2016-11-25  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/78396
-	* tree-vectorizer.c (vectorize_loops): When the if-converted
-	body contains masked loads or stores do not attempt to
-	basic-block-vectorize it.
-
-2016-11-25  Richard Sandiford  <richard.sandiford@arm.com>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* function.h (spill_slot_alignment): Declare.
-	* function.c (spill_slot_alignment): New function.
-	* lra-spills.c (slot): Add align and size fields.
-	(assign_mem_slot): Use them in the call to assign_stack_local.
-	(add_pseudo_to_slot): Update the fields.
-	(assign_stack_slot_num_and_sort_pseudos): Initialise the fields.
-
-2016-11-25  Richard Sandiford  <richard.sandiford@arm.com>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* stor-layout.c (layout_type): Allow the caller to set the mode of
-	a float type.  Only choose one here if the mode is still VOIDmode.
-	* tree.c (build_common_tree_nodes): Set the type mode of decimal
-	floats before calling layout_type.
-	* config/rs6000/rs6000.c (rs6000_init_builtins): Likewise.
-
-2016-11-25  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-tailcall.c (find_tail_calls): Allow calls to reference
-	local variables if all references are known to be direct.
-
-2016-11-25  Jakub Jelinek  <jakub@redhat.com>
-	    Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	PR middle-end/78501
-	* tree-vrp.c (extract_range_basic): Check for ptrdiff_type_node to be
-	non null and it's precision matches precision of lhs's type.
-
-2016-11-24  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/78476
-	* gimple-ssa-sprintf.c (struct pass_sprintf_length::call_info):
-	Add a member.
-	(handle_gimple_call): Adjust signature.
-	(try_substitute_return_value): Remove calls to bounded functions
-	with zero buffer size whose result is known.
-	(pass_sprintf_length::execute): Adjust call to handle_gimple_call.
-
-2016-11-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	* varasm.c (assemble_start_function): Wrap align_log definition in
-	ASM_OUTPUT_MAX_SKIP_ALIGN.
-
-2016-11-24  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (wide AND insn to QImode splitter): Use
-	explicit mode macros.
-	(wide OR insn to QImode splitter): Ditto.
-
-2016-11-24  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/77541
-	* lra-constraints.c (struct input_reload): Add field match_p.
-	(get_reload_reg): Check modes of input reloads to generate unique
-	value reload pseudo.
-	(match_reload): Add input reload pseudo for the current insn.
-
-2016-11-24  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Update
-	__FLT_EVAL_METHOD__ and __FLT_EVAL_METHOD_C99__ when we switch
-	architecture levels.
-	* config/aarch64/aarch64.c (aarch64_promoted_type): Only promote
-	the aarch64_fp16_type_node, not all HFmode types.
-	(aarch64_libgcc_floating_mode_supported_p): Support HFmode.
-	(aarch64_scalar_mode_supported_p): Likewise.
-	(aarch64_excess_precision): New.
-	(TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Define.
-	(TARGET_SCALAR_MODE_SUPPORTED_P): Likewise.
-	(TARGET_C_EXCESS_PRECISION): Likewise.
-
-2016-11-24  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/aarch64/aarch64-c.c (aarch64_scalar_mode_supported_p): New.
-	(TARGET_SCALAR_MODE_SUPPORTED_P): Define.
-
-2016-11-24  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/aarch64/aarch64.md (<optab>sihf2): Convert to expand.
-	(<optab>dihf2): Likewise.
-	(aarch64_fp16_<optab><mode>hf2): New.
-
-2016-11-24  Alexander Monakov  <amonakov@ispras.ru>
-
-	PR target/67822
-	* config/nvptx/mkoffload.c (main): Allow -fopenmp.
-
-2016-11-24  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* common/config/sparc/sparc-common.c (sparc_option_optimization_table):
-	Enable REE at -O2 and higher.
-	* config/sparc/sparc.c (sparc_option_override): Disable it by default
-	in 32-bit mode.
-
-2016-11-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/48863
-	PR inline-asm/70184
-	* tree-ssa-ter.c (temp_expr_table): Add reg_vars_cnt field.
-	(new_temp_expr_table): Initialise reg_vars_cnt.
-	(free_temp_expr_table): Release reg_vars_cnt.
-	(process_replaceable): Add reg_vars_cnt argument, set reg_vars_cnt
-	field of TAB.
-	(find_replaceable_in_bb): Use the above to record register variable
-	write occurrences and cancel replacement across them.
-
-2016-11-24  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR rtl-optimization/78437
-	* ree.c (get_uses): New function.
-	(combine_reaching_defs): When a copy is needed, return false if any
-	reaching use of the source register reads it in a mode larger than
-	the mode it is set in and WORD_REGISTER_OPERATIONS is true.
-
-2016-11-24  Martin Liska  <mliska@suse.cz>
-
-	* gimple-pretty-print.c (dump_edge_probability): New function.
-	(dump_gimple_switch): Dump label edge probabilities.
-	(dump_gimple_cond): Likewise.
-	(dump_gimple_label): Dump
-	(dump_gimple_bb_header): Dump basic block frequency.
-	(pp_cfg_jump): Replace e->dest argument with e.
-	(dump_implicit_edges): Likewise.
-	* tree-ssa-loop-ivopts.c (get_scaled_computation_cost_at):
-	Use gimple_bb (at) instead of at->bb.
-
-2016-11-24  Bernd Schmidt  <bschmidt@redhat.com>
-
-	* common.opt (flimit-function-alignment): New.
-	* doc/invoke.texi (-flimit-function-alignment): Document.
-	* emit-rtl.h (struct rtl_data): Add max_insn_address field.
-	* final.c (shorten_branches): Set it.
-	* varasm.c (assemble_start_function): Limit alignment if
-	requested.
-
-2016-11-24  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71595
-	* cfgloopmanip.h (remove_path): Add irred_invalidated and
-	loop_closed_ssa_invalidated parameters, defaulted to NULL.
-	* cfgloopmanip.c (remove_path): Likewise, pass them along to
-	called functions.  Only fix irred flags if the caller didn't
-	request state.
-	* tree-ssa-loop-ivcanon.c (unloop_loops): Use add_bb_to_loop.
-	(unloop_loops): Pass irred_invalidated and loop_closed_ssa_invalidated
-	to remove_path.
-
-2016-11-24  Bernd Schmidt  <bschmidt@redhat.com>
-
-	PR rtl-optimization/78120
-	* ifcvt.c (noce_conversion_profitable_p): Check original cost in all
-	cases, and additionally test against max_seq_cost for speed
-	optimization.
-	(noce_process_if_block): Compute an estimate for the original cost when
-	optimizing for speed, using the minimum of then and else block costs.
-
-	PR rtl-optimization/78120
-	* rtlanal.c (insn_rtx_cost): Use set_rtx_cost.
-
-	PR rtl-optimization/78120
-	* config/i386/i386.c (ix86_rtx_costs): Fully handle SETs.
-
-2016-11-24  Bin Cheng  <bin.cheng@arm.com>
-
-	* match.pd: Refine type conversion in result expr for below pattern:
-	(cond (cmp (convert1? x) c1) (convert2? x) c2) -> (minmax (x c)).
-
-2016-11-24  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR middle-end/78429
-	* tree.h (wi::fits_to_boolean_p): New predicate.
-	(wi::fits_to_tree_p): Use it for boolean types.
-	* tree.c (int_fits_type_p): Likewise.
-
-2016-11-24  Martin Liska  <mliska@suse.cz>
-
-	* print-tree.c (struct bucket): Remove.
-	(print_node): Add new argument which drives whether a tree node
-	is printed briefly or not.
-	(debug_tree): Replace a custom hash table with hash_set<T>.
-	* print-tree.h (print_node): Add the argument.
-
-2016-11-24  Chung-Lin Tang  <cltang@codesourcery.com>
-
-	* config/nios2/nios2.c (nios2_init_libfuncs): Add ATTRIBUTE_UNUSED.
-
-2016-11-23  Peter Bergner  <bergner@vnet.ibm.com>
-
-	PR target/78458
-	* config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Return MODE
-	if it is at least NREGS wide.
-
-2016-11-23  Joseph Myers  <joseph@codesourcery.com>
-
-	* config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p): For
-	TARGET_E500_DOUBLE. handle TDmode, TImode and PTImode the same as
-	TFmode, IFmode and KFmode.
-
-2016-11-23  Joseph Myers  <joseph@codesourcery.com>
-
-	* config/rs6000/spe.md (*frob_<SPE64:mode>_ti_8): New insn
-	pattern.
-
-2016-11-23  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* combine.c (change_zero_ext): Only change the mode of a hard register
-	destination if can_change_dest_mode holds for that.
-
-2016-11-23  Jeff Law  <law@redhat.com>
-
-	* varasm.c (assemble_name): Increase buffer size for name.
-
-	* config/spu/spu.md (floatunsdidf2): Remove unused local variable.
-
-2016-11-23  Jakub Kicinski  <jakub.kicinski@netronome.com>
-
-	* doc/extend.texi: Constify first argument to __builtin_object_size.
-
-2016-11-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* opth-gen.awk: Use unsigned shifts for bit masks.  Allow all bits
-	to be used.  Add brackets around macro argument.
-
-2016-11-23  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*<any_or:code>hi_1): Fix operand 2 constraints.
-
-2016-11-23  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/69278
-	* opts.c (parse_sanitizer_options): For -fsanitize=undefined,
-	restore enabling also SANITIZE_UNREACHABLE and SANITIZE_RETURN.
-
-2016-11-23  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/69183
-	* omp-low.c (build_outer_var_ref): Change lastprivate argument
-	to code, pass it recursively, adjust uses.  For OMP_CLAUSE_PRIVATE
-	on worksharing constructs, treat it like clauses on simd construct.
-	Formatting fix.
-	(lower_rec_input_clauses): For OMP_CLAUSE_PRIVATE_OUTER_REF pass
-	OMP_CLAUSE_PRIVATE as last argument to build_outer_var_ref.
-	(lower_lastprivate_clauses): Pass OMP_CLAUSE_LASTPRIVATE instead
-	of true as last argument to build_outer_var_ref.
-
-2016-11-23  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*movqi_internal): Calculate mode
-	attribute of alternatives 7,8,9 depending on TARGET_AVX512DQ.
-	<TYPE_MSKMOV>: Emit kmovw for MODE_HI insn mode attribute.
-	(*k<logic><mode>): Calculate mode attribute depending on
-	TARGET_AVX512DQ.  Emit k<logic>w for MODE_HI insn mode attribute.
-	(*andqi_1): Calculate mode attribute of alternative 3 depending
-	on TARGET_AVX512DQ.  Emit kandw for MODE_HI insn mode attribute.
-	(kandn<mode>): Calculate mode attribute of alternative 2 depending
-	on TARGET_AVX512DQ.  Emit kandnw for MODE_HI insn mode attribute.
-	(kxnor<mode>): Merge insn patterns using SWI1248_AVX512BW mode
-	iterator.  Calculate mode attribute of alternative 1 depending
-	on TARGET_AVX512DQ.  Emit kxnorw for MODE_HI insn mode attribute.
-	(*one_cmplqi2_1): Calculate mode attribute of alternative 2 depending
-	on TARGET_AVX512DQ.  Emit knotw for MODE_HI insn mode attribute.
-
-2016-11-23  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	PR middle-end/78153
-	* gimple-fold.c (fold_stmt_1): Handle case for GIMPLE_RETURN.
-	* tree-vrp.c (extract_range_basic): Handle case for
-	CFN_BUILT_IN_STRLEN.
-
-2016-11-23  Jeff Law  <law@redhat.com>
-
-	* config/mcore/mcore.c (emit_new_cond_insn): Fix prototype.
-
-	* config/iq2000/iq2000.c (iq2000_rtx_costs): Avoid multiplication
-	in boolean context warning.
-
-	* config/ia64/ia64.c (ia64_emit_insn_before): Fix prototype.
-
-2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	PR target/63250
-	* config/arm/arm-builtins.c (arm_simd_floatHF_type_node): Rename to...
-	(arm_fp16_type_node): ...This, make visibile.
-	(arm_simd_builtin_std_type): Rename arm_simd_floatHF_type_node to
-	arm_fp16_type_node.
-	(arm_init_simd_builtin_types): Likewise.
-	(arm_init_fp16_builtins): Likewise.
-	* config/arm/arm.c (arm_excess_precision): New.
-	(arm_floatn_mode): Likewise.
-	(TARGET_C_EXCESS_PRECISION): Likewise.
-	(TARGET_FLOATN_MODE): Likewise.
-	(arm_promoted_type): Only promote arm_fp16_type_node.
-	* config/arm/arm.h (arm_fp16_type_node): Declare.
-
-2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/arm/arm.c (arm_convert_to_type): Delete.
-	(TARGET_CONVERT_TO_TYPE): Delete.
-	(arm_init_libfuncs): Enable trunc_optab from DFmode to HFmode.
-	(arm_libcall_uses_aapcs_base): Add trunc_optab from DF- to HFmode.
-	* config/arm/arm.h (TARGET_FP16_TO_DOUBLE): New.
-	* config/arm/arm.md (truncdfhf2): Only convert through SFmode if we
-	are in fast math mode, and have no single step hardware instruction.
-	(extendhfdf2): Only expand through SFmode if we don't have a
-	single-step hardware instruction.
-	* config/arm/vfp.md (*truncdfhf2): New.
-	(extendhfdf2): Likewise.
-
-2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* targhooks.c (default_floatn_mode): Enable _Float16 if a target
-	provides HFmode.
-
-2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/s390/s390.h (TARGET_FLT_EVAL_METHOD): Delete.
-	* config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): Delete.
-	* config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Delete.
-	* defaults.h (TARGET_FLT_EVAL_METHOD): Delete.
-	* doc/tm.texi.in (TARGET_FLT_EVAL_METHOD): Delete.
-	* doc/tm.texi: Regenerate.
-	* system.h (TARGET_FLT_EVAL_METHOD): Poison.
-
-2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* toplev.c (init_excess_precision): Delete most logic.
-	* tree.c (excess_precision_type): Rewrite to use
-	TARGET_EXCESS_PRECISION.
-	* doc/invoke.texi (-fexcess-precision): Document behaviour in a
-	more generic fashion.
-	* ginclude/float.h: Wrap definition of FLT_EVAL_METHOD in
-	__STDC_WANT_IEC_60559_TYPES_EXT__.
-
-2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* common.opt (fpermitted-flt-eval-methods): New.
-	* doc/invoke.texi (-fpermitted-flt-eval-methods): Document it.
-	* flag_types.h (permitted_flt_eval_methods): New.
-
-2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/m68k/m68k.c (m68k_excess_precision): New.
-	(TARGET_C_EXCESS_PRECISION): Define.
-
-2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/s390/s390.c (s390_excess_precision): New.
-	(TARGET_C_EXCESS_PRECISION): Define.
-
-2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/i386/i386.c (ix86_excess_precision): New.
-	(TARGET_C_EXCESS_PRECISION): Define.
-
-2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* target.def (excess_precision): New hook.
-	* target.h (flt_eval_method): New.
-	(excess_precision_type): Likewise.
-	* targhooks.c (default_excess_precision): New.
-	* targhooks.h (default_excess_precision): New.
-	* doc/tm.texi.in (TARGET_C_EXCESS_PRECISION): New.
-	* doc/tm.texi: Regenerate.
-
-2016-11-23  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/78461
-	* gimple-ssa-sprintf.c (format_string): Correct the maxima and
-	set the minimum number of bytes for an unknown string to zero.
-
-2016-11-23  Martin Jambor  <mjambor@suse.cz>
-	    Martin Liska  <mliska@suse.cz>
-
-	* hsa-builtins.def: New file.
-	* Makefile.in (BUILTINS_DEF): Add hsa-builtins.def dependency.
-	* builtins.def: Include hsa-builtins.def.
-	(DEF_HSA_BUILTIN): New macro.
-	* dumpfile.h (OPTGROUP_OPENMP): Define.
-	* dumpfile.c (optgroup_options): Added OPTGROUP_OPENMP.
-	* gimple.h (gf_mask): Added elements GF_OMP_FOR_GRID_INTRA_GROUP and
-	GF_OMP_FOR_GRID_GROUP_ITER.
-	(gimple_omp_for_grid_phony): Added checking assert.
-	(gimple_omp_for_set_grid_phony): Likewise.
-	(gimple_omp_for_grid_intra_group): New function.
-	(gimple_omp_for_set_grid_intra_group): Likewise.
-	(gimple_omp_for_grid_group_iter): Likewise.
-	(gimple_omp_for_set_grid_group_iter): Likewise.
-	* omp-low.c (check_omp_nesting_restrictions): Allow GRID loop where
-	previosuly only distribute loop was permitted.
-	(lower_lastprivate_clauses): Allow non tcc_comparison predicates.
-	(grid_get_kernel_launch_attributes): Support multiple HSA grid
-	dimensions.
-	(grid_expand_omp_for_loop): Likewise and also support standalone
-	distribute constructs.  New parameter INTRA_GROUP, updated both users.
-	(grid_expand_target_grid_body): Support standalone distribute
-	constructs.
-	(pass_data_expand_omp): Changed optinfo_flags to OPTGROUP_OPENMP.
-	(pass_data_expand_omp_ssa): Likewise.
-	(pass_data_omp_device_lower): Likewsie.
-	(pass_data_lower_omp): Likewise.
-	(pass_data_diagnose_omp_blocks): Likewise.
-	(pass_data_oacc_device_lower): Likewise.
-	(pass_data_omp_target_link): Likewise.
-	(grid_lastprivate_predicate): New function.
-	(lower_omp_for_lastprivate): Call grid_lastprivate_predicate for
-	gridified loops.
-	(lower_omp_for): Support standalone distribute constructs.
-	(grid_prop): New type.
-	(grid_safe_assignment_p): Check for assignments to group_sizes, new
-	parameter GRID.
-	(grid_seq_only_contains_local_assignments): New parameter GRID, pass
-	it to callee.
-	(grid_find_single_omp_among_assignments_1): Likewise, improve missed
-	optimization info messages.
-	(grid_find_single_omp_among_assignments): Likewise.
-	(grid_find_ungridifiable_statement): Do not bail out for SIMDs.
-	(grid_parallel_clauses_gridifiable): New function.
-	(grid_inner_loop_gridifiable_p): Likewise.
-	(grid_dist_follows_simple_pattern): Likewise.
-	(grid_gfor_follows_tiling_pattern): Likewise.
-	(grid_call_permissible_in_distribute_p): Likewise.
-	(grid_handle_call_in_distribute): Likewise.
-	(grid_dist_follows_tiling_pattern): Likewise.
-	(grid_target_follows_gridifiable_pattern): Support standalone
-	distribute constructs.
-	(grid_var_segment): New enum.
-	(grid_mark_variable_segment): New function.
-	(grid_copy_leading_local_assignments): Call grid_mark_variable_segment
-	if a new argument says so.
-	(grid_process_grid_body): New function.
-	(grid_eliminate_combined_simd_part): Likewise.
-	(grid_mark_tiling_loops): Likewise.
-	(grid_mark_tiling_parallels_and_loops): Likewise.
-	(grid_process_kernel_body_copy): Support standalone distribute
-	constructs.
-	(grid_attempt_target_gridification): New grid variable holding overall
-	gridification state.  Support standalone distribute constructs and
-	collapse clauses.
-	* doc/optinfo.texi (Optimization groups): Document OPTGROUP_OPENMP.
-	* hsa.h (hsa_bb): Add method method append_phi.
-	(hsa_insn_br): Renamed to hsa_insn_cbr, renamed all
-	occurences in all files too.
-	(hsa_insn_br): New class, now the ancestor of hsa_incn_cbr.
-	(is_a_helper <hsa_insn_br *>::test): New function.
-	(is_a_helper <hsa_insn_cbr *>::test): Adjust to only cover conditional
-	branch instructions.
-	(hsa_insn_signal): Make a direct descendant of
-	hsa_insn_basic.  Add memorder constructor parameter and
-	m_memory_order and m_signalop member variables.
-	(hsa_insn_queue): Changed constructor parameters to common form.
-	Added m_segment and m_memory_order member variables.
-	(hsa_summary_t): Add private member function
-	process_gpu_implementation_attributes.
-	(hsa_function_summary): Rename m_binded_function to
-	m_bound_function.
-	(hsa_insn_basic_p): Remove typedef.
-	(hsa_op_with_type): Change hsa_insn_basic_p into plain pointers.
-	(hsa_op_reg_p): Remove typedef.
-	(hsa_function_representation): Change hsa_op_reg_p into plain
-	pointers.
-	(hsa_insn_phi): Removed new and delete operators.
-	(hsa_insn_br): Likewise.
-	(hsa_insn_cbr): Likewise.
-	(hsa_insn_sbr): Likewise.
-	(hsa_insn_cmp): Likewise.
-	(hsa_insn_mem): Likewise.
-	(hsa_insn_atomic): Likewise.
-	(hsa_insn_signal): Likewise.
-	(hsa_insn_seg): Likewise.
-	(hsa_insn_call): Likewise.
-	(hsa_insn_arg_block): Likewise.
-	(hsa_insn_comment): Likewise.
-	(hsa_insn_srctype): Likewise.
-	(hsa_insn_packed): Likewise.
-	(hsa_insn_cvt): Likewise.
-	(hsa_insn_alloca): Likewise.
-	* hsa.c (hsa_destroy_insn): Also handle instances of hsa_insn_br.
-	(process_gpu_implementation_attributes): New function.
-	(link_functions): Move some functionality into it.  Adjust after
-	renaming m_binded_functions to m_bound_functions.
-	(hsa_insn_basic::op_output_p): Add BRIG_OPCODE_DEBUGTRAP
-	to the list of instructions with no output registers.
-	(get_in_type): Return this if it is a register of
-	matching size.
-	(hsa_get_declaration_name): Moved to...
-	* hsa-gen.c (hsa_get_declaration_name): ...here.  Allocate
-	temporary string on an obstack instead from ggc.
-	(query_hsa_grid): Renamed to query_hsa_grid_dim, reimplemented, cut
-	down to two overloads.
-	(hsa_allocp_operand_address): Removed.
-	(hsa_allocp_operand_immed): Likewise.
-	(hsa_allocp_operand_reg): Likewise.
-	(hsa_allocp_operand_code_list): Likewise.
-	(hsa_allocp_operand_operand_list): Likewise.
-	(hsa_allocp_inst_basic): Likewise.
-	(hsa_allocp_inst_phi): Likewise.
-	(hsa_allocp_inst_mem): Likewise.
-	(hsa_allocp_inst_atomic): Likewise.
-	(hsa_allocp_inst_signal): Likewise.
-	(hsa_allocp_inst_seg): Likewise.
-	(hsa_allocp_inst_cmp): Likewise.
-	(hsa_allocp_inst_br): Likewise.
-	(hsa_allocp_inst_sbr): Likewise.
-	(hsa_allocp_inst_call): Likewise.
-	(hsa_allocp_inst_arg_block): Likewise.
-	(hsa_allocp_inst_comment): Likewise.
-	(hsa_allocp_inst_queue): Likewise.
-	(hsa_allocp_inst_srctype): Likewise.
-	(hsa_allocp_inst_packed): Likewise.
-	(hsa_allocp_inst_cvt): Likewise.
-	(hsa_allocp_inst_alloca): Likewise.
-	(hsa_allocp_bb): Likewise.
-	(hsa_obstack): New.
-	(hsa_init_data_for_cfun): Initialize obstack.
-	(hsa_deinit_data_for_cfun): Release memory of the obstack.
-	(hsa_op_immed::operator new): Use obstack instead of object_allocator.
-	(hsa_op_reg::operator new): Likewise.
-	(hsa_op_address::operator new): Likewise.
-	(hsa_op_code_list::operator new): Likewise.
-	(hsa_op_operand_list::operator new): Likewise.
-	(hsa_insn_basic::operator new): Likewise.
-	(hsa_insn_phi::operator new): Likewise.
-	(hsa_insn_br::operator new): Likewise.
-	(hsa_insn_sbr::operator new): Likewise.
-	(hsa_insn_cmp::operator new): Likewise.
-	(hsa_insn_mem::operator new): Likewise.
-	(hsa_insn_atomic::operator new): Likewise.
-	(hsa_insn_signal::operator new): Likewise.
-	(hsa_insn_seg::operator new): Likewise.
-	(hsa_insn_call::operator new): Likewise.
-	(hsa_insn_arg_block::operator new): Likewise.
-	(hsa_insn_comment::operator new): Likewise.
-	(hsa_insn_srctype::operator new): Likewise.
-	(hsa_insn_packed::operator new): Likewise.
-	(hsa_insn_cvt::operator new): Likewise.
-	(hsa_insn_alloca::operator new): Likewise.
-	(hsa_init_new_bb): Likewise.
-	(hsa_bb::append_phi): New function.
-	(gen_hsa_phi_from_gimple_phi): Use it.
-	(get_symbol_for_decl): Fix dinstinguishing between
-	global and local functions.  Put local variables into a segment
-	according to their attribute or static flag, if there is one.
-	(hsa_insn_br::hsa_insn_br): New.
-	(hsa_insn_br::operator new): Likewise.
-	(hsa_insn_cbr::hsa_insn_cbr): Set width via ancestor constructor.
-	(query_hsa_grid_nodim): New function.
-	(multiply_grid_dim_characteristics): Likewise.
-	(gen_get_num_threads): Likewise.
-	(gen_get_num_teams): Reimplemented.
-	(gen_get_team_num): Likewise.
-	(gen_hsa_insns_for_known_library_call): Updated calls to the above
-	helper functions.
-	(get_memory_order_name): Removed.
-	(get_memory_order): Likewise.
-	(hsa_memorder_from_tree): New function.
-	(gen_hsa_ternary_atomic_for_builtin): Renamed to
-	gen_hsa_atomic_for_builtin, can also create signals.
-	(gen_hsa_insns_for_call): Handle many new builtins.  Adjust to use
-	hsa_memory_order_from_tree and gen_hsa_atomic_for_builtin.
-	(hsa_insn_atomic): Fix function comment.
-	(hsa_insn_signal::hsa_insn_signal): Fix comment.  Update call to
-	ancestor constructor and initialization of new member variables.
-	(hsa_insn_queue::hsa_insn_queue): Added initialization of new
-	member variables.
-	(hsa_get_host_function): Handle functions with no bound CPU
-	implementation.  Fix binded to bound.
-	(get_brig_function_name): Likewise.
-	(HSA_SORRY_ATV): Remove semicolon after macro.
-	(HSA_SORRY_AT): Likewise.
-	(omp_simple_builtin::generate): Add missing semicolons.
-	(hsa_insn_phi::operator new): Removed.
-	(hsa_insn_br::operator new): Likewise.
-	(hsa_insn_cbr::operator new): Likewise.
-	(hsa_insn_sbr::operator new): Likewise.
-	(hsa_insn_cmp::operator new): Likewise.
-	(hsa_insn_mem::operator new): Likewise.
-	(hsa_insn_atomic::operator new): Likewise.
-	(hsa_insn_signal::operator new): Likewise.
-	(hsa_insn_seg::operator new): Likewise.
-	(hsa_insn_call::operator new): Likewise.
-	(hsa_insn_arg_block::operator new): Likewise.
-	(hsa_insn_comment::operator new): Likewise.
-	(hsa_insn_srctype::operator new): Likewise.
-	(hsa_insn_packed::operator new): Likewise.
-	(hsa_insn_cvt::operator new): Likewise.
-	(hsa_insn_alloca::operator new): Likewise.
-	(get_symbol_for_decl): Accept CONST_DECLs, put them to
-	readonly segment.
-	(gen_hsa_addr): Also process CONST_DECLs.
-	(gen_hsa_addr_insns): Process CONST_DECLs by creating private
-	copies.
-	(gen_hsa_unary_operation): Make sure the function does
-	not use bittype source type for firstbit and lastbit operations.
-	(gen_hsa_popcount_to_dest): Make sure the function uses a bittype
-	source type.
-	* hsa-brig.c (emit_insn_operands): Cope with zero operands in an
-	instruction.
-	(emit_branch_insn): Renamed to emit_cond_branch_insn.
-	Emit the width stored in the class.
-	(emit_generic_branch_insn): New function.
-	(emit_insn): Call emit_generic_branch_insn.
-	(emit_signal_insn): Remove obsolete comment.  Update
-	member variable name, pick a type according to profile.
-	(emit_alloca_insn): Remove obsolete comment.
-	(emit_atomic_insn): Likewise.
-	(emit_queue_insn): Get segment and memory order from the IR object.
-	(hsa_brig_section): Make allocate_new_chunk, chunks
-	and cur_chunk provate, add a default NULL parameter to add method.
-	(hsa_brig_section::add): Added a new parameter, store pointer to
-	output data there if it is non-NULL.
-	(emit_function_directives): Use this new parameter instead of
-	calculating the pointer itself, fix function comment.
-	(hsa_brig_emit_function): Add forgotten endian conversion.
-	(hsa_output_kernels): Remove unnecessary building of
-	kernel_dependencies_vector_type.
-	(emit_immediate_operand): Declare.
-	(emit_directive_variable): Also emit initializers of CONST_DECLs.
-	(gen_hsa_insn_for_internal_fn_call): Also handle IFN_RSQRT.
-	(verify_function_arguments): Properly detect variadic
-	arguments.
-	* hsa-dump.c (hsa_width_specifier_name): New function.
-	(dump_hsa_insn_1): Dump generic branch instructions, update signal
-	member variable name.  Special dumping for queue objects.
-	* ipa-hsa.c (process_hsa_functions): Adjust after renaming
-	m_binded_functions to m_bound_functions.  Copy externally visible flag
-	to the node.
-	(ipa_hsa_write_summary): Likewise.
-	(ipa_hsa_read_section): Likewise.
-
-2016-11-23  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/78396
-	* tree-vectorizer.c (vectorize_loops): If an innermost loop didn't
-	vectorize try vectorizing an if-converted body using BB vectorization.
-
-2016-11-23  Richard Sandiford  <richard.sandiford@arm.com>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* rtlanal.c (subreg_get_info): Use more local variables.
-	Remark that for HARD_REGNO_NREGS_HAS_PADDING, each scalar unit
-	occupies at least one register.  Assume that full hard registers
-	have consistent endianness.  Share previously-duplicated if block.
-	Rework the main handling so that it operates on independently-
-	addressable YMODE-sized blocks.  Use subreg_size_lowpart_offset
-	to check lowpart offsets, without trying to find an equivalent
-	integer mode first.  Handle WORDS_BIG_ENDIAN != REG_WORDS_BIG_ENDIAN
-	as a final register-endianness correction.
-
-2016-11-23  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/77881
-	PR bootstrap/78390
-	PR target/78438
-	PR bootstrap/78477
-	* combine.c (make_compound_operation_int): Do not convert a subreg of
-	a non-constant logical shift right to a zero_extract.  Handle the case
-	where some zero bits have been shifted into the range covered by that
-	subreg.
-
-2016-11-23  Richard Sandiford  <richard.sandiford@arm.com>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* rtl.h (subreg_size_offset_from_lsb): Declare.
-	(subreg_offset_from_lsb): New function.
-	(subreg_size_lowpart_offset): Declare.
-	(subreg_lowpart_offset): Turn into an inline function.
-	(subreg_size_highpart_offset): Declare.
-	(subreg_highpart_offset): Turn into an inline function.
-	* emit-rtl.c (subreg_size_lowpart_offset): New function.
-	(subreg_size_highpart_offset): Likewise
-	* rtlanal.c (subreg_size_offset_from_lsb): Likewise.
-
-2016-11-23  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/78482
-	* tree-cfgcleanup.c: Include tree-ssa-loop-niter.h.
-	(remove_forwarder_block_with_phi): When merging with a loop
-	header creates a new latch reset number of iteration information
-	of the loop.
-
-2016-11-23  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/sparc/sparc.md (*ashrsi3_extend): Rename to...
-	(*ashrsi3_extend0): ...this.  Accept constant integers.
-	(*ashrsi3_extend2): Rename to...
-	(*ashrsi3_extend1): ...this.
-	(*ashrsi3_extend2): New pattern.
-	(*lshrsi3_extend1): Accept constant integers.
-	(*lshrsi3_extend2): Fix condition on operand 2.
-
-2016-11-23  Martin Liska  <mliska@suse.cz>
-
-	* config/i386/i386.c: Initialize function pointer to NULL.
-
-2016-11-23  Bin Cheng  <bin.cheng@arm.com>
-
-	* fold-const.c (fold_cond_expr_with_comparison): Move simplification
-	for A == C1 ? A : C2 to below.
-	* match.pd: Move from above to here:
-	(cond (eq (convert1? x) c1) (convert2? x) c2)
-	  -> (cond (eq x c1) c1 c2).
-
-2016-11-23  Bin Cheng  <bin.cheng@arm.com>
-
-	* fold-const.c (fold_cond_expr_with_comparison): Move simplification
-	for A cmp C1 ? A : C2 to below, also simplify remaining code.
-	* match.pd: Move and extend simplification from above to here:
-	(cond (cmp (convert1? x) c1) (convert2? x) c2) -> (minmax (x c)).
-	* tree-if-conv.c (ifcvt_follow_ssa_use_edges): New func.
-	(predicate_scalar_phi): Call fold_stmt using the new valueize func.
-
-2016-11-23  Martin Liska  <mliska@suse.cz>
-	    Martin Jambor  <mjambor@suse.cz>
-
-	* doc/install.texi: Remove entry about --with-hsa-kmt-lib.
-
-2016-11-23  Aldy Hernandez  <aldyh@redhat.com>
-
-	PR target/78213
-	* opts.c (finish_options): Set -fsyntax-only if running self tests.
-
-2016-11-23  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/71762
-	* match.pd ((~X & Y) -> X < Y, (X & ~Y) -> Y < X,
-	(~X | Y) -> X <= Y, (X | ~Y) -> Y <= X): Remove.
-
-2016-11-23  Richard Biener  <rguenther@suse.de>
-
-	PR lto/78472
-	* tree.c (gimple_canonical_types_compatible_p): Ignore zero-sized
-	fields.
-
-2016-11-23  Richard Biener  <rguenther@suse.de>
-	    Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.rog>
-
-	PR tree-optimization/78154
-	* tree-vrp.c (gimple_stmt_nonzero_warnv_p): Return true if function
-	returns it's argument and the argument is nonnull.
-	* builtin-attrs.def: Define ATTR_RETURNS_NONNULL,
-	ATT_RETNONNULL_NOTHROW_LEAF.
-	* builtins.def (BUILT_IN_MEMPCPY): Change attribute to
-	ATTR_RETNONNULL_NOTHROW_LEAF.
-	(BUILT_IN_STPCPY): Likewise.
-	(BUILT_IN_STPNCPY): Likewise.
-	(BUILT_IN_MEMPCPY_CHK): Likewise.
-	(BUILT_IN_STPCPY_CHK): Likewise.
-	(BUILT_IN_STPNCPY_CHK): Likewise.
-	(BUILT_IN_STRCAT): Change attribute to ATTR_RET1_NOTHROW_NONNULL_LEAF.
-	(BUILT_IN_STRNCAT): Likewise.
-	(BUILT_IN_STRNCPY): Likewise.
-	(BUILT_IN_MEMSET_CHK): Likewise.
-	(BUILT_IN_STRCAT_CHK): Likewise.
-	(BUILT_IN_STRCPY_CHK): Likewise.
-	(BUILT_IN_STRNCAT_CHK): Likewise.
-	(BUILT_IN_STRNCPY_CHK): Likewise.
-
-2016-11-23  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
-
-	* fold-const.c (tree_expr_nonzero_p) : Make non-static.
-	* fold-const.h (tree_expr_nonzero_p) : Declare.
-	* match.pd (cmp (mult:c @0 @1) (mult:c @2 @1) : New Pattern.
-
-2016-11-23  Paolo Bonzini  <bonzini@gnu.org>
-
-	* system.h (HAVE_DESIGNATED_INITIALIZERS,
-	HAVE_DESIGNATED_UNION_INITIALIZERS): Do not use
-	"defined" in macros.
-	* doc/cpp.texi (Defined): Mention -Wexpansion-to-defined.
-	* doc/cppopts.texi (Invocation): Document -Wexpansion-to-defined.
-	* doc/invoke.texi (Warning Options): Document -Wexpansion-to-defined.
-
-2016-11-23  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR target/60300
-	* config/avr/constraints.md (Csp): Widen range to [-11..6].
-	* config/avr/avr.c (avr_prologue_setup_frame): Limit number
-	of RCALLs in prologue to 3.
-
-2016-11-22  Michael Collison  <michael.collison@arm.com>
-
-	* config/aarch64/aarch64-protos.h
-	(aarch64_and_split_imm1, aarch64_and_split_imm2)
-	(aarch64_and_bitmask_imm): New prototypes
-	* config/aarch64/aarch64.c (aarch64_and_split_imm1):
-	New overloaded function to create bit mask covering the
-	lowest to highest bits set.
-	(aarch64_and_split_imm2): New overloaded functions to create bit
-	mask of zeros between first and last bit set.
-	(aarch64_and_bitmask_imm): New function to determine if a integer
-	is a valid two instruction "and" operation.
-	* config/aarch64/aarch64.md:(and<mode>3): New define_insn and _split
-	allowing wider range of constants with "and" operations.
-	* (ior<mode>3, xor<mode>3): Use new LOGICAL2 iterator to prevent
-	"and" operator from matching restricted constant range used for
-	ior and xor operators.
-	* config/aarch64/constraints.md (UsO constraint): New SImode constraint
-	for constants in "and" operantions.
-	(UsP constraint): New DImode constraint for constants
-	in "and" operations.
-	* config/aarch64/iterators.md (lconst2): New mode iterator.
-	(LOGICAL2): New code iterator.
-	* config/aarch64/predicates.md (aarch64_logical_and_immediate): New
-	predicate.
-	(aarch64_logical_and_operand): New predicate allowing extended
-	constants for "and" operations.
-
-2016-11-22  Walter Lee  <walt@tilera.com>
-
-	* config/tilegx/tilegx.md (trap): New pattern.
-	* config/tilepro/tilepro.md (trap): Likewise.
-
-2016-11-22  Walter Lee  <walt@tilera.com>
-
-	* config/tilegx/tilegx.md (*zero_extract): Use
-	define_insn_and_split instead of define_insn; Handle pos + size >
-	64.
-	(*sign_extract): Likewise.
-
-2016-11-22  Marek Polacek  <polacek@redhat.com>
-
-	PR tree-optimization/78455
-	* tree-ssa-uninit.c (can_chain_union_be_invalidated_p): Fix typo.
-
-2016-11-22  Ian Lance Taylor  <iant@golang.org>
-
-	PR go/78431
-	PR go/78432
-	* godump.c (go_format_type): Always pass alignment as 1 when
-	calling go_append_padding at end of struct/union.
-
-2016-11-22  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/78451
-	* config/i386/avx512bwintrin.h (_mm512_setzero_qi,
-	_mm512_setzero_hi): Removed.
-	(_mm512_maskz_mov_epi16, _mm512_maskz_loadu_epi16,
-	_mm512_maskz_mov_epi8, _mm512_maskz_loadu_epi8,
-	_mm512_maskz_broadcastb_epi8, _mm512_maskz_set1_epi8,
-	_mm512_maskz_broadcastw_epi16, _mm512_maskz_set1_epi16,
-	_mm512_mulhrs_epi16, _mm512_maskz_mulhrs_epi16, _mm512_mulhi_epi16,
-	_mm512_maskz_mulhi_epi16, _mm512_mulhi_epu16,
-	_mm512_maskz_mulhi_epu16, _mm512_maskz_mullo_epi16,
-	_mm512_cvtepi8_epi16, _mm512_maskz_cvtepi8_epi16, _mm512_cvtepu8_epi16,
-	_mm512_maskz_cvtepu8_epi16, _mm512_permutexvar_epi16,
-	_mm512_maskz_permutexvar_epi16, _mm512_avg_epu8, _mm512_maskz_avg_epu8,
-	_mm512_maskz_add_epi8, _mm512_maskz_sub_epi8, _mm512_avg_epu16,
-	_mm512_maskz_avg_epu16, _mm512_subs_epi8, _mm512_maskz_subs_epi8,
-	_mm512_subs_epu8, _mm512_maskz_subs_epu8, _mm512_adds_epi8,
-	_mm512_maskz_adds_epi8, _mm512_adds_epu8, _mm512_maskz_adds_epu8,
-	_mm512_maskz_sub_epi16, _mm512_subs_epi16, _mm512_maskz_subs_epi16,
-	_mm512_subs_epu16, _mm512_maskz_subs_epu16, _mm512_maskz_add_epi16,
-	_mm512_adds_epi16, _mm512_maskz_adds_epi16, _mm512_adds_epu16,
-	_mm512_maskz_adds_epu16, _mm512_srl_epi16, _mm512_maskz_srl_epi16,
-	_mm512_packs_epi16, _mm512_sll_epi16, _mm512_maskz_sll_epi16,
-	_mm512_maddubs_epi16, _mm512_maskz_maddubs_epi16, _mm512_unpackhi_epi8,
-	_mm512_maskz_unpackhi_epi8, _mm512_unpackhi_epi16,
-	_mm512_maskz_unpackhi_epi16, _mm512_unpacklo_epi8,
-	_mm512_maskz_unpacklo_epi8, _mm512_unpacklo_epi16,
-	_mm512_maskz_unpacklo_epi16, _mm512_shuffle_epi8,
-	_mm512_maskz_shuffle_epi8, _mm512_min_epu16, _mm512_maskz_min_epu16,
-	_mm512_min_epi16, _mm512_maskz_min_epi16, _mm512_max_epu8,
-	_mm512_maskz_max_epu8, _mm512_max_epi8, _mm512_maskz_max_epi8,
-	_mm512_min_epu8, _mm512_maskz_min_epu8, _mm512_min_epi8,
-	_mm512_maskz_min_epi8, _mm512_max_epi16, _mm512_maskz_max_epi16,
-	_mm512_max_epu16, _mm512_maskz_max_epu16, _mm512_sra_epi16,
-	_mm512_maskz_sra_epi16, _mm512_srav_epi16, _mm512_maskz_srav_epi16,
-	_mm512_srlv_epi16, _mm512_maskz_srlv_epi16, _mm512_sllv_epi16,
-	_mm512_maskz_sllv_epi16, _mm512_maskz_packs_epi16, _mm512_packus_epi16,
-	_mm512_maskz_packus_epi16, _mm512_abs_epi8, _mm512_maskz_abs_epi8,
-	_mm512_abs_epi16, _mm512_maskz_abs_epi16, _mm512_dbsad_epu8,
-	_mm512_maskz_dbsad_epu8, _mm512_srli_epi16, _mm512_maskz_srli_epi16,
-	_mm512_slli_epi16, _mm512_maskz_slli_epi16, _mm512_shufflehi_epi16,
-	_mm512_maskz_shufflehi_epi16, _mm512_shufflelo_epi16,
-	_mm512_maskz_shufflelo_epi16, _mm512_srai_epi16,
-	_mm512_maskz_srai_epi16, _mm512_packs_epi32,
-	_mm512_maskz_packs_epi32, _mm512_packus_epi32,
-	_mm512_maskz_packus_epi32): Use _mm512_setzero_si512 instead of
-	_mm512_setzero_qi or _mm512_setzero_hi.
-	(_mm512_maskz_alignr_epi8, _mm512_dbsad_epu8,
-	_mm512_maskz_dbsad_epu8): Formatting fixes.
-	(_mm512_srli_epi16, _mm512_maskz_srli_epi16, _mm512_slli_epi16,
-	_mm512_maskz_slli_epi16, _mm512_shufflehi_epi16,
-	_mm512_maskz_shufflehi_epi16, _mm512_shufflelo_epi16,
-	_mm512_maskz_shufflelo_epi16, _mm512_srai_epi16,
-	_mm512_maskz_srai_epi16): Use _mm512_setzero_si512 instead of
-	_mm512_setzero_qi or _mm512_setzero_hi.
-
-2016-11-22  Nathan Sidwell  <nathan@acm.org>
-
-	* gcc-ar.c (main): Fix indentation.
-	* gcov-io.c (gcov_write_summary): Remove extraneous {...}
-	* ggc-page.c (move_ptes_to_front): Fix formatting.
-	* hsa-dump.c (dump_has_cfun): Fix indentation.
-	* sel-sched-ir.h: Remove trailing blank lines.
-
-2016-11-22  Jakub Jelinek  <jakub@redhat.com>
-	    Alexander Monakov  <amonakov@ispras.ru>
-
-	* internal-fn.c (expand_GOMP_USE_SIMT): New function.
-	* tree.c (omp_clause_num_ops): OMP_CLAUSE__SIMT_ has 0 operands.
-	(omp_clause_code_name): Add _simt_ name.
-	(walk_tree_1): Handle OMP_CLAUSE__SIMT_.
-	* tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__SIMT_.
-	* omp-low.c (scan_sharing_clauses): Handle OMP_CLAUSE__SIMT_.
-	(scan_omp_simd): New function.
-	(scan_omp_1_stmt): Use it in target regions if needed.
-	(omp_max_vf): Don't max with omp_max_simt_vf.
-	(lower_rec_simd_input_clauses): Use omp_max_simt_vf if
-	OMP_CLAUSE__SIMT_ is present.
-	(lower_rec_input_clauses): Compute maybe_simt from presence of
-	OMP_CLAUSE__SIMT_.
-	(lower_lastprivate_clauses): Likewise.
-	(expand_omp_simd): Likewise.  Remove explicit offloaded region check.
-	(execute_omp_device_lower): Lower IFN_GOMP_USE_SIMT.
-	* internal-fn.def (GOMP_USE_SIMT): New internal function.
-	* tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__SIMT_.
-
-2016-11-22  Alexander Monakov  <amonakov@ispras.ru>
-
-	* internal-fn.c (expand_GOMP_SIMT_LANE): New.
-	(expand_GOMP_SIMT_VF): New.
-	(expand_GOMP_SIMT_LAST_LANE): New.
-	(expand_GOMP_SIMT_ORDERED_PRED): New.
-	(expand_GOMP_SIMT_VOTE_ANY): New.
-	(expand_GOMP_SIMT_XCHG_BFLY): New.
-	(expand_GOMP_SIMT_XCHG_IDX): New.
-	* internal-fn.def (GOMP_SIMT_LANE): New.
-	(GOMP_SIMT_VF): New.
-	(GOMP_SIMT_LAST_LANE): New.
-	(GOMP_SIMT_ORDERED_PRED): New.
-	(GOMP_SIMT_VOTE_ANY): New.
-	(GOMP_SIMT_XCHG_BFLY): New.
-	(GOMP_SIMT_XCHG_IDX): New.
-	* omp-low.c (omp_maybe_offloaded_ctx): New, outlined from...
-	(create_omp_child_function): ...here.  Set "omp target entrypoint"
-	or "omp declare target" attribute based on is_gimple_omp_offloaded.
-	(omp_max_simt_vf): New.  Use it...
-	(omp_max_vf): ...here.
-	(lower_rec_input_clauses): Add reduction lowering for SIMT execution.
-	(lower_lastprivate_clauses): Likewise, for "lastprivate" lowering.
-	(lower_omp_ordered): Likewise, for "ordered" lowering.
-	(expand_omp_simd): Add SIMT transforms.
-	(pass_data_lower_omp): Add PROP_gimple_lomp_dev.
-	(execute_omp_device_lower): New.
-	(pass_data_omp_device_lower): New.
-	(pass_omp_device_lower): New pass.
-	(make_pass_omp_device_lower): New.
-	* passes.def (pass_omp_device_lower): Position new pass.
-	* tree-pass.h (PROP_gimple_lomp_dev): Define.
-	(make_pass_omp_device_lower): Declare.
-
-2016-11-22  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/78451
-	* config/i386/avx512vlintrin.h (_mm_setzero_di): Removed.
-	(_mm_maskz_mov_epi64): Use _mm_setzero_si128 instead of
-	_mm_setzero_di.
-	(_mm_maskz_load_epi64): Likewise.
-	(_mm_setzero_hi): Removed.
-	(_mm_maskz_loadu_epi64): Use _mm_setzero_si128 instead of
-	_mm_setzero_di.
-	(_mm_abs_epi64, _mm_maskz_abs_epi64, _mm_maskz_srl_epi64,
-	_mm_maskz_unpackhi_epi64, _mm_maskz_unpacklo_epi64,
-	_mm_maskz_compress_epi64, _mm_srav_epi64, _mm_maskz_srav_epi64,
-	_mm_maskz_sllv_epi64, _mm_maskz_srlv_epi64, _mm_rolv_epi64,
-	_mm_maskz_rolv_epi64, _mm_rorv_epi64, _mm_maskz_rorv_epi64,
-	_mm_min_epi64, _mm_max_epi64, _mm_max_epu64, _mm_min_epu64,
-	_mm_lzcnt_epi64, _mm_maskz_lzcnt_epi64, _mm_conflict_epi64,
-	_mm_maskz_conflict_epi64, _mm_sra_epi64, _mm_maskz_sra_epi64,
-	_mm_maskz_sll_epi64, _mm_rol_epi64, _mm_maskz_rol_epi64,
-	_mm_ror_epi64, _mm_maskz_ror_epi64, _mm_alignr_epi64,
-	_mm_maskz_alignr_epi64, _mm_srai_epi64, _mm_maskz_slli_epi64):
-	Likewise.
-	(_mm_cvtepi32_epi8, _mm256_cvtepi32_epi8, _mm_cvtsepi32_epi8,
-	_mm256_cvtsepi32_epi8, _mm_cvtusepi32_epi8, _mm256_cvtusepi32_epi8,
-	_mm_cvtepi32_epi16, _mm256_cvtepi32_epi16, _mm_cvtsepi32_epi16,
-	_mm256_cvtsepi32_epi16, _mm_cvtusepi32_epi16, _mm256_cvtusepi32_epi16,
-	_mm_cvtepi64_epi8, _mm256_cvtepi64_epi8, _mm_cvtsepi64_epi8,
-	_mm256_cvtsepi64_epi8, _mm_cvtusepi64_epi8, _mm256_cvtusepi64_epi8,
-	_mm_cvtepi64_epi16, _mm256_cvtepi64_epi16, _mm_cvtsepi64_epi16,
-	_mm256_cvtsepi64_epi16, _mm_cvtusepi64_epi16, _mm256_cvtusepi64_epi16,
-	_mm_cvtepi64_epi32, _mm256_cvtepi64_epi32, _mm_cvtsepi64_epi32,
-	_mm256_cvtsepi64_epi32, _mm_cvtusepi64_epi32, _mm256_cvtusepi64_epi32,
-	_mm_maskz_set1_epi32, _mm_maskz_set1_epi64): Formatting fixes.
-	(_mm_maskz_cvtps_ph, _mm256_maskz_cvtps_ph): Use _mm_setzero_si128
-	instead of _mm_setzero_hi.
-	(_mm256_permutex_pd, _mm256_maskz_permutex_epi64, _mm256_insertf32x4,
-	_mm256_maskz_insertf32x4, _mm256_inserti32x4, _mm256_maskz_inserti32x4,
-	_mm256_extractf32x4_ps, _mm256_maskz_extractf32x4_ps,
-	_mm256_shuffle_i32x4, _mm256_maskz_shuffle_i32x4, _mm256_shuffle_f64x2,
-	_mm256_maskz_shuffle_f64x2, _mm256_shuffle_f32x4,
-	_mm256_maskz_shuffle_f32x4, _mm256_maskz_shuffle_pd,
-	_mm_maskz_shuffle_pd, _mm256_maskz_shuffle_ps, _mm_maskz_shuffle_ps,
-	_mm256_maskz_srli_epi32, _mm_maskz_srli_epi32, _mm_maskz_srli_epi64,
-	_mm256_mask_slli_epi32, _mm256_maskz_slli_epi32, _mm256_mask_slli_epi64,
-	_mm256_maskz_slli_epi64, _mm256_roundscale_ps,
-	_mm256_maskz_roundscale_ps, _mm256_roundscale_pd,
-	_mm256_maskz_roundscale_pd, _mm_roundscale_ps, _mm_maskz_roundscale_ps,
-	_mm_roundscale_pd, _mm_maskz_roundscale_pd, _mm256_getmant_ps,
-	_mm256_maskz_getmant_ps, _mm_getmant_ps, _mm_maskz_getmant_ps,
-	_mm256_getmant_pd, _mm256_maskz_getmant_pd, _mm_getmant_pd,
-	_mm_maskz_getmant_pd, _mm256_maskz_shuffle_epi32,
-	_mm_maskz_shuffle_epi32, _mm256_rol_epi32, _mm256_maskz_rol_epi32,
-	_mm_rol_epi32, _mm_maskz_rol_epi32, _mm256_ror_epi32,
-	_mm256_maskz_ror_epi32, _mm_ror_epi32, _mm_maskz_ror_epi32,
-	_mm_maskz_alignr_epi32, _mm_maskz_alignr_epi64,
-	_mm256_maskz_srai_epi32, _mm_maskz_srai_epi32, _mm_srai_epi64,
-	_mm_maskz_srai_epi64, _mm256_maskz_permutex_pd,
-	_mm256_maskz_permute_pd, _mm256_maskz_permute_ps, _mm_maskz_permute_pd,
-	_mm_maskz_permute_ps, _mm256_permutexvar_ps): Formatting fixes.
-	(_mm_maskz_slli_epi64, _mm_rol_epi64, _mm_maskz_rol_epi64,
-	_mm_ror_epi64, _mm_maskz_ror_epi64): Use _mm_setzero_si128 instead of
-	_mm_setzero_di.
-	(_mm_maskz_cvtps_ph, _mm256_maskz_cvtps_ph): Use _mm_setzero_si128
-	instead of _mm_setzero_hi.
-	* config/i386/avx512dqintrin.h (_mm512_broadcast_f64x2,
-	_mm512_broadcast_i64x2, _mm512_broadcast_f32x2, _mm512_broadcast_i32x2,
-	_mm512_broadcast_f32x8, _mm512_broadcast_i32x8): Formatting fixes.
-	(_mm512_extracti64x2_epi64, _mm512_maskz_extracti64x2_epi64): Use
-	_mm_setzero_si128 instead of _mm_setzero_di.
-	(_mm512_cvtt_roundpd_epi64, _mm512_mask_cvtt_roundpd_epi64,
-	_mm512_maskz_cvtt_roundpd_epi64, _mm512_cvtt_roundpd_epu64,
-	_mm512_mask_cvtt_roundpd_epu64, _mm512_maskz_cvtt_roundpd_epu64,
-	_mm512_cvtt_roundps_epi64, _mm512_mask_cvtt_roundps_epi64,
-	_mm512_maskz_cvtt_roundps_epi64, _mm512_cvtt_roundps_epu64,
-	_mm512_mask_cvtt_roundps_epu64, _mm512_maskz_cvtt_roundps_epu64,
-	_mm512_cvt_roundpd_epi64, _mm512_mask_cvt_roundpd_epi64,
-	_mm512_maskz_cvt_roundpd_epi64, _mm512_cvt_roundpd_epu64,
-	_mm512_mask_cvt_roundpd_epu64, _mm512_maskz_cvt_roundpd_epu64,
-	_mm512_cvt_roundps_epi64, _mm512_mask_cvt_roundps_epi64,
-	_mm512_maskz_cvt_roundps_epi64, _mm512_cvt_roundps_epu64,
-	_mm512_mask_cvt_roundps_epu64, _mm512_maskz_cvt_roundps_epu64,
-	_mm512_cvt_roundepi64_ps, _mm512_mask_cvt_roundepi64_ps,
-	_mm512_maskz_cvt_roundepi64_ps, _mm512_cvt_roundepu64_ps,
-	_mm512_mask_cvt_roundepu64_ps, _mm512_maskz_cvt_roundepu64_ps,
-	_mm512_cvt_roundepi64_pd, _mm512_mask_cvt_roundepi64_pd,
-	_mm512_maskz_cvt_roundepi64_pd, _mm512_cvt_roundepu64_pd,
-	_mm512_mask_cvt_roundepu64_pd, _mm512_maskz_cvt_roundepu64_pd,
-	_mm512_reduce_pd, _mm512_maskz_reduce_pd, _mm512_reduce_ps,
-	_mm512_maskz_reduce_ps, _mm512_extractf32x8_ps,
-	_mm512_maskz_extractf32x8_ps, _mm512_extractf64x2_pd,
-	_mm512_maskz_extractf64x2_pd, _mm512_extracti32x8_epi32,
-	_mm512_maskz_extracti32x8_epi32, _mm512_range_pd,
-	_mm512_maskz_range_pd, _mm512_range_ps, _mm512_maskz_range_ps,
-	_mm512_range_round_pd, _mm512_maskz_range_round_pd,
-	_mm512_range_round_ps, _mm512_maskz_range_round_ps,
-	_mm512_maskz_insertf64x2, _mm512_insertf32x8,
-	_mm512_maskz_insertf32x8): Formatting fixes.
-	(_mm512_extracti64x2_epi64, _mm512_maskz_extracti64x2_epi64): Use
-	_mm_setzero_si128 instead of _mm_setzero_di.
-	* config/i386/avx512vldqintrin.h (_mm_cvttpd_epi64,
-	_mm_cvttpd_epu64, _mm_cvtpd_epi64, _mm_cvtpd_epu64,
-	_mm_cvttps_epi64, _mm_maskz_cvttps_epi64, _mm_cvttps_epu64,
-	_mm_maskz_cvttps_epu64, _mm_maskz_mullo_epi64, _mm_cvtps_epi64,
-	_mm_maskz_cvtps_epi64, _mm_cvtps_epu64, _mm_maskz_cvtps_epu64,
-	_mm256_extracti64x2_epi64, _mm256_maskz_extracti64x2_epi64): Use
-	_mm_setzero_si128 instead of _mm_setzero_di.
-	(_mm256_extracti64x2_epi64, _mm256_maskz_extracti64x2_epi64):
-	Likewise in macros.
-	* config/i386/avx512vlbwintrin.h (_mm_maskz_mov_epi8,
-	_mm_maskz_loadu_epi16, _mm_maskz_mov_epi16, _mm_maskz_loadu_epi8,
-	_mm_permutexvar_epi16, _mm_maskz_maddubs_epi16): Use
-	_mm_setzero_si128 instead of _mm_setzero_hi.
-	(_mm_maskz_min_epu16, _mm_maskz_max_epu8, _mm_maskz_max_epi8,
-	_mm_maskz_min_epu8, _mm_maskz_min_epi8, _mm_maskz_max_epi16,
-	_mm_maskz_max_epu16, _mm_maskz_min_epi16): Use _mm_setzero_si128
-	instead of _mm_setzero_di.
-	(_mm_dbsad_epu8, _mm_maskz_shufflehi_epi16,
-	_mm_maskz_shufflelo_epi16): Use _mm_setzero_si128 instead of
-	_mm_setzero_hi.
-	(_mm_maskz_shufflehi_epi16, _mm_maskz_shufflelo_epi16,
-	_mm_maskz_slli_epi16): Use _mm_setzero_si128 instead of
-	_mm_setzero_hi.
-	(_mm_maskz_alignr_epi8): Use _mm_setzero_si128 instead of
-	_mm_setzero_di.
-	(_mm_maskz_mulhi_epi16, _mm_maskz_mulhi_epu16, _mm_maskz_mulhrs_epi16,
-	_mm_maskz_mullo_epi16, _mm_srav_epi16, _mm_srlv_epi16,
-	_mm_sllv_epi16): Use _mm_setzero_si128 instead of _mm_setzero_hi.
-
-2016-11-22  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/rs6000-c.c: Add built-in support for vector compare
-	equal and vector compare not equal.  The vector compares take two
-	arguments of type vector bool char, vector bool short, vector bool int,
-	vector bool long long with the same return type.
-	* doc/extend.texi: Update built-in documentation file for the new
-	powerpc built-ins.
-
-2016-11-22  Uros Bizjak  <ubizjak@gmail.com>
-
-	* Makefile.in ($(lang_checks_parallelized)): Fix detection
-	of -j argument.
-
-2016-11-22  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config.gcc: Allow new rmprofile value for configure option
-	--with-multilib-list.
-	* config/arm/t-rmprofile: New file.
-	* doc/install.texi (--with-multilib-list): Document new rmprofile value
-	for ARM.
-
-2016-11-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/78439
-	* config/arm/vfp.md (*movdi_vfp_cortexa8): Use 'q' constraints for the
-	register operand in alternatives 4,5,6.
-
-2016-11-22  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	PR target/77904
-	* config/arm/arm.c (thumb1_compute_save_reg_mask): Mark frame pointer
-	in save register mask if it is needed.
-
-2016-11-22  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/78436
-	* gimple-ssa-store-merging.c (zero_char_buf): Removed.
-	(shift_bytes_in_array, shift_bytes_in_array_right,
-	merged_store_group::apply_stores): Formatting fixes.
-	(clear_bit_region): Likewise.  Use memset.
-	(encode_tree_to_bitpos): Formatting fixes.  Fix comment typos - EPXR
-	instead of EXPR and inerted instead of inserted.  Use memset instead
-	of zero_char_buf.  For !BYTES_BIG_ENDIAN decrease byte_size by 1
-	if shift_amnt is 0.
-
-	PR middle-end/78416
-	* expmed.c (expand_divmod): Use wide_int for computation of
-	op1_is_pow2.  Don't set it if op1 is 0.  Formatting fixes.
-	Use size <= HOST_BITS_PER_WIDE_INT instead of
-	HOST_BITS_PER_WIDE_INT >= size.
-
-	PR tree-optimization/78445
-	* tree-if-conv.c (tree_if_conversion): If any_pred_load_store or
-	any_complicated_phi, version loop even if flag_tree_loop_if_convert
-	is 1.  Formatting fix.
-
-2016-11-22  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/78309
-	* ipa-icf.c (void sem_item::set_hash): Update m_hash_set.
-	(sem_function::get_hash): Use the new field.
-	(sem_function::parse): Remove an argument from ctor.
-	(sem_variable::parse): Likewise.
-	(sem_variable::get_hash): Use the new field.
-	(sem_item_optimizer::read_section): Use new ctor and set hash.
-	* ipa-icf.h: _hash is removed from sem_item::sem_item,
-	sem_variable::sem_variable, sem_function::sem_function.
-
-2016-11-21  Jeff Law  <law@redhat.com>
-
-	PR target/68538
-	* config/cris/cris.md: Don't call copy_to_mode_reg unless
-	can_create_pseudo_p is true.
-
-2016-11-21  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/68803
-	* config/rs6000/rs6000.md (*rotlsi3_insert_5, *rotldi3_insert_6,
-	*rotldi3_insert_7): New define_insns.
-
-2016-11-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.md (movdi_internal32): Change constraints
-	so that DImode can be allocated to FP/vector registers in more
-	cases, and we can avoid direct move operations.  If the register
-	needs reloading, prefer GPRs over FP/vector registers.  In the
-	case of FPR vs. Altivec registers, prefer FPR registers unless we
-	have the ISA 3.0 reg+offset scalar instructions.
-	(movdi_internal64): Likewise.
-
-2016-11-21  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/67335
-	* omp-simd-clone.c (simd_clone_adjust_argument_types): Use NULL prefix
-	for tmp simd array if DECL_NAME (parm) is NULL.
-
-2016-11-20  Jeff Law  <law@redhat.com>
-
-	PR target/25128
-	* config/m68k/predicates.md (swap_peephole_relational_operator): New
-	predicate.
-	* config/m68k/m68k.md (relational tests against 65535/65536): New
-	peephole2.
-
-2016-11-21  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* tree-ssa-loop-prefetch.c: Delete FIXME after the includes.
-
-2016-11-21  Martin Sebor  <msebor@redhat.com>
-
-	* doc/invoke.texi (-fprintf-return-value): Document that option
-	is enabled by default.
-
-2016-11-21  Georg-Johann Lay  <avr@gjlay.de>
-
-	* config/avr/avr-c.c (avr_register_target_pragmas): Use C++
-	for-loop declaration of loop variable.
-	(avr_register_target_pragmas, avr_cpu_cpp_builtins): Same.
-	* config/avr/avr.c (avr_popcount_each_byte)
-	(avr_init_expanders, avr_regs_to_save, sequent_regs_live)
-	(get_sequence_length, avr_prologue_setup_frame, avr_map_metric)
-	(avr_expand_epilogue, avr_function_arg_advance)
-	(avr_out_compare, avr_out_plus_1, avr_out_bitop, avr_out_fract)
-	(avr_rotate_bytes, _reg_unused_after, avr_assemble_integer)
-	(avr_adjust_reg_alloc_order, output_reload_in_const)
-	(avr_conditional_register_usage, avr_find_unused_d_reg)
-	(avr_map_decompose, avr_fold_builtin): Same.
-
-2016-11-21  Georg-Johann Lay  <avr@gjlay.de>
-
-	* config/avr/avr.c (avr_popcount): Remove static function.
-	(avr_popcount_each_byte, avr_out_bitop): Use popcount_hwi instead.
-
-2016-11-21  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm.opt (mapcs-float): Delete option.
-	* arm.c (arm_option_override): Remove hunk relating to
-	TARGET_APCS_FLOAT.
-	* doc/invoke.texi (arm options): Remove documentation for -mapcs-float.
-
-2016-11-21  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-tailcall.c (process_assignment): Simplify the check for
-	a valid copy, allowing the source to be a local variable as
-	well as an SSA name.
-	(find_tail_calls): Allow copies between local variables to follow
-	the call.  Allow the result to be stored in any local variable,
-	even if it's an aggregate.
-	(eliminate_tail_call): Check whether the result is an SSA name
-	before updating its SSA_NAME_DEF_STMT.
-
-2016-11-21  David Malcolm  <dmalcolm@redhat.com>
-
-	PR preprocessor/78324
-	* input.c (get_substring_ranges_for_loc): Fail gracefully if
-	-ftrack-macro-expansion has a value other than 2.
-
-2016-11-21  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/78400
-	* shrink-wrap.c (try_shrink_wrapping_separate): Call
-	df_update_entry_exit_and_calls instead of df_update_entry_block_defs
-	and df_update_exit_block_uses.
-
-2016-11-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	PR c++/71973
-	* doc/invoke.texi (-Wno-builtin-declaration-mismatch): Document the
-	new default-enabled warning..
-	* builtin-types.def (BT_CONST_TM_PTR): New primitive type.
-	(BT_PTR_CONST_STRING): Updated.
-	(BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR): Removed.
-	(BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_TM_PTR): New function type.
-	* builtins.def (DEF_TM_BUILTIN): Disable BOTH_P for TM builtins.
-	(strftime): Update builtin function.
-	* tree-core.h (TI_CONST_TM_PTR_TYPE): New enum value.
-	* tree.h (const_tm_ptr_type_node): New type node.
-	* tree.c (free_lang_data, build_common_tree_nodes): Initialize
-	const_tm_ptr_type_node.
-
-2016-11-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR tree-optimization/78413
-	* tree-if-conv.c (versionable_outer_loop_p): Require that both
-	inner and outer loop latches have single predecessors.
-
-2016-11-21  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR target/78093
-	* config/avr/avr.c (avr_decl_maybe_lds_p): New static function.
-	(avr_encode_section_info) [TARGET_ABSDATA && AVR_TINY]: Use it.
-
-2016-11-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* rtl.h: Adjust prototype.
-	* rtlanal.c (dead_or_set_p): Change argument type to rtx_insn *.
-	(dead_or_set_regno_p): Likewise.
-
-2016-11-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* rtl.h: Adjust prototype.
-	* rtlanal.c (add_int_reg_note): Change argument type to rtx_insn *.
-
-2016-11-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* function.c (contains): Change argument type to rtx_insn *.
-	(prologue_contains): Likewise.
-	(epilogue_contains): Likewise.
-	(prologue_epilogue_contains): Likewise.
-	* function.h: Adjust prototype.
-
-2016-11-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* optabs.c (emit_libcall_block): Change argument type to
-	rtx_insn *.
-	* optabs.h: Adjust prototype.
-
-2016-11-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* cfgrtl.c (delete_insn): Change argument type to rtx_insn *.
-	(fixup_reorder_chain): Adjust.
-	* cfgrtl.h: Adjust prototype.
-
-2016-11-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* rtl.h: Adjust prototype.
-	* rtlanal.c (replace_label_in_insn): Change argument type to
-	rtx_insn *.
-
-2016-11-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* config/v850/v850.c (expand_prologue): Adjust.
-	(expand_epilogue): Likewise.
-	* expr.c (init_expr_target): Likewise.
-	* genrecog.c (print_subroutine): Always make the argument type
-	rtx_insn *.
-	* recog.h: Adjust prototype.
-
-2016-11-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* config/aarch64/aarch64.c (aarch64_emit_unlikely_jump): split
-	up variables to make some rtx_insn *.
-	* config/alpha/alpha.c (emit_unlikely_jump): Likewise.
-	* config/arc/arc.c: Likewise.
-	* config/arm/arm.c: Likewise.
-	* config/mn10300/mn10300.c (mn10300_legitimize_pic_address): Likewise.
-	* config/rs6000/rs6000.c (rs6000_expand_split_stack_prologue):
-	Likewise.
-	* config/spu/spu.c (spu_emit_branch_hint): Likewise.
-
-2016-11-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* config/arm/arm.c (legitimize_pic_address): Change to use
-	rtx_insn * as the type of variables.
-	(arm_pic_static_addr): Likewise.
-	(arm_emit_movpair): Likewise.
-	* config/c6x/c6x.c (reorg_split_calls): Likewise.
-	* config/darwin.c (machopic_legitimize_pic_address): Likewise.
-	* config/frv/frv.c (frv_optimize_membar_local): Likewise.
-	* config/frv/frv.md: Likewise.
-	* config/i386/i386-protos.h: Likewise.
-	* config/i386/i386.c (ix86_expand_split_stack_prologue): Likewise.
-	(ix86_split_fp_branch): Likewise.
-	(predict_jump): Likewise.
-	* config/ia64/ia64.c: Likewise.
-	* config/mcore/mcore.c: Likewise.
-	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
-	* config/s390/s390.c: Likewise.
-	* config/s390/s390.md: Likewise.
-	* config/spu/spu.md: Likewise.
-	* config/tilegx/tilegx.c (tilegx_legitimize_tls_address): Likewise.
-	* lower-subreg.c (resolve_simple_move): Likewise.
-
-2016-11-20  Jeff Law  <law@redhat.com>
-
-	PR target/48551
-	* reload.h (struct target_reload): Make x_double_reg_address_ok
-	be per-mode rather.
-	* reload.c (find_reloads_address): Check if double_reg_address_ok
-	is true for the mode of the memory reference.
-	* reload1.c (init_reload): Initialize double_reg_address_ok for
-	each mode.
-
-2016-11-20  Aldy Hernandez  <aldyh@redhat.com>
-
-	PR middle-end/61409
-	* tree-ssa-uninit.c: Define new global max_phi_args.
-	(compute_uninit_opnds_pos): Use max_phi_args.
-	(prune_uninit_phi_opnds): Same.
-	(use_pred_not_overlap_with_undef_path_pred): Remove reference to
-	missing NUM_PREDS in function comment.
-	(can_one_predicate_be_invalidated_p): New.
-	(can_chain_union_be_invalidated_p): New.
-	(flatten_out_predicate_chains): New.
-	(uninit_ops_invalidate_phi_use): New.
-	(is_use_properly_guarded): Call uninit_ops_invalidate_phi_use.
-
-2016-11-20  Marc Glisse  <marc.glisse@inria.fr>
-
-	* fold-const.c (fold_comparison): Ignore EXACT_DIV_EXPR.
-	* match.pd (A /[ex] B CMP C): New simplifications.
-
-2016-11-20  Marc Glisse  <marc.glisse@inria.fr>
-
-	* match.pd (0 / X, X / X, X % X): New simplifications.
-
-2016-11-19  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/i386.c (ix86_can_inline_p): Use || instead of &
-	when checking if callee's isa flags are subset of caller's isa flags.
-	Fix comment wording.
-
-	* config/i386/i386.c (ix86_valid_target_attribute_tree): Don't
-	clear opts->x_ix86_isa_flags, clear opts->x_ix86_isa_flags2
-	instead and using = 0 instead of &= 0.
-
-	* config/i386/i386.c (def_builtin, def_builtin2, def_builtin_const2,
-	ix86_add_new_builtins): Formatting fixes.
-	(ix86_expand_builtin): Use || instead of && for isa vs. isa2.
-	(ix86_get_builtin): Likewise.
-
-	* config/i386/i386.c (ix86_expand_builtin): Remove msk_mov variable,
-	don't initialize it, don't use it for the case where it isn't
-	provable %{z} nor using the same argument, instead move merge
-	argument into a new pseudo and use that as target.  Formatting fixes.
-
-2016-11-19  Jeff Law  <law@redhat.com>
-
-	PR target/25111
-	* config/m68k/m68k.md (bsetdreg): New pattern.
-	(bchgdreg, bclrdreg): Likewise.
-
-2016-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	PR target/78426
-	* config/sh/sh-mem.cc (sh_expand_cmpnstr): Use copy_to_mode_reg
-	instead of force_reg.
-	(sh_expand_setmem): Likewise.
-
-2016-11-19  Krister Walfridsson  <krister.walfridsson@gmail.com>
-
-	* config.gcc (*-*-netbsd): Set use_gcc_stdint=wrap.
-
-2016-11-18  Walter Lee  <walt@tilera.com>
-
-	* config/tilegx/tilegx.c (tilegx_gen_bundles): Preserve
-	  end-of-bundle marker for consecutive barriers.
-
-2016-11-18  Walter Lee  <walt@tilera.com>
-
-	* config/tilegx/tilegx.md (clzsi2): Fix for big-endian.
-
-2016-11-18  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/78419
-	* multiple_target.c (get_attr_len): Start with argnum and increment
-	argnum on every arg.  Use strchr in a loop instead of counting commas
-	manually.
-	(get_attr_str): Increment argnum for every comma in the string.
-	(separate_attrs): Use for instead of while loop, simplify.
-	(expand_target_clones): Rename defenition argument to definition.
-	Free attrs and attr_str even when diagnosing errors.  Temporarily
-	change input_location around targetm.target_option.valid_attribute_p
-	calls.  Don't emit warning or errors if that function fails.
-
-	* dwarf2out.c (size_of_discr_list): Fix typo in function comment.
-
-	PR debug/78191
-	* dwarf2out.c (abbrev_opt_base_type_end): New variable.
-	(die_abbrev_cmp): Sort dies with die_abbrev smaller than
-	abbrev_opt_base_type_end only by increasing die_abbrev, before
-	any other dies.
-	(optimize_abbrev_table): Don't change abbrev numbers of
-	base types and CU or optimize implicit consts in them if
-	calc_base_type_die_sizes has been called during build_abbrev_table.
-	(calc_base_type_die_sizes): If abbrev_opt_start, set
-	abbrev_opt_base_type_end to one plus largest base type's die_abbrev.
-
-2016-11-18  Jeff Law  <law@redhat.com>
-
-	PR target/25112
-	* config/m68k/m68k.c (moveq feeding equality comparison): New
-	peepholes.
-	* config/m68k/predicates.md (addq_subq_operand): New predicate.
-	(equality_comparison_operator): Likewise.
-
-2016-11-18  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* rtlanal.c (load_extend_op): Move to...
-	* rtl.h: ...here and make inline.
-
-2016-11-18  Terry Guo  <terry.guo@arm.com>
-	    Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* common/config/arm/arm-common.c (arm_target_thumb_only): New function.
-	* config/arm/arm-opts.h: Include arm-flags.h.
-	(struct arm_arch_core_flag): Define.
-	(arm_arch_core_flags): Define.
-	* config/arm/arm-protos.h: Include arm-flags.h
-	(FL_NONE, FL_ANY, FL_CO_PROC, FL_ARCH3M, FL_MODE26, FL_MODE32,
-	FL_ARCH4, FL_ARCH5, FL_THUMB, FL_LDSCHED, FL_STRONG, FL_ARCH5E,
-	FL_XSCALE, FL_ARCH6, FL_VFPV2, FL_WBUF, FL_ARCH6K, FL_THUMB2, FL_NOTM,
-	FL_THUMB_DIV, FL_VFPV3, FL_NEON, FL_ARCH7EM, FL_ARCH7, FL_ARM_DIV,
-	FL_ARCH8, FL_CRC32, FL_SMALLMUL, FL_NO_VOLATILE_CE, FL_IWMMXT,
-	FL_IWMMXT2, FL_ARCH6KZ, FL2_ARCH8_1, FL2_ARCH8_2, FL2_FP16INST,
-	FL_TUNE, FL_FOR_ARCH2, FL_FOR_ARCH3, FL_FOR_ARCH3M, FL_FOR_ARCH4,
-	FL_FOR_ARCH4T, FL_FOR_ARCH5, FL_FOR_ARCH5T, FL_FOR_ARCH5E,
-	FL_FOR_ARCH5TE, FL_FOR_ARCH5TEJ, FL_FOR_ARCH6, FL_FOR_ARCH6J,
-	FL_FOR_ARCH6K, FL_FOR_ARCH6Z, FL_FOR_ARCH6ZK, FL_FOR_ARCH6KZ,
-	FL_FOR_ARCH6T2, FL_FOR_ARCH6M, FL_FOR_ARCH7, FL_FOR_ARCH7A,
-	FL_FOR_ARCH7VE, FL_FOR_ARCH7R, FL_FOR_ARCH7M, FL_FOR_ARCH7EM,
-	FL_FOR_ARCH8A, FL2_FOR_ARCH8_1A, FL2_FOR_ARCH8_2A, FL_FOR_ARCH8M_BASE,
-	FL_FOR_ARCH8M_MAIN, arm_feature_set, ARM_FSET_MAKE,
-	ARM_FSET_MAKE_CPU1, ARM_FSET_MAKE_CPU2, ARM_FSET_CPU1, ARM_FSET_CPU2,
-	ARM_FSET_EMPTY, ARM_FSET_ANY, ARM_FSET_HAS_CPU1, ARM_FSET_HAS_CPU2,
-	ARM_FSET_HAS_CPU, ARM_FSET_ADD_CPU1, ARM_FSET_ADD_CPU2,
-	ARM_FSET_DEL_CPU1, ARM_FSET_DEL_CPU2, ARM_FSET_UNION, ARM_FSET_INTER,
-	ARM_FSET_XOR, ARM_FSET_EXCLUDE, ARM_FSET_IS_EMPTY,
-	ARM_FSET_CPU_SUBSET): Move to ...
-	* config/arm/arm-flags.h: This new file.
-	* config/arm/arm.h (TARGET_MODE_SPEC_FUNCTIONS): Define.
-	(EXTRA_SPEC_FUNCTIONS): Add TARGET_MODE_SPEC_FUNCTIONS to its value.
-	(TARGET_MODE_SPECS): Define.
-	(DRIVER_SELF_SPECS): Add TARGET_MODE_SPECS to its value.
-
-2016-11-18  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm-protos.h (FL_NONE, FL_ANY, FL_CO_PROC, FL_ARCH3M,
-	FL_MODE26, FL_MODE32, FL_ARCH4, FL_ARCH5, FL_THUMB, FL_LDSCHED,
-	FL_STRONG, FL_ARCH5E, FL_XSCALE, FL_ARCH6, FL_VFPV2, FL_WBUF,
-	FL_ARCH6K, FL_THUMB2, FL_NOTM, FL_THUMB_DIV, FL_VFPV3, FL_NEON,
-	FL_ARCH7EM, FL_ARCH7, FL_ARM_DIV, FL_ARCH8, FL_CRC32, FL_SMALLMUL,
-	FL_NO_VOLATILE_CE, FL_IWMMXT, FL_IWMMXT2, FL_ARCH6KZ, FL2_ARCH8_1,
-	FL2_ARCH8_2, FL2_FP16INST): Reindent comment, add final dot when
-	missing and make value unsigned.
-	(arm_feature_set): Use unsigned entries instead of unsigned long.
-
-2016-11-18  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	Re-apply after PR bootstrap/77359 is fixed:
-	2016-08-23  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	* explow.c (get_dynamic_stack_size): Take known alignment of stack
-	pointer + STACK_DYNAMIC_OFFSET into account when calculating the
-	size needed.
-
-2016-11-18  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	PR bootstrap/77359
-	* config/rs6000/rs6000.c (rs6000_stack_info): Properly align local
-	variables in functions calling alloca.  Also update the ASCII
-	drawings.
-	* config/rs6000/rs6000.h (STARTING_FRAME_OFFSET)
-	(STACK_DYNAMIC_OFFSET): Likewise.
-	* config/rs6000/aix.h (STARTING_FRAME_OFFSET)
-	(STACK_DYNAMIC_OFFSET): Copy AIX specific versions of the rs6000.h
-	macros to aix.h.
-
-2016-11-18  Richard Sandiford  <richard.sandiford@arm.com>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* combine.c (try_combine): Use rtx_mode_t instead of std::make_pair.
-	* dwarf2out.c (mem_loc_descriptor, loc_descriptor): Likewise.
-	(add_const_value_attribute): Likewise.
-	* explow.c (plus_constant): Likewise.
-	* expmed.c (expand_mult, make_tree): Likewise.
-	* expr.c (convert_modes): Likewise.
-	* loop-doloop.c (doloop_optimize): Likewise.
-	* postreload.c (reload_cse_simplify_set): Likewise.
-	* simplify-rtx.c (simplify_const_unary_operation): Likewise
-	(simplify_binary_operation_1, simplify_const_binary_operation):
-	Likewise.
-	(simplify_const_relational_operation, simplify_immed_subreg): Likewise.
-	* wide-int.h: Update documentation to recommend rtx_mode_t
-	instead of std::make_pair.
-
-2016-11-18  Richard Sandiford  <richard.sandiford@arm.com>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree.h (SET_DECL_MODE): New macro.
-	* cfgexpand.c (avoid_deep_ter_for_debug): Use SET_DECL_MODE.
-	(expand_gimple_basic_block): Likewise.
-	* function.c (split_complex_args): Likeise.
-	* ipa-prop.c (ipa_modify_call_arguments): Likewise.
-	* omp-simd-clone.c (ipa_simd_modify_stmt_ops): Likewise.
-	* stor-layout.c (layout_decl, relayout_decl): Likewise.
-	(finish_bitfield_representative): Likewise.
-	* tree.c (make_node_stat): Likewise.
-	* tree-inline.c (remap_ssa_name): Likewise.
-	(tree_function_versioning): Likewise.
-	* tree-into-ssa.c (rewrite_debug_stmt_uses): Likewise.
-	* tree-sra.c (sra_ipa_reset_debug_stmts): Likewise.
-	* tree-ssa-ccp.c (optimize_atomic_bit_test_and): Likewise.
-	* tree-ssa-loop-ivopts.c (remove_unused_ivs): Likewise.
-	* tree-ssa.c (insert_debug_temp_for_var_def): Likewise.
-	* tree-streamer-in.c (unpack_ts_decl_common_value_fields): Likewise.
-	* varasm.c (make_debug_expr_from_rtl): Likewise.
-
-2016-11-18  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/71785
-	* bb-reorder.c (maybe_duplicate_computed_goto): New function.
-	(duplicate_computed_gotos): New function.
-	(pass_duplicate_computed_gotos::execute): Rewrite.
-
-2016-11-17  Jeff Law  <law@redhat.com>
-
-	PR target/47192
-	* config/m68k/m68k.c (m68k_expand_epilogue): Emit a scheduling
-	barrier prior to deallocating the stack.
-
-2016-11-17  Andrew Burgess  <andrew.burgess@embecosm.com>
-
-	* config/arc/arc.md (cmem bit/sign-extend peephole2): New peephole
-	to make better use of cmem loads in the case where a single bit is
-	being accessed.
-	* config/arc/predicates.md (ge_lt_comparison_operator): New predicate.
-
-2016-11-17  Andrew Senkevich <andrew.senkevich@intel.com>
-
-	* config/i386/i386.c (processor_features): Add F_AVX5124VNNIW,
-	F_AVX5124FMAPS.
-	(isa_names_table): Handle new features.
-
-2016-11-17  Kirill Yukhin  <kirill.yukhin@gmail.com>
-	    Andrew Senkevich <andrew.senkevich@intel.com>
-
-	* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX5124FMAPS_SET,
-	OPTION_MASK_ISA_AVX5124FMAPS_UNSET, OPTION_MASK_ISA_AVX5124VNNIW_SET,
-	OPTION_MASK_ISA_AVX5124VNNIW_UNSET): New.
-	(ix86_handle_option): Handle OPT_mavx5124fmaps, OPT_mavx5124vnniw.
-	* config.gcc: Add avx5124fmapsintrin.h, avx5124vnniwintrin.h.
-	* config/i386/avx5124fmapsintrin.h: New file.
-	* config/i386/avx5124vnniwintrin.h: Ditto.
-	* config/i386/constraints.md (h): New constraint.
-	* config/i386/cpuid.h (bit_AVX5124VNNIW, bit_AVX5124FMAPS): New.
-	* config/i386/driver-i386.c (host_detect_local_cpu):
-	Detect avx5124fmaps, avx5124vnniw.
-	* config/i386/i386-builtin-types.def: Add types
-	V16SF_FTYPE_V16SF_V16SF_V16SF_V16SF_V16SF_PCV4SF_V16SF_UHI,
-	V16SF_FTYPE_V16SF_V16SF_V16SF_V16SF_V16SF_PCV4SF,
-	V4SF_FTYPE_V4SF_V4SF_V4SF_V4SF_V4SF_PCV4SF,
-	V4SF_FTYPE_V4SF_V4SF_V4SF_V4SF_V4SF_PCV4SF_V4SF_UQI,
-	V16SI_FTYPE_V16SI_V16SI_V16SI_V16SI_V16SI_PCV4SI,
-	V16SI_FTYPE_V16SI_V16SI_V16SI_V16SI_V16SI_PCV4SI_V16SI_UHI.
-	* config/i386/i386-builtin.def (__builtin_ia32_4fmaddps_mask,
-	__builtin_ia32_4fmaddps, __builtin_ia32_4fmaddss,
-	__builtin_ia32_4fmaddss_mask, __builtin_ia32_4fnmaddps_mask,
-	__builtin_ia32_4fnmaddps, __builtin_ia32_4fnmaddss,
-	__builtin_ia32_4fnmaddss_mask, __builtin_ia32_vp4dpwssd,
-	__builtin_ia32_vp4dpwssd_mask, __builtin_ia32_vp4dpwssds,
-	__builtin_ia32_vp4dpwssds_mask): New.
-	* config/i386/i386-c.c (ix86_target_macros_internal):
-	Define __AVX5124FMAPS__, __AVX5124VNNIW__.
-	* config/i386/i386-modes.def: Fixed comment typos, added new
-	modes (VECTOR_MODES (FLOAT, 256), VECTOR_MODE (INT, SI, 64)).
-	* config/i386/i386.c (ix86_target_string): Add -mavx5124fmaps,
-	-mavx5124vnniw.
-	(PTA_AVX5124FMAPS, PTA_AVX5124VNNIW): Define.
-	(ix86_option_override_internal): Handle new options.
-	(ix86_valid_target_attribute_inner_p): Add avx5124fmaps,
-	avx5124vnniw.
-	(ix86_expand_builtin): Handle new builtins.
-	(ix86_additional_allocno_class_p): New.
-	* config/i386/i386.h (TARGET_AVX5124FMAPS, TARGET_AVX5124FMAPS_P,
-	TARGET_AVX5124VNNIW, TARGET_AVX5124VNNIW_P): Define.
-	(reg_class): Add MOD4_SSE_REGS.
-	(MOD4_SSE_REG_P, MOD4_SSE_REGNO_P): New.
-	* config/i386/i386.opt: Add mavx5124fmaps, mavx5124vnniw.
-	* config/i386/immintrin.h: Include avx5124fmapsintrin.h,
-	avx5124vnniwintrin.h.
-	* config/i386/sse.md (unspec): Add UNSPEC_VP4FMADD, UNSPEC_VP4FNMADD,
-	UNSPEC_VP4DPWSSD, UNSPEC_VP4DPWSSDS.
-	(define_mode_iterator IMOD4): New.
-	(define_mode_attr imod4_narrow): Ditto.
-	(define_insn "mov<mode>"): Ditto.
-	(define_insn "avx5124fmaddps_4fmaddps"): Ditto.
-	(define_insn "avx5124fmaddps_4fmaddps_mask"): Ditto.
-	(define_insn "avx5124fmaddps_4fmaddps_maskz"): Ditto.
-	(define_insn "avx5124fmaddps_4fmaddss"): Ditto.
-	(define_insn "avx5124fmaddps_4fmaddss_mask"): Ditto.
-	(define_insn "avx5124fmaddps_4fmaddss_maskz"): Ditto.
-	(define_insn "avx5124fmaddps_4fnmaddps"): Ditto.
-	(define_insn "avx5124fmaddps_4fnmaddps_mask"): Ditto.
-	(define_insn "avx5124fmaddps_4fnmaddps_maskz"): Ditto.
-	(define_insn "avx5124fmaddps_4fnmaddss"): Ditto.
-	(define_insn "avx5124fmaddps_4fnmaddss_mask"): Ditto.
-	(define_insn "avx5124fmaddps_4fnmaddss_maskz"): Ditto.
-	(define_insn "avx5124vnniw_vp4dpwssd"): Ditto.
-	(define_insn "avx5124vnniw_vp4dpwssd_mask"): Ditto.
-	(define_insn "avx5124vnniw_vp4dpwssd_maskz"): Ditto.
-	(define_insn "avx5124vnniw_vp4dpwssds"): Ditto.
-	(define_insn "avx5124vnniw_vp4dpwssds_mask"): Ditto.
-	(define_insn "avx5124vnniw_vp4dpwssds_maskz"): Ditto.
-	* init-regs.c (initialize_uninitialized_regs): Add emit_clobber call.
-	* genmodes.c (mode_size_inline): Extend return type.
-	* machmode.h (mode_size, mode_base_align): Extend type.
-
-2016-11-17  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/78101
-	* config/rs6000/predicates.md (fusion_addis_mem_combo_load): Add
-	the appropriate checks for SFmode/DFmode load/stores in GPR
-	registers.
-	(fusion_addis_mem_combo_store): Likewise.
-	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Rename
-	fusion_fpr_* to fusion_vsx_* and add in support for ISA 3.0 scalar
-	d-form instructions for traditional Altivec registers.
-	(emit_fusion_p9_load): Likewise.
-	(emit_fusion_p9_store): Likewise.
-	* config/rs6000/rs6000.md (p9 fusion store peephole2): Remove
-	early clobber from scratch register.  Do not match if the register
-	being stored is the scratch register.
-	(fusion_vsx_<P:mode>_<FPR_FUSION:mode>_load): Rename fusion_fpr_*
-	to fusion_vsx_* and add in support for ISA 3.0 scalar d-form
-	instructions for traditional Altivec registers.
-	(fusion_fpr_<P:mode>_<FPR_FUSION:mode>_load): Likewise.
-	(fusion_vsx_<P:mode>_<FPR_FUSION:mode>_store): Likewise.
-	(fusion_fpr_<P:mode>_<FPR_FUSION:mode>_store): Likewise.
-
-2016-11-17  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	PR target/77933
-	* config/arm/arm.c (thumb1_expand_prologue): Distinguish between lr
-	being live in the function and lr needing to be saved.  Distinguish
-	between already saved pushable registers and registers to push.
-	Check for LR being an available pushable register.
-
-2016-11-17  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
-
-	* config/i386/i386.md (cmpstrnsi): New test to bail out if neither
-	string input is a string constant.
-	* builtins.c (expand_builtin_strncmp): Attempt expansion of strncmp
-	via cmpstrnsi even if neither string is constant.
-
-2016-11-17  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/78201
-	* varasm.c (default_use_anchors_for_symbol_p): Fix a comment typo.
-	Don't test decl != NULL.  Don't look at DECL_SIZE, but DECL_SIZE_UNIT
-	instead, return false if it is NULL, or doesn't fit into uhwi, or
-	is larger or equal to targetm.max_anchor_offset.
-
-2016-11-17  Pip Cet  <pipcet@gmail.com>
-	    Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR rtl-optimization/78355
-	* doc/tm.texi.in (SLOW_UNALIGNED_ACCESS): Document that the macro only
-	needs to deal with unaligned accesses.
-	* doc/tm.texi: Regenerate.
-	* lra-constraints.c (simplify_operand_subreg): Only invoke
-	SLOW_UNALIGNED_ACCESS on innermode if the MEM is not aligned enough.
-
-2016-11-17  David Malcolm  <dmalcolm@redhat.com>
-
-	* input.c (selftest::test_lexer_string_locations_long_line): New
-	function.
-	(selftest::test_lexer_string_locations_raw_string_multiline): New
-	function.
-	(selftest::input_c_tests): Call the new functions, via
-	for_each_line_table_case.
-
-2016-11-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64.md (mov<mode>): Call
-	aarch64_split_dimode_const_store on DImode constant stores.
-	* config/aarch64/aarch64-protos.h (aarch64_split_dimode_const_store):
-	New prototype.
-	* config/aarch64/aarch64.c (aarch64_split_dimode_const_store): New
-	function.
-
-2016-11-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-	    Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/77848
-	* tree-if-conv.c (tree_if_conversion): Always version loops unless
-	the user specified -ftree-loop-if-convert.
-
-2016-11-17  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	PR target/77308
-	* config/arm/arm.md (*thumb2_ldrd, *thumb2_ldrd_base,
-	*thumb2_ldrd_base_neg, *thumb2_strd, *thumb2_strd_base,
-	*thumb2_strd_base_neg): Recognize insn regardless of
-	current_tune->prefer_ldrd_strd.
-	* config/arm/ldrdstrd.md: Enable all ldrd/strd peephole rules
-	whenever possible.
-
-2016-11-17  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (arc_ccfsm_post_advance): Handle return
-	instruction type.
-
-2016-11-17  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc-arches.def: Add FPX quarkse instruction as valid
-	for arcem.
-	* config/arc/arc-c.def (__ARC_FPX_QUARK__): Define.
-	* config/arc/arc-cpus.def (quarkse_em): Add.
-	* config/arc/arc-options.def (FL_FPX_QUARK, FL_QUARK): Likewise.
-	* config/arc/arc-opts.h (FPX_QK): Define.
-	* config/arc/arc-tables.opt: Regenerate.
-	* config/arc/arc.c (gen_compare_reg): Change.
-	(arc_register_move_cost): Avoid Dy,Dx moves.
-	* config/arc/arc.h (TARGET_HARD_FLOAT): Change.
-	(TARGET_FPX_QUARK, TARGET_FP_ASSIST): Define.
-	* config/arc/arc.md (divsf3, sqrtsf2, fix_truncsfsi2, floatsisf2):
-	New expands.
-	* config/arc/fpu.md (divsf3_fpu, sqrtsf2_fpu, floatsisf2_fpu)
-	(fix_truncsfsi2_fpu): Rename.
-	* config/arc/fpx.md (cmp_quark, cmpsf_quark_, cmpsf_quark_ord)
-	(cmpsf_quark_uneq, cmpsf_quark_eq, divsf3_quark, sqrtsf2_quark)
-	(fix_truncsfsi2_quark, floatsisf2_quark): New patterns.
-	* config/arc/t-multilib: Regenerate.
-
-2016-11-17  Georg-Johann Lay  <avr@gjlay.de>
-
-	* config/avr/avr.c (avr_print_operand_address): Use CONST_INT_P if
-	appropriate.
-	(ashlqi3_out, ashlsi3_out, ashrqi3_out, ashrhi3_out): Same.
-	(ashrsi3_out, lshrqi3_out, lshrhi3_out, lshrsi3_out): Same.
-	(avr_rtx_costs_1, extra_constraint_Q): Same.
-	(avr_address_cost): Use SUBREG_P if possible.
-
-2016-11-17  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/78383
-	* tree-cfgcleanup.c (cleanup_control_flow_bb): Do not turn
-	non-local goto into CFG.
-
-2016-11-17  Richard Biener  <rguenther@suse.de>
-
-	* common.opt (ftree-loop-if-convert-stores): Mark as preserved for
-	backward compatibility.
-	* doc/invoke.texi (ftree-loop-if-convert-stores): Remove.
-	* tree-if-conv.c (pass_if_conversion::gate): Do not test
-	flag_tree_loop_if_convert_stores.
-	(pass_if_conversion::execute): Likewise.
-
-2016-11-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/predicates.md (aarch64_reg_or_fp_zero): Check for
-	const_double code before calling aarch64_float_const_zero_rtx_p.
-
-2016-11-17  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/78306
-	* ipa-inline-analysis.c (initialize_inline_failed): Do not
-	inhibit inlining if function calls cilk_spawn.
-	(can_inline_edge_p): Likewise.
-
-2016-11-17  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/78305
-	* fold-const.c (negate_expr_p): Fix multiplication case.
-
-2016-11-17  Chung-Lin Tang  <cltang@codesourcery.com>
-
-	PR target/78357
-	* config/nios2/nios2.c (nios2_init_libfuncs): Remove TARGET_LINUX_ABI
-	condition.
-	(TARGET_INIT_LIBFUNCS): Delete definition and...
-	* config/nios2/linux.h (TARGET_INIT_LIBFUNCS): ...move to here, add
-	comments.
-
-2016-11-17  Krister Walfridsson  <krister.walfridsson@gmail.com>
-
-	* config/netbsd-stdint.h: New.
-	* config.gcc (i[34567]86-*-netbsd): Add netbsd-stdint.h to tm_file.
-	(x86_64-*-netbsd*): Likewise.
-
-2016-11-16  Andrew PInski  <apinski@cavium.com>
-
-	* config/aarch64/aarch64.opt (mverbose-cost-dump): New option.
-	* config/aarch64/aarch64.c (aarch64_rtx_costs): Use
-	flag_aarch64_verbose_cost instead of checking for details dump.
-	(aarch64_rtx_costs_wrapper): Likewise.
-
-2016-11-16  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/78378
-	* combine.c (make_extraction): Use force_to_mode for non-{REG,MEM}
-	inner only if pos is 0.  Fix up formatting.
-
-2016-11-17  Alan Modra  <amodra@gmail.com>
-
-	PR rtl-optimization/78325
-	PR rtl-optimization/70890
-	* ira.c (combine_and_move_insns): Only remove REG_EQUIV notes
-	for dead regno.
-
-2016-11-16  Jason Merrill  <jason@redhat.com>
-
-	* rtl.h: Declare gt_ggc_mx and gt_pch_nx.
-
-2016-11-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-	    Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/77848
-	* tree-if-conv.c (version_loop_for_if_conversion): When versioning
-	an outer loop, only save basic block aux information for the inner
-	loop.
-	(versionable_outer_loop_p): New function.
-	(tree_if_conversion): Version the outer loop instead of the inner
-	one if the pattern will be recognized for outer-loop
-	vectorization.
-
-2016-11-16  Andrew Burgess  <andrew.burgess@embecosm.com>
-
-	* gcc/bb-reorder.c: Remove 'toplev.h' include.
-	(pass_partition_blocks::gate): No longer check
-	user_defined_section_attribute, instead check the function decl
-	for a section attribute.
-	* gcc/c-family/c-attribs.c (handle_section_attribute): No longer
-	set user_defined_section_attribute.
-	* gcc/final.c (rest_of_handle_final): Likewise.
-	* gcc/toplev.c: Remove definition of user_defined_section_attribute.
-	* gcc/toplev.h: Remove declaration of
-	user_defined_section_attribute.
-
-2016-11-16  Maciej W. Rozycki  <macro@imgtec.com>
-
-	* config/mips/mips.md (casesi_internal_mips16_<mode>):
-	Explicitly switch between JR and JRC for the table jump.  Adjust
-	instruction count.
-
-2016-11-16  Maciej W. Rozycki  <macro@imgtec.com>
-
-	* config/mips/mips.md (casesi_internal_mips16_<mode>): Set
-	`insn_count' to 11 rather than 16.
-
-2016-11-16  Maciej W. Rozycki  <macro@imgtec.com>
-
-	* config/mips/mips.md (casesi_internal_mips16_<mode>): Use the
-	`ltu' rather than `leu' operation in the RTL pattern
-
-2016-11-16  Maciej W. Rozycki  <macro@imgtec.com>
-
-	* config/mips/mips.md (casesi_internal_mips16_<mode>): Add
-	missing <d> instruction prefixes throughout.  Correct
-	formatting.
-
-2016-11-16  Maciej W. Rozycki  <macro@imgtec.com>
-
-	* config/mips/mips.c (mips_output_jump): Output R_MICROMIPS_JALR
-	rather than R_MIPS_JALR relocation in microMIPS code.  Do not
-	cancel short delay slots in PIC call relaxation.
-
-2016-11-16  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm.md (arm_addsi3): Add alternative for addition of
-	general register with general register or ARM constant into SP
-	register.
-
-2016-11-16  Jakub Jelinek  <jakub@redhat.com>
-
-	PR fortran/78299
-	* omp-low.c (expand_omp_for_static_nochunk): Don't assert
-	that loop->header == body_bb if broken_loop.
-
-2015-11-16  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* tree-ssa-math-opts.c (bswap_replace): Remove test
-	of SLOW_UNALIGNED_ACCESS.
-
-2016-11-16  Alexander Monakov  <amonakov@ispras.ru>
-
-	* config/nvptx/mkoffload.c (main): Check that either OpenACC or OpenMP
-	is selected.  Pass -mgomp to offload compiler in OpenMP case.
-	* config/nvptx/nvptx-protos.h (nvptx_shuffle_kind): Move enum
-	declaration from nvptx.c.
-	(nvptx_gen_shuffle): Declare.
-	(nvptx_output_set_softstack): Declare.
-	* config/nvptx/nvptx.c (nvptx_shuffle_kind): Move to nvptx-protos.h.
-	(need_softstack_decl): New variable.
-	(need_unisimt_decl): New variable.
-	(diagnose_openacc_conflict): New.  Use it...
-	(nvptx_option_override): ...here.  Handle TARGET_GOMP.
-	(nvptx_encode_section_info): Handle "shared" attribute.
-	(write_as_kernel): Restrict to OpenACC target regions.
-	(init_softstack_frame): New.
-	(nvptx_init_unisimt_predicate): New.
-	(write_omp_entry): New.  Use it...
-	(nvptx_declare_function_name): ...here to emit OpenMP target region
-	entrypoints.  Handle TARGET_SOFT_STACK.  Call
-	nvptx_init_unisimt_predicate.
-	(nvptx_output_set_softstack): New.
-	(nvptx_get_drap_rtx): Return %argp as the DRAP if needed.
-	(nvptx_gen_shuffle): Export.
-	(nvptx_output_call_insn): Handle COND_EXEC patterns.  Emit instruction
-	predicate.
-	(nvptx_print_operand): Fix handling of instruction predicates.
-	(nvptx_get_unisimt_master): New helper function.
-	(nvptx_get_unisimt_predicate): Ditto.
-	(nvptx_call_insn_is_syscall_p): Ditto.
-	(nvptx_unisimt_handle_set): Ditto.
-	(nvptx_reorg_uniform_simt): New.  Transform code for -muniform-simt.
-	(nvptx_reorg): Call nvptx_reorg_uniform_simt.
-	(nvptx_handle_shared_attribute): New.  Use it...
-	(nvptx_attribute_table): ... here (new entry).
-	(nvptx_record_offload_symbol): Handle NULL attributes.
-	(nvptx_file_end): Handle need_softstack_decl and need_unisimt_decl.
-	(nvptx_simt_vf): New.
-	(TARGET_SIMT_VF): Define.
-	* config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Define
-	__nvptx_softstack or __nvptx_unisimt__ when -msoft-stack, or resp.
-	-muniform-simt option is active.
-	(STACK_SIZE_MODE): Define.
-	(FIXED_REGISTERS): Adjust.
-	(SOFTSTACK_SLOT_REGNUM): New.
-	(SOFTSTACK_PREV_REGNUM): New.
-	(REGISTER_NAMES): Adjust.
-	(struct machine_function): New fields.
-	* config/nvptx/nvptx.md (UNSPEC_SET_SOFTSTACK): New.
-	(UNSPEC_VOTE_BALLOT): Ditto.
-	(UNSPEC_LANEID): Ditto.
-	(UNSPECV_NOUNROLL): Ditto.
-	(atomic): New attribute.
-	(predicable): New attribute.  Generate predicated forms via
-	define_cond_exec.
-	(br_true): Mark as not predicable.
-	(br_false): Ditto.
-	(br_true_uni): Ditto.
-	(br_false_uni): Ditto.
-	(return): Ditto.
-	(trap_if_true): Ditto.
-	(trap_if_false): Ditto.
-	(nvptx_fork): Ditto.
-	(nvptx_forked): Ditto.
-	(nvptx_joining): Ditto.
-	(nvptx_join): Ditto.
-	(nvptx_barsync): Ditto.
-	(epilogue): Emit stack restore if TARGET_SOFT_STACK.
-	(allocate_stack): Implement for TARGET_SOFT_STACK.  Remove unused code.
-	(allocate_stack_<mode>): Remove unused pattern.
-	(set_softstack_insn): New pattern.
-	(restore_stack_block): Handle for TARGET_SOFT_STACK.
-	(nvptx_vote_ballot): New pattern.
-	(omp_simt_lane): Ditto.
-	(omp_simt_last_lane): Ditto.
-	(omp_simt_ordered): Ditto.
-	(omp_simt_vote_any): Ditto.
-	(omp_simt_xchg_bfly): Ditto.
-	(omp_simt_xchg_idx): Ditto.
-	(nvptx_nounroll): Ditto.
-	(atomic_compare_and_swap<mode>_1): Mark with atomic attribute.
-	(atomic_exchange<mode>): Ditto.
-	(atomic_fetch_add<mode>): Ditto.
-	(atomic_fetch_addsf): Ditto.
-	(atomic_fetch_<logic><mode>): Ditto.
-	* config/nvptx/nvptx.opt (msoft-stack): New option.
-	(muniform-simt): Ditto.
-	(mgomp): Ditto.
-	* config/nvptx/t-nvptx (MULTILIB_OPTIONS): New.
-	* doc/extend.texi (Nvidia PTX Variable Attributes): New section.
-	* doc/invoke.texi (msoft-stack): Document.
-	(muniform-simt): Document
-	(mgomp): Document.
-	* doc/tm.texi: Regenerate.
-	* doc/tm.texi.in (TARGET_SIMT_VF): New hook.
-	* target.def: Define it.
-	* target-insns.def (omp_simt_lane): New.
-	(omp_simt_last_lane): New.
-	(omp_simt_ordered): New.
-	(omp_simt_vote_any): New.
-	(omp_simt_xchg_bfly): New.
-	(omp_simt_xchg_idx): New.
-
-2016-11-16  Maciej W. Rozycki  <macro@imgtec.com>
-
-	* config/mips/mips-protos.h (mips_set_text_contents_type): New
-	prototype.
-	* config/mips/mips.h (ASM_OUTPUT_BEFORE_CASE_LABEL): New macro.
-	(ASM_OUTPUT_CASE_END): Likewise.
-	* config/mips/mips.c (mips_set_text_contents_type): New function.
-	(mips16_emit_constants): Record the pool's initial label number
-	with the `consttable' insn.  Emit a `consttable_end' insn at the end.
-	(mips_final_prescan_insn): Call `mips_set_text_contents_type'
-	for `consttable' insns.
-	(mips_final_postscan_insn): Call `mips_set_text_contents_type'
-	for `consttable_end' insns.
-	* config/mips/mips.md (unspec): Add UNSPEC_CONSTTABLE_END enum value.
-	(consttable): Add operand.
-	(consttable_end): New insn.
-
-2016-11-16  Yuri Rumyantsev  <ysrumyan@gmail.com>
-
-	* params.def (PARAM_VECT_EPILOGUES_NOMASK): New.
-	* tree-if-conv.c (tree_if_conversion): Make public.
-	* * tree-if-conv.h: New file.
-	* tree-vect-data-refs.c (vect_analyze_data_ref_dependences) Avoid
-	dynamic alias checks for epilogues.
-	* tree-vect-loop-manip.c (vect_do_peeling): Return created epilog.
-	* tree-vect-loop.c: include tree-if-conv.h.
-	(new_loop_vec_info): Add zeroing orig_loop_info field.
-	(vect_analyze_loop_2): Don't try to enhance alignment for epilogues.
-	(vect_analyze_loop): Add argument ORIG_LOOP_INFO which is not NULL
-	if epilogue is vectorized, set up orig_loop_info field of loop_vinfo
-	using passed argument.
-	(vect_transform_loop): Check if created epilogue should be returned
-	for further vectorization with less vf.  If-convert epilogue if
-	required. Print vectorization success for epilogue.
-	* tree-vectorizer.c (vectorize_loops): Add epilogue vectorization
-	if it is required, pass loop_vinfo produced during vectorization of
-	loop body to vect_analyze_loop.
-	* tree-vectorizer.h (struct _loop_vec_info): Add new field
-	orig_loop_info.
-	(LOOP_VINFO_ORIG_LOOP_INFO): New.
-	(LOOP_VINFO_EPILOGUE_P): New.
-	(LOOP_VINFO_ORIG_VECT_FACTOR): New.
-	(vect_do_peeling): Change prototype to return epilogue.
-	(vect_analyze_loop): Add argument of loop_vec_info type.
-	(vect_transform_loop): Return created loop.
-
-2016-11-16  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.c (rs6000_components_for_bb): Mark the LR
-	component as used also if LR_REGNO is a live input to the bb.
-	* df-scan.c (df_get_entry_block_def_set): Return immediately after
-	clearing the set if DF_SCAN_EMPTY_ENTRY_EXIT is set.
-	(df_get_exit_block_use_set): Ditto.
-	* df.h (df_scan_flags): New enum.
-	* shrink-wrap.c (try_shrink_wrapping_separate): Set
-	DF_SCAN_EMPTY_ENTRY_EXIT in df_scan->local_flags, and call
-	df_update_entry_block_defs and df_update_exit_block_uses
-	at the start; clear the flag and call those functions at the end.
-
-2016-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): Set
-	nb_iterations to the number of latch iterations rather than the
-	number of loop iterations.
-
-2016-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* combine.c (maybe_swap_commutative_operands): New function.
-	(combine_simplify_rtx): Use it.
-	(change_zero_ext): Likewise.
-	(make_compound_operation_int): New function, split out of...
-	(make_compound_operation): ...here.  Use
-	maybe_swap_commutative_operands for both.
-
-2016-11-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm/arm-fpus.def (vfpv2): New FPU, currently an alias for 'vfp'.
-	(neon-vfpv3): New FPU, currently an alias for 'neon'.
-	* arm/arm-tables.opt: Regenerated.
-	* arm/t-aprofile (MULTILIB_REUSE): Add reuse rules for vfpv2 and
-	neon-vfpv3.
-	* doc/invoke.texi (ARM: -mfpu): Document new options.  Note that 'vfp'
-	and 'neon' are aliases for specific implementations.
-
-2016-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* optabs.c (vector_compare_rtx): Add a cmp_mode parameter
-	and use it in the final call to gen_rtx_fmt_ee.
-	(expand_vec_cond_expr): Update accordingly.
-	(expand_vec_cmp_expr): Likewise.
-
-2016-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* cprop.c (local_cprop_find_used_regs): Use df_read_modify_subreg_p.
-
-2016-11-16  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/78333
-	* gimplify.c (gimplify_function_tree): Do not instrument
-	GNU extern inline functions.
-
-2016-11-16  Martin Liska  <mliska@suse.cz>
-
-	PR sanitizer/78270
-	* gimplify.c (gimplify_switch_expr): Always save previous
-	gimplify_ctxp->live_switch_vars.
-
-2016-11-16  Andrew Burgess  <andrew.burgess@embecosm.com>
-
-	* config/arc/arc.md (movb peephole2): New peephole2 to merge two
-	zero_extract operations to allow a movb to occur.
-	* testsuite/gcc.target/arc/movb-1.c: Update little endian arc results.
-	* testsuite/gcc.target/arc/movb-2.c: Likewise.
-	* testsuite/gcc.target/arc/movb-5.c: Likewise.
-	* testsuite/gcc.target/arc/movh_cl-1.c: Extend test to cover
-	little endian arc.
-
-2016-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* expr.c (emit_group_load_1): Tighten check for whether an
-	access involves only one operand of a CONCAT.  Use extract_bit_field
-	for constants if the bit range does span the whole operand.
-
-2016-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* rtlanal.c (rtx_addr_can_trap_p_1): Handle unknown sizes.
-
-2016-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-vect-loop.c (vect_transform_loop): Protect the updates of
-	all three iteration counts with an any_* test.  Use a single update
-	for each count.  Fix the calculation of nb_iterations_estimate.
-
-2016-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/pdp11/pdp11.c: Include dbxout.h.
-
-2016-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/arc/arc.c (arc_loop_hazard): Add missing brackets.
-
-2016-11-16  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/78364
-	* config/arm/arm.md (*extv_reg): Restrict operands 2 and 3 to the
-	proper ranges for an SBFX instruction.
-	(extzv_t2): Likewise for UBFX.
-
-2016-11-16  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/78348
-	* tree-loop-distribution.c (enum partition_kind): Add PKIND_MEMMOVE.
-	(generate_memcpy_builtin): Honor PKIND_MEMCPY on the partition.
-	(classify_partition): Set PKIND_MEMCPY if dependence analysis
-	revealed no dependency, PKIND_MEMMOVE otherwise.
-
-2016-11-16  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/77823
-	* ubsan.c (ubsan_build_overflow_builtin): Add DATAP argument, if
-	it points to non-NULL tree, use it instead of ubsan_create_data.
-	(instrument_si_overflow): Handle vector signed integer overflow
-	checking.
-	* ubsan.h (ubsan_build_overflow_builtin): Add DATAP argument.
-	* tree-vrp.c (simplify_internal_call_using_ranges): Punt for
-	vector IFN_UBSAN_CHECK_*.
-	* internal-fn.c (expand_addsub_overflow): Add DATAP argument,
-	pass it through to ubsan_build_overflow_builtin.
-	(expand_neg_overflow, expand_mul_overflow): Likewise.
-	(expand_vector_ubsan_overflow): New function.
-	(expand_UBSAN_CHECK_ADD, expand_UBSAN_CHECK_SUB,
-	expand_UBSAN_CHECK_MUL): Use tit for vector arithmetics.
-	(expand_arith_overflow): Adjust expand_*_overflow callers.
-
-2016-11-16  Matthias Klose  <doko@ubuntu.com>
-
-	* doc/install.texi: Remove references to java/libjava.
-
-2016-11-16  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* tree-ssa-coalesce.c (register_default_def): Remove
-	register_ssa_partition.
-	(create_outofssa_var_map): Likewise.
-	* tree-ssa-live.c (register_ssa_partition_check): Remove.
-	* tree-ssa-live.h (register_ssa_partition): Likewise.
-
-2016-11-15  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* genattrtab.c (attr_rtx_1): Avoid allocating new rtx objects.
-	Clear ATTR_CURR_SIMPLIFIED_P for re-used binary rtx objects.
-	Use DEF_ATTR_STRING for string arguments.  Use RTL_HASH for
-	integer arguments.  Only set ATTR_PERMANENT_P on newly hashed
-	rtx when all sub-rtx are also permanent.
-	(attr_eq): Simplify.
-	(attr_copy_rtx): Remove.
-	(make_canonical, get_attr_value): Use attr_equal_p.
-	(copy_boolean): Rehash NOT.
-	(simplify_test_exp_in_temp,
-	optimize_attrs): Remove call to attr_copy_rtx.
-	(attr_alt_intersection, attr_alt_union,
-	attr_alt_complement, mk_attr_alt): Rehash EQ_ATTR_ALT.
-	(make_automaton_attrs): Use attr_eq.
-
-2016-11-15  Matthias Klose  <doko@ubuntu.com>
-
-	* doc/install.texi: Remove references to java/libjava.
-	* doc/sourcebuild.texi: Likewise.
-	* doc/invoke.texi: Likewise.
-	* doc/standards.texi: Likewise.
-
-2016-11-15  Richard Sandiford  <richard.sandiford@arm.com>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* config/i386/i386.h (INCOMING_RETURN_ADDR_RTX): Use Pmode instead
-	of VOIDmode.
-	* config/ia64/ia64.h (INCOMING_RETURN_ADDR_RTX): Likewise.
-	* config/iq2000/iq2000.h (INCOMING_RETURN_ADDR_RTX): Likewise.
-	* config/m68k/m68k.h (INCOMING_RETURN_ADDR_RTX): Likewise.
-	* config/microblaze/microblaze.h (INCOMING_RETURN_ADDR_RTX): Likewise.
-	* config/mips/mips.h (INCOMING_RETURN_ADDR_RTX): Likewise.
-	* config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Likewise.
-	* config/nios2/nios2.h (INCOMING_RETURN_ADDR_RTX): Likewise.
-
-2016-11-15  Richard Sandiford  <richard.sandiford@arm.com>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* dce.c (check_argument_store): Pass the size instead of
-	the memory reference.
-	(find_call_stack_args): Pass MEM_SIZE to check_argument_store.
-
-2016-11-15  Richard Sandiford  <richard.sandiford@arm.com>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* alias.c (canon_rtx): Use simplify_gen_binary.
-
-2016-11-15  Richard Sandiford  <richard.sandiford@arm.com>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* rtl.h (load_extend_op): Declare.
-	* rtlanal.c (load_extend_op): New function.
-	(nonzero_bits1): Use it.
-	(num_sign_bit_copies1): Likewise.
-	* cse.c (cse_insn): Likewise.
-	* fold-const.c (fold_single_bit_test): Likewise.
-	(fold_unary_loc): Likewise.
-	* fwprop.c (free_load_extend): Likewise.
-	* postreload.c (reload_cse_simplify_set): Likewise.
-	(reload_cse_simplify_operands): Likewise.
-	* combine.c (try_combine): Likewise.
-	(simplify_set): Likewise.  Remove redundant SUBREG_BYTE and
-	subreg_lowpart_p checks.
-
-2016-11-15  Richard Sandiford  <richard.sandiford@arm.com>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* combine.c (simplify_shift_const_1): Use the number of bits
-	in the inner mode to determine the range of the shift.
-	When handling shifts of vectors, skip any rules that apply
-	only to scalars.
-
-2016-11-15  Richard Sandiford  <richard.sandiford@arm.com>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* rtlanal.c (num_sign_bit_copies1): Calculate bitwidth after
-	handling VOIDmode.
-
-2016-11-15  Matthias Klose  <doko@ubuntu.com>
-
-	* doc/install.texi: Remove references to gcj/libjava.
-	* doc/invoke.texi: Likewise.
-
-2016-11-15  Jeff Law  <law@redhat.com>
-
-	* tree-ssa-threadbackward.c (fsm_find_thread_path): Remove unneeded
-	parameter.  Callers changed.
-	(check-subpath_and_update_thread_path): Extracted from
-	fsm_find_control_statement_thread_paths.
-	(handle_phi, handle_assignment, handle_assignment_p): Likewise.
-	(handle_phi, handle_assignment): Allow any constant node, not
-	just INTEGER_CST.
-
-2016-11-15  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc-arch.h: New file.
-	* config/arc/arc-arches.def: Likewise.
-	* config/arc/arc-cpus.def: Likewise.
-	* config/arc/arc-options.def: Likewise.
-	* config/arc/t-multilib: Likewise.
-	* config/arc/genmultilib.awk: Likewise.
-	* config/arc/genoptions.awk: Likewise.
-	* config/arc/arc-tables.opt: Likewise.
-	* config/arc/driver-arc.c: Likewise.
-	* testsuite/gcc.target/arc/nps400-cpu-flag.c: Likewise.
-	* common/config/arc/arc-common.c (arc_handle_option): Trace
-	toggled options.
-	* config.gcc (arc*-*-*): Add arc-tables.opt to arc's extra
-	options; check for supported cpu against arc-cpus.def file.
-	(arc*-*-elf*, arc*-*-linux-uclibc*): Use new make fragment; define
-	TARGET_CPU_BUILD macro; add driver-arc.o as an extra object.
-	* config/arc/arc-c.def: Add emacs local variables.
-	* config/arc/arc-opts.h (processor_type): Use arc-cpus.def file.
-	(FPU_FPUS, FPU_FPUD, FPU_FPUDA, FPU_FPUDA_DIV, FPU_FPUDA_FMA)
-	(FPU_FPUDA_ALL, FPU_FPUS_DIV, FPU_FPUS_FMA, FPU_FPUS_ALL)
-	(FPU_FPUD_DIV, FPU_FPUD_FMA, FPU_FPUD_ALL): New defines.
-	(DEFAULT_arc_fpu_build): Define.
-	(DEFAULT_arc_mpy_option): Define.
-	* config/arc/arc-protos.h (arc_init): Delete.
-	* config/arc/arc.c (arc_cpu_name): New variable.
-	(arc_selected_cpu, arc_selected_arch, arc_arcem, arc_archs)
-	(arc_arc700, arc_arc600, arc_arc601): New variable.
-	(arc_init): Add static; remove selection of default tune value,
-	cleanup obsolete error messages.
-	(arc_override_options): Make use of .def files for selecting the
-	right cpu and option configurations.
-	* config/arc/arc.h (stdbool.h): Include.
-	(TARGET_CPU_DEFAULT): Define.
-	(CPP_SPEC): Remove mcpu=NPS400 handling.
-	(arc_cpu_to_as): Declare.
-	(EXTRA_SPEC_FUNCTIONS): Define.
-	(OPTION_DEFAULT_SPECS): Likewise.
-	(ASM_DEFAULT): Remove.
-	(ASM_SPEC): Use arc_cpu_to_as.
-	(DRIVER_SELF_SPECS): Remove deprecated options.
-	(arc_base_cpu):	Declare.
-	(TARGET_ARC600, TARGET_ARC601, TARGET_ARC700, TARGET_EM)
-	(TARGET_HS, TARGET_V2, TARGET_ARC600): Make them use arc_base_cpu
-	variable.
-	(MULTILIB_DEFAULTS): Use ARC_MULTILIB_CPU_DEFAULT.
-	* config/arc/arc.md (attr_cpu): Remove.
-	* config/arc/arc.opt (mno-mpy): Deprecate.
-	(mcpu=ARC600, mcpu=ARC601, mcpu=ARC700, mcpu=NPS400, mcpu=ARCEM)
-	(mcpu=ARCHS): Remove.
-	(mcrc, mdsp-packa, mdvbf, mmac-d16, mmac-24, mtelephony, mrtsc):
-	Deprecate.
-	(mbarrel_shifte, mspfp_, mdpfp_, mdsp_pack, mmac_): Remove.
-	(arc_fpu): Use new defines.
-	(mpy-option): Change to use numeric or string like inputs.
-	* config/arc/t-arc (driver-arc.o): New target.
-	(arc-cpus, t-multilib, arc-tables.opt): Likewise.
-	* config/arc/t-arc-newlib: Delete.
-	* config/arc/t-arc-uClibc: Renamed to t-uClibc.
-	* doc/invoke.texi (ARC): Update arc options.
-
-2016-11-15  Maciej W. Rozycki  <macro@imgtec.com>
-
-	* config/mips/mips.c (mips16_emit_constants): Emit `consttable'
-	insn at the beginning of the constant pool.
-	(mips_insert_insn_pseudos): New function.
-	(mips_machine_reorg2): Call it.
-	* config/mips/mips.md (unspec): Add UNSPEC_CONSTTABLE and
-	UNSPEC_INSN_PSEUDO enum values.
-	(insn_pseudo, consttable): New insns.
-
-2016-11-15  Michael Matz  <matz@suse.de>
-
-	PR missed-optimization/77881
-	* combine.c (simplify_comparison): Remove useless subregs
-	also inside the loop, not just after it.
-	(make_compound_operation): Recognize some subregs as being
-	masking as well.
-
-2016-11-15  Richard Sandiford  <richard.sandiford@arm.com>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* dwarf2out.c (mem_loc_descriptor): Fix GET_MODE_CLASS/
-	GET_MODE_SIZE typo.
-
-2016-11-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_expand_vector_set): Add support
-	for using xxinsertw and vinsert{b,h} on ISA 3.0.
-
-	* config/rs6000/vsx.md (vsx_extract_<mode>): Update comment.
-	(vsx_set_<mode>_p9): New insn to generate xxinsertw and
-	vinsert{b,h} on ISA 3.0.
-
-2016-11-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
-	and cmpnop in two steps: first the ones not accessed in original gimple
-	expression in a endian independent way and then the ones not accessed
-	in the final result in an endian-specific way.
-	(bswap_replace): Stop doing big endian adjustment.
-
-2016-11-14  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*andndi3_doubleword): Merge operand constraints.
-	(*ashl<mode>3_doubleword): Ditto.
-
-2016-11-14  Martin Liska  <mliska@suse.cz>
-
-	* tree-ssa-dse.c (dse_optimize_stmt): Remove quotes and extra new line.
-
-2016-11-14  Prasad Ghangal  <prasad.ghangal@gmail.com>
-	    Richard Biener  <rguenther@suse.de>
-
-	* doc/invoke.texi (fgimple): Document.
-	* dumpfile.h (TDF_GIMPLE): Add.
-	* dumpfile.c (dump_options): Add gimple.
-	* gimple-pretty-print.c (dump_gimple_switch): Adjust dump
-	for TDF_GIMPLE.
-	(dump_gimple_label): Likewise.
-	(dump_gimple_phi): Likewise.
-	(dump_gimple_bb_header): Likewise.
-	(dump_phi_nodes): Likewise.
-	(pp_cfg_jump): Likewise.  Pass in dump flags.
-	(dump_implicit_edges): Adjust.
-	* passes.c (pass_init_dump_file): Do not dump function header
-	for TDF_GIMPLE.
-	* tree-cfg.c (dump_function_to_file): Dump function return type
-	and __GIMPLE keyword for TDF_GIMPLE.  Change guard for dumping
-	GIMPLE stmts.
-	* tree-pretty-print.c (dump_decl_name): Adjust dump for TDF_GIMPLE.
-	(dump_generic_node): Likewise.
-	* function.h (struct function): Add pass_startwith member.
-	* passes.c (execute_one_pass): Implement startwith.
-	* tree-ssanames.c (make_ssa_name_fn): New argument, check for version
-	and assign proper version for parsed ssa names.
-	* tree-ssanames.h (make_ssa_name_fn): Add new argument to the function.
-	* internal-fn.c (expand_PHI): New function.
-	* internal-fn.h (expand_PHI): Declared here.
-	* internal-fn.def: New defination for PHI.
-	* tree-cfg.c (lower_phi_internal_fn): New function.
-	(build_gimple_cfg): Call it.
-	(verify_gimple_call): Condition for passing label as arg in internal
-	function PHI.
-	* tree-into-ssa.c (rewrite_add_phi_arguments): Handle already
-	present PHIs with arguments.
-
-2016-11-14  Martin Liska  <mliska@suse.cz>
-
-	PR bootstrap/78069
-	* common.opt: Add prefer-atomic as a new enum value for
-	-fprofile-update.
-	* coretypes.h: Likewise.
-	* doc/invoke.texi: Document the new option value.
-	* gcc.c: Replace atomic with prefer-atomic.  Remove warning.
-	* tree-profile.c (tree_profiling): Select default value
-	of -fprofile-update when 'prefer-atomic' is selected.
-
-2016-11-14  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/arm/cortex-a57.md (cortex_a57_alu): Move extend here, bfm...
-	(cortex_a57_alu_shift): ...here.
-
-2016-11-14  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.md (aarch64_ashl_sisd_or_int_<mode>3)
-	Use bfx attribute.
-	(aarch64_lshr_sisd_or_int_<mode>3): Likewise.
-	(aarch64_ashr_sisd_or_int_<mode>3): Likewise.
-	(<optab>si3_insn_uxtw): Likewise.
-	(<optab><mode>3_insn): Likewise.
-	(<ANY_EXTEND:optab><GPI:mode>_ashl<SHORT:mode>): Likewise.
-	(zero_extend<GPI:mode>_lshr<SHORT:mode>): Likewise.
-	(extend<GPI:mode>_ashr<SHORT:mode>): Likewise.
-	(<optab><mode>): Likewise.
-	(insv<mode>): Likewise.
-	(andim_ashift<mode>_bfiz): Likewise.
-	* config/aarch64/thunderx.md (thunderx_shift): Add bfx.
-	* config/arm/cortex-a53.md (cortex_a53_alu_shift): Likewise.
-	* config/arm/cortex-a57.md (cortex_a57_alu): Add bfx.
-	* config/arm/exynos-m1.md (exynos_m1_alu): Add bfx.
-	(exynos_m1_alu_p): Likewise.
-	* config/arm/types.md: Add bfx.
-	* config/arm/xgene1.md (xgene1_bfm): Add bfx.
-
-2016-11-14  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (cortexa57_vector_cost):
-	Change vec_stmt_cost, vec_align_load_cost and vec_unalign_load_cost.
-
-2016-11-14  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/78312
-	* gimple-ssa-backprop.c (backprop::prepare_change): Reset
-	flow-sensitive info.
-
-2016-11-14  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR target/78093
-	* doc/invoke.texi (AVR Options) [-mabsdata]: Document new option.
-	* config/avr/avr.opt (-mabsdata): New option.
-	* config/avr/avr-arch.h (avr_device_specific_features):	Add AVR_ISA_LDS.
-	* config/avr/avr.c (avr_encode_section_info) [AVR_TINY]: If
-	-mabsdata & symbol is not progmem, tag as AVR_SYMBOL_FLAG_TINY_ABSDATA.
-	* config/avr/avr-mcus.def (attiny4/5/9/10/20): Use AVR_ISA_LDS.
-	* config/avr/gen-avr-mmcu-specs.c (print_mcu): Print cc1_absdata
-	spec depending on AVR_ISA_LDS.
-	* config/avr/specs.h (CC1_SPEC): Enhanced by cc1_absdata spec.
-
-2016-11-13  Jakub Jelinek  <jakub@redhat.com>
-
-	* match.pd: Don't try to compare addresses of variables with
-	DECL_VALUE_EXPR.
-
-2016-11-13  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* ipa-cp.c (ipa_get_jf_pass_through_result): Skip unary expressions.
-	(propagate_vr_accross_jump_function): Handle unary expressions.
-	* ipa-prop.c (ipa_set_jf_unary_pass_through): New.
-	(load_from_param_1): New.
-	(load_from_unmodified_param): Factor common part into load_from_param_1.
-	(load_from_param): New.
-	(compute_complex_assign_jump_func): Handle unary expressions.
-	(update_jump_functions_after_inlining): Likewise.
-	(ipa_write_jump_function): Likewise.
-	(ipa_read_jump_function): Likewise.
-
-2016-11-13  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	PR c/35503
-	* doc/invoke.texi: Document Wrestrict.
-	* pretty-print.c (pp_format): Add case for "Z" specifier.
-	(test_pp_format): Test "Z" specifier.
-
-2016-11-13  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* ipa-icf.c (sem_function::merge): Do not create a wrapper also if the
-	original function needs a static chain.
-
-2016-11-13  David Edelsohn  <dje.gcc@gmail.com>
-
-	PR target/78336
-	* config/rs6000/rs6000.c (rs6000_asm_weaken_decl): Protect
-	ASM_OUTPUT_DEF.
-
-2016-11-12  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/77957
-	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
-	return early if !optional_tbtab.
-
-2016-11-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR rtl-optimization/59461
-	* doc/rtl.texi (paradoxical subregs): Add missing word.
-	* combine.c (reg_nonzero_bits_for_combine): Do not discard results
-	in modes with precision larger than that of last_set_mode.
-	* rtlanal.c (nonzero_bits1) <SUBREG>: If WORD_REGISTER_OPERATIONS is
-	set and LOAD_EXTEND_OP is appropriate, propagate results from inner
-	REGs to paradoxical SUBREGs.
-	(num_sign_bit_copies1) <SUBREG>: Likewise.  Check that the mode is not
-	larger than a word before invoking LOAD_EXTEND_OP on it.
-
-2016-11-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/78243
-	* config/rs6000/vsx.md (vsx_extract_<mode>_p9): Correct the
-	element order for little endian ordering.
-
-	* config/rs6000/altivec.md (reduc_plus_scal_<mode>): Use
-	VECTOR_ELT_ORDER_BIG and not BYTES_BIG_ENDIAN to adjust element
-	number.
-
-2016-11-11  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/78310
-	* config/i386/i386.md (rotate to rotatex splitter): Avoid overflow
-	when calculating operand 2.
-	(rotate to rotatex zext splitter): Ditto.
-
-2016-11-11  Jeff Law  <law@redhat.com>
-
-	* gimple-ssa-isolate-paths.c (is_divmod_with_given_divisor): New
-	function.
-	(stmt_uses_name_in_undefined_way): New function, extracted from
-	find_implicit_erroneous_behavior and extended for div/mod case.
-	(stmt_uses_0_or_null_in_undefined_way): New function, extracted from
-	find_explicit_erroneous_behavior and extended for div/mod case.
-	(find_implicit_erroneous_behavior): Use new helper function.
-	(find_explicit_erroneous_behavior): Use new helper function.
-
-2016-11-11  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71575
-	* graphite-isl-ast-to-gimple.c (copy_cond_phi_nodes): Remove
-	bogus assert.
-
-2016-11-11  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/78295
-	* tree-ssa-uninit.c (warn_uninitialized_vars): Do not warn
-	about uninitialized destination arg of BIT_INSERT_EXPR.
-
-2016-11-10  Sandra Loosemore  <sandra@codesourcery.com>
-
-	PR c/37998
-	* doc/invoke.texi (Code Gen Options) [-fno-common]: Use correct
-	terminology.  Expand to remove ambiguity.
-
-2016-11-10  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/78232
-	* combine.c (try_combine): Add a big comment about why reusing i2dest
-	is undesirable.
-	(change_zero_ext): Do not call simplify_gen_binary, do the
-	simplifications manually.
-
-2016-11-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If ISA 3.0,
-	enable HImode and QImode to go in vector registers by default if
-	the -mvsx-small-integer option is enabled.
-	(rs6000_secondary_reload_simple_move): Likewise.
-	(rs6000_preferred_reload_class): Don't force integer constants to
-	be loaded into vector registers that we can easily make into
-	memory (or being created in the GPRs and moved over with direct move).
-	* config/rs6000/vsx.md (UNSPEC_P9_MEMORY): Delete, no longer used.
-	(vsx_extract_<mode>): Rework V4SImode, V8HImode, and V16QImode
-	vector extraction on ISA 3.0 when the scalar integer can be
-	allocated in vector registers.  Generate the VEC_SELECT directy,
-	and don't use UNSPEC's to avoid having the scalar type in a vector
-	register.  Make the expander target registers, and let the
-	combiner fold in results storing to memory, if the machine
-	supports stores.
-	(vsx_extract_<mode>_di): Likewise.
-	(vsx_extract_<mode>_p9): Likewise.
-	(vsx_extract_<mode>_di_p9): Likewise.
-	(vsx_extract_<mode>_store_p9): Likewise.
-	(vsx_extract_si): Likewise.
-	(vsx_extract_<mode>_p8): Likewise.
-	(p9_lxsi<wd>zx): Delete, no longer used.
-	(p9_stxsi<wd>x): Likewise.
-	* config/rs6000/rs6000.md (INT_ISA3): New mode iterator for
-	integers in vector registers for ISA 3.0.
-	(QHI): Update comment.
-	(zero_extendqi<mode>2): Add support for ISA 3.0 scalar load or
-	vector extract instructions in sign/zero extend.
-	(zero_extendhi<mode>): Likewise.
-	(extendqi<mode>): Likewise.
-	(extendhi<mode>2): Likewise.
-	(HImode splitter for load/sign extend in vector register): Likewise.
-	(float<QHI:mode><FP_ISA3:mode>2): Eliminate old method of
-	optimizing floating point conversions to/from small data types and
-	rewrite it to support QImode/HImode being allowed in vector
-	registers on ISA 3.0.
-	(float<QHI:mode><FP_ISA3:mode>2_internal): Likewise.
-	(floatuns<QHI:mode><FP_ISA3:mode>2): Likewise.
-	(floatuns<QHI:mode><FP_ISA3:mode>2_internal): Likewise.
-	(fix_trunc<SFDF:mode><QHI:mode>2): Likewise.
-	(fix_trunc<SFDF:mode><QHI:mode>2_internal): Likewise.
-	(fixuns_trunc<SFDF:mode><QHI:mode>2): Likewise.
-	(fixuns_trunc<SFDF:mode><QHI:mode>2_internal): Likewise.
-	VSPLITISW on ISA 2.07.
-	(movhi_internal): Combine movhi_internal and movqi_internal into
-	one mov<mode>_internal with an iterator.  Add support for QImode
-	and HImode being allowed in vector registers.  Make large number
-	of attributes and constraints easier to read.
-	(movqi_internal): Likewise.
-	(mov<mode>_internal): Likewise.
-	(movdi_internal64): Fix constraint to allow loading -16..15 with
-	VSPLITISW on ISA 2.07.
-	(integer XXSPLTIB splitter): Add support for QI, HI, and SImode as
-	well as DImode.
-
-2016-11-10  Pat Haugen  <pthaugen@us.ibm.com>
-
-	PR rtl-optimization/78241
-	* loop-unroll.c (unroll_loop_runtime_iterations): Don't adjust 'niter',
-	but emit initial peel copy if niter expr is not reliable.
-
-2016-11-10  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* dwarf2cfi.c (dump_cfi_row): Add forward declaration.
-	(maybe_record_trace_start): If the CFI is different on the new and
-	old paths, print out both to the dump file before ICEing.
-
-2016-11-10  Vladimir Makarov  <vmakarov@redhat.com>
-
-	* target.def (additional_allocno_class_p): New.
-	* hooks.h (hook_bool_reg_class_t_false): New prototype.
-	* hooks.c (hook_bool_reg_class_t_false): New.
-	* ira.c (setup_allocno_and_important_classes): Use the new hook.
-	* doc/tm.texi.in (TARGET_ADDITIONAL_ALLOCNO_CLASS_P): Add it.
-	* doc/tm.texi: Update.
-
-2016-11-10  Jason Merrill  <jason@redhat.com>
-
-	* gengtype.c (new_structure): Append to structures list.
-	(find_structure): Likewise.
-
-2016-11-10  Jim Wilson  <jim.wilson@linaro.org>
-
-	* tree-loop-distribution.c (pg_add_dependence_edges): Return 2 if
-	this_dir is 2.  Check for this_dir non-zero before dir != this_dir
-	check.
-
-2016-11-10  Jakub Jelinek  <jakub@redhat.com>
-
-	* omp-low.c (lower_omp_target): Fix up argument to is_reference.
-	(expand_omp_ordered_sink): Handle TREE_PURPOSE of deps being
-	TRUNC_DIV_EXPR.
-	* gimplify.c (gimplify_scan_omp_clauses): Likewise.  Set
-	ctx->target_map_scalars_firstprivate on OMP_TARGET even for Fortran.
-	Remove omp_no_lastprivate callers.  Propagate lastprivate on combined
-	teams distribute parallel for simd even to distribute and teams
-	construct.  For OMP_CLAUSE_DEPEND add missing break at the end of
-	OMP_CLAUSE_DEPEND_SINK case.
-	(omp_notice_variable): Use lang_hooks.decls.omp_scalar_p.
-	(omp_no_lastprivate): Removed.
-	(gimplify_adjust_omp_clauses): Remove omp_no_lastprivate callers.
-	(gimplify_omp_for): Likewise.
-	(computable_teams_clause): Fail for automatic vars from current
-	function not yet seen in bind expr.
-	* langhooks.c (lhd_omp_scalar_p): New function.
-	* langhooks.h (struct lang_hooks_for_decls): Add omp_scalar_p.
-	* varpool.c (varpool_node::get_create): Set node->offloading
-	even for DECL_EXTERNAL decls.
-	* langhooks-def.h (lhd_omp_scalar_p): New prototype.
-	(LANG_HOOKS_OMP_SCALAR_P): Define.
-	(LANG_HOOKS_DECLS): Use it.
-
-2016-11-10  Martin Liska  <mliska@suse.cz>
-
-	PR sanitizer/78270
-	* gimplify.c (gimplify_switch_expr): Create live_switch_vars
-	only when SWITCH_BODY is a BIND_EXPR.
-
-2016-11-10  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	PR debug/78112
-	* dwarf2out.c (dwarf2out_early_global_decl): Call dwarf2out_decl
-	on the context only when it has no DIE yet.
-
-2016-11-10  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm.h (target_cpus): Delete.
-	* arm-opts.h (enum processor_type): Prefix entires with TARGET_CPU_.
-	* arm.c (all_cores): Prefix IDENT with TARGET_CPU_.
-	(all_architectures): Likewise.
-	(arm_option_override): Adjust use of CPU enums.
-	(arm_sched_reorder): Likewise.
-	* vfp.md (movdi_vfp, movdi_vfp_cortexa8): Likewise.
-	* arm.opt (mcpu, mtune): Adjust use of CPU enums.
-	* arm/genopt.sh (processor_type): Prefix enumeration entries with
-	TARGET_CPU_.
-	* arm-tables.opt: Regenerated.
-
-2016-11-10  Siddhesh Poyarekar  <siddhesh.poyarekar@linaro.org>
-
-	* config/aarch64/aarch64-cores.def (qdf24xx): Update part number.
-	(falkor): New core.
-	* config/aarch64/aarch64-tune.md: Regenerated.
-	* config/arm/arm-cores.def (falkor): New core.
-	* config/arm/arm-tables.opt: Regenerated.
-	* config/arm/arm-tune.md: Regenerated.
-	* config/arm/bpabi.h (BE8_LINK_SPEC): Add falkor support.
-	* config/arm/t-aprofile (MULTILIB_MATCHES): Likewise.
-	* doc/invoke.texi (AArch64 Options/-mtune): Document it.
-	(ARM Options/-mtune): Likewise.
-
-2016-11-10  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	Revert
-	2016-11-09  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* ipa-cp.c (ipa_get_jf_pass_through_result): Handle unary expressions.
-	(propagate_vr_accross_jump_function): Likewise.
-	* ipa-prop.c (ipa_set_jf_unary_pass_through): New.
-	(load_from_param_1): New.
-	(load_from_unmodified_param): Factor common part into load_from_param_1.
-	(load_from_param): New.
-	(compute_complex_assign_jump_func): Handle unary expressions.
-	(ipa_write_jump_function): Likewise.
-	(ipa_read_jump_function): Likewise.
-
-2016-11-09  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* simplify-rtx.c (simplify_binary_operation_1): Simplify
-	(xor (and (xor A B) C) B) to (ior (and A C) (and B ~C)) and
-	(xor (and (xor A B) C) A) to (ior (and A ~C) (and B C)) if C
-	is a const_int.
-
-2016-11-09  David Malcolm  <dmalcolm@redhat.com>
-
-	* print-rtl-function.c: Include varasm.h.
-	(print_any_param_name): New function.
-	(print_param): New function.
-	(print_rtx_function): Call print_param for each argument.
-	* print-rtl.c (rtx_writer::finish_directive): New function.
-	* print-rtl.h (rtx_writer::finish_directive): New decl.
-
-2016-11-09  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/78262
-	* config/i386/i386.md (*<shift_insn><mode>3_doubleword): Mark
-	operand 0 as earlyclobber.
-	(*ashl<mode>3_doubleword): Ditto for all operand 0 alternatives.
-
-2016-11-09  Martin Liska  <mliska@suse.cz>
-
-	* fold-const-call.c (fold_const_call): Fix up type of s0 and s1.
-
-2016-11-09  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/77718
-	* builtins.c (expand_builtin_memcmp): Formatting fix.
-
-	* flag-types.h (enum sanitize_code): Add SANITIZE_SHIFT_BASE
-	and SANITIZE_SHIFT_EXPONENT, change SANITIZE_SHIFT to bitwise
-	or of them, renumber other enumerators.
-	* opts.c (sanitizer_opts): Add shift-base and shift-exponent.
-	* doc/invoke.texi: Document -fsanitize=shift-base and
-	-fsanitize-shift-exponent, document -fsanitize=shift as
-	having those 2 suboptions.
-
-2016-11-09  Richard Biener  <rguenther@suse.de>
-
-	* fold-const.c (tree_swap_operands_p): Remove unused arg.
-	* fold-const.c (tree_swap_operands_p): Likewise.
-	(fold_binary_loc): Adjust.
-	(fold_ternary_loc): Likewise.
-	* genmatch.c (dt_operand::gen_gimple_exp): Likewise.
-	* gimple-fold.c (fold_stmt_1): Likewise.
-	* gimple-match-head.c (gimple_resimplify2): Likewise.
-	(gimple_resimplify3): Likewise.
-	(gimple_simplify): Likewise.
-	* tree-ssa-dom.c (record_equality): Likewise.
-	* tree-ssa-reassoc.c (optimize_range_tests_var_bound): Likewise.
-	* tree-ssa-sccvn.c (vn_nary_op_compute_hash): Likewise.
-	* tree-ssa-threadedge.c (simplify_control_stmt_condition_1): Likewise.
-
-2016-11-09  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-dom.c (canonicalize_comparison): Remove.
-	(optimize_stmt): Remove redundant pre-propagation canonicalization
-	of comparison operand order.
-
-2016-11-09  Martin Liska  <mliska@suse.cz>
-
-	* fold-const-call.c (fold_const_call): Fix the folding.
-
-2016-11-09  Richard Biener  <rguenther@suse.de>
-
-	* common.opt (flag_evaluation_order): Remove.
-	* expr.c (expand_operands): Remove code guarded by
-	flag_evaluation_order.
-	* fold-const.c (reorder_operands_p): Remove, it always returns
-	true.
-	(negate_expr_p): Remove calls to reorder_operands_p.
-	(fold_negate_expr): Likewise.
-	(tree_swap_operands_p): Likewise.
-	(fold_binary_loc): Likewise.
-
-2016-11-09  Andreas Schwab  <schwab@suse.de>
-
-	PR target/78254
-	* config/m68k/m68k.md: Reject out-of-range bit pos in bit-fields
-	insns operating on a register.
-
-2016-11-09  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/78007
-	* tree-vect-stmts.c (vectorizable_bswap): New function.
-	(vectorizable_call): Call vectorizable_bswap for
-	BUILT_IN_BSWAP{16,32,64} if arguments are not promoted.
-
-2016-11-09  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-data-refs.c (vect_compute_data_ref_alignment):
-	Look at the DR_BASE_ADDRESS object for forcing alignment.
-
-2016-11-09  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* ipa-cp.c (ipa_get_jf_pass_through_result): Handle unary expressions.
-	(propagate_vr_accross_jump_function): Likewise.
-	* ipa-prop.c (ipa_set_jf_unary_pass_through): New.
-	(load_from_param_1): New.
-	(load_from_unmodified_param): Factor common part into load_from_param_1.
-	(load_from_param): New.
-	(compute_complex_assign_jump_func): Handle unary expressions.
-	(ipa_write_jump_function): Likewise.
-	(ipa_read_jump_function): Likewise.
-
-2016-11-09  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	PR ipa/78121
-	* ipa-cp.c (propagate_vr_accross_jump_function): Pass param type.
-	Also fold constant passed as argument while computing value range.
-	(propagate_constants_accross_call): Pass param type.
-	* ipa-prop.c: export ipa_get_callee_param_type.
-	* ipa-prop.h: export ipa_get_callee_param_type.
-
-2016-11-09  Maxim Ostapenko  <m.ostapenko@samsung.com>
-
-	* asan.h (asan_intercepted_p): Handle BUILT_IN_STRCSPN,
-	BUILT_IN_STRPBRK, BUILT_IN_STRSPN and BUILT_IN_STRSTR.
-
-2016-11-09  Maxim Ostapenko  <m.ostapenko@samsung.com>
-
-	* asan.h (ASAN_STACK_MAGIC_PARTIAL): Remove.
-	* asan.c (ASAN_STACK_MAGIC_PARTIAL): Replace with
-	ASAN_STACK_MAGIC_MIDDLE.
-	(asan_global_struct): Increase the size of fields.
-	(asan_add_global): Add new field constructor.
-	* sanitizer.def (__asan_version_mismatch_check_v6): Replace with
-	__asan_version_mismatch_check_v8.
-
-2016-11-08  David Edelsohn  <dje.gcc@gmail.com>
-
-	* dwarf2asm.c (USE_LINKONCE_INDIRECT): Test XCOFF_DEBUGGING_INFO
-	at runtime.
-
-2016-11-08  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/70799
-	* config/i386/i386.c (dimode_scalar_to_vector_candidate_p):
-	Handle ASHIFT and LSHIFTRT.
-	(dimode_scalar_chain::compute_convert_gain): Ditto.
-	(dimode_scalar_chain::convert_insn): Ditto.
-
-2016-11-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* gimple-ssa-store-merging.c: Include selftest.h
-	(verify_array_eq): New function.
-	(verify_shift_bytes_in_array): Likewise.
-	(verify_shift_bytes_in_array_right): Likewise.
-	(verify_clear_bit_region): Likewise.
-	(verify_clear_bit_region_be): Likewise.
-	(store_merging_c_tests): Likewise.
-	* selftest.h (store_merging_c_tests): Declare prototype.
-	* selftest-run-tests.c (selftest::run_tests): Run
-	store_merging_c_tests.
-
-2016-11-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/arm.opt (mold-rtx-costs): Delete.
-	(mnew-generic-costs): Delete.
-	* config/arm/arm-protos.h (struct tune_params): Delete rtx_costs field.
-	* config/arm/arm.c (arm_rtx_costs_1): Delete.
-	(arm_size_rtx_costs): Likewise.
-	(arm_slowmul_rtx_costs): Likewise.
-	(arm_fastmul_rtx_costs): Likewise.
-	(arm_xscale_rtx_costs): Likewise.
-	(arm_9e_rtx_costs): Likewise.
-	(arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
-	arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
-	arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
-	arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
-	arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
-	arm_cortex_a5_tune, arm_xgene1_tune, arm_marvell_pj4_tune,
-	arm_cortex_a35_tune, arm_exynosm1_tune, arm_cortex_a73_tune,
-	arm_cortex_m7_tune):
-	Delete rtx_costs field.
-	(arm_new_rtx_costs): Rename to...
-	(arm_rtx_costs_internal): ... This.
-	(arm_rtx_costs): Remove old way of doing rtx costs.
-
-2016-11-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/arm.c (arm_slowmul_tune): Use generic_extra_costs.
-	(arm_fastmul_tune): Likewise.
-	(arm_strongarm_tune): Likewise.
-	(arm_xscale_tune): Likewise.
-	(arm_9e_tune): Likewise.
-	(arm_marvell_pj4_tune): Likewise.
-	(arm_v6t2_tune): Likewise.
-	(arm_v6m_tune): Likewise.
-	(arm_fa726te_tune): Likewise.
-
-2016-11-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR tree-optimization/78234
-	* gimple-ssa-store-merging.c (clear_bit_region): Fix off-by-one error
-	in start != 0 case.
-
-2016-11-08  Martin Liska  <mliska@suse.cz>
-
-	PR testsuite/78242
-	* dbgcnt.def: Add new debug counter asan_use_after_scope.
-	* gimplify.c (gimplify_decl_expr): Do not sanitize vars
-	with a value expr.  Do not add artificial variables to
-	live_switch_vars.  Use the debug counter.
-	(gimplify_target_expr): Use the debug counter.
-	* internal-fn.def: Remove ECF_TM_PURE from ASAN_MARK builtin.
-	* sanitizer.def: Set ATTR_NOTHROW_LEAF_LIST to
-	BUILT_IN_ASAN_CLOBBER_N and BUILT_IN_ASAN_UNCLOBBER_N.
-
-2016-11-08  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-stmts.c (get_group_load_store_type): If the
-	access is aligned do not trigger peeling for gaps.
-	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not
-	force alignment of vars with DECL_USER_ALIGN.
-
-2016-11-08  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/aarch64/t-aarch64 (aarch64-c.o): Depend on TARGET_H.
-
-2016-11-08  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/78205
-	* tree-vect-stmts.c (vectorizable_load): Move check whether
-	we may run into gaps when BB vectorizing SLP permutations ...
-	* tree-vect-slp.c (vect_supported_load_permutation_p): ...
-	here where we can do a more precise check.
-
-2016-11-08  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/78224
-	* tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
-	Split the fallthru edge in case its successor may have PHIs.
-	Do not free dominance info.
-
-2016-11-07  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/78229
-	* config/i386/i386.c (ix86_gimple_fold_builtin): Do not adjust
-	EH info even for bzhi and pdep/pext.
-
-2016-11-07  Peter Bergner  <bergner@vnet.ibm.com>
-
-	* config.gcc (powerpc*-*-*, rs6000*-*-*): Remove setting of
-	INCLUDE_EXTRA_SPEC for Advance Toolchain builds.
-
-2016-11-07  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.md (div<mode>3): Expand using rs6000_emit_swdiv
-	if appropriate.
-	* config/rs6000/vector.md (div<mode>3): Ditto.
-
-2016-11-07  David Edelsohn  <dje.gcc@gmail.com>
-
-	* configure.ac (.hidden): Change to conftest_s string. Provide string
-	for AIX assembler.
-	(gcc_cv_ld_hidden): Yes for AIX.
-	* configure: Regenerate.
-
-	* dwarf2asm.c (USE_LINKONCE_INDIRECT): Don't set for AIX (XCOFF).
-
-	* config/rs6000/rs6000-protos.h (rs6000_asm_weaken_decl): Declare
-	(rs6000_xcoff_asm_output_aligned_decl_common): Declare.
-	* config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_DECL_NAME): Define.
-	(ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
-	(ASM_OUTPUT_ALIGNED_COMMON): Delete.
-	* config/rs6000/rs6000.c (rs6000_init_builtins): Change clog rename
-	from #if to if.
-	(rs6000_xcoff_visibility): New.
-	(rs6000_xcoff_declare_function_name): Add visibility support.
-	(rs6000_xcoff_asm_globalize_decl_name): New.
-	(rs6000_xcoff_asm_output_aligned_decl_common): New.
-	(rs6000_asm_weaken_decl): New.
-	(rs6000_code_end): Disable HIDDEN_LINKONCE on XCOFF.
-	config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Change definition to
-	reference function.
-
-2016-11-07  Jack Howarth  <howarth.at.gcc@gmail.com>
-
-	PR driver/78206
-	* incpath.c (remove_dup): Also silently ignore EPERM.
-
-2016-11-07  Martin Jambor  <mjambor@suse.cz>
-
-	* tree.c (verify_type_variant): Use pointer comparison to check that
-	TYPE_SIZE_UNIT match.
-
-2016-11-07  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/77834
-	* dse.c (dse_step5): Call scan_reads even if just
-	insn_info->frame_read.  Improve and fix dump file messages.
-
-	PR target/78227
-	* config/i386/i386.c (ix86_expand_sse_cmp): Force dest into
-	cmp_mode argument even for -O0 if cmp_mode != mode and maskcmp.
-
-2016-11-07  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	PR middle-end/35691
-	* match.pd: Add following two patterns:
-	(x == 0 & y == 0) -> (x | typeof(x)(y)) == 0.
-	(x != 0 | y != 0) -> (x | typeof(x)(y)) != 0.
-
-2016-11-07  Bernd Schmidt  <bschmidt@redhat.com>
-
-	* emit-rtl.c (emit_copy_of_insn_after): Duplicate notes in order.
-	* sel-sched-ir.c (create_copy_of_insn_rtx): Likewise.
-	* rtl.h (duplicate_reg_notes): Declare.
-	* rtlanal.c (duplicate_reg_note): New function.
-
-	PR rtl-optimization/77309
-	* combine.c (make_compound_operation): Allow EQ for IN_CODE, and
-	don't assume an equality comparison for plain COMPARE.
-	(simplify_comparison): Pass a more accurate code to
-	make_compound_operation.
-
-2016-11-07  Pat Haugen  <pthaugen@us.ibm.com>
-
-	* target.def (compute_pressure_classes): New target hook.
-	* doc/tm.texi.in: Document it.
-	* doc/tm.texi: Regenerate.
-	* ira.c (setup_pressure_classes): Call target hook if defined.
-
-2016-11-07  David Malcolm  <dmalcolm@redhat.com>
-
-	* print-rtl.c (rtx_writer::operand_has_default_value_p): New
-	method.
-	(rtx_writer::print_rtx): In compact mode, omit trailing operands
-	that have the default values.
-	* print-rtl.h (rtx_writer::operand_has_default_value_p): New
-	method.
-	* rtl-tests.c (selftest::test_dumping_insns): Remove empty
-	label string from expected dump.
-	(seltest::test_uncond_jump): Remove trailing "(nil)" for REG_NOTES
-	from expected dump.
-
-2016-11-07  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/77834
-	* alias.c (nonoverlapping_memrefs_p): If one decl is
-	FUNCTION_DECL or LABEL_DECL and the other is not, return 1.
-
-2016-11-07  Richard Biener  <rguenther@suse.de>
-
-	PR target/78229
-	* config/i386/i386.c (ix86_gimple_fold_builtin): Do not adjust
-	EH info.
-
-2016-11-07  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/78218
-	* gimple-ssa-store-merging.c
-	(pass_store_merging::terminate_all_aliasing_chains):
-	Drop unused argument, fix alias check to also consider uses.
-	(pass_store_merging::execute): Adjust.
-
-2016-11-07  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/78228
-	* tree-ssa-phiopt.c (abs_replacement): Avoid introducing
-	undefined behavior.
-
-2016-11-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/77822
-	* config/aarch64/aarch64.md (*tb<optab><mode>1): Use
-	aarch64_simd_shift_imm_<mode> predicate for operand 1.
-	(<optab>, ANY_EXTRACT): Use tighter predicates on operands 2 and 3
-	to restrict them to an appropriate range and add FAIL check if the
-	region they specify is out of range.  Delete useless constraint
-	strings.
-	(*<optab><mode>, ANY_EXTRACT): Add appropriate predicates on operands
-	2 and 3 to restrict their range and add pattern predicate.
-
-2016-11-07  Martin Liska  <mliska@suse.cz>
-
-	* asan.c (enum asan_check_flags): Move the enum to header file.
-	(asan_init_shadow_ptr_types): Make type creation more generic.
-	(shadow_mem_size): New function.
-	(asan_emit_stack_protection): Use newly added ASAN_SHADOW_GRANULARITY.
-	Rewritten stack unpoisoning code.
-	(build_shadow_mem_access): Add new argument return_address.
-	(instrument_derefs): Instrument local variables if use after scope
-	sanitization is enabled.
-	(asan_store_shadow_bytes): New function.
-	(asan_expand_mark_ifn): Likewise.
-	(asan_sanitize_stack_p): Moved from asan_sanitize_stack_p.
-	* asan.h (enum asan_mark_flags): Moved here from asan.c
-	(asan_protect_stack_decl): Protect all declaration that need
-	to live in memory.
-	(asan_sanitize_use_after_scope): New function.
-	(asan_no_sanitize_address_p): Likewise.
-	* cfgexpand.c (partition_stack_vars): Consider
-	asan_sanitize_use_after_scope in condition.
-	(expand_stack_vars): Likewise.
-	* common.opt (-fsanitize-address-use-after-scope): New option.
-	* doc/invoke.texi (use-after-scope-direct-emission-threshold):
-	Explain the parameter.
-	* flag-types.h (enum sanitize_code): Define SANITIZE_USE_AFTER_SCOPE.
-	* gimplify.c (build_asan_poison_call_expr): New function.
-	(asan_poison_variable): Likewise.
-	(gimplify_bind_expr): Generate poisoning/unpoisoning for local
-	variables that have address taken.
-	(gimplify_decl_expr): Likewise.
-	(gimplify_target_expr): Likewise for C++ temporaries.
-	(sort_by_decl_uid): New function.
-	(gimplify_expr): Unpoison all variables for a label we can jump
-	from outside of a scope.
-	(gimplify_switch_expr): Unpoison variables defined in the switch
-	context.
-	(gimplify_function_tree): Clear asan_poisoned_variables.
-	(asan_poison_variables): New function.
-	(warn_switch_unreachable_r): Handle IFN_ASAN_MARK.
-	* internal-fn.c (expand_ASAN_MARK): New function.
-	* internal-fn.def (ASAN_MARK): Declare.
-	* opts.c (finish_options): Handle -fstack-reuse if
-	-fsanitize-address-use-after-scope is enabled.
-	(common_handle_option): Enable address sanitization if
-	-fsanitize-address-use-after-scope is enabled.
-	* params.def (PARAM_USE_AFTER_SCOPE_DIRECT_EMISSION_THRESHOLD):
-	New parameter.
-	* params.h: Likewise.
-	* sancov.c (pass_sanopt::execute): Handle IFN_ASAN_MARK.
-	* sanitizer.def: Define __asan_poison_stack_memory and
-	__asan_unpoison_stack_memory functions.
-	* asan.c (asan_mark_poison_p): New function.
-	(transform_statements): Handle asan_mark_poison_p calls.
-	* gimple.c (nonfreeing_call_p): Handle IFN_ASAN_MARK.
-
-2016-11-07  Tamar Christina  <tamar.christina@arm.com>
-
-	PR driver/78196
-	* Makefile.in (SELFTEST_FLAGS): Added -o /dev/null.
-
-2016-11-07  Martin Liska  <mliska@suse.cz>
-
-	* tree-profile.c (gimple_gen_time_profiler): Set proper type
-	to time_profiler_counter_ptr.
-
-2016-11-07  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/37150
-	* tree-vectorizer.h (vect_transform_slp_perm_load): Add n_perms
-	parameter.
-	* tree-vect-slp.c (vect_supported_load_permutation_p): Adjust.
-	(vect_analyze_slp_cost_1): Account for the real number of
-	permutations emitted and for dead loads.
-	(vect_transform_slp_perm_load): Add n_perms parameter counting
-	the number of emitted permutations.
-	* tree-vect-stmts.c (vectorizable_load): Adjust.
-
-2016-11-07  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/78189
-	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Fix
-	alignment computation.
-
-2016-11-06  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* ipa-cp.c (ipcp_bits_lattice::meet_with): Remove unreachable code.
-
-2016-11-05  Martin Sebor  <msebor@redhat.com>
-
-	* doc/invoke.texi (Warning Options): Correct typos in -Walloca
-	documentation.
-
-2016-11-05  David Edelsohn  <dje.gcc@gmail.com>
-
-	PR bootstrap/78188
-	PR c++/71848
-	* ipa-comdats.c (pass_ipa_comdats::gate): Require HAVE_COMDAT_GROUP.
-
-2016-11-04  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/77834
-	* alias.c (nonoverlapping_memrefs_p): Return 0 if exprx or expry
-	doesn't have rtl set.
-
-2016-11-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (gimple-ssa.h): New #include.
-	(TARGET_GIMPLE_FOLD_BUILTIN): Define as
-	rs6000_gimple_fold_builtin.
-	(rs6000_gimple_fold_builtin): New function.  Add handling for
-	early expansion of vector addition builtins.
-
-2016-11-04  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* expr.h (copy_blkmode_from_reg): Delete.
-	* expr.c (copy_blkmode_from_reg): Make static.
-
-2016-11-04  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* defaults.h (LOAD_EXTEND_OP): Define if not already defined.
-	* combine.c (LOAD_EXTEND_OP): Delete.
-	(simplify_comparison): Fix comment about LOAD_EXTEND_OP.
-	* cse.c (LOAD_EXTEND_OP): Delete.
-	* fold-const.c (LOAD_EXTEND_OP): Likewise.
-	* fwprop.c (free_load_extend): Remove #ifdef LOAD_EXTEND_OP/#endif.
-	* postreload.c (LOAD_EXTEND_OP): Delete.
-	* reload.c (push_reload): Remove #ifdef LOAD_EXTEND_OP/#endif.
-	Convert conditional compilation based on WORD_REGISTER_OPERATIONS.
-	(find_reloads): Likewise.
-	* reload1.c (eliminate_regs_1): Likewise.
-	* rtlanal.c (nonzero_bits1): Remove #ifdef LOAD_EXTEND_OP/#endif.
-	(num_sign_bit_copies1): Likewise.
-
-2016-11-04  David Malcolm  <dmalcolm@redhat.com>
-
-	* config/i386/i386.c: Include "selftest.h" and "selftest-rtl.h".
-	(selftest::ix86_test_dumping_hard_regs): New function.
-	(selftest::ix86_run_selftests): New function.
-	(TARGET_RUN_TARGET_SELFTESTS): When CHECKING_P, wire this up to
-	selftest::ix86_run_selftests.
-	* doc/tm.texi.in (TARGET_RUN_TARGET_SELFTESTS): New.
-	* doc/tm.texi: Regenerate
-	* selftest-rtl.h: New file.
-	* rtl-tests.c: Include "selftest-rtl.h".
-	(selftest::assert_rtl_dump_eq): Make non-static.
-	(ASSERT_RTL_DUMP_EQ): Move to selftest-rtl.h.
-	(selftest::test_dumping_regs): Update comment.
-	* selftest-run-tests.c: Include "target.h".
-	(selftest::run_tests): If non-NULL, call
-	targetm.run_target_selftests.
-	* target.def (run_target_selftests): New hook.
-
-2016-11-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm-arches.def (armv8-m.main+dsp): Set Cortex-M33 as
-	representative core for this architecture.
-	* config/arm/arm-cores.def (cortex-m33): Define new processor.
-	* config/arm/arm-tables.opt: Regenerate.
-	* config/arm/arm-tune.md: Likewise.
-	* config/arm/bpabi.h (BE8_LINK_SPEC): Add Cortex-M33 to the list of
-	valid -mcpu options.
-	* doc/invoke.texi (ARM Options): Document new Cortex-M33 processor.
-
-2016-11-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm-arches.def (armv8-m.base): Set Cortex-M23 as
-	representative core for this architecture.
-	* config/arm/arm-cores.def (cortex-m23): Define new processor.
-	* config/arm/arm-tables.opt: Regenerate.
-	* config/arm/arm-tune.md: Likewise.
-	* config/arm/arm.c (arm_v6m_tune): Add Cortex-M23 to the list of cores
-	this tuning parameters apply to in the comment.
-	* config/arm/bpabi.h (BE8_LINK_SPEC): Add Cortex-M23 to the list of
-	valid -mcpu options.
-	* doc/invoke.texi (ARM Options): Document new Cortex-M23 processor.
-
-2016-11-04  Bin Cheng  <bin.cheng@arm.com>
-
-	* fold-const.c (fold_cond_expr_with_comparison): Remove call
-	to pedantic_non_lvalue_loc.  Remove useless code for lvalue
-	where cond_expr can't be a lvalue.
-
-2016-11-04  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (arc_process_double_reg_moves): Use
-	gen_dexcl_2op call.
-	* config/arc/arc.md (movsi_insn): Disable unsupported move
-	instructions for ARCv2 cores.
-	(movdi): Use prepare_move_operands.
-	(movsf, movdf): Use move_dest_operand predicate.
-	* config/arc/constraints.md (Chs): Enable when barrel shifter is
-	present.
-	* config/arc/fpu.md (divsf3): Change to divsf3_fpu.
-	* config/arc/fpx.md (dexcl_3op_peep2_insn): Dx data register is
-	also a destination.
-	(dexcl_3op_peep2_insn_nores): Likewise.
-	* config/arc/arc.h (SHIFT_COUNT_TRUNCATED): Define to one.
-	(LINK_COMMAND_SPEC): Remove.
-
-2016-11-04  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/78185
-	* loop-invariant.c (find_exits): Record entering inner
-	loops as possibly exiting to handle infinite sub-loops.
-	* tree-ssa-loop-im.c: Include tree-ssa-loop-niter.h.
-	(fill_always_executed_in_1): Honor infinite child loops.
-
-2016-11-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/78192
-	* config/rs6000/vsx.md (vsx_extract_<mode>_di): The element number
-	has already been adjusted for endianness, so don't adjust it any
-	further.
-
-	PR target/77993
-	* config/rs6000/rs6000.h (FLOAT128_IBM_P): Do not allow IFmode or
-	ICmode unless we have standard PowerPC floating point.
-	* config/rs6000/rs6000.md (FP iterator): Likewise.
-	(FMOVE128 iterator): Likewise.
-
-2016-11-03  Jakub Jelinek  <jakub@redhat.com>
-	    Alexandre Oliva  <aoliva@redhat.com>
-	    Jason Merrill  <jason@redhat.com>
-
-	PR debug/28767
-	PR debug/56974
-	* langhooks.h (struct lang_hooks_for_types): Add type_dwarf_attribute
-	langhook.
-	* langhooks.c (lhd_type_dwarf_attribute): New function.
-	* langhooks-def.h (lhd_type_dwarf_attribute): Declare.
-	(LANG_HOOKS_TYPE_DWARF_ATTRIBUTE): Define.
-	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Add
-	LANG_HOOKS_TYPE_DWARF_ATTRIBUTE.
-	(check_qualified_type, check_aligned_type): Call it.
-	* dwarf2out.c (modified_type_die): Don't use type_main_variant
-	for FUNCTION_TYPE or METHOD_TYPE, instead walk over variants with
-	check_base_type and check_lang_type.
-	(gen_ptr_to_mbr_type_die): If lookup_type_die is already non-NULL,
-	return early.  For pointer-to-data-member add DW_AT_use_location
-	attribute.
-	(gen_subroutine_type_die): Add DW_AT_{,rvalue_}reference attribute
-	if needed.
-	(gen_type_die_with_usage): Don't use type_main_variant
-	for FUNCTION_TYPE or METHOD_TYPE, instead walk over variants with
-	check_base_type and check_lang_type.  Formatting fixes. Call
-	get_debug_type langhook.
-
-2016-11-03  Jason Merrill  <jason@redhat.com>
-
-	* tree.c (check_lang_type): New.
-	(check_qualified_type): Use it.
-	(check_aligned_type): Use it.
-	* tree.h: Declare it.
-
-2016-11-03  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config.gcc (arm-wrs-vxworks): Set target_cpu_cname.
-	(arm*-freebsd*): Likewise.
-	(arm*-*-netbsdelf*): Likewise.
-	(arm*-*-linux*): Likewise.
-	(arm*-*-uclinux*eabi*): Likewise.
-	(arm*-*-phoenix*): Likewise.
-	(arm*-*-eabi*, arm*-*-symbianelf*, arm*-*-rtems*): Likewise.
-	(arm*-*-*): Don't clobber target_cpu_cname when --with-cpu is not
-	specified.  Default to arm6 if target_cpu_cname is not set.
-	* arm/arm.c (arm_option_override): Simplify logic.  Assert that the
-	default cpu has been correctly configured.
-	* arm/arm.h (TARGET_CPU_DEFAULT): Delete.
-	(target_cpus): Delete TARGET_CPU_generic, add TARGET_CPU_num_cores.
-	* arm/freebsd.h (SUBTARGET_CPU_DEFAULT): Delete.
-	* arm/linux-eabi.h (SUBTARGET_CPU_DEFAULT): Delete.
-	* arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Delete.
-	* arm/symbian.h (SUBTARGET_CPU_DEFAULT): Delete.
-	* arm/unknown-elf.h (SUBTARGET_CPU_DEFAULT): Delete.
-
-2016-11-03  Jiong Wang  <jiong.wang@arm.com>
-
-	* reg-notes.def (CFA_VAL_EXPRESSION): New entry.
-	* dwarf2cfi.c (dwarf2out_frame_debug_cfa_val_expression): New function.
-	(dwarf2out_frame_debug): Support REG_CFA_VAL_EXPRESSION.
-	(output_cfa_loc): Support DW_CFA_val_expression.
-	(output_cfa_loc_raw): Likewise.
-	(output_cfi): Likewise.
-	(output_cfi_directive): Likewise.
-	* dwarf2out.c (dw_cfi_oprnd1_desc): Support DW_CFA_val_expression.
-	(dw_cfi_oprnd2_desc): Likewise.
-	(mem_loc_descriptor): Recognize new pattern generated for value
-	expression.
-
-2016-11-03  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/78186
-	* combine.c (change_zero_ext): Mask the RHS of a zero_extract as
-	well, when converting to IOR.
-
-2016-11-03  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/sparc/sparc.md (vec_interleave_lowv8qi): Delete.
-	(vec_interleave_highv8qi): Likewise.
-
-2016-11-03  Martin Liska  <mliska@suse.cz>
-
-	* profile.c (instrument_values): Fix coding style.
-	(branch_prob): Use renamed function.
-	* tree-profile.c (init_ic_make_global_vars): Likewise.
-	(gimple_init_edge_profiler): Rename to
-	gimple_init_gcov_profiler.
-	tree_time_profiler_counter variable declaration.
-	(gimple_gen_time_profiler): Rewrite to do a direct gimple code
-	emission.
-	* value-prof.h: Remove an argument.
-
-2016-11-03  Richard Biener  <rguenther@suse.de>
-
-	* config/rs6000/rs6000.c (rs6000_xcoff_declare_object_name): Use
-	symtab_node::get_create.
-
-2016-11-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* rtlanal.c (nonzero_bits1): Fix WORD_REGISTER_OPERATIONS condition.
-	Move comments into more natural position.
-
-2016-11-03  Vineet Gupta  <vgupta@synopsys.com>
-
-	* config/arc/arc.h (SIZE_TYPE): Define as unsigned int.
-	(PTRDIFF_TYPE): Define as int.
-
-2016-11-03  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* ccmp.c (expand_ccmp_expr_1): Adjust.
-	(expand_ccmp_expr): Likewise.
-	(expand_ccmp_next): Likewise.
-	* config/aarch64/aarch64.c (aarch64_gen_ccmp_next): Likewise.
-	(aarch64_gen_ccmp_first): Likewise.
-	* doc/tm.texi: Regenerate.
-	* target.def (gen_ccmp_first): Change argument types to rtx_insn *.
-	(gen_ccmp_next): Likewise.
-
-2016-11-03  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-vect-loop.c (destroy_loop_vec_info): Handle cond_expr.
-	(vect_is_simple_reduction): Swap cond_reduction by inversion.
-
-2016-11-02  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (ix86_init_libfuncs): New.  Call
-	darwin_rename_builtins here.
-	(ix86_expand_divmod_libfunc): New.
-	(TARGET_INIT_LIBFUNCS): Unconditionally define to ix86_init_libfuncs.
-	(TARGET_EXPAND_DIVMOD_LIBFUNC): Define.
-
-2016-11-02  Cesar Philippidis  <cesar@codesourcery.com>
-	    Nathan Sidwell  <nathan@acm.org>
-
-	* config/nvptx/nvptx.c (PTX_GANG_DEFAULT): Set to zero.
-
-2016-11-02  Max Filippov  <jcmvbkbc@gmail.com>
-
-	* config/xtensa/xtensa.c (xtensa_output_integer_literal_parts):
-	New function.
-	(xtensa_output_literal): Use xtensa_output_integer_literal_parts
-	to format MODE_INT and MODE_PARTIAL_INT literals.
-
-2016-11-02  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/78168
-	* config/r6000/rs6000.c (rs6000_get_separate_components): Return
-	NULL if TARGET_SPE_ABI.
-
-2016-11-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* gimple-ssa-store-merging.c (encode_tree_to_bitpos): Don't forget to
-	clear padding bits even when they're less than a byte.
-
-2016-11-02  Richard Biener  <rguenther@suse.de>
-
-	* gimple-ssa-store-merging.c: Include gimplify-me.h.
-	(imm_store_chain_info::output_merged_stores): Force base_addr
-	to be proper GIMPLE for a MEM_REF address.
-	(pass_store_merging::execute): Restrict negative bitpos
-	handling to non-MEM_REF bases.  Remove TREE_THIS_VOLATILE
-	check.  Take into account non-NULL_TREE offset if the base
-	is already addressable.
-
-2016-11-26  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64-simd.md (aarch64_crypto_sha1hv4si):
-	New pattern.
-	(aarch64_be_crypto_sha1hv4si): New pattern.
-
-2016-11-02  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.md (add<mode>3): Remove
-	redundant code.  Don't split frame based additions.
-
-2016-11-02  Richard Biener  <rguenther@suse.de>
-
-	* gimple-ssa-store-merging.c (struct store_immediate_info): Remove
-	redundant val and dest members.
-	(store_immediate_info::store_immediate_info): Adjust.
-	(merged_store_group::merged_store_group): Adjust.
-	(merged_store_group::apply_stores): Likewise.
-	(struct imm_store_chain_info): Add base_addr field.
-	(imm_store_chain_info::imm_store_chain_info): New constructor.
-	(imm_store_chain_info::terminate_and_process_chain): Do not pass base.
-	(imm_store_chain_info::output_merged_store): Likewise.  Use
-	addr_base which is already the address.
-	(imm_store_chain_info::output_merged_stores): Likewise.
-	(pass_tree_store_merging::terminate_all_aliasing_chains): Take
-	imm_store_chain_info instead of base.  Fix alias check.
-	(pass_tree_store_merging::terminate_and_release_chain): Likewise.
-	(imm_store_chain_info::coalesce_immediate_stores): Adjust.
-	(pass_store_merging::execute): Refuse to operate on TARGET_MEM_REF.
-	use the address of the base and adjust for other changes.
-
-2016-11-02  Martin Liska  <mliska@suse.cz>
-
-	* fold-const-call.c (host_size_t_cst_p): Test whether
-	t is convertible to size_t.
-
-2016-11-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR tree-optimization/78170
-	* gimple-ssa-store-merging.c (encode_tree_to_bitpos): Truncate padding
-	introduced by native_encode_expr on little-endian as well.
-
-2016-11-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR tree-optimization/78162
-	* gimple-ssa-store-merging.c (execute): Mark stores with bitpos < 0
-	as invalid.
-
-2016-11-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_register_saved_on_entry): Add
-	function comment.
-	(aarch64_next_callee_save): Likewise.
-	(aarch64_pushwb_single_reg): Likewise.
-	(aarch64_gen_storewb_pair): Likewise.
-	(aarch64_push_regs): Likewise.
-	(aarch64_gen_loadwb_pair): Likewise.
-	(aarch64_pop_regs): Likewise.
-	(aarch64_gen_store_pair): Likewise.
-	(aarch64_gen_load_pair): Likewise.
-	(aarch64_save_callee_saves): Likewise.
-	(aarch64_restore_callee_saves): Likewise.
-
-2016-11-02  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/78035
-	PR tree-optimization/77964
-	* gimple-pretty-print.c (pp_points_to_solution): Print
-	vars_contains_interposable.
-	* tree-ssa-alias.c: Include varasm.h.
-	(ptrs_compare_unequal): Check vars_contains_interposable and
-	decl_binds_to_current_def_p.
-	(dump_points_to_solution): Dump vars_contains_interposable.
-	* tree-ssa-alias.h (struct pt_solution): Add vars_contains_interposable
-	flag.
-	* tree-ssa-structalias.c: Include varasm.h.
-	(set_uids_in_ptset): Record whether vars contains a
-	not decl_binds_to_current_def_p variable in vars_contains_interposable.
-	(ipa_escaped_pt): Update initializer.
-
-2016-11-02  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/78047
-	* tree-ssa-structalias.c (push_fields_onto_fieldstack): Initialize
-	fake field at offset zero conservatively regarding to may_have_pointers.
-
-2016-11-02  Richard Biener  <rguenther@suse.de>
-
-	* tree-vrp.c (evrp_dom_walker::before_dom_children): Call
-	infer_value_range on stmt ops and update value-ranges.
-	Dump visited stmts and blocks.
-	(evrp_dom_walker::push_value_range): Dump changes.
-	(evrp_dom_walker::pop_value_range): Likewise.
-	(evrp_dom_walker::try_find_new_range): Avoid noop changes.
-
-2016-11-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* emit-rtl.c (prev_nonnote_insn_bb): Change argument type to
-	rtx_insn *.
-	* rtl.h (prev_nonnote_insn_bb): Adjust prototype.
-
-2016-11-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* cfgrtl.c (delete_insn_chain): Change argument type to rtx_insn *
-	and adjust for that.
-	* cfgrtl.h (delete_insn_chain): Adjust prototype.
-
-2016-11-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* config/rl78/rl78.c (gen-and_emit_move): Change argument type
-	to rtx_insn *.
-	(transcode_memory_rtx): Likewise.
-	(move_to_acc): Likewise.
-	(move_from_acc): Likewise.
-	(move_acc_to_reg): Likewise.
-	(move_to_x): Likewise.
-	(move_to_hl): Likewise.
-	(move_to_de): Likewise.
-	* config/rs6000/rs6000.c (emit_frame_save): Likewise.
-	(rs6000_emit_savres_rtx): Likewise.
-	(rs6000_emit_prologue): Likewise.
-	* reorg.c (update_reg_unused_notes): Likewise.
-	* rtl.h (remove_note): Adjust prototype.
-	* rtlanal.c (remove_note): Make argument type rtx_insn *.
-
-2016-11-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* config/alpha/alpha.c (alpha_legitimize_address_1): Split up
-	variables so some can be rtx_insn *.
-	(alpha_emit_xfloating_libcall): Likewise.
-	* config/mips/mips.c (mips_call_tls_get_addr): Likewise.
-	(mips_legitimize_tls_address): Likewise.
-	* optabs.c (expand_binop): Likewise.
-	* reload1.c (gen_reload): Likewise.
-
-2016-11-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* reorg.c (relax_delay_slots): Split up the trial variable.
-
-2016-11-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* config/arc/arc.c (arc_emit_call_tls_get_addr): Make the type
-	of variables rtx_insn *.
-	* config/arm/arm.c (arm_call_tls_get_addr): Likewise.
-	(legitimize_tls_address): Likewise.
-	* config/bfin/bfin.c (hwloop_optimize): Likewise.
-	(bfin_gen_bundles): Likewise.
-	* config/c6x/c6x.c (reorg_split_calls): Likewise.
-	(c6x_reorg): Likewise.
-	* config/frv/frv.c (frv_reorder_packet): Likewise.
-	* config/i386/i386.c (ix86_split_idivmod): Likewise.
-	* config/ia64/ia64.c (ia64_expand_compare): Likewise.
-	* config/m32c/m32c.c (m32c_prepare_shift): Likewise.
-	* config/mn10300/mn10300.c: Likewise.
-	* config/rl78/rl78.c: Likewise.
-	* config/s390/s390.c (s390_fix_long_loop_prediction): Likewise.
-	* config/sh/sh-mem.cc (sh_expand_cmpstr): Likewise.
-	(sh_expand_cmpnstr): Likewise.
-	(sh_expand_strlen): Likewise.
-	(sh_expand_setmem): Likewise.
-	* config/sh/sh.md: Likewise.
-	* emit-rtl.c (emit_pattern_before): Likewise.
-	* except.c: Likewise.
-	* final.c: Likewise.
-	* jump.c: Likewise.
-
-2016-11-01  Jason Merrill  <jason@redhat.com>
-
-	* tree-inline.c (copy_tree_body_r): Only copy the taken branch of
-	a COND_EXPR with constant condition.
-
-2016-11-01  Jakub Jelinek  <jakub@redhat.com>
-
-	* dwarf2out.c (gen_variable_die): Remove again origin_die variable
-	and its initialization.
-
-2016-11-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	* dwarf2out.c (output_rnglists): Wrap basebuf, len in
-	HAVE_AS_LEB128.
-
-2016-11-01  Jakub Jelinek  <jakub@redhat.com>
-
-	* dwarf2out.c (add_name_and_src_coords_attributes): Add NO_LINKAGE_NAME
-	argument, don't call add_linkage_name if it is true.
-	(gen_variable_die): For C++ inline static data members, consider the
-	initial call when old_die is NULL to be declaration and call
-	add_name_and_src_coords_attributes in that case with true as
-	NO_LINKAGE_NAME.  Add DW_AT_inline attribute if needed.
-	(gen_member_die): For C++ inline static data members, emit a
-	definition DIE right away in DW_TAG_compile_unit context.
-
-2016-11-01  John David Anglin  <danglin@gcc.gnu.org>
-
-	PR target/78166
-	* config/pa/pa.md: Add new shift/add patterns to handle
-	(plus (mult (reg) (mem_shadd_operand)) (reg)) source operand.
-
-2016-11-01  Max Filippov  <jcmvbkbc@gmail.com>
-
-	* config/xtensa/xtensa-protos.h
-	(xtensa_use_return_instruction_p): New prototype.
-	* config/xtensa/xtensa.c (xtensa_current_frame_size,
-	xtensa_callee_save_size): Remove.
-	(struct machine_function): Add new fields: current_frame_size,
-	callee_save_size, frame_laid_out and epilogue_done.
-	(compute_frame_size, xtensa_expand_prologue,
-	xtensa_expand_epilogue): Replace xtensa_callee_save_size with
-	cfun->machine->callee_save_size and xtensa_current_frame_size
-	with cfun->machine->current_frame_size.
-	(compute_frame_size): Update cfun->machine->frame_laid_out and
-	don't update frame layout after reload completion.
-	(xtensa_expand_epilogue): Set cfun->machine->epilogue_done
-	instead of zeroing xtensa_current_frame_size.
-	(xtensa_use_return_instruction_p): New function.
-	* config/xtensa/xtensa.h (xtensa_current_frame_size): Remove
-	declaration.
-	(INITIAL_ELIMINATION_OFFSET): Use return value of
-	compute_frame_size instead of xtensa_current_frame_size value.
-	* config/xtensa/xtensa.md ("return" pattern): Use new predicate
-	function xtensa_use_return_instruction_p instead of inline code.
-
-2016-11-01  Jakub Jelinek  <jakub@redhat.com>
-
-	* tree.h (BLOCK_IN_COLD_SECTION_P): Define.
-	* final.c (final_scan_insn): Set BLOCK_IN_COLD_SECTION_P.
-	* dwarf2out.c (rnglist_idx): New variable.
-	(struct dw_ranges): Add label, idx and maybe_new_sec fields.
-	(DEBUG_RNGLISTS_SECTION): Define.
-	(ranges_base_label): New variable.
-	(size_of_die) <case dw_val_class_range_list>: If using
-	DW_FORM_rnglistx, count size of uleb128 of range list index.
-	(value_format) <case dw_val_class_range_list>: For
-	-gdwarf-5 -gsplit-dwarf return DW_FORM_rnglistx.
-	(output_range_list_offset): Handle -gdwarf-5 .debug_rnglists
-	offsets.  Multiply dwarf < 5 offsets by 2 * DWARF_ADDR_SIZE.
-	(add_ranges_num): Remove useless prototype.  Don't multiply
-	by 2 * DWARF2_ADDR_SIZE.  Add maybe_new_sec argument, adjust
-	for new fields added to dw_ranges struct.
-	(add_ranges): Add maybe_new_sec argument and pass it
-	through to add_ranges_num.
-	(note_rnglist_head): New function.
-	(add_ranges_by_labels): Pass true as maybe_new_sec to
-	add_ranges_num, call note_rnglist_head on the head of the list.
-	(output_ranges): Add function comment.  Switch to
-	.debug_ranges section here and emit .Ldebug_ranges0 label.
-	(index_rnglists, output_rnglists): New functions.
-	(gen_subprogram_die): Formatting fixes.
-	(add_high_low_attributes): Don't divide offsets
-	by 2 * DWARF2_ADDR_SIZE.  Call note_rnglist_head on the
-	first list element or when pointing into the middle of
-	a list.  Pass true as second argument to add_ranges on the
-	first block fragment after cold/hot section switch.
-	(init_sections_and_labels): For -gdwarf-5 use .debug_rnglists
-	section instead of .debug_ranges.  Initialize
-	ranges_base_label if -gdwarf-5 -gsplit-dwarf.
-	(dwarf2out_finish): For -gdwarf-5 -gsplit-dwarf call
-	index_rnglists and add DW_AT_rnglists_base attr.  Don't switch
-	to dwarf_ranges_section here or emit .Ldebug_ranges0 label.
-	Call output_rnglists for -gdwarf-5.
-	(dwarf2out_c_finalize): Clear rnglist_idx.
-
-2016-11-01  Fritz Reese  <fritzoreese@gmail.com>
-
-	* combine.c (simplify_compare_const): Add gcc_fallthrough.
-
-2016-11-01  Bilyan Borisov  <bilyan.borisov@arm.com>
-	    Tamar Christina <tamar.christina@arm.com>
-
-	* config/arm/arm-c.c (arm_cpu_builtins): New macro definition.
-	* config/arm/arm_neon.h (vmaxnm_f32): New intrinsinc.
-	(vmaxnmq_f32): Likewise.
-	(vminnm_f32): Likewise.
-	(vminnmq_f32): Likewise.
-	* config/arm/arm_neon_builtins.def (vmaxnm): New builtin.
-	(vminnm): Likewise.
-	* config/arm/neon.md (neon_<fmaxmin_op><mode>, VCVTF): New
-	expander.
-
-2016-10-31  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/vsx.md (VSX_EXTRACT_FL): New iterator for all
-	binary floating point types supported by the hardware except for
-	double.
-	(vsx_xvcvsxwdp_df): Provide scalar result alternative to the
-	vector instruction for optimizing extracting a SImode from a
-	V4SImode vector and converting it to floating point.
-	(vsx_xvcvuxwdp_df): Likewise.
-	(vsx_extract_si): On ISA 3.0, allow extract target and temporary
-	registers to be any VSX register.  Move stores to the end of the
-	constraints.
-	(vsx_extract_si_<uns>float_df): New combiner pattern and splitter
-	to optimize extracting a SImode from a V4SImode vector and
-	converting it to a binary floating point type supported by the
-	hardware.  Use the vector converts instead of extracting the
-	element, sign extending it, and then converting it to double.
-	Other floating point types  than double first convert to double,
-	then the double is converted to that type.
-	(vsx_extract_si_<uns>float_<mode>): Likewise.
-
-2016-10-31  Andrew Pinski  <apinski@cavium.com>
-
-	* config/aarch64/driver-aarch64.c (host_detect_local_cpu):
-	Rewrite handling of part num to handle the case where
-	multiple implementers share the same part num.
-
-2016-10-31  Jan Kratochvil  <jan.kratochvil@redhat.com>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	* dwarf2out.c (DWARF_COMPILE_UNIT_HEADER_SIZE): Adjust for -gdwarf-5.
-	(DWARF_COMDAT_TYPE_UNIT_HEADER_SIZE): Likewise.
-
-2016-10-31  Jakub Jelinek  <jakub@redhat.com>
-
-	* dwarf2out.c (dwarf_AT): Handle DW_AT_dwo_name.
-	(use_debug_types): Adjust comment for DWARF5 DW_UT_type units.
-	(new_die): Handle DW_TAG_skeleton_unit like DW_TAG_compile_unit.
-	(is_cu_die, is_unit_die): Likewise.
-	(should_move_die_to_comdat, break_out_comdat_types): Adjust
-	comments for DWARF5 DW_UT_type units.
-	(output_compilation_unit_header): Add UT argument, output
-	start of DWARF5 .debug_info section header.
-	(output_comp_unit): Add dwo_id argument.  Adjust
-	output_compilation_unit_header caller, for DW_UT_split_compile
-	emit dwo_id field, otherwise padding1.  Emit padding2 field.
-	(add_top_level_skeleton_die_attrs): Add DW_AT_dwo_name
-	rather than DW_AT_GNU_dwo_name attr for -gdwarf-5.
-	(output_skeleton_debug_sections): Add dwo_id argument, for
-	-gdwarf-5 emit DWARF 5 DW_UT_skeleton header.
-	(output_comdat_type_unit): For -gdwarf-5 emit .debug_info
-	DW_UT_type or DW_UT_split_type units rather than .debug_types.
-	(dwarf2out_finish): Use DW_TAG_skeleton_unit rather than
-	DW_TAG_compile_unit for skeleton unit die.  Don't add
-	DW_AT_GNU_dwo_id attributes for -gdwarf-5, instead pass checksum
-	address to output_comp_unit and output_skeleton_debug_sections.
-
-	* dwarf2out.c (debug_line_str_section): New variable.
-	(debug_line_str_hash): Likewise.
-	(DEBUG_LINE_STR_SECTION): Define.
-	(set_indirect_string): Handle DW_FORM_line_strp like
-	DW_FORM_strp.
-	(find_string_form): Fix up formatting.
-	(size_of_die): Handle DW_FORM_line_strp like DW_FORM_strp.
-	Fix up indentation.
-	(output_die): Handle DW_FORM_line_strp.
-	(DWARF5_USE_DEBUG_LINE_STR): Define.
-	(output_line_string): New function.
-	(output_file_names): Add -gdwarf-5 support.
-	(output_line_info): Likewise.
-	(init_sections_and_labels): Initialize debug_line_str_section.
-	(output_indirect_string): Change 2nd argument from void *
-	to enum dwarf_form form, compare with form rather than
-	DW_FORM_strp.
-	(output_indirect_strings): Pass DW_FORM_strp to
-	output_indirect_string traversion.
-	(dwarf2out_finish): Output .debug_line_str strings.
-	(dwarf2out_c_finalize): Clear debug_line_str_section and
-	debug_line_str_hash.
-
-2016-10-31  Tom Tromey  <tom@tromey.com>
-
-	PR debug/77315
-	* dwarf2out.c (mem_loc_descriptor): Use DW_OP_form_tls_address.
-	(resolve_args_picking_1): Move DW_OP_form_tls_address case next to
-	DW_OP_GNU_push_tls_address case.
-	(loc_list_from_tree_1): Use DW_OP_form_tls_address.
-
-2016-10-31  Jakub Jelinek  <jakub@redhat.com>
-
-	* dwarf2out.h (struct dw_loc_descr_node): Adjust comment
-	for frame_offset_rel bit.
-	(struct array_descr_info): Add rank field.
-	* dwarf2out.c (struct loc_descr_context): Add placeholder_arg
-	and placeholder_seen fields.
-	(resolve_args_picking_1): Handle also frame_offset_rel DW_OP_dup
-	and DW_OP_over.  Optimize DW_OP_pick 0 into DW_OP_dup and
-	DW_OP_pick 1 into DW_OP_over.
-	(function_to_dwarf_procedure, type_byte_size, field_byte_offset,
-	gen_variant_part): Clear placeholder_{arg,seen}.
-	(loc_list_from_tree_1): Drop const from context argument.
-	Handle integral PLACEHOLDER_EXPR if context->placeholder_arg.
-	(loc_list_for_address_of_addr_expr_of_indirect_ref,
-	loc_list_from_tree, loc_descriptor_from_tree): Drop const from
-	context argument.
-	(add_scalar_info): Drop const from context argument.  Handle
-	context->placeholder_arg.
-	(add_bound_info): Drop const from context argument.
-	(gen_descr_array_type_die): Drop const from ctx variable.
-	Initialize placeholder_arg and placeholder_seen.  Add DW_AT_rank
-	attribute and use a single DW_TAG_generic_subrange instead of
-	7 DW_TAG_subrange_type for assumed rank arrays.
-
-	* dwarf2out.h (enum dw_val_class): Add dw_val_class_loclistsptr.
-	* dwarf2out.c (struct dw_loc_list_struct): Change emitted field
-	from bool to 1-bit uchar bitfield.  Add num_assigned and
-	offset_emitted bitfields.
-	(dw_val_equal_p): Compare v.val_lbl_id rather than v.val_unsigned
-	for dw_val_class_lineptr and dw_val_class_macptr.  Handle
-	dw_val_class_loclistsptr.
-	(new_addr_loc_descr): Fix up formatting.
-	(DEBUG_LOCLISTS_SECTION, DEBUG_DWO_LOCLISTS_SECTION): Define.
-	(add_AT_low_high_pc): Fix up formatting.
-	(add_AT_loclistsptr): New function.
-	(AT_lbl): Allow dw_val_class_loclistsptr.
-	(print_dw_val, attr_checksum, attr_checksum_ordered, same_dw_val_p):
-	Handle dw_val_class_loclistsptr.
-	(loc_list_idx): New variable.
-	(output_loclists_offsets, assign_location_list_indexes): New
-	functions.
-	(size_of_die): For dw_val_class_loc_list -gsplit-dwarf -gdwarf-5
-	add size_of_uleb128 of the index.  Drop never used
-	dwarf_split_debug_info AT_index handling.  Handle
-	dw_val_class_loclistsptr.
-	(value_format): Return DW_FORM_loclistsx for dw_val_class_loc_list
-	if -gsplit-dwarf -gdwarf-5.  Handle dw_val_class_loclistsptr.
-	(output_loc_list): Handle DWARF 5 .debug_loclists* format.
-	(output_loc_list_offset): Handle -gsplit-dwarf -gdwarf-5
-	DW_FORM_loclistx indexes.
-	(output_attr_index_or_value): Fix up formatting.  Don't handle
-	dw_val_class_loc_list here.
-	(output_die): Formatting fixes.  Handle dw_val_class_loclistsptr.
-	For dw_val_class_loc_list call output_loc_list_offset rather than
-	output_attr_index_or_value.
-	(init_sections_and_labels): For -gdwarf-5 use .debug_loclists
-	or .debug_loclists.dwo section name for debug_loc_section.
-	(resolve_addr_in_expr): Formatting fix.
-	(index_location_lists): Likewise.
-	(dwarf2out_finish): If there are any location lists, for
-	-gsplit-dwarf -gdwarf-5 add DW_AT_loclists_base attribute.  Call
-	index_location_lists only if have_location_lists.  Call
-	assign_location_list_indexes for -gsplit-dwarf -gdwarf-5.  Emit
-	.debug_loclists{,.dwo} section header for -gdwarf-5, for -gdwarf-5
-	-gsplit-dwarf also emit offset table.
-
-	* dwarf2out.c (DWARF_LARGEST_DATA_FORM_BITS): Define.
-	(size_of_die, value_format, output_die): Use
-	DW_FORM_data16 for 128-bit dw_val_class_const_double or
-	dw_val_class_wide_int.
-
-	* dwarf2out.c (dwarf_op): Renamed to ...
-	(dwarf_OP): ... this.
-	(convert_descriptor_to_mode, scompare_loc_descriptor,
-	minmax_loc_descriptor, typed_binop, mem_loc_descriptor,
-	implicit_ptr_descriptor, optimize_one_addr_into_implicit_ptr): Adjust
-	callers.
-	(dwarf_AT, dwarf_TAG): New functions.
-	(check_die): Disallow DW_AT_call_all_calls next to
-	DW_AT_GNU_all_call_sites.
-	(gen_call_site_die): Use dwarf_TAG and dwarf_AT with DWARF 5 tag
-	and attributes instead of the corresponding GNU tag and attributes.
-	(gen_subprogram_die): Likewise.  Emit call site information even
-	for -gdwarf-5 -gstrict-dwarf.  Replace DW_AT_GNU_defaulted with
-	DW_AT_defaulted in comment.
-	(resolve_addr): Handle DW_AT_call_origin attribute on
-	DW_TAG_call_site DIE like DW_AT_abstract_origin on
-	DW_TAG_GNU_call_site DIE.
-
-	* dwarf2out.c (dwarf_op): New function.
-	(size_of_loc_descr): Handle DW_OP_{implicit_pointer,entry_value},
-	DW_OP_{const,regval,deref}_type and DW_OP_{convert,reinterpret}.
-	(output_loc_operands, output_loc_operands_raw): Likewise.
-	(resolve_args_picking_1, prune_unused_types_walk_loc_descr,
-	mark_base_types, hash_loc_operands, compare_loc_operands): Likewise.
-	(resolve_addr_in_expr): Likewise.  Only punt for !dwarf_strict
-	if dwarf_version < 5.
-	(convert_descriptor_to_mode): Use dwarf_op (DW_OP_xxx) instead of
-	DW_OP_GNU_xxx.
-	(scompare_loc_descriptor, ucompare_loc_descriptor,
-	minmax_loc_descriptor, typed_binop, mem_loc_descriptor,
-	implicit_ptr_descriptor, optimize_one_addr_into_implicit_ptr,
-	optimize_location_into_implicit_ptr): Likewise.  Only punt for
-	!dwarf_strict if dwarf_version < 5.
-	(string_cst_pool_decl): Adjust comment.
-	(non_dwarf_expression): Handle DW_OP_implicit_pointer.
-
-	* dwarf2out.h (enum dw_val_class): Add dw_val_class_const_implicit,
-	dw_val_class_unsigned_const_implicit and dw_val_class_file_implicit.
-	(struct dw_val_node): Add val_file_implicit field.
-	* dwarf2out.c (dw_val_equal_p, print_dw_val, attr_checksum,
-	attr_checksum_ordered, same_dw_val_p, size_of_die, value_format,
-	output_die): Handle dw_val_class_const_implicit,
-	dw_val_class_unsigned_const_implicit and dw_val_class_file_implicit.
-	(abbrev_die_table): Change into va_gc vec.
-	(abbrev_die_table_allocated, abbrev_die_table_in_use,
-	ABBREV_DIE_TABLE_INCREMENT): Remove.
-	(AT_int, AT_unsigned, AT_file): Allow dw_val_class_*_implicit.
-	(abbrev_opt_start, abbrev_usage_count, sorted_abbrev_dies): New
-	variables.
-	(build_abbrev_table): Adjust for abbrev_die_table being a va_gc vec.
-	If abbrev_opt_start, fill in abbrev_usage_count and abbrev_dies
-	vectors.
-	(die_abbrev_cmp, optimize_implicit_const, optimize_abbrev_table): New
-	functions.
-	(output_die_abbrevs): For DW_FORM_implicit_const emit sleb128 with
-	the implicit value.
-	(output_abbrev_section): Adjust for abbrev_die_table being a va_gc
-	vec.
-	(output_comp_unit): Initialize abbrev_opt_start if emitting the main
-	unit.  Call optimize_abbrev_table.
-	(dwarf2out_init, dwarf2out_finish, dwarf2out_c_finalize): Adjust for
-	abbrev_die_table being a va_gc vec.
-
-	PR tree-optimization/77860
-	* tree-ssa-reassoc.c (eliminate_using_constants): Handle
-	also integral complex and vector constants.
-
-	* dwarf2out.c (dwarf2out_define, dwarf2out_undef, output_macinfo_op,
-	optimize_macinfo_range, save_macinfo_strings): Replace
-	DW_MACRO_GNU_* constants with corresponding DW_MACRO_* constants.
-	(output_macinfo): Likewise.  Emit .debug_macro* rather than
-	.debug_macinfo* even for -gstrict-dwarf -gdwarf-5.
-	(init_sections_and_labels): Use .debug_macro* labels rather than
-	.debug_macinfo* labels even for -gstrict-dwarf -gdwarf-5.
-	(dwarf2out_finish): Use DW_AT_macros instead of DW_AT_macro_info
-	or DW_AT_GNU_macros for -gdwarf-5.
-
-2016-10-31  Waldemar Brodkorb  <wbx@openadk.org>
-
-	* config/microblaze/linux.h (UCLIBC_DYNAMIC_LINKER): Define.
-
-2016-09-11  Le-Chun Wu  <lcwu@google.com>
-	    Mark Wielaard  <mjw@redhat.com>
-
-	* common.opt (Wshadow=global): New option. Default for -Wshadow.
-	(Wshadow=local): New option.
-	(Wshadow-local): Hidden alias for -Wshadow=local.
-	(Wshadow=compatible-local): New option.
-	(Wshadow-compatible-local): Hidden alias for
-	-Wshadow=compatible-local.
-	* doc/invoke.texi: Document Wshadow=global, Wshadow=local and
-	Wshadow=compatible-local.
-
-2016-10-31  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-vect-slp.c (vect_get_and_check_slp_defs): New parameter SWAP.
-	Check slp defs for COND_EXPR by swapping/inverting operands if the
-	new parameter SWAP indicates so.
-	(vect_build_slp_tree_1): New parameter SWAP.  Check COND_EXPR stmt
-	is isomorphic to the first stmt via swapping/inverting.  Store swap
-	information in the new parameter SWAP.
-	(vect_build_slp_tree): New local array SWAP and pass it to function
-	vect_build_slp_tree_1.  Cleanup result handling code for function
-	call to vect_get_and_check_slp_defs.  Skip operand swapping if the
-	order of operands has been fixed as indicated by SWAP[i].
-
-2016-10-31  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-vect-data-refs.c (vect_slp_analyze_node_dependences): Skip
-	unnecessary data dependence check after visited store stmt.
-
-2016-10-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR tree-optimization/71915
-	PR tree-optimization/71490
-	* gimple-ssa-strength-reduction.c (struct slsr_cand_d): Add
-	stride_type field.
-	(find_basis_for_base_expr): Require stride types to match when
-	seeking a basis.
-	(alloc_cand_and_find_basis): Record the stride type.
-	(slsr_process_phi): Pass stride type to alloc_cand_and_find_basis.
-	(backtrace_base_for_ref): Pass types to legal_cast_p_1 rather than
-	the expressions having those types.
-	(slsr_process_ref): Pass stride type to alloc_cand_and_find_basis.
-	(create_mul_ssa_cand): Likewise.
-	(create_mul_imm_cand): Likewise.
-	(create_add_ssa_cand): Likewise.
-	(create_add_imm_cand): Likewise.
-	(legal_cast_p_1): Change interface to accept types rather than the
-	expressions having those types.
-	(legal_cast_p): Pass types to legal_cast_p_1.
-	(slsr_process_cast): Pass stride type to
-	alloc_cand_and_find_basis.
-	(slsr_process_copy): Likewise.
-	(dump_candidate): Display stride type when a cast exists.
-	(create_add_on_incoming_edge): Introduce a cast when necessary for
-	the stride type.
-	(analyze_increments): Change the code checking for invalid casts
-	to rely on the stride type, and update the documentation and
-	example.  Change the code checking for pointer multiplies to rely
-	on the stride type.
-	(insert_initializers): Introduce a cast when necessary for the
-	stride type.  Use the stride type for the type of the initializer.
-
-2016-10-30  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	* config/arm/arm.c (arm_const_not_ok_for_debug_p): Use VAR_P.
-
-2016-10-29  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/77919
-	* expr.c (expand_expr_real_1) <normal_inner_ref>: Only avoid forcing
-	into memory if both modes are complex and their inner modes have the
-	same precision.  If the two modes are different complex modes, convert
-	each part separately and generate a new CONCAT.
-
-2016-10-29  John David Anglin  <danglin@gcc.gnu.org>
-
-	* config/pa/pa64-hpux.h (FINI_SECTION_ASM_OP): Define to null string.
-
-2016-10-29  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/78148
-	* gimple-ssa-store-merging.c
-	(imm_store_chain_info::output_merged_store): Use build_aligned_type
-	instead of SET_TYPE_ALIGN on shared integral type.
-
-2016-10-29  John David Anglin  <danglin@gcc.gnu.org>
-
-	* config/pa/pa.h (BIGGEST_ALIGNMENT): Adjust comment.
-	(MALLOC_ABI_ALIGNMENT): Define to 128 on all targets except SOM.
-	Adjust comment.
-
-2016-10-28  Jeff Law  <law@redhat.com>
-
-	* config/vax/vax.h (REGNO_REG_CLASS): Access the REGNO argument.
-	* config/spu/spu.h (REGNO_REG_CLASS): Likewise.
-
-2016-10-28  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* doc/sourcebuild.texi (Ada Tests): Remove mention of gcc chapter.
-
-2016-10-28  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* target.def (min_arithmetic_precision): New hook.
-	* doc/tm.texi.in (Misc): Add TARGET_MIN_ARITHMETIC_PRECISION.
-	* doc/tm.texi: Regenerate.
-	* internal-fn.c (expand_arith_overflow): Adjust handling of target
-	dependent support by means of TARGET_MIN_ARITHMETIC_PRECISION.
-	* targhooks.c (default_min_arithmetic_precision): New function.
-	* targhooks.h (default_min_arithmetic_precision): Declare.
-	* config/sparc/sparc.c (TARGET_MIN_ARITHMETIC_PRECISION): Define.
-	(sparc_min_arithmetic_precision): New function.
-
-2016-10-28  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/71847
-	* combine.c (change_zero_ext): Handle zero_ext of hard registers.
-	Swap commutative operands in new RTL if needed.  Handle zero_ext
-	in the set_dest.
-	(recog_for_combine): Pass *pnewpat to change_zero_ext instead of
-	PATTERN (insn).
-
-2016-10-28  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-	    Kugan Vivekanandarajah  <kuganv@linaro.org>
-	    Jim Wilson  <jim.wilson@linaro.org>
-
-	PR tree-optimization/43721
-	* target.def: New hook expand_divmod_libfunc.
-	* doc/tm.texi.in: Add hook for TARGET_EXPAND_DIVMOD_LIBFUNC.
-	* doc/tm.texi: Regenerate.
-	* internal-fn.def: Add new entry for DIVMOD ifn.
-	* internal-fn.c (expand_DIVMOD): New.
-	* tree-ssa-math-opts.c: Include optabs-libfuncs.h, tree-eh.h,
-	targhooks.h.
-	(widen_mul_stats): Add new field divmod_calls_inserted.
-	(target_supports_divmod_p): New.
-	(divmod_candidate_p): Likewise.
-	(convert_to_divmod): Likewise.
-	(pass_optimize_widening_mul::execute): Call calculate_dominance_info,
-	renumber_gimple_stmt_uids at beginning of function. Call
-	convert_to_divmod and record stats for divmod.
-	* config/arm/arm.c (arm_expand_divmod_libfunc): Override hook
-	TARGET_EXPAND_DIVMOD_LIBFUNC.
-	* doc/sourcebuild.texi: Add items for arm_divmod_simode, divmod,
-	divmod_simode.
-
-2016-10-28  Eric Botcazou  <ebotcazou@adacore.com>
-	    Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* dojump.c (do_jump_by_parts_greater_rtx): Invert probability when
-	swapping the arms of the branch.
-	* internal-fn.c (expand_addsub_overflow): Use a straight-line code
-	sequence for the generic signed-signed-signed case.
-
-2016-10-28  Jeff Law  <law@redhat.com>
-
-	* config/bfin/bfin.c (bfin_legitimate_address_p): Add missing
-	fallthru comment.
-	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Likewise.
-
-2016-10-28  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/78029
-	* function.c (prologue_contains, epilogue_contains): New functions.
-	(record_prologue_seq, record_epilogue_seq): New functions.
-	* function.h (prologue_contains, epilogue_contains,
-	record_prologue_seq, record_epilogue_seq): New declarations.
-	* sched-deps.c (sched_analyze_insn): Make dependencies to prevent
-	mixing prologue and epilogue insns.
-	(init_deps): Initialize the new fields in struct deps_desc.
-	* sched-int.h (struct deps_desc): New fields last_prologue,
-	last_epilogue, and last_logue_was_epilogue.
-	* shrink-wrap.c (emit_common_heads_for_components): Record all
-	emitted prologue and epilogue insns.
-	(emit_common_tails_for_components): Ditto.
-	(insert_prologue_epilogue_for_components): Ditto.
-
-2016-10-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR middle-end/22141
-	* Makefile.in (OBJS): Add gimple-ssa-store-merging.o.
-	* common.opt (fstore-merging): New Optimization option.
-	* opts.c (default_options_table): Add entry for
-	OPT_ftree_store_merging.
-	* fold-const.h (can_native_encode_type_p): Declare prototype.
-	* fold-const.c (can_native_encode_type_p): Define.
-	* params.def (PARAM_STORE_MERGING_ALLOW_UNALIGNED): Define.
-	(PARAM_MAX_STORES_TO_MERGE): Likewise.
-	* timevar.def (TV_GIMPLE_STORE_MERGING): New timevar.
-	* passes.def: Insert pass_tree_store_merging.
-	* tree-pass.h (make_pass_store_merging): Declare extern
-	prototype.
-	* gimple-ssa-store-merging.c: New file.
-	* doc/invoke.texi (Optimization Options): Document
-	-fstore-merging.
-	(--param documentation): Document store-merging-allow-unaligned
-	and max-stores-to-merge.
-
-2016-10-28  Will Schmidt <will_schmidt@vnet.ibm.com>
-
-	PR middle-end/72747
-	* gimplify.c (gimplify_init_constructor): Move emit of constructor
-	assignment to earlier in the if/else logic.
-
-2016-10-28  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/78128
-	PR middle-end/71002
-	* fold-const.c (make_bit_field_ref): Only adjust alias set
-	when the original alias set was zero.
-
-2016-10-28  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.c (s390_adjust_loop_scan_osc): New function.
-	(s390_adjust_loops): New function.
-	(s390_reorg): Invoke s390_adjust_loops.
-	* config/s390/s390.md (UNSPEC_OSC_BREAK): New constant.
-	("osc_break"): New insn definition.
-
-2016-10-28  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.opt: Support alternate cpu level naming (archXX).
-	* config.gcc: Support alternate archXX cpu levels with
-	--with-arch= and --with-tune=.
-	* config/s390/linux.h: Translate new archXX cpu levels to the
-	original names when calling GAS.
-	* config/s390/tpf.h: Likewise.
-	* doc/invoke.texi: Document the alternate cpu level names.
-
-2016-10-28  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/77919
-	* expr.c (expand_expr_real_1) <normal_inner_ref>: Force CONCAT into
-	MEM if mode1 is not a complex mode.
-
-	PR rtl-optimization/78132
-	* ree.c (combine_reaching_defs): Give up if copy_needed and
-	!HARD_REGNO_MODE_OK (REGNO (src_reg), dst_mode).
-
-2016-10-27  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/sparc/sparc.md (<*vlop:code><VL:mode>3): Remove leading '*'.
-
-2016-10-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/constraints.md (wH constraint): Add new
-	constraints for allowing 32-bit integers (and eventually 8/16-bit
-	integers) into the vector registers.
-	(wI constraint): Likewise.
-	(wJ constraint): Likewise.
-	(wK constraint): Likewise.
-	* config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
-	-mvsx-small-integer as a default option for ISA 2.07
-	(i.e. power8).
-	(POWERPC_MASKS): Likewise.
-	* config/rs6000/rs6000.opt (-mvsx-small-integer): Add new debug
-	switch to turn off small integer support in vector registers.
-	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Eliminate
-	test for -mupper-regs-di, since it is already done with the
-	reg_add[mode].scalar_in_vsx_p.  Add support for the switch
-	-mvsx-small-integer.
-	(rs6000_debug_reg_global): Add support for wH, wI, wJ, and wK
-	constraints.
-	(rs6000_setup_reg_addr_masks): Likewise.
-	(rs6000_init_hard_regno_mode_ok): Likewise.
-	(rs6000_option_override_internal): Add consistency checks for
-	-mvsx-small-integer.
-	(rs6000_secondary_reload_simple_move): SImode is a simple move if
-	-mvsx-small-integer.
-	(rs6000_secondary_reload): Use std::swap.
-	(rs6000_preferred_reload_class): Don't prefer FLOAT_REGS over
-	VSX_REGS for small integers in vector registers, since there is no
-	D-FORM address mode for such types.
-	(rs6000_register_move_cost): Use FIRST_FPR_REGNO instead of 32.
-	(rs6000_opt_masks): Add -mvsx-small-integer.
-	* config/rs6000/vsx.md (VSINT_84): Add SImode for small integer
-	support.
-	(VSX_EXTRACT_I2): Clone VSX_EXTRACT_I, but drop V4SI since SImode
-	extracts can be done on ISA 2.07.
-	(vsx_extract_<mode>): Add support for small integers in vsx
-	registers.
-	(vsx_extract_<mode>_p9): Use 'v' instead of VSX_EX, since we no
-	longer support V4SImode in this pattern.
-	(vsx_extract_si): New insn to support extraction of SImode in ISA
-	2.07 using either xxextractuw or vspltw.
-	(vsx_extract_<mode>_p8): Use 'v' instead of VSX_EX, since we no
-	longer support V4SImode in this pattern.
-	* config/rs6000/rs6000.h (enum rs6000_reg_class_enum): Add wH, wI,
-	wJ, and wK constraints.
-	* config/rs6000/rs6000.md (f32_sv): Use correct instruction for
-	storing SDmode with VSX instructions.
-	(zero_extendsi<mode>2): Reorder pattern, so RLDICL comes after the
-	GPR load and before the FPR and VSX loads.  Remove ??, ! from the
-	constraints.  Add MFVSRWZ and XXEXTRACTUW instructions to support
-	small integers in vector registers.
-	(extendsi<mode>2): Reorder pattern, so EXTSW comes after the GPR
-	load and before the FPR and VSX loads.  Remove ??, ! from the
-	constraints.  Add VEXTSW2D support for small integers in vector
-	registers.
-	(lfiwax): Remove ! constraint.  Add VEXTSW2D support for small
-	integers in vector registers.
-	(floatsi<mode>2_lfiwax): If -mvsx-small-integer issue a normal
-	move instead of using an UNSPEC.
-	(lfiwzx): Remove ! constraint.  Add XXEXTRACTUW support for small
-	integers in vector registers.
-	(floatunssi<mode>2_lfiwzx): If -mvsx-small-integer issue a normal
-	move instead of using an UNSPEC.
-	(movsi_internal1): Add support for -mvsx-small-integer.  Align
-	columns so that it is more readable.
-	(SImode splitter for ISA 3.0 constants): Add splitter for
-	-128..127 constants that can easily be constructed on ISA 3.0.
-	* doc/md.texi (PowerPC Constraints): Document wH, wI, wJ, and wK
-	constraints.
-
-2016-10-27  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/78025
-	* omp-simd-clone.c (simd_clone_adjust): Handle noreturn declare simd
-	functions.
-
-2016-10-27  Aldy Hernandez  <aldyh@redhat.com>
-
-	* builtins.c (expand_builtin_nonlocal_goto): Avoid evaluating
-	PIC_OFFSET_TABLE_REGNUM twice.
-
-2016-10-27  Bin Cheng  <bin.cheng@arm.com>
-
-	* match.pd ((convert (op:s (convert@2 @0) (convert?@3 @1)))): Add
-	support for constant operand for OP.
-
-2016-10-27  Jakub Jelinek  <jakub@redhat.com>
-
-	* dwarf2out.c (gen_member_die): Only reparent_child instead of
-	splice_child_die if child doesn't have DW_AT_specification attribute.
-
-2016-10-27  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm.h (TARGET_HAVE_LDREX): Define for ARMv8-M Baseline.
-	(TARGET_HAVE_LDREXBH): Likewise.
-	(TARGET_HAVE_LDACQ): Likewise.
-
-2016-10-27  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm.c (arm_split_atomic_op): Add function comment.  Add
-	logic to to decide whether to copy over old value to register for new
-	value.
-	* config/arm/sync.md: Add comments explaning why mode and code
-	attribute are not defined in iterators.md
-	(thumb1_atomic_op_str): New code attribute.
-	(thumb1_atomic_newop_str): Likewise.
-	(thumb1_atomic_fetch_op_str): Likewise.
-	(thumb1_atomic_fetch_newop_str): Likewise.
-	(thumb1_atomic_fetch_oldop_str): Likewise.
-	(atomic_exchange<mode>): Add new ARMv8-M Baseline only alternatives to
-	mirror the more restrictive constraints of the Thumb-1 insns after
-	split compared to Thumb-2 counterpart insns.
-	(atomic_<sync_optab><mode>): Likewise.  Add comment to keep constraints
-	in sync with non atomic version.
-	(atomic_nand<mode>): Likewise.
-	(atomic_fetch_<sync_optab><mode>): Likewise.
-	(atomic_fetch_nand<mode>): Likewise.
-	(atomic_<sync_optab>_fetch<mode>): Likewise.
-	(atomic_nand_fetch<mode>): Likewise.
-	* config/arm/thumb1.md (thumb1_addsi3): Add comment to keep contraint
-	in sync with atomic version.
-	(thumb1_subsi3_insn): Likewise.
-	(thumb1_andsi3_insn): Likewise.
-	(thumb1_iorsi3_insn): Likewise.
-	(thumb1_xorsi3_insn): Likewise.
-
-2016-10-27  Nick Clifton  <nickc@redhat.com>
-
-	* plugin.c (register_plugin_info): Produce an error message if the
-	plugin is not found in the hash table.
-
-2016-10-27  Bin Cheng  <bin.cheng@arm.com>
-
-	* match.pd ((convert1 (minmax ((convert2 (x) c)))) -> minmax (x c)):
-	New pattern.
-
-2016-10-26  Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	PR target/78056
-	* config/rs6000/rs6000.c (spe_init_builtins): Modify loops to not
-	define builtin functions from the bdesc_spe_predicates or
-	bdesc_spe_evsel arrays if the builtin mask is not compatible with
-	the current compiler configuration.
-	(paired_init_builtins): Modify loop to not define define builtin
-	functions from the bdesc_paried_preds array if the builtin mask is
-	not compatible with the current compiler configuration.
-	(altivec_init_builtins): Modify loops to not define the
-	__builtin_altivec_stxvl function nor the builtin functions from
-	the bdesc_dst or bdesc_altivec_preds, or bdesc_abs arrays if the
-	builtin mask is not compatible with the current compiler
-	configuration.
-
-2016-10-26  Jeff Law  <law@redhat.com>
-
-	* config/sh/sh.c (output_branch): Add missing fallthru comments.
-	(gen_shl_and): Likewise.
-	* config/sh/sh.md (movsicc): Add missing fallthru comments.
-
-	* config/mips/mips.c (mips16_constant_cost): Add missing
-	fallthru comments.
-	(mips16_build_call_stub): Increase buffer size.  Adjust
-	fallthru comment.
-
-2016-10-26  David Malcolm  <dmalcolm@redhat.com>
-
-	* print-rtl.c (rtx_writer::print_rtx_operand_code_u): Print
-	INSN_UIDs for all insns in compact mode.
-	(rtx_writer::print_rtx): Likewise.
-	* print-rtl.h (rtx_writer::flag_compact): Update comment.
-	* rtl-tests.c (selftest::test_dumping_insns): Update expected
-	output to include INSN_UID.
-	(selftest::test_uncond_jump): Likewise.
-
-2016-10-26  Pat Haugen  <pthaugen@us.ibm.com>
-
-	* haifa-sched.c (call_used_regs_num): Rename to...
-	(call_saved_regs_num): ...this.
-	(fixed_regs_num): New variable.
-	(sched_pressure_start_bb): Subtract out fixed_regs. Scale call_saved
-	regs not call_used.
-	(alloc_global_sched_pressure_data): Compute call_saved and fixed regs.
-
-2016-10-26  David Malcolm  <dmalcolm@redhat.com>
-
-	* print-rtl-function.c (print_rtx_function): Rewrite in terms of
-	class rtx_writer.
-	* print-rtl.c (outfile): Delete global.
-	(sawclose): Likewise.
-	(indent): Likewise.
-	(in_call_function_usage): Likewise.
-	(flag_compact): Likewise.
-	(flag_simple): Likewise.
-	(rtx_writer::rtx_writer): New ctor.
-	(print_rtx_operand_code_0): Convert to...
-	(rtx_writer::print_rtx_operand_code_0): ...this.
-	(print_rtx_operand_code_e): Convert to...
-	(rtx_writer::print_rtx_operand_code_e): ...this.
-	(print_rtx_operand_codes_E_and_V): Convert to...
-	(rtx_writer::print_rtx_operand_codes_E_and_V): ...this.
-	(print_rtx_operand_code_i): Convert to...
-	(rtx_writer::print_rtx_operand_code_i): ...this.
-	(print_rtx_operand_code_r): Convert to...
-	(rtx_writer::print_rtx_operand_code_r): ...this.
-	(print_rtx_operand_code_u): Convert to...
-	(rtx_writer::print_rtx_operand_code_u): ...this.
-	(print_rtx_operand): Convert to...
-	(rtx_writer::print_rtx_operand): ...this.
-	(print_rtx): Convert to...
-	(rtx_writer::print_rtx): ...this.
-	(print_inline_rtx): Rewrite in terms of class rtx_writer.
-	(debug_rtx): Likewise.
-	(print_rtl): Convert to...
-	(rtx_writer::print_rtl): ...this.
-	(print_rtl): Reimplement in terms of class rtx_writer.
-	(print_rtl_single): Rewrite in terms of class rtx_writer.
-	(print_rtl_single_with_indent): Convert to..
-	(rtx_writer::print_rtl_single_with_indent): ...this.
-	(print_simple_rtl): Rewrite in terms of class rtx_writer.
-	* print-rtl.h (flag_compact): Delete decl.
-	(class rtx_writer): New class.
-	* rtl-tests.c (selftest::assert_rtl_dump_eq): Rewrite in terms of
-	class rtx_writer.
-
-2016-10-26  Jeff Law  <law@redhat.com>
-
-	* config/microblaze/microblaze.c (tls_mentioned_p): Avoid
-	fallthru.
-
-	* config/arc/arc.c (acr_print_operand): Adjust fallthru comment.
-	(check_if_valid_sleep_operand): Add missing fallthru comment.
-	(arc_register_move_cost): Increase buffer size.
-	* config/arc/arc.md (cbranch4si_scratch): Add missing fallthru
-	comment.
-	* config/arc/predicates.md (move_str_operand): Avoid fallthru.
-
-	* config/cr16/cr16.c (cr16_print_operand): Add missing fallthru
-	comment.  Add gcc_unreachable for path that should never happen.
-
-	* config/epiphany/epiphany.c (epiphany_print_operand): Adjust
-	fallthru comment.
-
-2016-10-26  Jakub Jelinek  <jakub@redhat.com>
-	    Martin Liska  <mliska@suse.cz>
-
-	PR fortran/77973
-	* gimplify.c (gimplify_adjust_omp_clauses_1): For all added map
-	clauses with OMP_CLAUSE_SIZE being a decl, call omp_notice_variable
-	on outer context if any.
-
-2016-10-26  Jakub Jelinek  <jakub@redhat.com>
-
-	* gen-pass-instances.awk (adjust_linenos): Increment pass_lines[p]
-	by increment rather than double it.
-	(insert_remove_pass): Strip leading whitespace from args[3].  Don't
-	emit a space before args[4].
-	(END): Don't emit a space before with_arg.
-
-2016-10-26  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/sync.md (atomic_compare_and_swap<mode>_1): Add new ARMv8-M
-	Baseline only alternatives to (i) hold store atomic success value in a
-	return register rather than a scratch register, (ii) use a low register
-	for it and to (iii) ensure the cbranchsi insn generated by the split
-	respect the constraints of Thumb-1 cbranchsi4_insn and
-	cbranchsi4_scratch.
-	* config/arm/thumb1.md (cbranchsi4_insn): Add comment to indicate
-	constraints must match those in atomic_compare_and_swap.
-	(cbranchsi4_scratch): Likewise.
-
-2016-10-26  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm.c (arm_expand_compare_and_swap): Add new bdst local
-	variable.  Add the new parameter to the insn generator.  Set that
-	parameter to be CC flag for 32-bit targets, bval otherwise.  Set the
-	return value from the negation of that parameter for Thumb-1, keeping
-	the logic unchanged otherwise except for using bdst as the destination
-	register of the compare_and_swap insn.
-	(arm_split_compare_and_swap): Add explanation about how is the value
-	returned to the function comment.  Rename scratch variable to
-	neg_bval.  Adapt initialization of variables holding operands to the
-	new operand numbers.  Use return register to hold result of store
-	exclusive for Thumb-1, scratch register otherwise.  Construct the
-	appropriate cbranch for Thumb-1 targets, keeping the logic unchanged
-	for 32-bit targets.  Guard Z flag setting to restrict to 32bit targets.
-	Use gen_cbranchsi4 rather than hand-written conditional branch to loop
-	for strongly ordered compare_and_swap.
-	* config/arm/predicates.md (cc_register_operand): New predicate.
-	* config/arm/sync.md (atomic_compare_and_swap<mode>_1): Use a
-	match_operand with the new predicate to accept either the CC flag or a
-	destination register for the boolean return value, restricting it to
-	CC flag only via constraint.  Adapt operand numbers accordingly.
-
-2016-10-26  Jeff Law  <law@redhat.com>
-
-	* config/fr30/fr30.c (fr30_print_operand): Adjust fallthru comment.
-
-	* config/frv/frv.c (comparison_string): Do not fall through after
-	an error.
-
-	* config/iq2000/iq2000.c (iq2000_function_arg): Adjust fallthru
-	comment.
-	(expand_one_builtin): Add missing break.
-
-	* config/m32c/m32c.c (encode_pattern_1): Add fallthru comment.
-	(m32c_legitimate_address_p): Likewise.
-
-	* config/m32r/m32r.c (m32r_print_operand): Adjust fallthru comment.
-
-	* config/mcore/mcore.c (mcore_gen_compare): Adjust fallthru comments.
-
-	* config/microblaze/microblaze.c (microblaze_function_arg): Adjust
-	fallthru comment.
-
-	* config/msp430/msp430.c (msp430_legitimate_address_p): Adjust
-	fallthru comment.
-
-	* config/nios2/nios2.c (nios2_rtx_costs): Avoid fallthru.
-
-	* config/rl78/rl78.c (rl78_calculate_death_notes): Add fallthru
-	comment.
-	(rl78_asm_ctor_dtor): Increase buffer size.
-
-	* config/stormy16/stormy16.c (xstormy16_asm_output_destrutor): Increase
-	buffer size.
-	(xstormy16_asm_output_constructor): Likewise.
-
-	* config/pa/pa.c (pa_asm_output_mi_thunk): Increase buffer
-	size.
-
-	* config/h8300/h8300.c (h8300_print_operand): Adjust FALLTHRU
-	comment to silence warning.
-
-	* config/spu/spu.c (spu_sched_reorder): Add missing fallthru comment.
-	(spu_legitimate_address_p): Fix logic error and add missing fallthru
-	comment.
-
-2016-10-26  Michael Matz  <matz@suse.de>
-
-	PR tree-optimization/78060
-	PR tree-optimization/78061
-	PR tree-optimization/78088
-	* tree-ssa-loop-split.c (easy_exit_values): New function.
-	(tree_ssa_split_loops): Use it.
-	(compute_new_first_bound): Change order of operations,
-	fix invalid use of types.
-
-2016-10-26  Georg-Johann Lay  <avr@gjlay.de>
-
-	gen-pass-instances.awk is sensitive to the order in which
-	passes are added; passes that appear later have to be added first.
-
-	PR target/71676
-	PR target/71678
-	* config/avr/avr-passes.def: Swap order of directives for
-	gen-pass-instances.awk.
-
-2016-10-25  Jeff Law  <law@redhat.com>
-
-	* config/vax/vax.c (vad_address_cost_1): Add missing FALLTHRU comment.
-	(vax_notice_update_cc): Likewise.
-
-2016-10-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config.gcc (sparc*-*-solaris2*): Adjust.
-	(sparc64-*-linux*): Likewise.
-	* config/sparc/default-64.h: Rename to...
-	* config/sparc/default64.h: ...this.
-	* config/sparc/sparc.c (sparc_option_override): Replace TARGET_64BIT
-	with TARGET_ARCH64.
-	(sparc_mangle_type): Replace !TARGET_64BIT with TARGET_ARCH32.
-	* config/sparc/sparc.h: Minor tweaks.
-	* config/sparc/sparc.md: Replace !TARGET_64BIT and !TARGET_ARCH64 with
-	TARGET_ARCH32 throughout.  Minor various tweaks throughout.
-
-2016-10-25  David Malcolm  <dmalcolm@redhat.com>
-
-	* input.c (fcache::file_patch): Add comment about lifetime.
-	(selftest::cpp_reader_ptr): New class.
-	(selftest::lexer_test): Convert m_parser from cpp_reader *
-	to a cpp_reader_ptr, and move m_tempfile to after it.
-	(selftest::lexer_test::lexer_test): Update for above reordering.
-	(lexer_test::~lexer_test): Move cleanup of m_parser to
-	cpp_reader_ptr's dtor.
-
-2016-10-25  David Malcolm  <dmalcolm@redhat.com>
-
-	* toplev.c (toplev::main): Remove call to
-	location_adhoc_data_fini.
-
-2016-10-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree.h (wi::fits_to_tree_p): Accept only 0 and 1 for boolean types.
-	* tree.c (int_fits_type_p): Likewise.  Adjust head comment.
-
-2016-10-25  David Malcolm  <dmalcolm@redhat.com>
-
-	* ggc-tests.c (forcibly_ggc_collect): Rename to...
-	(selftest::forcibly_ggc_collect): ...this, and remove "static".
-	(test_basic_struct): Update for above renaming.
-	(test_length): Likewise.
-	(test_union): Likewise.
-	(test_finalization): Likewise.
-	(test_deletable_global): Likewise.
-	(test_inheritance): Likewise.
-	(test_chain_next): Likewise.
-	(test_user_struct): Likewise.
-	(test_tree_marking): Likewise.
-	* selftest-run-tests.c (selftest::run_tests): Call
-	selftest::forcibly_ggc_collect at the end of the selftests.
-	* selftest.h (selftest::forcibly_ggc_collect): New decl.
-
-2016-10-25  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/78102
-	* optabs.def (vcondeq_optab, vec_cmpeq_optab): New optabs.
-	* optabs.c (expand_vec_cond_expr): For comparison codes
-	EQ_EXPR and NE_EXPR, attempt vcondeq_optab as fallback.
-	(expand_vec_cmp_expr): For comparison codes
-	EQ_EXPR and NE_EXPR, attempt vec_cmpeq_optab as fallback.
-	* optabs-tree.h (expand_vec_cmp_expr_p, expand_vec_cond_expr_p):
-	Add enum tree_code argument.
-	* optabs-query.h (get_vec_cmp_eq_icode, get_vcond_eq_icode): New
-	inline functions.
-	* optabs-tree.c (expand_vec_cmp_expr_p): Add CODE argument.  For
-	CODE EQ_EXPR or NE_EXPR, attempt to use vec_cmpeq_optab as
-	fallback.
-	(expand_vec_cond_expr_p): Add CODE argument.  For CODE EQ_EXPR or
-	NE_EXPR, attempt to use vcondeq_optab as fallback.
-	* tree-vect-generic.c (expand_vector_comparison,
-	expand_vector_divmod, expand_vector_condition): Adjust
-	expand_vec_cmp_expr_p and expand_vec_cond_expr_p callers.
-	* tree-vect-stmts.c (vectorizable_condition,
-	vectorizable_comparison): Likewise.
-	* tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern,
-	check_bool_pattern, search_type_for_mask_1): Likewise.
-	* expr.c (do_store_flag): Likewise.
-	* doc/md.texi (@code{vec_cmpeq@var{m}@var{n}},
-	@code{vcondeq@var{m}@var{n}}): Document.
-	* config/i386/sse.md (vec_cmpeqv2div2di, vcondeq<VI8F_128:mode>v2di):
-	New expanders.
-
-2016-10-25  Jeff Law  <law@redhat.com>
-
-	* config/v850/v850.c (v850_handle_data_area_attribute): Fix fallthru
-	comment.
-	(v850_output_aligned_bss): Add missing break.
-
-	* config/m68k/m68k.c (m68k_get_reloc_decoration): Add gcc_unreachable.
-
-2016-10-25  Martin Liska  <mliska@suse.cz>
-
-	PR sanitizer/78106
-	* sanopt.c (imm_dom_path_with_freeing_call): Handle gasm
-	statements as they can also contain possibly a freeing call.
-
-2016-10-25  H.J. Lu  <hongjiu.lu@intel.com>
-	    Martin Liska  <mliska@suse.cz>
-
-	PR ipa/78099
-	* common.opt: Mark flag_ipa_icf_variables as Optimization flag.
-	* ipa-icf.c (sem_function::get_hash): Add target optimization
-	node to hash.
-
-2016-10-25  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	PR target/78041
-	* config/arm/neon.md (ashldi3_neon): Add "r 0 i" and "&r r i" variants.
-	Remove partial overlap check for shift by 1.
-	(ashldi3_neon): Likewise.
-
-2016-10-25  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/constraints.md (Q constraint): Document its use for
-	Thumb-1.
-	(Pf constraint): New constraint for relaxed, consume or relaxed memory
-	models.
-	* config/arm/sync.md (atomic_load<mode>): Add new ARMv8-M Baseline only
-	alternatives to allow any register when memory model matches Pf and
-	thus lda is used, but only low registers otherwise.  Use unpredicated
-	output template for Thumb-1 targets.
-	(atomic_store<mode>): Likewise for stl.
-	(arm_load_exclusive<mode>): Add new ARMv8-M Baseline only alternative
-	whose output template does not have predication.
-	(arm_load_acquire_exclusive<mode>): Likewise.
-	(arm_load_exclusivesi): Likewise.
-	(arm_load_acquire_exclusivesi): Likewise.
-	(arm_store_release_exclusive<mode>): Likewise.
-	(arm_store_exclusive<mode>): Use unpredicated output template for
-	Thumb-1 targets.
-
-2016-10-25  Jakub Jelinek  <jakub@redhat.com>
-
-	* internal-fn.def (LAUNDER): New internal function.
-	* internal-fn.c (expand_LAUNDER): New function.
-
-2016-10-25  Georg-Johann Lay  <avr@gjlay.de>
-	    Pitchumani Sivanupandi  <pitchumani.sivanupandi@microchip.com>
-
-	New avr target pass to work around performance loss by PR fix.
-
-	PR target/71676
-	PR target/71678
-	* config/avr/avr.md (casesi_<mode>_sequence) [qi,hi]: New insn.
-	(*cmp<mode>) [qi,qq,uqq,hi,hq,uhq,ha,uha]: Rename to cmp<mode>3.
-	* config/avr/predicates.md (extend_operator): New.
-	* config/avr/avr-passes.def (avr_pass_casesi): Register new pass.
-	* config/avr/avr-protos.h (avr_casei_sequence_check_operands)
-	(make_avr_pass_casesi): New prototypes.
-	* config/avr/avr.c (print-rtl.h): Include it.
-	(pass_data avr_pass_data_casesi): Data for new pass.
-	(avr_pass_casesi): New class implementing rtl_opt_pass .avr-casesi.
-	(make_avr_pass_casesi, avr_parallel_insn_from_insns)
-	(avr_is_casesi_sequence, avr_casei_sequence_check_operands)
-	(avr_optimize_casesi): New functions.
-
-2016-10-25  Georg-Johann Lay  <avr@gjlay.de>
-	    Pitchumani Sivanupandi  <pitchumani.sivanupandi@microchip.com>
-
-	PR target/71676
-	PR target/71678
-	* config/avr/avr.md (casesi): Rewrite avoiding subregs of SI.
-
-2016-10-24  Jakub Jelinek  <jakub@redhat.com>
-
-	* dwarf2out.c (gen_subprogram_die): Add DW_AT_reference or
-	DW_AT_rvalue_reference attributes.
-
-2016-10-24  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* doc/invoke.text (Wint-in-bool-context): Update documentation.
-	* value-prof.c (stringop_block_profile): Fix a warning.
-
-2016-10-24  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/77735
-	* builtins.c (string_length): New function.
-	(c_strlen): Use string_length.  Correctly handle wide strings.
-	* gimple-ssa-sprintf.c (target_max_value, target_size_max): New
-	functions.
-	(target_int_max): Call target_max_value.
-	(format_result::knownrange): New data member.
-	(fmtresult::fmtresult): Define default constructor.
-	(format_integer): Use it and set format_result::knownrange.
-	Handle global constants.
-	(format_floating_max): Add third argument.
-	(format_floating): Recompute maximum value for %a for each argument.
-	(get_string_length): Use fmtresult default ctor.
-	(format_string): Set format_result::knownrange.
-	(format_directive): Check format_result::knownrange.
-	(add_bytes): Same.  Correct caret placement in diagnostics.
-	(pass_sprintf_length::compute_format_length): Set
-	format_result::knownrange.
-	(pass_sprintf_length::handle_gimple_call): Use target_size_max.
-
-2016-10-24  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/i386.c (ix86_in_large_data_p, ix86_expand_builtin): Use
-	VAR_P (x) instead of TREE_CODE (x) == VAR_DECL.
-
-2016-10-24  Ximin Luo  <infinity0@pwned.gg>
-
-	PR debug/77985
-	* dwarf2out.c (file_table_relative_p): Remove.
-	(gen_compile_unit_die, dwarf2out_early_finish): Emit DW_AT_comp_dir
-	also for absolute paths.
-	* doc/tm.texi: Update.
-	* doc/tm.texi.in (SDB and DWARF) <TARGET_FORCE_AT_COMP_DIR>: Remove.
-	* target.def (force_at_comp_dir): Remove hook.
-	* config/darwin.h (TARGET_FORCE_AT_COMP_DIR): Remove define.
-
-2016-10-24  Richard Biener  <rguenther@suse.de>
-
-	* tree-vrp.c (evrp_dom_walker::before_dom_children): Ignore
-	backedges when identifying the single predecessor to take
-	conditional info from.  Use SCEV to get at ranges for loop IVs.
-	* lto-streamer-out.c (lto_write_mode_table): CSE inner mode to
-	avoid false warning.
-
-2016-10-24  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR target/78093
-	* doc/extend.texi (AVR Variable Attributes) [absdata]: Document it.
-	* config/avr/avr.c (AVR_SYMBOL_FLAG_TINY_ABSDATA): New macro.
-	(avr_address_tiny_absdata_p): New static function.
-	(avr_legitimate_address_p, avr_legitimize_address) [AVR_TINY]: Use
-	it to determine validity of constant addresses.
-	(avr_attribute_table) [absdata]: New variable attribute...
-	(avr_handle_absdata_attribute): ...and handler.
-	(avr_decl_absdata_p): New static function.
-	(avr_encode_section_info) [AVR_TINY]: Use it to add flag
-	AVR_SYMBOL_FLAG_TINY_ABSDATA to respective symbols_refs.
-	(avr_address_cost) [AVR_TINY]: absdata addresses cost 2.
-
-2016-10-24  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/78076
-	* tree-ssa-loop-split.c (tree_ssa_split_loops): Reset aux
-	also on the loop tree root.
-
-2016-10-24  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/i386.c (ix86_fold_builtin): Handle
-	IX86_BUILTIN_BEXTR{,I}{32,64}, IX86_BUILTIN_BZHI{32,64},
-	IX86_BUILTIN_PDEP{32,64} and IX86_BUILTIN_PEXT{32,64}.
-	(ix86_gimple_fold_builtin): Handle IX86_BUILTIN_BZHI{32,64},
-	IX86_BUILTIN_PDEP{32,64} and IX86_BUILTIN_PEXT{32,64}.
-
-2016-10-24  Martin Liska  <mliska@suse.cz>
-
-	PR sanitizer/77966
-	* opts.c (finish_options): Skip conditionally.
-
-2016-10-23  Martin Sebor  <msebor@redhat.com>
-
-	PR target/77837
-	* config/rs6000/linux.h (TARGET_PRINTF_POINTER_FORMAT): Define.
-	* config/rs6000/linux64.h (TARGET_PRINTF_POINTER_FORMAT): Likewise.
-
-2016-10-23  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/sparc/sparc.md (cpu_feature): Minor tweak.
-	(enabled): Likewise.
-	(movsi_insn, movdi_insn_sp32, movdi_insn_sp64, movsf_insn,
-	movdf_insn_sp32, movdf_insn_sp64, zero_extendsidi2_insn_sp64,
-	sign_extendsidi2_insn, mov<VM32:mode>_insn, mov<VM64:mode>_insn_sp64,
-	mov<VM64:mode>_insn_sp32, not_<code><mode>, nand<mode>_vis,
-	<code>_not1<mode>_vi, <code>_not2<mode>_vis, one_cmpl<mode>2,
-	fcmp<code><GCM:gcm_name>, pdistn<mode>_vis): Likewise.
-
-2016-10-23  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/sparc/sparc-c.c (sparc_target_macros): Replace TARGET_64BIT
-	with TARGET_ARCH64.  Define __VIS to 0x400 if TARGET_VIS4.
-
-2016-10-21  Andrew Pinski  <apinski@cavium.com>
-
-	* config/aarch64/aarch64-cores.def: Rewrite so IMP and PART are
-	integer constants.
-	* config/aarch64/driver-aarch64.c (struct aarch64_core_data): Change
-	implementer_id to unsigned char.
-	Change part_no to unsigned int.
-	(AARCH64_BIG_LITTLE): New define.
-	(INVALID_IMP): New define.
-	(INVALID_CORE): New define.
-	(cpu_data): Change the last element's implementer_id and part_no to
-	integers.
-	(valid_bL_string_p): Rewrite to ..
-	(valid_bL_core_p): this for integers instead of strings.
-	(parse_field): New function.
-	(contains_string_p): Rewrite to ...
-	(contains_core_p): this for integers and only for the part_no.
-	(host_detect_local_cpu): Rewrite handling of implementation and
-	par num to be integers; simplifying the code.
-
-2016-10-21  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* ipa-prop.c (ipa_compute_jump_functions_for_edge): Create nonzero
-	value range for pointers in more cases.
-
-2016-10-21  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_add_constant_internal):
-	Add extra argument to allow emitting the move immediate.
-	Use add/sub with positive immediate.
-	(aarch64_add_constant): Add inline function.
-	(aarch64_add_sp): Likewise.
-	(aarch64_sub_sp): Likewise.
-	(aarch64_expand_prologue): Call aarch64_sub_sp.
-	(aarch64_expand_epilogue): Call aarch64_add_sp.
-	Decide when to leave out move.
-	(aarch64_output_mi_thunk): Call aarch64_add_constant.
-
-2016-10-21  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_layout_frame):
-	Align FP callee-saves.
-
-2016-10-21  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/adxintrin.h (_subborrow_u32, _addcarry_u32,
-	_addcarryx_u32, _subborrow_u64, _addcarry_u64, _addcarryx_u64):
-	Formatting fixes.
-	* config/i386/rdseedintrin.h (_rdseed16_step, _rdseed32_step,
-	_rdseed64_step): Likewise.
-	* config/i386/tbmintrin.h (__bextri_u32): Likewise.
-
-	PR target/78057
-	* config/i386/i386.c: Include fold-const-call.h, tree-vrp.h
-	and tree-ssanames.h.
-	(ix86_fold_builtin): Fold IX86_BUILTIN_[LT]ZCNT{16,32,64}
-	with INTEGER_CST argument.
-	(ix86_gimple_fold_builtin): New function.
-	(TARGET_GIMPLE_FOLD_BUILTIN): Define.
-
-	* dwarf2out.c (ranges_table): Change into vec<dw_ranges, va_gc> *.
-	(ranges_by_label): Change into vec<dw_ranges_by_label, va_gc> *.
-	(ranges_table_allocated, ranges_table_in_use,
-	ranges_by_label_allocated, ranges_by_label_in_use,
-	RANGES_TABLE_INCREMENT): Removed.
-	(add_ranges_num): Use vec_safe_push into ranges_table.
-	(add_ranges_by_labels): Use vec_safe_push into ranges_by_label.
-	(output_ranges): Adjust for ranges_table and ranges_by_label
-	conversion from arrays to vec.
-	(add_high_low_attributes, dwarf2out_finish): Adjust for range_table
-	conversion from arrays to vec.
-	(dwarf2out_c_finalize): Don't clear ranges_table_allocated,
-	ranges_table_in_use, ranges_by_label_allocated and
-	ranges_by_label_in_use.  Set ranges_by_label to NULL instead of 0.
-
-	* dwarf2out.c (gen_variable_die): Emit DW_AT_const_expr attribute
-	if needed.  Re-add origin_die variable and its initialization.
-
-	* gimplify.c (gimplify_bind_expr): Handle oacc_declare_returns
-	even for -fstack-reuse=none, or for volatile vars etc.
-
-2016-10-21  David Malcolm  <dmalcolm@redhat.com>
-
-	* print-rtl-function.c (flag_compact): Move extern decl to...
-	* print-rtl.h (flag_compact): ...here.
-	* rtl-tests.c (selftests::assert_rtl_dump_eq): New function.
-	(ASSERT_RTL_DUMP_EQ): New macro.
-	(selftest::test_dumping_regs): New function.
-	(selftest::test_dumping_insns): New function.
-	(selftest::test_uncond_jump): Add uses of ASSERT_RTL_DUMP_EQ on
-	the insns.
-	(selftest::rtl_tests_c_tests): Call the new test functions.
-
-2016-10-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* cfgcleanup.c (merge_blocks_move_successor_nojumps): Adjust.
-	(outgoing_edges_match): Likewise.
-	(try_crossjump_to_edge): Likewise.
-	* cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
-	(rtl_tidy_fallthru_edge): Likewise.
-	* rtl.h (tablejump_p): Adjust prototype.
-	* rtlanal.c (tablejump_p): Return the label as a rtx_insn *.
-
-2016-10-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* rtl.h (label_ref_label): New function.
-	(set_label_ref_label): New function.
-	(LABEL_REF_LABEL): Delete.
-	* alias.c (rtx_equal_for_memref_p): Adjust.
-	* cfgbuild.c (make_edges): Likewise.
-	(purge_dead_tablejump_edges): Likewise.
-	* cfgexpand.c (convert_debug_memory_address): Likewise.
-	* cfgrtl.c (patch_jump_insn): Likewise.
-	* combine.c (distribute_notes): Likewise.
-	* cse.c (hash_rtx_cb): Likewise.
-	(exp_equiv_p): Likewise.
-	(fold_rtx): Likewise.
-	(check_for_label_ref): Likewise.
-	* cselib.c (rtx_equal_for_cselib_1): Likewise.
-	(cselib_hash_rtx): Likewise.
-	* emit-rtl.c (mark_label_nuses): Likewise.
-	* explow.c (convert_memory_address_addr_space_1): Likewise.
-	* final.c (output_asm_label): Likewise.
-	(output_addr_const): Likewise.
-	* gcse.c (add_label_notes): Likewise.
-	* genconfig.c (walk_insn_part): Likewise.
-	* genrecog.c (validate_pattern): Likewise.
-	* ifcvt.c (cond_exec_get_condition): Likewise.
-	(noce_emit_store_flag): Likewise.
-	(noce_get_alt_condition): Likewise.
-	(noce_get_condition): Likewise.
-	* jump.c (maybe_propagate_label_ref): Likewise.
-	(mark_jump_label_1): Likewise.
-	(redirect_exp_1): Likewise.
-	(rtx_renumbered_equal_p): Likewise.
-	* lra-constraints.c (operands_match_p): Likewise.
-	* print-rtl.c (print_value): Likewise.
-	* reload.c (find_reloads): Likewise.
-	* reload1.c (set_label_offsets): Likewise.
-	* reorg.c (get_branch_condition): Likewise.
-	* rtl-tests.c (test_uncond_jump): Likewise.
-	* rtl.c (rtx_equal_p_cb): Likewise.
-	(rtx_equal_p): Likewise.
-	* rtlanal.c (reg_mentioned_p): Likewise.
-	(rtx_referenced_p): Likewise.
-	(get_condition): Likewise.
-	* varasm.c (const_hash_1): Likewise.
-	(compare_constant): Likewise.
-	(const_rtx_hash_1): Likewise.
-	(output_constant_pool_1): Likewise.
-
-2016-10-21  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
-
-	PR target/71627
-	* reload.c (find_valid_class_1): Allow regclass if atleast one
-	regno in regclass is ok. Compute and use rclass size based on
-	actually available regnos for mode in rclass.
-
-2016-10-21  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/sparc/sparc-modes.def (CCV): New.
-	(CCXV): Likewise.
-	* config/sparc/predicates.md (v_comparison_operator): New.
-	(icc_comparison_operator): Add support for CCV/CCXV.
-	(xcc_comparison_operator): Likewise.
-	* config/sparc/sparc.c (output_cbranch): Likewise.
-	(sparc_print_operand): Likewise.
-	* config/sparc/sparc.md (UNSPEC_{ADD,SUB,NEG}V): New constants.
-	(uaddvdi4): New expander.
-	(addvdi4): Likewise.
-	(uaddvdi4_sp32): New instruction.
-	(addvdi4_sp32): Likewise.
-	(uaddvsi4): New expander.
-	(addvsi4): Likewise.
-	(cmp_ccc_plus_sltu_set): New instruction.
-	(cmp_ccv_plus): Likewise.
-	(cmp_ccxv_plus): Likewise.
-	(cmp_ccv_plus_set): Likewise.
-	(cmp_ccxv_plus_set): Likewise.
-	(cmp_ccv_plus_sltu_set): Likewise.
-	(uaddvdi4): New expander.
-	(subvdi4): Likewise.
-	(usubdi4_sp32): New instruction.
-	(subvdi4_sp32): Likewise.
-	(usubvsi4): New expander.
-	(subvsi4): Likewise.
-	(cmpsi_minus_sltu_set): New instruction.
-	(cmp_ccv_minus): Likewise.
-	(cmp_ccxv_minus): Likewise.
-	(cmp_ccv_minus_set): Likewise.
-	(cmp_ccxv_minus_set): Likewise.
-	(cmp_ccv_minus_sltu_set): Likewise.
-	(unegvdi3): New expander.
-	(negvdi3): Likewise.
-	(unegdi3_sp32): New instruction.
-	(negvdi3_sp32): Likewise.
-	(unegvsi3): New expander.
-	(negvsi3): Likewise.
-	(cmp_ccc_neg_sltu_set): New instruction.
-	(cmp_ccv_neg): Likewise.
-	(cmp_ccxv_neg): Likewise.
-	(cmp_ccv_neg_set): Likewise.
-	(cmp_ccxv_neg_set): Likewise.
-	(cmp_ccv_neg_sltu_set): Likewise.
-
-	* tree-ssa-loop-split.c: Remove trailing spaces.
-	* match.pd: Likewise.
-
-2016-10-21  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR rtl-optimization/78038
-	* ree.c (get_defs): Return NULL if a defining insn for REG cannot
-	be deduced to set REG through the RTL structure.
-	(make_defs_and_copies_lists): Return false on a failing get_defs call.
-
-2016-10-21  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/78051
-	* tree-vrp.c (evrp_dom_walker::before_dom_children): Update stmt
-	and mark replaced if folding did something.
-
-2016-10-21  David Edelsohn  <dje.gcc@gmail.com>
-
-	* config/rs6000/rs6000.c (rs6000_assemble_visibility): Swap "internal"
-	and "protected" in visibility types.
-	(rs6000_xcoff_declare_function_name): Fix formatting.
-	(rs6000_xcoff_declare_object_name): Fix formatting.
-
-2016-10-21  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (ix86_fold_builtin): Handle IX86_BUILTIN_INFQ
-	and IX86_BUILTIN_HUGE_VALQ here ...
-	(ix86_expand_builtin): ... not here.
-
-2016-10-20  Jakub Jelinek  <jakub@redhat.com>
-
-	* doc/gty.texi (for_user): Use @item next to @findex.
-
-2016-10-20  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/78037
-	* config/i386/bmiintrin.h (__tzcnt_u16): Call __builtin_ia32_tzcnt_u16.
-	(__tzcnt_u32, _tzcnt_u32): Call __builtin_ia32_tzcnt_u32.
-	(__tzcnt_u64, _tzcnt_u64): Call __builtin_ia32_tzcnt_u64.
-	* config/i386/lzcntintrin.h (__lzcnt_u16): Call
-	__builtin_ia32_lzcnt_u16.
-	(__lzcnt_u32, _lzcnt_u32): Call __builtin_ia32_lzcnt_u32.
-	(__lzcnt_u64, _lzcnt_u64): Call __builtin_ia32_lzcnt_u64.
-	* config/i386/i386.md (UNSPEC_LZCNT, UNSPEC_TZCNT): New unspecs.
-	(ctz<mode>2, *ctz<mode>2): Use SWI48 mode iterator.
-	(bmi_tzcnt_<mode>): New expander.
-	(*bmi_tzcnt_<mode>_falsedep_1): New define_insn_and_split pattern.
-	(*bmi_tzcnt_<mode>_falsedep, *bmi_tzcnt_<mode>): New insn patterns.
-	(clz<mode>2_lzcnt, *clz<mode>2_lzcnt): Use SWI48 mode iterator.
-	(lzcnt_<mode>): New expander.
-	(*lzcnt_<mode>_falsedep_1): New define_insn_and_split pattern.
-	(*lzcnt_<mode>_falsedep, *lzcnt_<mode>): New insn patterns.
-	* config/i386/i386-builtin-types.def (UINT_FTYPE_UINT): New.
-	(UINT64_FTYPE_UINT64): New.
-	* config/i386/i386-builtin.def (__builtin_clzs): Remove description.
-	(__builtin_ia32_lzcnt_u16): New description.
-	(__builtin_ia32_lzcnt_u32): Ditto.
-	(__builtin_ia32_lzcnt_u64): Ditto.
-	(__builtin_ctzs): Remove description.
-	(__builtin_ia32_tzcnt_u16): New description.
-	(__builtin_ia32_tzcnt_u32): Ditto.
-	(__builtin_ia32_tzcnt_u64): Ditto.
-	* config/i386/i386.c (ix86_expand_args_builtin): Handle
-	UINT_FTYPE_UINT and UINT64_FTYPE_UINT64.
-
-2016-10-20  Martin Liska  <mliska@suse.cz>
-
-	PR lto/78049
-	* lto-streamer-in.c (fixup_call_stmt_edges_1): Replace value
-	comparison with STMT_UID_NOT_IN_RANGE.
-	(fixup_call_stmt_edges): Do not fixup edges of a thunk in
-	LTRANS.
-
-2016-10-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* compare-elim.c (conforming_compare): Accept UNSPECs.
-	(find_comparison_dom_walker::before_dom_children): Deal with
-	instructions both using and killing the flags register.
-	(equivalent_reg_at_start): New function extracted from...
-	(try_eliminate_compare): ...here.  Use it and add support for
-	registers and UNSPECs as second operand of the compare.
-	* config/visium/visium-modes.def (CCV): New.
-	* config/visium/predicates.md (visium_v_comparison_operator): New.
-	(visium_branch_operator): Deal with CCV mode.
-	* config/visium/visium.c (visium_select_cc_mode): Likewise.
-	(output_cbranch): Likewise.
-	* config/visium/visium.md (UNSPEC_{ADD,SUB,NEG}V): New constants.
-	(uaddv<mode>4): New expander.
-	(addv<mode>4): Likewise.
-	(add<mode>3_insn_set_carry): New instruction.
-	(add<mode>3_insn_set_overflow): Likewise.
-	(addsi3_insn_set_overflow): Likewise.
-	(usubv<mode>4): New expander.
-	(subv<mode>4): Likewise.
-	(sub<mode>3_insn_set_carry): New instruction.
-	(sub<mode>3_insn_set_overflow): Likewise.
-	(subsi3_insn_set_overflow): Likewise.
-	(unegv<mode>3): New expander.
-	(negv<mode>3): Likewise.
-	(neg<mode>2_insn_set_overflow): New instruction.
-	(addv_tst<mode>): Likewise.
-	(subv_tst<mode>): Likewise.
-	(negv_tst<mode>): Likewise.
-	(cbranch<mode>4_addv_insn): New splitter and instruction.
-	(cbranch<mode>4_subv_insn): Likewise.
-	(cbranch<mode>4_negv_insn): Likewise.
-
-2016-10-20  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-alias.c (ptrs_compare_unequal): Remove code duplication.
-	Handle decls possibly not bound.
-	* tree-ssa-structalias.c (get_constraint_for_ssa_var): Add
-	nothing_id for decls that might not be bound if we are interested
-	for the address.
-	(get_constraint_for_component_ref): Deal with that.
-
-2016-10-20  Michael Matz  <matz@suse.de>
-
-	Loop splitting.
-	* common.opt (-fsplit-loops): New flag.
-	* passes.def (pass_loop_split): Add.
-	* opts.c (default_options_table): Add OPT_fsplit_loops entry at -O3.
-	(enable_fdo_optimizations): Add loop splitting.
-	* timevar.def (TV_LOOP_SPLIT): Add.
-	* tree-pass.h (make_pass_loop_split): Declare.
-	* tree-ssa-loop-manip.h (rewrite_into_loop_closed_ssa_1): Declare.
-	* tree-ssa-loop-unswitch.c: Include tree-ssa-loop-manip.h,
-	* tree-ssa-loop-split.c: New file.
-	* Makefile.in (OBJS): Add tree-ssa-loop-split.o.
-	* doc/invoke.texi (fsplit-loops): Document.
-	* doc/passes.texi (Loop optimization): Add paragraph about loop
-	splitting.
-
-2016-10-20  Richard Biener  <rguenther@suse.de>
-
-	* cgraphunit.c (analyze_functions): Set node->definition to
-	false to signal symbol removal to debug_hooks->late_global_decl.
-	* ipa.c (symbol_table::remove_unreachable_nodes): When not in
-	WPA signal symbol removal to the debuginfo machinery.
-	* dwarf2out.c (dwarf2out_late_global_decl): Instead of
-	using early_finised to guard the we're called for symbol
-	removal case look at the symtabs definition flag.
-	(gen_variable_die): Remove redundant check.
-
-2016-10-20  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.md ("prefetch"): Add fallthrough comment.
-
-2016-10-20  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	PR tree-optimization/53979
-	* match.pd ((a ^ b) | a -> a | b): New pattern.
-
-2016-10-19  John David Anglin  <danglin@gcc.gnu.org>
-
-	* config/pa/pa64-hpux.h (PA_INIT_FRAME_DUMMY_ASM_OP): Move to
-	config/pa/pa64-hpux-lib.h.
-	(PA_CRTBEGIN_HACK): Likewise.
-	(DTOR_LIST_BEGIN): Likewise.
-
-2016-10-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* config/arm/arm.c (arm_emit_coreregs_64bit_shift): Clear the result
-	register only if "in" and "out" are different registers.
-
-2016-10-19  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* omp-low.c (pass_oacc_device_lower::gate): New method.
-	(execute): Always call execute_oacc_device_lower.
-
-2016-10-19  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR tree-optimization/77916
-	PR tree-optimization/77937
-	* gimple-ssa-strength-reduction.c (analyze_increments): Remove
-	stopgap fix.
-	(insert_initializers): Requirement of initializer for -1 should be
-	based on pointer-typedness of the candidate basis.
-
-2016-10-19  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/78005
-	* tree-vect-loop-manip.c (vect_gen_prolog_loop_niters): Compute
-	upper (included) bound for niters of prolog loop.
-	(vect_gen_scalar_loop_niters): Change parameter VF to VFM1.
-	Compute niters of scalar loop above which vectorized loop is
-	preferred, as well as the upper (included) bound for the niters.
-	(vect_do_peeling): Record niter bound for loops accordingly.
-
-2016-10-19  Thomas Schwinge  <thomas@codesourcery.com>
-
-	PR lto/77458
-	* tree-core.h (enum tree_index): Put the complex types after their
-	component types.
-	* tree-streamer.c (verify_common_node_recorded): New function.
-	(preload_common_nodes) <TREE_CODE (node) == COMPLEX_TYPE>: Use it.
-
-2016-10-19  Martin Liska  <mliska@suse.cz>
-
-	* cgraph.h (cgraph_edge::binds_to_current_def_p):
-	Replace NULL with false as a return value.
-
-2016-10-19  Thomas Schwinge  <thomas@codesourcery.com>
-
-	PR tree-optimization/78024
-	* omp-low.c (oacc_loop_discovery): Call clear_bb_flags before, and
-	don't clear BB_VISITED after processing.
-
-2016-10-19  Richard Biener  <rguenther@suse.de>
-
-	* domwalk.c (dom_walker::walk): Use RPO order.
-
-2016-10-19  Richard Biener  <rguenther@suse.de>
-
-	* tree-vrp.c (evrp_dom_walker::evrp_dom_walker): Initialize
-	stmts_to_remove.
-	(evrp_dom_walker::~evrp_dom_walker): Free it.
-	(evrp_dom_walker::stmts_to_remove): Add.
-	(evrp_dom_walker::before_dom_children): Mark PHIs and stmts
-	whose output we fully propagate for removal.  Propagate
-	into BB destination PHI arguments.
-	(execute_early_vrp): Remove queued stmts.  Dump value ranges
-	before stmt removal.
-
-2016-10-18  Aldy Hernandez  <aldyh@redhat.com>
-
-	* Makefile.in (OBJS): Add gimple-ssa-warn-alloca.o.
-	* passes.def: Add two instances of pass_walloca.
-	* tree-pass.h (make_pass_walloca): New.
-	* gimple-ssa-warn-alloca.c: New file.
-	* doc/invoke.texi: Document -Walloca, -Walloca-larger-than=, and
-	-Wvla-larger-than= options.
-
-2016-10-18  Thomas Schwinge  <thomas@codesourcery.com>
-
-	* cfg.c (clear_bb_flags): Use FOR_ALL_BB_FN.
-	* config/nvptx/nvptx.c (nvptx_find_sese): Likewise.
-
-2016-10-18  Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	* config/rs6000/altivec.h (vec_xl_len): New macro.
-	(vec_xst_len): New macro.
-	(vec_cmpnez): New macro.
-	(vec_cntlz_lsbb): New macro.
-	(vec_cnttz_lsbb): New macro.
-	(vec_xlx): New macro.
-	(vec_xrx): New macro.
-	(vec_all_nez): New C++ predicate template.
-	(vec_any_eqz): New C++ predicate template.
-	(vec_all_ne): Revised C++ predicate template under _ARCH_PWR9
-	conditional compilation.
-	(vec_any_eq): Revised C++ predicate template under _ARCH_PWR9
-	conditional compilation.
-	(vec_all_nez): New macro.
-	(vec_any_eqz): New macro.
-	(vec_all_ne): Revised macro under _ARCH_PWR9 conditional
-	compilation.
-	(vec_any_eq): Revised macro under _ARCH_PWR9 conditional
-	compilation.
-	* config/rs6000/vector.md (VI): Moved this mode iterator
-	definition from altivec.md to vector.md.
-	(UNSPEC_NEZ_P): New value.
-	(vector_ne_<mode>_p): New expansion for implementation of
-	vec_all_ne and vec_any_eq built-in functions.
-	(vector_nez_<mode>_p): New expansion for implementation of
-	vec_all_nez and vec_any_eqz built-in functions.
-	(vector_ne_v2di_p): New expansion for implementation of vec_all_ne
-	and vec_any_eq built-in function.
-	(cr6_test_for_zero): New commentary to explain this expansion.
-	(cr6_test_for_zero_reverse): New commentary to explain this expansion.
-	(cr6_test_for_lt): New commentary to explain this expansion.
-	(cr6_test_for_lt_reverse): New commentary to explain this
-	expansion.
-	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
-	overloaded function prototypes for vec_all_ne, vec_all_nez,
-	vec_any_eq, vec_any_eqz, vec_cmpnez, vec_cntlz_lsbb,
-	vec_cnttz_lsbb, vec_xl_len, vec_xst_len, vec_xlx, and vec_xrx
-	built-in functions.
-	(altivec_resolve_overloaded_builtin): Modify the handling of
-	ALTIVEC_BUILTIN_VEC_CMPNE to use the Power9 instructions when
-	the compiler is configured to support TARGET_P9_VECTOR.
-	* config/rs6000/rs6000-builtin.def (BU_ALTIVEC_P): Add commentary
-	to explain the special processing that is given to predicate
-	built-ins introduced using this macro.
-	(BU_ALTIVEC_OVERLOAD_P): Add commentary to alert maintainers to
-	the special processing given to predicate built-ins introduced
-	using this macro.
-	(BU_VSX_P): Likewise.
-	(BU_P8V_AV_P): Likewise.
-	(BU_P9V_AV_P): Likewise.
-	(BU_P9V_AV_X): New macro.
-	(BU_P9V_64BIT_AV_X): New macro.
-	(BU_P9V_VSX_3): New macro.
-	(BU_P9V_OVERLOAD_P): New macro.
-	(LXVL): New BU_P9V_64BIT_VSX_2.
-	(VEXTUBLX): New BU_P9V_AV_2.
-	(VEXTUBRX): Likewise.
-	(VEXTUHLX): Likewise.
-	(VEXTUHRX): Likewise.
-	(VEXTUWLX): Likewise.
-	(VEXTUWRX): Likewise.
-	(STXVL): New BU_P9V_64BIT_AV_X.
-	(VCLZLSBB): New BU_P9V_AV_1.
-	(VCTZLSBB): Likewise.
-	(CMPNEB): New BU_P9V_AV_2.
-	(CMPNEH): Likewise.
-	(CMPNEW): Likewise.
-	(CMPNEF): Likewise.
-	(CMPNED): Likewise.
-	(VCMPNEB_P): New BU_P9V_AV_P.
-	(VCMPNEH_P): Likewise.
-	(VCMPNEW_P): Likewise.
-	(VCMPNED_P): Likewise.
-	(VCMPNEFP_P): Likewise.
-	(VCMPNEDP_P): Likewise.
-	(CMPNEZB): New BU_P9V_AV_2.
-	(CMPNEZH): Likewise.
-	(CMPNEZW): Likewise.
-	(VCMPNEZB_P): New BU_P9V_AV_P.
-	(VCMPNEZH_P): Likewise.
-	(VCMPNEZW_P): Likewise.
-	(LXVL): New BU_P9V_OVERLOAD_2.
-	(STXVL): New BU_P9V_OVERLOAD_3.
-	(VEXTULX): New BU_P9V_OVERLOAD_2.
-	(VEXTURX): Likewise.
-	(CMPNEZ): Likewise.
-	(VCMPNEZ_P): New BU_P9V_OVERLOAD_P.
-	(VCMPNE_P): Likewise.
-	(VCLZLSBB): New BU_P9V_OVERLOAD_1.
-	(VCTZLSBB): Likewise.
-	* config/rs6000/rs6000.c (altivec_expand_predicate_builtin): Add
-	comment to explain mode used for scratch register.
-	(altivec_expand_stxvl_builtin): New function.
-	(altivec_expand_builtin): Add case for new constant P9V_BUILTIN_STXVL.
-	(altivec_init_builtins): Add initialized variable
-	void_ftype_v16qi_pvoid_long and use this type to define the
-	built-in function __builtin_altivec_stxvl.
-	* config/rs6000/vsx.md (UNSPEC_LXVL): New value.
-	(UNSPEC_STXVL): New value.
-	(UNSPEC_VCLZLSBB): New value.
-	(UNSPEC_VCTZLSBB): New value.
-	(UNSPEC_VEXTUBLX): New value.
-	(UNSPEC_VEXTUHLX): New value.
-	(UNSPEC_VEXTUWLX): New value.
-	(UNSPEC_VEXTUBRX): New value.
-	(UNSPEC_VEXTUHRX): New value.
-	(UNSPEC_VEXTUWRX): New value.
-	(UNSPEC_VCMPNEB): New value.
-	(UNSPEC_VCMPNEZB): New value.
-	(UNSPEC_VCMPNEH): New value.
-	(UNSPEC_VCMPNEZH): New value.
-	(UNSPEC_VCMPNEW): New value.
-	(UNSPEC_VCMPNEZW): New value.
-	(*vsx_ne_<mode>_p): New insn for vector test all not equal with
-	vector of integer modes.
-	(*vsx_ne_<mode>_p): New insn for vector test all not equal with
-	vector of float or double modes.
-	(*vector_nez_<mode>_p): New insn for vector test all not equal or
-	zero.
-	(lxvl): New expand for load VSX vector with length.
-	(*lxvl): New insn for load VSX vector with length.
-	(stxvl): New expand for store VSX vector with length.
-	(*stxvl): New insn for store VSX vector with length.
-	(vcmpneb): New insn for vector of byte compare not equal.
-	(vcmpnezb): New insn for vector of byte compare not equal or zero.
-	(vcmpneh): New insn for vector of half word compare not equal.
-	(vcmpnezh): New insn for vector of half word compare not equal or
-	zero.
-	(vcmpnew): New insn for vector of word compare not equal.
-	(vcmpne<VSs>): New insn for vector of float or double compare not
-	equal.
-	(vcmpnezw): New insn for vector of word compare not equal or zero.
-	(vclzlsbb): New insn for vector count leading zero
-	least-significant bits byte.
-	(vctzlsbb): New insn for vector count trailing zero least
-	signficant bits byte.
-	(vextublx): New insn for vector extract unsigned byte left
-	indexed.
-	(vextubrx): New insn for vector extract unsigned byte right
-	indexed.
-	(vextuhlx): New insn for vector extract unsigned half word left
-	indexed.
-	(vextuhrx): New insn for vector extract unsigned half word right
-	indexed.
-	(vextuwlx): New insn for vector extract unsigned word left
-	indexed.
-	(vextuwrx): New insn for vector extract unsigned word right
-	indexed.
-	* config/rs6000/rs6000.h (RS6000_BTC_CONST): Enhance comment to
-	clarify intent of this constant.
-	* config/rs6000/altivec.md (VI): Move this mode iterator to vsx.md.
-	* doc/extend.texi (PowerPC Altivec Built-in Functions): Add
-	documentation for vec_all_nez, vec_any_eqz, vec_cmpnez,
-	vec_cntlz_lsbb, vec_cnttz_lsbb, vec_xl_len, vec_xst_len, vec_xlx,
-	and vec_xrx functions.
-
-2016-10-18  Andrew Pinski  <apinski@cavium.com>
-
-	PR tree-opt/65950
-	* predict.c (is_exit_with_zero_arg): New function.
-	(tree_bb_level_predictions): Don't consider paths leading to exit(0)
-	as nottaken.
-
-2016-10-18  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/77991
-	* config/i386/i386.c (legitimize_tls_address)
-	<case TLS_MODEL_INITIAL_EXEC>: For TARGET_64BIT || TARGET_ANY_GNU_TLS
-	convert dest to Pmode if different than Pmode.
-
-2016-10-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR tree-optimization/77916
-	* gimple-ssa-strength-reduction.c (analyze_increments): Reinstate
-	stopgap fix, as pointers with -1 increment are still broken.
-
-2016-10-18  David Edelsohn  <dje.gcc@gmail.com>
-
-	* config/rs6000/rs6000.c (rs6000_output_symbol_ref): Move storage
-	mapping class decoration from here...
-	(rs6000_xcoff_encode_section): ...to here.
-
-	(rs6000_savres_strategy) [AIX,ELFv2]: Inline FPR save and restore
-	if shrink-wrapping and optimizing for speed.
-
-2016-10-18  Richard Biener  <rguenther@suse.de>
-
-	* tree-vrp.c (evrp_dom_walker::before_dom_children): Handle
-	not visited but non-executable predecessors.  Return taken edge.
-	Simplify conditions and refactor propagation vs. folding step.
-
-2016-10-18  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.c (rs6000_savres_strategy): Do not select
-	{SAVE,REST}_MULTIPLE if shrink-wrapping separate components.
-	(rs6000_get_separate_components): Assert we do not have those
-	strategies selected.
-
-2016-10-18  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-propagate.h (substitute_and_fold): Adjust prototype.
-	* tree-ssa-propagate.c (ssa_prop_fini): Remove final BB_VISITED
-	clearing.
-	(substitute_and_fold_dom_walker): Adjust constructor.
-	(substitute_and_fold_dom_walker::before_dom_children): Remove
-	do_dce flag and handling (always true).
-	(substitute_and_fold): Likewise.
-	* tree-vrp.c (vrp_finalize): Adjust.
-	(execute_early_vrp): Remove final BB_VISITED clearing.
-	* tree-ssa-ccp.c (ccp_finalize): Adjust.
-	* tree-ssa-copy.c (fini_copy_prop): Likewise.
-	* ira.c (ira): Call clear_bb_flags.
-
-2016-10-18  Richard Biener  <rguenther@suse.de>
-
-	* genmatch.c (dt_operand::gen_gimple_expr): Use get_name to
-	get at the operand to look at with TREE_OPERAND for generic
-	sub-nodes.
-
-2016-10-18  David Malcolm  <dmalcolm@redhat.com>
-
-	* genattrtab.c (attr_string): Use rtx_reader_ptr for call to
-	copy_md_ptr_loc.
-	(gen_attr): Use rtx_reader_ptr for lookup_enum_type call.
-	(write_test_expr): Use rtx_reader_ptr for calls to
-	fprint_c_condition.
-	(write_attr_value): Likewise.
-	* genconditions.c (write_one_condition): Use rtx_reader_ptr for
-	call to print_md_ptr_loc.
-	(write_one_condition): Likewise for calls to print_c_condition.
-	* genconstants.c: Include "statistics.h" and "vec.h".
-	(main): Update for conversion to member functions.
-	* genemit.c (emit_c_code): Use rtx_reader_ptr for
-	call to print_md_ptr_loc.
-	* genenums.c: Include "statistics.h" and "vec.h".
-	(main): Update for conversion of traverse_enum_types to a method.
-	* genmddeps.c: Include "statistics.h" and "vec.h".
-	* genoutput.c (process_template): Use rtx_reader_ptr for call to
-	print_md_ptr_loc.
-	* genpreds.c (write_predicate_subfunction): Likewise.
-	(write_predicate_expr): Likewise for calls to print_c_condition.
-	* genrecog.c (print_test): Likewise.
-	* gensupport.c (process_rtx): Likewise for calls to
-	copy_md_ptr_loc and join_c_conditions.
-	(alter_test_for_insn): Likewise for call to join_c_conditions.
-	(process_substs_on_one_elem): Likewise.
-	(gen_mnemonic_setattr): Update for move of string_obstack to a
-	field of rtx_reader.
-	(mnemonic_htab_callback): Likewise.  Fix formatting.
-	(gen_mnemonic_attr): Likewise.
-	* gentarget-def.c (def_target_insn): Use rtx_reader_ptr for calls
-	to print_c_condition.
-	* read-md.c: Include "statistics.h" and "vec.h".
-	(string_obstack): Convert this global to field "m_string_obstack"
-	of class rtx_reader.
-	(ptr_locs): Likewise, as "m_ptr_locs".
-	(ptr_loc_obstack): Likewise, as "m_ptr_loc_obstack".
-	(joined_conditions): Likewise, as "m_joined_conditions".
-	(joined_conditions_obstack): Likewise, as "m_joined_conditions_obstack".
-	(md_constants): Likewise, as "m_md_constants".
-	(enum_types): Likewise, as "m_enum_types".
-	(set_md_ptr_loc): Convert to...
-	(rtx_reader::set_md_ptr_loc): ...member function.
-	(get_md_ptr_loc): Convert to...
-	(rtx_reader::get_md_ptr_loc): ...member function.
-	(copy_md_ptr_loc): Convert to...
-	(rtx_reader::copy_md_ptr_loc): ...member function.
-	(fprint_md_ptr_loc): Convert to...
-	(rtx_reader::fprint_md_ptr_loc): ...member function.
-	(print_md_ptr_loc): Convert to...
-	(rtx_reader::print_md_ptr_loc): ...member function.
-	(join_c_conditions): Convert to...
-	(rtx_reader::join_c_conditions): ...member function.
-	(fprint_c_condition): Convert to...
-	(rtx_reader::fprint_c_condition): ...member function.
-	(print_c_condition): Convert to...
-	(rtx_reader::print_c_condition): ...member function.
-	(read_name): Convert to...
-	(rtx_reader::read_name): ...member function.
-	(read_escape): Convert to...
-	(rtx_reader::read_escape): ...member function.
-	(read_quoted_string): Convert to...
-	(rtx_reader::read_quoted_string): ...member function.
-	(read_braced_string): Convert to...
-	(rtx_reader::read_braced_string): ...member function.
-	(read_string): Convert to...
-	(rtx_reader::read_string): ...member function.
-	(read_skip_construct): Convert to...
-	(rtx_reader::read_skip_construct): ...member function.
-	(handle_constants): Convert to...
-	(rtx_reader::handle_constants): ...member function.
-	(traverse_md_constants): Convert to...
-	(rtx_reader::traverse_md_constants): ...member function.
-	(handle_enum): Convert to...
-	(rtx_reader::handle_enum): ...member function.
-	(lookup_enum_type): Convert to...
-	(rtx_reader::lookup_enum_type): ...member function.
-	(traverse_enum_types): Convert to...
-	(rtx_reader::traverse_enum_types): ...member function.
-	(rtx_reader::rtx_reader): Move initializations
-	of various former global data from rtx_reader::read_md_files to
-	here, as fields, along with the call to unlock_std_streams.
-	(rtx_reader::~rtx_reader): Clean up m_base_dir, and clean up
-	the new fields.
-	(rtx_reader::read_md_files): Move initializations of various
-	global data from here to the ctor.
-	* read-md.h (read_name): Convert to...
-	(rtx_reader::read_name): ...member function.
-	(rtx_reader::read_escape): New method decl.
-	(read_quoted_string): Convert to...
-	(rtx_reader::read_quoted_string): ...member function.
-	(rtx_reader::read_braced_string): New method decl.
-	(read_string): Convert to...
-	(rtx_reader::read_string): ...member function.
-	(rtx_reader::read_skip_construct): New method decl.
-	(rtx_reader::set_md_ptr_loc): New method decl.
-	(rtx_reader::get_md_ptr_loc): New method decl.
-	(copy_md_ptr_loc): Convert to...
-	(rtx_reader::copy_md_ptr_loc): ...member function.
-	(fprint_md_ptr_loc): Convert to...
-	(rtx_reader::fprint_md_ptr_loc): ...member function.
-	(print_md_ptr_loc): Convert to...
-	(rtx_reader::print_md_ptr_loc): ...member function.
-	(rtx_reader::lookup_enum_type): New method decl.
-	(rtx_reader::traverse_enum_types): New method decl.
-	(rtx_reader::handle_constants): New method decl.
-	(traverse_md_constants): Convert to...
-	(rtx_reader::traverse_md_constants): ...member function.
-	(rtx_reader::handle_enum): New method decl.
-	(rtx_reader::join_c_conditions): New method decl.
-	(fprint_c_condition): Convert to...
-	(rtx_reader::fprint_c_condition): ...member function.
-	(print_c_condition): Convert to...
-	(rtx_reader::print_c_condition): ...member function.
-	(rtx_reader::apply_iterator_to_string): New method decl.
-	(rtx_reader::copy_rtx_for_iterators): New method decl.
-	(rtx_reader::read_conditions): New method decl.
-	(rtx_reader::record_potential_iterator_use): New method decl.
-	(rtx_reader::read_mapping): New method decl.
-	(rtx_reader::read_rtx): New method decl.
-	(rtx_reader::read_rtx_code): New method decl.
-	(rtx_reader::read_rtx_operand): New method decl.
-	(rtx_reader::read_nested_rtx): New method decl.
-	(rtx_reader::read_rtx_variadic): New method decl.
-	(rtx_reader::get_string_obstack): New method.
-	(rtx_reader::get_md_constants): New method.
-	(string_obstack): Convert global variable decl to...
-	(rtx_reader::m_string_obstack): ...this new field.
-	(rtx_reader::m_ptr_locs): New field.
-	(rtx_reader::m_ptr_loc_obstack): New field.
-	(rtx_reader::m_joined_conditions): New field.
-	(rtx_reader::m_joined_conditions_obstack): New field.
-	(rtx_reader::m_md_constants): New field.
-	(rtx_reader::m_enum_types): New field.
-	* read-rtl.c (apply_iterator_to_string): Convert to...
-	(rtx_reader::apply_iterator_to_string): ...member function.
-	(copy_rtx_for_iterators): Convert to...
-	(rtx_reader::copy_rtx_for_iterators): ...member function.
-	(add_condition_to_string): Use rtx_reader_ptr for
-	calls join_c_conditions.
-	(apply_iterators): Use rtx_reader_ptr for calls to
-	join_c_conditions and copy_rtx_for_iterators.
-	(read_conditions): Convert to...
-	(rtx_reader::read_conditions): ...member function.
-	(record_potential_iterator_use): Convert to...
-	(rtx_reader::record_potential_iterator_use): ...member function.
-	(read_mapping): Convert to...
-	(rtx_reader::read_mapping): ...member function.
-	(read_subst_mapping): Use rtx_reader_ptr for read_string call.
-	(read_rtx): Convert to...
-	(rtx_reader::read_rtx): ...member function.
-	(read_rtx_code): Convert to...
-	(rtx_reader::read_rtx_code): ...member function.
-	(read_rtx_operand): Convert to...
-	(rtx_reader::read_rtx_operand): ...member function.  Update for move
-	of string_obstack to a field.
-	(read_nested_rtx): Convert to..
-	(rtx_reader::read_nested_rtx): ...member function.
-	(read_rtx_variadic): Convert to..
-	(rtx_reader::read_rtx_variadic): ...member function.
-
-2016-10-18  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* tree-vrp.c (get_value_range): Check get_ptr_nonnull.
-
-2016-10-18  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* ipa-prop.c (ipa_compute_jump_functions_for_edge): Set value range
-	for pointer type too.
-	(ipcp_update_vr): set_ptr_nonnull for pointer.
-
-2016-10-18  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* tree-ssa-alias.h (pt_solution_singleton_or_null_p): Renamed from
-	pt_solution_singleton_p.
-	* tree-ssa-ccp.c (fold_builtin_alloca_with_align): Use renamed
-	pt_solution_singleton_or_null_p from pt_solution_singleton_p.
-	* tree-ssa-structalias.c (find_what_p_points_to): Preserve
-	pointer nonnull computed by VRP.
-	Also Conservatively set pt.null to 1.
-	(pt_solution_reset): Conservatively set pt.null to 1.
-	(pt_solution_singleton_or_null_p): Renamed from
-	pt_solution_singleton_p.
-	* tree-ssanames.h (set_ptr_nonnull): Declare.
-	(get_ptr_nonnull): Likewise.
-	* tree-ssanames.c (set_ptr_nonnull): New.
-	(get_ptr_nonnull): Likewise.
-	* tree-vrp.c (vrp_finalize): Set ptr that are nonnull.
-	(evrp_dom_walker::before_dom_children): Likewise.
-
-2016-10-17  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/i386/i386.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Move to...
-	* config/i386/i386.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): ...here.
-	* config/ia64/ia64.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Move to...
-	* config/ia64/ia64.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): ...here.
-	* config/rs6000/rs6000.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Move to.
-	* config/rs6000/rs6000.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): ...here.
-	(rs6000_option_override_internal): Clear it if ABI_AIX.
-	* config/sparc/sparc.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Move to...
-	* config/sparc/sparc.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): ... here.
-
-2016-10-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* gimple-ssa-strength-reduction.c (record_increment): Remove
-	garbage comment.
-
-2016-10-17  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* expmed.c (expand_shift_1): Add MAY_FAIL parameter and do not assert
-	that the result is non-zero if it is true.
-	(maybe_expand_shift): New wrapper around expand_shift_1.
-	(emit_store_flag): Call maybe_expand_shift in lieu of expand_shift.
-
-2016-10-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR tree-optimization/77916
-	* gimple-ssa-strength-reduction.c (create_add_on_incoming_edge):
-	Don't allow a MINUS_EXPR for pointer arithmetic for either known
-	or unknown strides.
-	(record_increment): Increments of -1 for unknown strides just use
-	a multiply initializer like other negative values.
-	(analyze_increments): Remove stopgap solution for -1 increment
-	applied to pointer arithmetic.
-
-2016-10-17  Yuri Rumyantsev  <ysrumyan@gmail.com>
-
-	* dominance.c (dom_info::dom_info): Add new constructor for region
-	which is vector of basic blocks.
-	(dom_init): New method to initialize members common for both
-	constructors.
-	(dom_info::dom_info): Invoke dom_init for partial initialization.
-	(dom_info::get_idom): Add check to corner cases on basic blocks which
-	are not in region.
-	(dom_info::calc_dfs_tree): Check M_FAKE_EXIT_EDGE instead of M_REVERSE
-	to detect unreachable bbs.
-	(dom_info::calc_idoms): Likewise.
-	(compute_dom_fast_query_in_region): New function.
-	(calculate_dominance_info_for_region): Likewise.
-	(free_dominance_info_for_region): Likewise.
-	* dominance.h: Add prototypes for introduced region-based functions
-	* tree-if-conv.c (build_region): New function.
-	(if_convertible_loop_p_1): Invoke local version of post-dominators
-	calculation before basic block predication with subsequent freeing
-	post-dominator info.
-	(tree_if_conversion): Remove free of post-dominator info
-	(pass_if_conversion::execute): Delete detection of infinite loops
-	and fake edges to exit block since post-dominator calculation is
-	performed per if-converted loop only.
-
-2016-10-17  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	PR target/77308
-	* config/arm/arm.c (arm_emit_coreregs_64bit_shift): Clear the result
-	register explicitly.
-	* config/arm/arm.md (ashldi3, ashrdi3, lshrdi3): Don't FAIL if
-	optimizing for size.
-
-2016-10-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64.c: Delete inclusion of
-	cortex-a57-fma-steering.h.
-	(aarch64_override_options): Delete call
-	to aarch64_register_fma_steering.
-	* config/aarch64/aarch64-protos.h (make_pass_fma_steering): Declare.
-	* config/aarch64/cortex-a57-fma-steering.h: Delete.
-	* config/aarch64/aarch64-passes.def: New file.
-	* config/aarch64/cortex-a57-fma-steering.c
-	(aarch64_register_fma_steering): Delete definition.
-	(make_pass_fma_steering): Remove static qualifier.
-	* config/aarch64/t-aarch64 (PASSES_EXTRA): New directive.
-	(cortex-a57-fma-steering.o): Remove dependency on
-	cortex-a57-fma-steering.h.
-
-2016-10-17  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* explow.c (validize_mem): Do not modify the argument in-place.
-
-2016-10-17  Thomas Schwinge  <thomas@codesourcery.com>
-
-	* tree-streamer.c (record_common_node): Explicitly list expected
-	tree codes.
-
-2016-10-17  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/77988
-	* tree-vrp.c (remove_range_assertions): Use replace_uses_by.
-
-2016-10-17  Marek Polacek  <polacek@redhat.com>
-
-	* Makefile.in (C_COMMON_OBJS): Add c-family/c-attribs.o.
-
-2016-10-17  Richard Biener  <rguenther@suse.de>
-
-	* bb-reorder.c (reorder_basic_blocks_simple): Clear BB_VISITED
-	before using it.
-
-2016-10-17  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	PR tree-optimization/71636
-	* match.pd (x & ((1 << b) - 1) -> x & ~(~0 << b)): New pattern.
-
-2016-10-17  Richard Biener  <rguenther@suse.de>
-
-	* gimplify.c (gimplify_function_tree): Do not move the outer
-	binds block.
-
-2016-10-17  Jakub Jelinek  <jakub@redhat.com>
-
-	* langhooks.h (struct lang_hooks_for_decls): Remove
-	function_decl_explicit_p, function_decl_deleted_p and
-	function_decl_defaulted hooks.  Add decl_dwarf_attribute hook.
-	* langhooks-def.h (lhd_decl_dwarf_attribute): Declare.
-	(LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P,
-	LANG_HOOKS_FUNCTION_DECL_DELETED_P,
-	LANG_HOOKS_FUNCTION_DECL_DEFAULTED): Remove.
-	(LANG_HOOKS_DECL_DWARF_ATTRIBUTE): Define.
-	(LANG_HOOKS_DECLS): Remove LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P,
-	LANG_HOOKS_FUNCTION_DECL_DELETED_P and
-	LANG_HOOKS_FUNCTION_DECL_DEFAULTED.  Add
-	LANG_HOOKS_DECL_DWARF_ATTRIBUTE.
-	* langhooks.c (lhd_decl_dwarf_attribute): New function.
-	* dwarf2out.c (gen_subprogram_die): Use
-	lang_hooks.decls.decl_dwarf_attribute instead of
-	lang_hooks.decls.function_decl_*.
-
-2016-10-16  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/37139
-	PR ada/67205
-	* common.opt (-ftrampolines): New option.
-	* doc/invoke.texi (Code Gen Options): Document it.
-	* doc/tm.texi.in (Trampolines): Add TARGET_CUSTOM_FUNCTION_DESCRIPTORS.
-	* doc/tm.texi: Regenerate.
-	* builtins.def: Add init_descriptor and adjust_descriptor.
-	* builtins.c (expand_builtin_init_trampoline): Do not issue a warning
-	on platforms with descriptors.
-	(expand_builtin_init_descriptor): New function.
-	(expand_builtin_adjust_descriptor): Likewise.
-	(expand_builtin) <BUILT_IN_INIT_DESCRIPTOR>: New case.
-	<BUILT_IN_ADJUST_DESCRIPTOR>: Likewise.
-	* calls.c (prepare_call_address): Remove SIBCALLP parameter and add
-	FLAGS parameter.  Deal with indirect calls by descriptor and adjust.
-	Set STATIC_CHAIN_REG_P on the static chain register, if any.
-	(call_expr_flags): Set ECF_BY_DESCRIPTOR for calls by descriptor.
-	(expand_call): Likewise.  Move around call to prepare_call_address
-	and pass all flags to it.
-	* cfgexpand.c (expand_call_stmt): Reinstate CALL_EXPR_BY_DESCRIPTOR.
-	* gimple.h (enum gf_mask): New GF_CALL_BY_DESCRIPTOR value.
-	(gimple_call_set_by_descriptor): New setter.
-	(gimple_call_by_descriptor_p): New getter.
-	* gimple.c (gimple_build_call_from_tree): SetCALL_EXPR_BY_DESCRIPTOR.
-	(gimple_call_flags): Deal with GF_CALL_BY_DESCRIPTOR.
-	* langhooks.h (struct lang_hooks): Add custom_function_descriptors.
-	* langhooks-def.h (LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS): Define.
-	(LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS.
-	* rtl.h (STATIC_CHAIN_REG_P): New macro.
-	* rtlanal.c (find_first_parameter_load): Skip static chain registers.
-	* target.def (custom_function_descriptors): New POD hook.
-	* tree.h (FUNC_ADDR_BY_DESCRIPTOR): New flag on ADDR_EXPR.
-	(CALL_EXPR_BY_DESCRIPTOR): New flag on CALL_EXPR.
-	* tree-core.h (ECF_BY_DESCRIPTOR): New mask.
-	Document FUNC_ADDR_BY_DESCRIPTOR and CALL_EXPR_BY_DESCRIPTOR.
-	* tree.c (make_node_stat) <tcc_declaration>: Use FUNCTION_ALIGNMENT.
-	(build_common_builtin_nodes): Initialize init_descriptor and
-	adjust_descriptor.
-	* tree-nested.c: Include target.h.
-	(struct nesting_info): Add 'any_descr_created' field.
-	(get_descriptor_type): New function.
-	(lookup_element_for_decl): New function extracted from...
-	(create_field_for_decl): Likewise.
-	(lookup_tramp_for_decl): ...here.  Adjust.
-	(lookup_descr_for_decl): New function.
-	(convert_tramp_reference_op): Deal with descriptors.
-	(build_init_call_stmt): New function extracted from...
-	(finalize_nesting_tree_1): ...here.  Adjust and deal with descriptors.
-	* defaults.h (FUNCTION_ALIGNMENT): Define.
-	(TRAMPOLINE_ALIGNMENT): Set to above instead of FUNCTION_BOUNDARY.
-	* config/i386/i386.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define.
-	* config/ia64/ia64.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Likewise.
-	* config/rs6000/rs6000.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS):Likewise.
-	* config/sparc/sparc.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Likewise.
-
-2016-10-16  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/sparc/sparc.c (sparc_expand_vector_init): Only accept literal
-	constants in CONST_VECTORs.
-
-2016-10-15  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/sparc/sparc.c (sparc_expand_vec_perm_bmask): Use a scratch
-	register as destination of bmask.
-	(vector_init_bshuffle): Likewise.
-	* config/sparc/sparc.md (vec_perm_constv8qi): Likewise.
-	(bmaskdi_vis): Enable only in 64-bit mode.
-
-2016-10-15  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.c (rs6000_get_separate_components): Do not
-	make LR a separately shrink-wrapped component unless savres_strategy
-	contains all of {SAVE,REST}_INLINE_{GPRS,FPRS,VRS}.  Do not wrap
-	GPRs unless both {SAVE,REST}_INLINE_GPRS.  Do not disallow all
-	wrapping when not both {SAVE,REST}_INLINE_GPRS.
-
-2016-10-15  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* optabs.c (expand_parity): Fix mode mismatch, add final conversion
-	and keep looping on failure.
-
-2016-10-14  David Malcolm  <dmalcolm@redhat.com>
-
-	* print-rtl-function.c (print_edge): Omit "(flags)" when none are
-	set.
-	(print_rtx_function): Update example in comment for...
-	* print-rtl.c (print_rtx_operand_code_r): In compact mode, print
-	non-virtual pseudos with a '%' sigil followed by the regno, offset
-	by (LAST_VIRTUAL_REGISTER + 1), so that the first non-virtual
-	pseudo is dumped as "%0".
-
-2016-10-14  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/77959
-	* expr.c (expand_expr_real_1) <case CONST_DECL>: For EXPAND_WRITE
-	return a MEM.
-
-2016-10-14  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/sparc/sparc-passes.def: New file.
-	* config/sparc/t-sparc (PASSES_EXTRA): Add sparc-passes.def.
-	* config/sparc/sparc-protos.h (make_pass_work_around_errata): New.
-	* config/sparc/sparc.c (sparc_option_override): Don't register passes.
-
-2016-10-14  Pat Haugen  <pthaugen@us.ibm.com>
-
-	* loop-unroll.c (unroll_loop_runtime_iterations): Condition initial
-	loop peel to loops with exit test at the beginning.
-
-2016-10-14  Pat Haugen  <pthaugen@us.ibm.com>
-
-	PR rtl-optimization/68212
-	* cfgloopmanip.c (duplicate_loop_to_header_edge): Use preheader edge
-	frequency when computing scale factor for peeled copies.
-	* loop-unroll.c (unroll_loop_runtime_iterations): Fix freq/count
-	values for switch/peel blocks/edges.
-
-2016-10-14  Pedro Alves  <palves@redhat.com>
-
-	* coretypes.h (OVERRIDE, FINAL): Delete, moved to include/ansidecl.h.
-
-2016-10-14  Catherine Moore  <clm@codesourcery.com>
-
-	* config/mips/mips.c (mips_prepare_pch_save): Initialize
-	micromips_globals to zero.
-
-2016-10-14  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/77979
-	* tree-vrp.c (compare_name_with_value): Handle released SSA names
-	in the equivalency sets.
-	(compare_names): Likewise.
-
-2016-10-14  Martin Liska  <mliska@suse.cz>
-
-	* builtins.h(target_char_cst_p): Declare the function.
-	* builtins.c (fold_builtin_memchr): Remove.
-	(target_char_cst_p): Move the function from gimple-fold.c.
-	(fold_builtin_3): Do not call the function.
-	* gimple-fold.c (gimple_fold_builtin_memchr): New function.
-	(gimple_fold_builtin): Call the function.
-	* fold-const-call.c (fold_const_call_1): Handle CFN_BUILT_IN_MEMCHR.
-
-2016-10-14  Martin Liska  <mliska@suse.cz>
-
-	* builtins.c (fold_builtin_strcmp): Remove function.
-	(fold_builtin_strncmp): Likewise.
-	(fold_builtin_2): Remove call of the function.
-	(fold_builtin_3): Likewise.
-	* fold-const-call.c (fold_const_call): Add constant folding
-	for CFN_BUILT_IN_STRCASECMP and CFN_BUILT_IN_STRNCASECMP.
-	* fold-const-call.h (build_cmp_result): Declare the function.
-	* gimple-fold.c (gimple_load_first_char): New function.
-	(gimple_fold_builtin_string_compare): Likewise.
-	(gimple_fold_builtin): Call the function.
-
-2016-10-14  Nathan Sidwell  <nathan@acm.org>
-
-	* gcov-io.c (gcov_open): Deconstify 'mode'.
-
-2016-10-14  Martin Liska  <mliska@suse.cz>
-
-	* fold-const.c (c_getstr): Support of properly \0-terminated
-	string constants.  New argument is added.
-	* fold-const.h: New argument is added.
-
-2016-10-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_print_hint_for_core_or_arch):
-	New function.
-	(aarch64_print_hint_for_core): Likewise.
-	(aarch64_print_hint_for_arch): Likewise.
-	(aarch64_validate_march): Use it.  Fix indentation in type signature.
-	(aarch64_validate_mcpu): Use aarch64_print_hint_for_core_or_arch.
-	(aarch64_validate_mtune): Likewise.
-	(aarch64_handle_attr_arch): Likewise.
-	(aarch64_handle_attr_cpu): Likewise.
-	(aarch64_handle_attr_tune): Likewise.
-
-2016-10-14  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	* optabs.def: Remove optab function gen_int_libfunc for sdivmod_optab
-	and udivmod_optab.
-
-2016-10-13  Andreas Schwab  <schwab@linux-m68k.org>
-
-	* config/m68k/m68k.c (m68k_option_override): Check
-	opt_fstack_limit_symbol_arg and opt_fstack_limit_register_no
-	instead of stack_limit_rtx.
-
-2016-10-13  Jakub Jelinek  <jakub@redhat.com>
-
-	* dwarf2out.c (gen_member_die): Handle inline static data member
-	definitions.
-
-2016-10-13  Nathan Sidwell  <nathan@acm.org>
-
-	* gcov-io.c (gcov_open): Fix documentation.  Simplify setting
-	gcov_var.mode.  Remove unnecessary fstat.
-
-2016-10-13  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR bootstrap/77962
-	* function.c (thread_prologue_and_epilogue_insns): Call all
-	make_*logue_seq in the same order as traditional.  Call them
-	all a second time if shrink_wrapped_separate.
-
-2016-10-13  Marek Polacek  <polacek@redhat.com>
-
-	* Makefile.in (insn-attrtab.o-warn, insn-dfatab.o-warn,
-	insn-latencytab.o-warn, insn-output.o-warn, insn-emit.o-warn): Don't
-	use -Wno-error.
-
-2016-10-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR tree-optimization/77937
-	* gimple-ssa-strength-reduction.c (analyze_increments): Set cost
-	to infinite when we have a pointer with an increment of -1.
-
-2016-10-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* coretypes.h: Move MEMMODEL_* macros and enum memmodel definition
-	into ...
-	* memmodel.h: This file.
-	* alias.c, asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c,
-	  caller-save.c, calls.c, ccmp.c, cfgbuild.c, cfgcleanup.c,
-	  cfgexpand.c, cfgloopanal.c, cfgrtl.c, cilk-common.c, combine.c,
-	  combine-stack-adj.c, common/config/aarch64/aarch64-common.c,
-	  common/config/arm/arm-common.c, common/config/bfin/bfin-common.c,
-	  common/config/c6x/c6x-common.c, common/config/i386/i386-common.c,
-	  common/config/ia64/ia64-common.c, common/config/nvptx/nvptx-common.c,
-	  compare-elim.c, config/aarch64/aarch64-builtins.c,
-	  config/aarch64/aarch64-c.c, config/aarch64/cortex-a57-fma-steering.c,
-	  config/arc/arc.c, config/arc/arc-c.c, config/arm/arm-builtins.c,
-	  config/arm/arm-c.c, config/avr/avr.c, config/avr/avr-c.c,
-	  config/avr/avr-log.c, config/bfin/bfin.c, config/c6x/c6x.c,
-	  config/cr16/cr16.c, config/cris/cris.c, config/darwin-c.c,
-	  config/darwin.c, config/epiphany/epiphany.c,
-	  config/epiphany/mode-switch-use.c,
-	  config/epiphany/resolve-sw-modes.c, config/fr30/fr30.c,
-	  config/frv/frv.c, config/ft32/ft32.c, config/h8300/h8300.c,
-	  config/i386/i386-c.c, config/i386/winnt.c, config/iq2000/iq2000.c,
-	  config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
-	  config/m68k/m68k.c, config/mcore/mcore.c,
-	  config/microblaze/microblaze.c, config/mmix/mmix.c,
-	  config/mn10300/mn10300.c, config/moxie/moxie.c,
-	  config/msp430/msp430.c, config/nds32/nds32-cost.c,
-	  config/nds32/nds32-intrinsic.c, config/nds32/nds32-md-auxiliary.c,
-	  config/nds32/nds32-memory-manipulation.c,
-	  config/nds32/nds32-predicates.c, config/nds32/nds32.c,
-	  config/nios2/nios2.c, config/nvptx/nvptx.c, config/pa/pa.c,
-	  config/pdp11/pdp11.c, config/rl78/rl78.c, config/rs6000/rs6000-c.c,
-	  config/rx/rx.c, config/s390/s390-c.c, config/s390/s390.c,
-	  config/sh/sh.c, config/sh/sh-c.c, config/sh/sh-mem.cc,
-	  config/sh/sh_treg_combine.cc, config/sol2.c, config/spu/spu.c,
-	  config/stormy16/stormy16.c, config/tilegx/tilegx.c,
-	  config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
-	  config/visium/visium.c, config/vms/vms-c.c, config/xtensa/xtensa.c,
-	  coverage.c, cppbuiltin.c, cprop.c, cse.c, cselib.c, dbxout.c, dce.c,
-	  df-core.c, df-problems.c, df-scan.c, dojump.c, dse.c, dwarf2asm.c,
-	  dwarf2cfi.c, dwarf2out.c, emit-rtl.c, except.c, explow.c, expmed.c,
-	  expr.c, final.c, fold-const.c, function.c, fwprop.c, gcse.c,
-	  ggc-page.c, haifa-sched.c, hsa-brig.c, hsa-gen.c, hw-doloop.c,
-	  ifcvt.c, init-regs.c, internal-fn.c, ira-build.c, ira-color.c,
-	  ira-conflicts.c, ira-costs.c, ira-emit.c, ira-lives.c, ira.c, jump.c,
-	  loop-doloop.c, loop-invariant.c, loop-iv.c, loop-unroll.c,
-	  lower-subreg.c, lra.c, lra-assigns.c, lra-coalesce.c,
-	  lra-constraints.c, lra-eliminations.c, lra-lives.c, lra-remat.c,
-	  lra-spills.c, mode-switching.c, modulo-sched.c, omp-low.c, passes.c,
-	  postreload-gcse.c, postreload.c, predict.c, print-rtl-function.c,
-	  recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c,
-	  reload.c, reload1.c, reorg.c, resource.c, rtl-chkp.c, rtl-tests.c,
-	  rtlanal.c, rtlhooks.c, sched-deps.c, sched-rgn.c, sdbout.c,
-	  sel-sched-ir.c, sel-sched.c, shrink-wrap.c, simplify-rtx.c,
-	  stack-ptr-mod.c, stmt.c, stor-layout.c, target-globals.c,
-	  targhooks.c, toplev.c, tree-nested.c, tree-outof-ssa.c,
-	  tree-profile.c, tree-ssa-coalesce.c, tree-ssa-ifcombine.c,
-	  tree-ssa-loop-ivopts.c, tree-ssa-loop.c, tree-ssa-reassoc.c,
-	  tree-ssa-sccvn.c, tree-vect-data-refs.c, ubsan.c, valtrack.c,
-	  var-tracking.c, varasm.c: Include memmodel.h.
-	* genattrtab.c (write_header): Include memmodel.h in generated file.
-	* genautomata.c (main): Likewise.
-	* gengtype.c (open_base_files): Likewise.
-	* genopinit.c (main): Likewise.
-	* genconditions.c (write_header): Include memmodel.h earlier in
-	generated file.
-	* genemit.c (main): Likewise.
-	* genoutput.c (output_prologue): Likewise.
-	* genpeep.c (main): Likewise.
-	* genpreds.c (write_insn_preds_c): Likewise.
-	* genrecog.c (write_header): Likewise.
-	* Makefile.in (PLUGIN_HEADERS): Include memmodel.h
-
-2016-10-13  David Malcolm  <dmalcolm@redhat.com>
-
-	* function-tests.c (selftest::test_expansion_to_rtl): Add "true"
-	for new "compact" param of print_rtx_function.  Check for "cinsn"
-	rather than "insn".
-	* print-rtl-function.c (flag_compact): New decl.
-	(print_rtx_function): Add param "compact" and use it to set
-	flag_compact, adding a description of the effect to the leading
-	comment, and updating the example output.
-	* print-rtl.c (flag_compact): New variable.
-	(print_rtx_operand_code_0): Omit the JUMP_LABEL reference in compact
-	mode.
-	(print_rtx_operand_code_i): When printing source locations, wrap
-	xloc.file in quotes.  Don't print INSN_CODEs in compact mode.
-	(print_rtx_operand_code_r): Don't print regnos for hard regs and
-	virtuals in compact mode.
-	(print_rtx_operand_code_u): Don't print insn UIDs in compact mode,
-	apart from in LABEL_REFs.
-	(print_rtx_operand): In case 'w', don't print in hex in compact mode.
-	Don't print basic block ids in compact mode.
-	(print_rtx):  In compact mode, prefix the code of insns with "c",
-	only print the INSN_UID of CODE_LABELs, and omit their LABEL_NUSES.
-	* print-rtl.h (print_rtx_function): Add "compact" param.
-
-2016-10-13  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm.h (TARGET_VFP): Delete.
-	(TARGET_VFPD32): Remove references to TARGET_VFP.
-	(TARGET_VFP3, TARGET_VFP5): Likewise.
-	(TARGET_VFP_SINGLE, TARGET_VFP_DOUBLE): Likewise.
-	(TARGET_NEON_FP16): Likewise.
-	(TARGET_FMA): Likewise.
-	(TARGET_CRYPTO): Likewise.
-	(TARGET_NEON): Likewise.
-	(SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
-	(FUNCTION_ARG_REGNO_P): Likewise.
-	* arm.c (arm_option_check_internal): Likewise.
-	(arm_option_override): Likewise.
-	(use_return_insn): Likewise.
-	(arm_function_value_regno_p): Likewise.
-	(arm_apply_result_size): Likewise.
-	(use_vfp_abi): Likewise.
-	(arm_legitimate_address_outer_p): Likewise.
-	(thumb2_legitimate_address_p): Likewise.
-	(arm_legitimate_index_p): Likewise.
-	(thumb2_legitimate_index_p): Likewise.
-	(arm_legitimate_address): Likewise.
-	(arm_get_vfp_saved_size): Likewise.
-	(arm_emit_vfp_multi_reg_pop): Likewise.
-	(arm_get_frame_offsets): Likewise.
-	(arm_save_coproc_regs): Likewise.
-	(arm_hard_regno_mode_ok): Likewise.
-	(arm_expand_epilogue_apcs_frame): Likewise.
-	(arm_expand_epilogue): Likewise.
-	(arm_file_start): Likewise.
-	(arm_conditional_register_usage): Likewise.
-	(arm_validize_comparison): Use vfp_compare_operand directly.
-	* arm-builtins.c (arm_init_builtins): Remove references to TARGET_VFP.
-	(arm_expand_vfp_builtin): Use TARGET_HARD_FLOAT for detecting
-	unsupported usage.
-	(arm_atomic_assign_expand_fenv): Likewise.
-	* arm.md (divsf3): Likewise.
-	(arm_negsi2): Likewise.
-	(absdf2): Likewise.
-	(arm_movdi): Likewise.
-	(arm_movt): Likewise.
-	(cbranchsf4): Change predicate to vfp_compare_operand.
-	(cbranchdf4): Change predicate to vfp_compare_operand.
-	(cstorehf4): Change predicate to vfp_compare_operand.
-	(cstoresf4): Change predicate to vfp_compare_operand.
-	(cstoredf4): Change predicate to vfp_compare_operand.
-	(vfp_pop_multiple_with_writeback): Remove references to TARGET_VFP.
-	(movhi_insn_arch4, movhi_bytes): Likewise.
-	* constraints.md (Dt): Likewise.
-	(Dp): Likewise.
-	* iterators.md (SDF): Likewise.
-	* predicates.md (arm_float_compare_operand): Delete.
-	(const_double_vcvt_power_of_two_reciprocal): Remove references to
-	TARGET_VFP.
-	(const_double_vcvt_power_of_two): Likewise.
-	* thumb2.md thumb2_movsi_insn): Likewise.
-	* vfp.md (arm_movhi_vfp, thumb2_movhi_vfp): Likewise.
-	(movhf_vfp): Likewise.
-	(arm_movsi_vfp, thumb2_movsi_vfp): Likewise.
-	(movdi_vfp, movdi_vfp_cortexa8): Likewise.
-	(movsf_vfp, thumb2_movsf_vfp): Likewise.
-	(movdf_vfp, thumb2_movdf_vfp): Likewise.
-	(movsfcc_vfp, abssf2_vfp, negsf2_vfp, addsf3_vfp): Likewise.
-	(subsf3_vfp, divsf3_vfp): Likewise.
-	(mulsf3_vfp, mulsf3negsf_vfp, negmulsf3_vfp): Likewise.
-	(mulsf3addsf_vfp, (mulsf3subsf_vfp, mulsf3negsfaddsf_vfp): Likewise.
-	(mulsf3negsfsubsf_vfp): Likewise.
-	(truncsisf2_vfp, fixuns_truncsfsi2, floatsisf2_vfp): Likewise.
-	(floatunssisf2, sqrtsf2_vfp): Likewise.
-	(movcc_vfp): Likewise.
-	(cmpsf_split_vfp, cmpsf_trap_split_vfp): Likewise.
-	(cmpsf_vfp, cmpsf_trap_vfp): Likewise.
-	(push_multi_vfp): Likewise.
-	(set_fpscr, get_fpscr): Likewise.
-	* arm-c.c (arm_cpu_builtins): Unconditionally define __VFP_FP__.
-
-2016-10-13  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm.h (TARGET_VFP): Unconditionally define to 1.
-	(arm_fpu_desc): Remove 'model' field.
-	(TARGET_FPU_MODEL): Delete.
-	* arm.c (all_fpus): Don't initialize the model field.
-	(arm_can_inline_p): Don't check the FPU model.
-	* arm-fpus.def: Remove redundant model field from all FPU
-	descriptions.
-
-2016-10-13  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/77826
-	* genmatch.c (struct capture): Add value_match member.
-	(commutate): Preserve value_match.
-	(lower_opt_convert): Likewise.
-	(lower_cond): Likewise.
-	(replace_id): Likewise.
-	(struct dt_operand): Add value_match member.
-	(decision_tree::cmp_node): Compare it.
-	(decision_tree::insert_operand): Honor it when finding and
-	when appending a DT_MATCH.
-	(dt_operand::gen_match_op): Generate a type check after
-	operand_equal_p if ! value_match for both GENERIC and GIMPLE.
-	(parser::get_internal_capture_id): New helper.
-	(parser::finish_match_operand): New function lowering @@<id>.
-	(parser::parse_capture): Parse @@<id> as value-match.
-	(parser::parse_expr): Use get_internal_capture_id.
-	(parser::parse_simplify): Call finish_match_operand.
-	(walk_captures): New helper.
-	* match.pd (X - (X / Y) * Y -> X % Y): Use value-matching instead
-	of operand_equal_p.
-	((X /[ex] A) * A -> X): Likewise.
-	((X | Y) ^ X -> Y & ~ X): Handle constants properly by using
-	convert[12] and value-matching.
-	((A | B) & (A | C) ->  A | (B & C)): Likewise.
-	((X | Y) | Y -> X | Y): Likewise.
-	((X ^ Y) ^ Y -> X): Likewise.
-	(A - (A & B) -> ~B & A): Likewise.
-	((T)(P + A) - (T)P -> (T) A): Likewise.
-	((T)P - (T)(P + A) -> -(T) A): Likewise.
-	((T)(P + A) - (T)(P + B) -> (T)A - (T)B): Likewise.
-	* doc/match-and-simplify.texi: Amend capture section.
-
-2016-10-13  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.md (umul_600): Remove predicated variant.
-	(umul64_600): Likewise.
-
-2016-10-13  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.h (INSN_LENGTH_ALIGNMENT): Change.
-
-2016-10-13  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-vect-loop.c (loop_niters_no_overflow): New func.
-	(vect_transform_loop): Call loop_niters_no_overflow.  Pass the
-	no-overflow information to vect_do_peeling_for_loop_bound and
-	vect_gen_vector_loop_niters.
-
-2016-10-13  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-predcom.c (tree_predictive_commoning_loop): Skip loop that only
-	iterates 1 time.
-
-2016-10-13  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-vect-loop-manip.c (adjust_vec_debug_stmts): Don't release
-	adjust_vec automatically.
-	(slpeel_add_loop_guard): Remove param cond_expr_stmt_list.  Rename
-	param exit_bb to guard_to.
-	(slpeel_checking_verify_cfg_after_peeling):
-	(set_prologue_iterations):
-	(create_lcssa_for_virtual_phi): New func which is factored out from
-	slpeel_tree_peel_loop_to_edge.
-	(slpeel_tree_peel_loop_to_edge):
-	(iv_phi_p): New func.
-	(vect_can_advance_ivs_p): Call iv_phi_p.
-	(vect_update_ivs_after_vectorizer): Call iv_phi_p.  Directly insert
-	new gimple stmts in basic block.
-	(vect_gen_niters_for_prolog_loop): Rename to...
-	(vect_gen_prolog_loop_niters): ...Rename from.  Change parameters and
-	adjust implementation.
-	(vect_update_inits_of_drs): Fix code style issue.  Convert niters to
-	sizetype if necessary.
-	(vect_build_loop_niters): Move to here from tree-vect-loop.c.  Change
-	it to external function.
-	(vect_gen_scalar_loop_niters, vect_gen_vector_loop_niters): New.
-	(vect_gen_vector_loop_niters_mult_vf): New.
-	(slpeel_update_phi_nodes_for_loops): New.
-	(slpeel_update_phi_nodes_for_guard1): Reimplement.
-	(find_guard_arg, slpeel_update_phi_nodes_for_guard2): Reimplement.
-	(slpeel_update_phi_nodes_for_lcssa, vect_do_peeling): New.
-	* tree-vect-loop.c (vect_build_loop_niters): Move to file
-	tree-vect-loop-manip.c
-	(vect_generate_tmps_on_preheader): Delete.
-	(vect_transform_loop): Rename vectorization_factor to vf.  Call
-	vect_do_peeling instead of vect_do_peeling-* functions.
-	* tree-vectorizer.h (vect_do_peeling): New decl.
-	(vect_build_loop_niters, vect_gen_vector_loop_niters): New decls.
-	(vect_do_peeling_for_loop_bound): Delete.
-	(vect_do_peeling_for_alignment): Delete.
-
-2016-10-13  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg): Put
-	duplicated loop after its preheader and after the original loop.
-
-2016-10-13  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-vect-loop.c (vect_analyze_loop_2): Check and skip loop if it
-	has no enough iterations for LOOP_VINFO_PEELING_FOR_GAPS.
-
-2016-10-13  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-vect-loop.c (vectorizable_live_operation): Support handling
-	for live variable outside loop but not in lcssa form.
-
-2016-10-13  Bin Cheng  <bin.cheng@arm.com>
-
-	* cfg.c (reset_original_copy_tables): New func.
-	* cfg.h (reset_original_copy_tables): New decl.
-
-2016-10-13  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c/77946
-	* tree.h (FALLTHROUGH_LABEL_P): Use private_flag instead of
-	public_flag.
-	* varasm.c (default_binds_local_p_3): Formatting fix.
-
-2016-10-13  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-vect-loop-manip.c (slpeel_can_duplicate_loop_p): Fix code
-	style issue.
-	(vect_do_peeling_for_loop_bound, vect_do_peeling_for_alignment):
-	Remove useless code.
-
-2016-10-13  Martin Liska  <mliska@suse.cz>
-
-	PR tree-optimization/77943
-	* tree-ssa-tail-merge.c (merge_stmts_p): Do not merge BBs with
-	a different EH landing pads.
-
-2016-10-13  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/77957
-	* hooks.h (hook_tree_void_null): Declare.
-	* hooks.c (hook_tree_void_null): New function.
-	* langhooks.c (lhd_return_null_tree_v): Remove.
-	* langhooks-def.h (lhd_return_null_tree_v): Remove.
-	* cfgexpand.c (stack_protect_prologue): If guard_decl is NULL,
-	set y to const0_rtx.
-	* function.c (stack_protect_epilogue): Likewise.
-	* config/tilepro/tilepro.c (TARGET_STACK_PROTECT_GUARD): Redefine
-	if TARGET_THREAD_SSP_OFFSET is defined.
-	* config/s390/s390.c (TARGET_STACK_PROTECT_GUARD): Likewise.
-	* config/sparc/sparc.c (TARGET_STACK_PROTECT_GUARD): Likewise.
-	* config/tilegx/tilegx.c (TARGET_STACK_PROTECT_GUARD): Likewise.
-	* config/rs6000/rs6000.c (TARGET_STACK_PROTECT_GUARD): Likewise.
-	* config/i386/i386.c (TARGET_STACK_PROTECT_GUARD): Likewise.
-	(ix86_stack_protect_guard): New function.
-
-2016-10-13  Richard Biener  <rguenther@suse.de>
-
-	* dwarf2out.c (tree_add_const_value_attribute): Do not try
-	rtl_for_decl_init during early phase.
-	(gen_variable_die): Do not create locations during early phase.
-	(gen_label_die): Likewise.
-	(decls_for_scope): Do not waste time handling BLOCK_NONLOCALIZED_VARs
-	twice.
-
-2016-10-12  Richard Biener  <rguenther@suse.de>
-
-	* tree-vrp.c (evrp_dom_walker::try_find_new_range): Renamed from
-	try_add_new_range and made to eturn new range.
-	(evrp_dom_walker::before_dom_children): Push op1 value range before
-	pushing op0 value range.
-
-2016-10-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR tree-optimization/77937
-	* gimple-ssa-strength-reduction.c (analyze_increments): Use
-	POINTER_TYPE_P on the candidate type to determine whether
-	candidates in this chain require pointer arithmetic.
-
-2016-10-12  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/visium/visium.c (visium_gimplify_va_arg): Emit a big-endian
-	correction if the type is smaller than a word.
-	(visium_select_cc_mode): Add ... fall through ... comment.
-
-2016-10-12  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.c (machine_function): Add new fields
-	gpr_is_wrapped_separately and lr_is_wrapped_separately.
-	(TARGET_SHRINK_WRAP_GET_SEPARATE_COMPONENTS,
-	TARGET_SHRINK_WRAP_COMPONENTS_FOR_BB,
-	TARGET_SHRINK_WRAP_DISQUALIFY_COMPONENTS,
-	TARGET_SHRINK_WRAP_EMIT_PROLOGUE_COMPONENTS,
-	TARGET_SHRINK_WRAP_EMIT_EPILOGUE_COMPONENTS,
-	TARGET_SHRINK_WRAP_SET_HANDLED_COMPONENTS): Define.
-	(rs6000_get_separate_components): New function.
-	(rs6000_components_for_bb): New function.
-	(rs6000_disqualify_components): New function.
-	(rs6000_emit_prologue_components): New function.
-	(rs6000_emit_epilogue_components): New function.
-	(rs6000_set_handled_components): New function.
-	(rs6000_emit_prologue): Don't emit LR save if lr_is_wrapped_separately.
-	Don't emit GPR saves if gpr_is_wrapped_separately for that register.
-	(restore_saved_lr): Don't restore LR if lr_is_wrapped_separately.
-	(rs6000_emit_epilogue): Don't emit GPR restores if
-	gpr_is_wrapped_separately for that register.  Don't make a
-	REG_CFA_RESTORE note for registers we did not restore, either.
-
-2016-10-12  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* function.c (thread_prologue_and_epilogue_insns): Call
-	try_shrink_wrapping_separate.  Compute the prologue_seq afterwards,
-	if it has possibly changed.  Compute the split_prologue_seq and
-	epilogue_seq later, too.
-	* shrink-wrap.c: #include cfgbuild.h and insn-config.h.
-	(dump_components): New function.
-	(struct sw): New struct.
-	(SW): New function.
-	(init_separate_shrink_wrap): New function.
-	(fini_separate_shrink_wrap): New function.
-	(place_prologue_for_one_component): New function.
-	(spread_components): New function.
-	(disqualify_problematic_components): New function.
-	(emit_common_heads_for_components): New function.
-	(emit_common_tails_for_components): New function.
-	(insert_prologue_epilogue_for_components): New function.
-	(try_shrink_wrapping_separate): New function.
-	* shrink-wrap.h: Declare try_shrink_wrapping_separate.
-
-2016-10-12  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* regrename.c (build_def_use): Invalidate chains that have a
-	REG_CFA_RESTORE on some instruction.
-
-2016-10-12  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* dce.c (delete_unmarked_insns): Don't delete instructions with
-	a REG_CFA_RESTORE note.
-
-2016-10-12  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* common.opt (-fshrink-wrap-separate): New flag.
-	* doc/invoke.texi: Document it.
-	* doc/tm.texi.in (Shrink-wrapping separate components): New subsection.
-	* doc/tm.texi: Regenerate.
-	* emit-rtl.h (struct rtl_data): New field shrink_wrapped_separate.
-	* target.def (shrink_wrap): New hook vector.
-	(get_separate_components, components_for_bb, disqualify_components,
-	emit_prologue_components, emit_epilogue_components,
-	set_handled_components): New hooks.
-
-2016-10-12  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.c (rs6000_return_in_memory): Warn for
-	vector return by reference only if -Wpsabi.
-	(rs6000_pass_by_reference): Similarly, for argument passing.
-
-2016-10-12  David Malcolm  <dmalcolm@redhat.com>
-
-	* function-tests.c: Include "print-rtl.h".
-	(selftest::test_expansion_to_rtl): Call print_rtx_function on the
-	function, and verify what is dumped.
-	* print-rtl-function.c (print_edge): New function.
-	(begin_any_block): New function.
-	(end_any_block): New function.
-	(can_have_basic_block_p): New function.
-	(print_rtx_function): Track the basic blocks of insns in the
-	chain, wrapping those that are within blocks within "(block)"
-	directives.  Remove the "(cfg)" directive.
-
-2016-10-12  David Malcolm  <dmalcolm@redhat.com>
-
-	* selftest.c (selftest::read_file): New function.
-	(selftest::test_read_file): New function.
-	(selftest::selftest_c_tests): Call test_read_file.
-	* selftest.h (selftest::read_file): New decl.
-
-2016-10-12  Richard Biener  <rguenther@suse.de>
-
-	PR debug/77947
-	* cgraphunit.c (analyze_functions): Preserve cgraph nodes
-	function context.
-
-2016-10-12  Thomas Schwinge  <thomas@codesourcery.com>
-
-	* lto-streamer.c: Fix LTO_STREAMER_DEBUG build.
-
-	* dwarf2out.c (dwarf2_lineno_debug_hooks): Use
-	dwarf2out_assembly_start.
-
-	* Makefile.in (SELFTEST_FLAGS): Add -nostdinc.
-
-	* Makefile.in (SELFTEST_FLAGS): New variable.
-	(s-selftest, selftest-gdb, selftest-valgrind): Use it.
-
-	* vmsdbgout.c (vmsdbg_debug_hooks): Add filename parameter to
-	early_finish hook.
-
-2016-10-12  Georg-Johann Lay  <avr@gjlay.de>
-
-	* rtl.h (struct rtx_def): Comment how RTX_FLAGS will be
-	dumped in RTL dumps.
-
-2016-10-12  Martin Liska  <mliska@suse.cz>
-
-	* gimple-fold.c (create_tmp_reg_or_ssa_name): New function.
-	(gimple_fold_builtin_memory_op): Use the function.
-	(gimple_fold_builtin_strchr): Likewise.
-	(gimple_fold_builtin_strcat): Likewise.
-	(gimple_build): Likewise.
-
-2016-10-12  Nathan Sidwell  <nathan@acm.org>
-
-	* diagnostic.c (diagnostc_report_diagnostic): Fix formatting.
-
-2016-10-12  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* dwarf2out.c (int_loc_descriptor): Generate opcodes for another
-	equivalent 32-bit constant (modulo 2**32) when that yields
-	smaller instructions.
-	(size_of_int_loc_descriptor): Update accordingly.
-
-2016-10-12  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* dwarf2out.c (dwarf2out_early_global_decl): For nested
-	functions, call dwarf2out_decl on the parent function first.
-
-2016-10-12  Richard Biener  <rguenther@suse.de>
-
-	* match.pd ((X /[ex] A) * A -> X): Remove unnecessary constraint
-	on the conversion.
-
-2016-10-12  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-propagate.c
-	(substitute_and_fold_dom_walker::before_dom_children): Do not
-	ignore ASSERT_EXPRs but only preserve them.
-	* tree-vrp.c (remove_range_assertions): Deal with ASSERT_EXPRs
-	that have been propagated into.
-	(vrp_finalize): Enable DCE for substitute_and_fold.
-
-2016-10-12  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/77920
-	* tree-vrp.c (simplify_div_or_mod_using_ranges): Simplify.
-	(simplify_min_or_max_using_ranges): Pass in gsi and use it.
-	(simplify_abs_using_ranges): Likewise.
-	(simplify_conversion_using_ranges): Likewise.
-	(simplify_stmt_using_ranges): Adjust.
-
-2016-10-12  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/77929
-	* tree-ssa-reassoc.c (optimize_range_tests_var_bound): Handle
-	(*ops)[ranges[i].idx]->op != ranges[i].exp case.
-
-2016-10-12  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
-
-	PR target/77934
-	* config/rs6000/vmx.md (vsx_concat_<mode>): The mtvsrdd instruction
-	needs a base register for arg 1.
-
-2016-10-12  Jakub Jelinek  <jakub@redhat.com>
-
-	* common.opt (Wimplicit-fallthrough) Turn into alias to
-	-Wimplicit-fallthrough=3.  Remove EnabledBy.
-	(Wimplicit-fallthrough=): New option.
-	* gimplify.c (warn_implicit_fallthrough_r): Use
-	OPT_Wimplicit_fallthrough_ instead of OPT_Wimplicit_fallthrough.
-	* doc/invoke.texi (-Wimplicit-fallthrough): Document as alias
-	to -Wimplicit-fallthrough=3.
-	(-Wimplicit-fallthrough=): Document.
-
-2016-10-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/sparc/sparc.c (emit_scc_insn): Remove direct support for EQ
-	and GEU in DImode if TARGET_SUBXC.
-	* config/sparc/sparc.md (seqdi<W:mode>_zero): Remove TARGET_SUBXC.
-	(seqdi<W:mode>_zero_subxc): Delete.
-	(neg_seqdi<W:mode>_zero): Remove TARGET_VIS3.
-	(neg_seqdi<W:mode>_zero_vis3): Delete.
-	(plus_seqdi<W:mode>_zero): Likewise.
-	(minus_seqdi<W:mode>_zero): Likewise.
-	(plus_plus_sltu<W:mode>): Accept only register.
-	(addx<W:mode>): Likewise.
-	(plus_sltu<W:mode>_vis3): Likewise.
-	(plus_plus_sltu<W:mode>_vis3): Likewise.
-	(neg_sgeu<W:mode>_vis3): Delete.
-	(minus_sgeu<W:mode>_vis3): Likewise.
-	(addxc<W:mode>): Accept only registers.
-	(neg_sltu<W:mode>_subxc): Write %%g0 instead of 0.
-	(minus_neg_sltu<W:mode>_subxc): Accept only register.
-	(neg_plus_sltu<W:mode>_subxc): Likewise.
-	(minus_sltu<W:mode>_subxc): Write %%g0 instead of 0.
-	(minus_minus_sltu<W:mode>_subxc): Accept only register.
-	(sgeu<W:mode>_insn_subxc): Delete.
-	(plus_sgeu<W:mode>_subxc): Likewise.
-	(subxc<W:mode>): Accept only register.
-	(scc splitter): Split always GEU again.
-
-2016-10-11  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/77424
-	* tree-ssa-threadupdate.c (thread_through_all_blocks): Remove
-	dead conditionals.  Assert that all e->aux fields are NULL.
-
-2016-10-11  David Malcolm  <dmalcolm@redhat.com>
-
-	* print-rtl.c (print_rtx): Rename "i" to "idx".  Split out the
-	operand-printing "switch" statement into...
-	(print_rtx_operand_code_0): ...this new function, ...
-	(print_rtx_operand_code_e): ...this new function, ...
-	(print_rtx_operand_codes_E_and_V): ...this new function, ...
-	(print_rtx_operand_code_i): ...this new function, ...
-	(print_rtx_operand_code_r): ...this new function, ...
-	(print_rtx_operand_code_u): ...this new function, ...
-	(print_rtx_operand): ...and this new function.
-
-2016-10-11  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/alpha/alpha-passes.def: New file.
-	* config/alpha/t-alpha: New file.
-	* config/alpha/alpha-protos.h (gcc::context, rtl_opt_pass): Declare.
-	(make_pass_handle_trap_shadows): New prototype.
-	(make_pass_align_insns): Ditto.
-	* config/alpha/alpha.c (alpha_option_override): Don't register
-	passes here.
-	* config.gcc (alpha*-*-*) Add alpha/t-alpha to tmake_file.
-
-2016-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/77924
-	* config/rs6000/rs6000.c (rs6000_init_builtins): Only create the
-	distinct __ibm128 IBM extended double type if long doubles are
-	128-bits and the default format for long double is IEEE 128-bit.
-
-2016-10-11  Richard Biener  <rguenther@suse.de>
-
-	* dwarf2out.c (DEBUG_STR_OFFSETS_SECTION): Remove conditional.
-	(init_sections_and_labels): Use DEBUG_DWO_STR_OFFSETS_SECTION.
-	(verify_die): New function.
-	(dwarf2out_finish): Call it.
-	(output_line_info): Handle case of -gsplit-dwarf without
-	DWARF2_ASM_LINE_DEBUG_INFO.
-
-2016-10-11  Richard Biener  <rguenther@suse.de>
-
-	PR debug/77931
-	* gimple-low.c (lower_gimple_bind): Handle arbitrary common
-	sub-chains of BLOCK_VARS and gimple_bind_vars.
-
-2016-10-11  Venkataramanan Kumar  <Venkataramanan.kumar@amd.com>
-
-	* config/i386/znver1.md : Fix imov/imovx load type reservations.
-
-2016-10-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/sparc/sparc.opt (msubxc): New option.
-	* doc/invoke.texi (SPARC options): Document it and tidy up.
-	* doc/tm.texi.in (Condition Codes): Adjust SPARC example.
-	* doc/tm.texi: Regenerate.
-	* config/sparc/sparc-modes.def (CC_NOOV): Rename into...
-	(CCNZ): ...this.
-	(CCX_NOOV): Rename into...
-	(CCXNZ): ...this.
-	(CCC): New.
-	(CCXC): Likewise.
-	* config/sparc/predicates.m (fcc_register_operand): Simplify.
-	(fcc0_register_operand): Likewise.
-	(icc_register_operand): New.
-	(icc_or_fcc_register_operand): Simplify.
-	(nz_comparison_operator): New.
-	(c_comparison_operator): Likewise.
-	(noov_compare_operator): Rename into...
-	(icc_comparison_operator): ...this.  Use above predicates.
-	(noov_compare64_operator): Rename into...
-	(v9_comparison_operator): ...this and tidy up.
-	(fcc_comparison_operator): New.
-	(icc_or_fcc_comparison_operator): Likewise.
-	(v9_register_compare_operator): Rename info...
-	(v9_register_comparison_operator): ...this.
-	* config/sparc/sparc.c (TARGET_FIXED_CONDITION_CODE_REGS): Define.
-	(sparc_option_override): Remove redundant VIS masks and add MASK_SUBXC
-	for Niagara-7.
-	(sparc_fixed_condition_code_regs): New function.
-	(select_cc_mode): Remove ATTRIBUTE_UNUSED.  Adjust for CCNZ/CCXNZ
-	renaming and add support for CCC/CCXC.
-	(output_cbranch): Likewise.
-	(sparc_print_operand): Likewise.
-	(gen_v9_scc): Remove obsolete assertion.
-	(emit_scc_insn): Emit RTL directly for EQ and NE.  Add direct support
-	for EQ in DImode if TARGET_SUBXC.  Remove test on TARGET_VIS3 for GEU.
-	(output_cbcond): Remove bogus handling of CC modes.
-	(sparc_register_move_cost): Return 100 for NO_REGS.
-	* config/sparc/sparc.md (W): New mode iterator.
-	(length): Adjust for noov_compare64_operator renaming.
-	(cmpsi_sne): New instruction.
-	(cmpdi_sne): Likewise.
-	(seqdi_special): Delete.
-	(seqdi_special): Likewise.
-	(snesi<P:mode>_special): Likewise.
-	(snedi_special): Likewise.
-	(snedi_special_vis3): Likewise.
-	(snesi patterns): Use W iterator.
-	(snedi patterns): Likewise.  Add TARGET_SUBXC patterns.
-	(sltu patterns): Likewise.
-	(sgeu patterns): Likewise.
-	(scc splitter): Do not split GEU in DImode if TARGET_SUBXC.
-	(normal_branch): Use icc_comparison_operator predicate.
-	(inverted_branch): Likewise.
-	(cbcond_sp32): Use comparison_operator predicate.
-	(cbcond_sp64): Likewise.
-	(normal_int_branch_sp64): Adjust for renaming
-	(inverted_int_branch_sp64): Likewise.
-	(mov<I:mode>_cc_reg_sp64): Likewise.
-	(movsf_cc_reg_sp6): Likewise.
-	(movdf_cc_reg_sp64): Likewise.
-	(movtf_cc_reg_hq_sp64): Likewise.
-	(movtf_cc_reg_sp64): Likewise.
-	(mov<I:mode>_cc_v9): Use icc_or_fcc_comparison_operator predicate.
-	(movsf_cc_v9): Likewise.
-	(movdf_cc_v9): Likewise.
-	(movtf_cc_hq_v9): Likewise.
-	(movtf_cc_v9): Likewise.
-	(adddi3): Call gen_adddi3_sp32.
-	(adddi3_insn_sp32): Rename to...
-	(adddi3_sp32): ...this.  Accept only register_operand as operand #1
-	and use CCCmode for the carry.
-	(addx_extend_sp32): Use CCCmode for the carry.
-	(addx_extend_sp64): Delete.
-	(adddi3_extend_sp32): Use CCCmode for the carry.
-	(cmp_plus patterns): Use CCNZ/CCXNZ mode and add C variants.
-	(subdi3): Call gen_subdi3_sp32.
-	(subdi3_insn_sp32): Rename to...
-	(subdi3_sp32): ...this and use CCmode for the carry.
-	(subx_extend_sp32): Use CCCmode for the carry.
-	(subx_extend_sp64): Delete.
-	(subdi3_extend_sp32): Use CCmode for the carry.
-	(cmp_minus patterns): Use CCNZ/CCXNZ mode and add C variants.
-	(negdi3): Call gen_negdi3_sp32.
-	(negdi3_sp32): Use CCCmode for the carry.
-	(cmp_neg patterns): Use CCNZ/CCXNZ mode and add C variants.
-	(cmp_nz_ashift_1): Use CCNZ mode.
-	(cmp_nz_set_ashift_1): Likewise.
-	(ctrapsi4): Use comparison_operator predicate.
-	(ctrapdi4): Likewise.
-	(trapsi_insn): Use icc_comparison_operator predicate.
-	(trapdi_insn): Likewise.
-	(edge8 patterns): Use CCNZmode.
-	(edge16 patterns): Likewise.
-	(edge32 patterns): Likewise.
-
-2016-10-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/visium/visium-modes.def (CC_NOOV): Rename into...
-	(CCNZ): ...this.
-	(CC_BTST): Rename into...
-	(CCC): ...this.
-	* config/visium/predicates.md (real_add_operand): New.
-	(visium_btst_operator): Rename into...
-	(visium_equality_comparison_operator): ...this.
-	(visium_noov_operator): Rename into...
-	(visium_nz_comparison_operator): ...this.
-	(visium_c_comparison_operator): New.
-	(visium_branch_operator): Adjust and deal with all CC modes.
-	* config/visium/visium.c (visium_adjust_cost): Adjust.
-	(visium_split_double_add): Use the *_set_carry patterns.
-	(visium_select_cc_mode): Add support for CCC mode and adjust.
-	(output_cbranch): Adjust and use the carry-based operators for
-	floating-point comparisons.
-	* config/visium/visium.md (flags_subst_arith): Adjust.
-	(addsi3_insn_set_carry): New instruction.
-	(subsi3_insn_set_carry): Likewise.
-	(negsi2_insn_set_carry): Likewise.
-	(btst): Adjust.
-	(cmp<mode>_sne): Likewise.
-	(cbranch<mode>4): Use ordered_comparison_operator.
-	(cbranch<mode>4_insn): Likewise.
-	(cbranchsi4_btst_insn): Adjust.
-
-2016-10-11  Tom de Vries  <tom@codesourcery.com>
-
-	PR middle-end/77558
-	* builtins.c (std_canonical_va_list_type): Remove RECORD_TYPE
-	special-casing.
-
-2016-10-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree.h (build_complex_type): Add second parameter with default.
-	* tree.c (build_complex_type): Add NAMED second parameter and adjust
-	recursive call.  Create a TYPE_DECL only if NAMED is true.
-	(build_common_tree_nodes): Pass true in calls to build_complex_type.
-
-2016-10-11  Georg-Johann Lay  <avr@gjlay.de>
-
-	New avr-passes.def to register AVR specific passes.
-
-	* config/avr/avr-passes.def: New file.
-	* config/avr/t-avr (PASSES_EXTRA): Add avr-passes.def.
-	* config/avr/avr-protos.h (gcc::context, rtl_opt_pass): Declare.
-	(make_avr_pass_recompute_note): New proto.
-	* config/avr/avr.c (make_avr_pass_recompute_notes): New function.
-	(avr_pass_recompute_notes): Use anonymous namespace.
-	(avr_register_passes): Remove function...
-	(avr_option_override): ...and its call.
-
-2016-10-11  Robert Suchanek  <robert.suchanek@imgtec.com>
-
-	* config/mips/mips-cpus.def: Replace PTF_AVOID_BRANCHLIKELY with
-	PTF_AVOID_BRANCHLIKELY_ALWAYS for generic architecture and with
-	PTF_AVOID_BRANCHLIKELY_SPEED for others.
-	(mips2, mips3, mips4): Add PTF_AVOID_BRANCHLIKELY_SIZE to tune
-	flags.
-	* config/mips/mips.c (mips_option_override): Enable the branch
-	likely depending on the tune flags and optimization level.
-	* config/mips/mips.h (PTF_AVOID_BRANCHLIKELY): Remove.
-	(PTF_AVOID_BRANCHLIKELY_SPEED): Define.
-	(PTF_AVOID_BRANCHLIKELY_SIZE): Likewise.
-	(PTF_AVOID_BRANCHLIKELY_ALWAYS): Likewise.
-
-2016-10-11  Richard Biener  <rguenther@suse.de>
-
-	* lto-streamer-out.c (collect_block_tree_leafs): New helper.
-	(output_function): Properly stream the whole block tree.
-	* lto-streamer-in.c (input_function): Likewise.
-
-2016-10-11  Marek Polacek  <polacek@redhat.com>
-
-	* Makefile.in (C_COMMON_OBJS): Add c-family/c-warn.o.
-
-2016-10-11  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* tree-vrp.c (evrp_dom_walker::try_add_new_range): New.
-	(evrp_dom_walker::before_dom_children): Infer and push new value
-	ranges for x in y < x.
-
-2016-10-10  Joseph Myers  <joseph@codesourcery.com>
-
-	PR target/77586
-	* config/ia64/ia64.c (ia64_libgcc_floating_mode_supported_p)
-	(TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Remove.
-	* config/ia64/elf.h (IA64_NO_LIBGCC_TFMODE): Likewise.
-	* config/ia64/freebsd.h (IA64_NO_LIBGCC_TFMODE): Likewise.
-	* config/ia64/vms.h (IA64_NO_LIBGCC_XFMODE)
-	(IA64_NO_LIBGCC_TFMODE): Likewise.
-
-2016-10-11  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* tree-vrp.c (vrp_intersect_ranges_1): Allocate bitmap before
-	  copying.
-
-2016-10-10  Andreas Tobler  <andreast@gcc.gnu.org>
-
-	* config.gcc: Add aarch64-*-freebsd* support.
-	* config.host: Likewise.
-	* config/aarch64/aarch64-freebsd.h: New file.
-	* config/aarch64/t-aarch64-freebsd: Ditto.
-
-2016-10-10  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/71947
-	* tree-ssa-dom.c (cprop_into_stmt): Avoid replacing A with B, then
-	B with A within a single statement.
-
-2016-10-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR tree-optimization/77824
-	* gimple-ssa-strength-reduction.c (stmt_cost): Explicitly return
-	zero cost for copies.
-	(find_candidates_dom_walker::before_dom_children): Replace
-	MODIFY_EXPR with SSA_NAME.
-	(replace_mult_candidate): Likewise.
-	(replace_profitable_candidates): Likewise.
-
-2016-10-10  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.h: Wrap more macros args in brackets and fix
-
-2016-10-10  Georg-Johann Lay  <avr@gjlay.de>
-
-	* config/avr/gen-avr-mmcu-texi.c (string.h): Include.
-
-2016-10-10  Andreas Schwab  <schwab@suse.de>
-
-	PR target/77738
-	* config/ia64/ia64.md ("doloop_end"): Reject if mode of loop
-	pseudo is not DImode.
-
-2016-10-10  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* common/config/arc/arc-common.c (arc_option_optimization_table):
-	Remove compact casesi option.
-	* config/arc/arc.c (arc_override_options): Use compact casesi
-	option only for pre-ARCv2 cores.
-	* doc/invoke.texi (mcompact-casesi): Update text.
-
-2016-10-09  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.h (TARGET_EFFICIENT_OVERLAPPING_UNALIGNED):
-	Add macro to say we can efficiently handle overlapping unaligned
-	loads.
-	* config/rs6000/rs6000.c (expand_block_compare): Avoid generating
-	poor code for processors older than p8.
-
-2016-10-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gen-pass-instances.awk: Remove GNUism.
-
-2016-10-09  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	* ipa-prop.c (ipcp_transform_function): Set fields m_vr and bits to
-	NULL of (*ipcp_transformations)][node->uid].
-
-2016-10-09  John David Anglin  <danglin@gcc.gnu.org>
-
-	* config/pa/pa.h (BIGGEST_ALIGNMENT): Adjust comment.
-	(MALLOC_ABI_ALIGNMENT): Define.
-
-2016-10-09  Jakub Jelinek  <jakub@redhat.com>
-
-	* tree-ssa.c (target_for_debug_bind, verify_phi_args,
-	ssa_undefined_value_p, maybe_optimize_var): Use VAR_P and/or
-	VAR_OR_FUNCTION_DECL_P macros.
-	* tree-chkp.c (chkp_register_var_initializer, chkp_make_static_bounds,
-	chkp_get_bounds_for_decl_addr, chkp_parse_array_and_component_ref,
-	chkp_find_bounds_1): Likewise.
-	* ipa-polymorphic-call.c (decl_maybe_in_construction_p): Likewise.
-	* hsa-gen.c (get_symbol_for_decl): Likewise.
-	* cgraphunit.c (check_global_declaration, analyze_functions,
-	handle_alias_pairs, thunk_adjust, cgraph_node::expand_thunk):
-	Likewise.
-	* gimple-fold.c (can_refer_decl_in_current_unit_p,
-	canonicalize_constructor_val, gimple_get_virt_method_for_vtable):
-	Likewise.
-	* tree.c (set_decl_section_name, copy_node_stat,
-	need_assembler_name_p, free_lang_data_in_decl, find_decls_types_r,
-	merge_dllimport_decl_attributes, handle_dll_attribute,
-	decl_init_priority_insert, auto_var_in_fn_p, array_at_struct_end_p,
-	verify_type): Likewise.
-	* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behavior,
-	find_explicit_erroneous_behavior): Likewise.
-	* sdbout.c (sdbout_toplevel_data, sdbout_late_global_decl): Likewise.
-	* ipa.c (process_references): Likewise.
-	* tree-chkp-opt.c (chkp_get_check_result): Likewise.
-	* varasm.c (get_block_for_decl, use_blocks_for_decl_p, make_decl_rtl,
-	notice_global_symbol, assemble_variable, mark_decl_referenced,
-	build_constant_desc, output_constant_def_contents, do_assemble_alias,
-	make_decl_one_only, default_section_type_flags,
-	categorize_decl_for_section, default_encode_section_info): Likewise.
-	* trans-mem.c (requires_barrier): Likewise.
-	* gimple-expr.c (mark_addressable): Likewise.
-	* cfgexpand.c (add_scope_conflicts_1, expand_one_var,
-	expand_used_vars_for_block, clear_tree_used, stack_protect_decl_p,
-	expand_debug_expr): Likewise.
-	* tree-dump.c (dequeue_and_dump): Likewise.
-	* ubsan.c (instrument_bool_enum_load): Likewise.
-	* tree-pretty-print.c (print_declaration): Likewise.
-	* simplify-rtx.c (delegitimize_mem_from_attrs): Likewise.
-	* tree-ssa-uninit.c (warn_uninitialized_vars): Likewise.
-	* asan.c (asan_protect_global, instrument_derefs): Likewise.
-	* tree-into-ssa.c (rewrite_stmt, maybe_register_def,
-	pass_build_ssa::execute): Likewise.
-	* var-tracking.c (var_debug_decl, track_expr_p): Likewise.
-	* tree-ssa-loop-ivopts.c (force_expr_to_var_cost, split_address_cost):
-	Likewise.
-	* ipa-split.c (test_nonssa_use, consider_split, mark_nonssa_use):
-	Likewise.
-	* tree-inline.c (insert_debug_decl_map, remap_ssa_name,
-	can_be_nonlocal, remap_decls, copy_debug_stmt,
-	initialize_inlined_parameters, add_local_variables,
-	reset_debug_binding, replace_locals_op): Likewise.
-	* dse.c (can_escape): Likewise.
-	* ipa-devirt.c (compare_virtual_tables, referenced_from_vtable_p):
-	Likewise.
-	* tree-diagnostic.c (default_tree_printer): Likewise.
-	* tree-streamer-in.c (unpack_ts_decl_common_value_fields,
-	unpack_ts_decl_with_vis_value_fields,
-	lto_input_ts_decl_common_tree_pointers): Likewise.
-	* builtins.c (builtin_save_expr, fold_builtin_expect,
-	readonly_data_expr): Likewise.
-	* tree-ssa-structalias.c (new_var_info, get_constraint_for_ssa_var,
-	create_variable_info_for, set_uids_in_ptset, visit_loadstore):
-	Likewise.
-	* gimple-streamer-out.c (output_gimple_stmt): Likewise.
-	* gimplify.c (force_constant_size, gimplify_bind_expr,
-	gimplify_decl_expr, gimplify_var_or_parm_decl,
-	gimplify_compound_lval, gimplify_init_constructor,
-	gimplify_modify_expr, gimplify_asm_expr, gimplify_oacc_declare,
-	gimplify_type_sizes): Likewise.
-	* cgraphbuild.c (record_reference, record_type_list, mark_address,
-	mark_load, mark_store, pass_build_cgraph_edges::execute): Likewise.
-	* tree-ssa-live.c (mark_all_vars_used_1, remove_unused_scope_block_p,
-	remove_unused_locals): Likewise.
-	* tree-ssa-alias.c (ptr_deref_may_alias_decl_p, ptrs_compare_unequal,
-	ref_maybe_used_by_call_p_1, call_may_clobber_ref_p_1): Likewise.
-	* function.c (instantiate_expr, instantiate_decls_1,
-	setjmp_vars_warning, add_local_decl): Likewise.
-	* alias.c (ao_ref_from_mem, get_alias_set, compare_base_symbol_refs):
-	Likewise.
-	* tree-stdarg.c (find_va_list_reference, va_list_counter_struct_op,
-	va_list_ptr_read, va_list_ptr_write, check_all_va_list_escapes,
-	optimize_va_list_gpr_fpr_size): Likewise.
-	* tree-nrv.c (pass_nrv::execute): Likewise.
-	* tsan.c (instrument_expr): Likewise.
-	* tree-ssa-dce.c (remove_dead_stmt): Likewise.
-	* vtable-verify.c (verify_bb_vtables): Likewise.
-	* tree-dfa.c (ssa_default_def, set_ssa_default_def,
-	get_ref_base_and_extent): Likewise.
-	* toplev.c (wrapup_global_declaration_1, wrapup_global_declaration_2):
-	Likewise.
-	* tree-sra.c (static bool constant_decl_p, find_var_candidates,
-	analyze_all_variable_accesses): Likewise.
-	* tree-nested.c (get_nonlocal_debug_decl,
-	convert_nonlocal_omp_clauses, note_nonlocal_vla_type,
-	note_nonlocal_block_vlas, convert_nonlocal_reference_stmt,
-	get_local_debug_decl, convert_local_omp_clauses,
-	convert_local_reference_stmt, nesting_copy_decl, remap_vla_decls):
-	Likewise.
-	* tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Likewise.
-	* stmt.c (decl_overlaps_hard_reg_set_p): Likewise.
-	* dbxout.c (dbxout_late_global_decl, dbxout_type_fields,
-	dbxout_symbol, dbxout_common_check): Likewise.
-	* expr.c (expand_assignment, expand_expr_real_2, expand_expr_real_1,
-	string_constant): Likewise.
-	* hsa.c (hsa_get_declaration_name): Likewise.
-	* passes.c (rest_of_decl_compilation): Likewise.
-	* tree-ssanames.c (make_ssa_name_fn): Likewise.
-	* tree-streamer-out.c (pack_ts_decl_common_value_fields,
-	pack_ts_decl_with_vis_value_fields,
-	write_ts_decl_common_tree_pointers): Likewise.
-	* stor-layout.c (place_field): Likewise.
-	* symtab.c (symtab_node::maybe_create_reference,
-	symtab_node::verify_base, symtab_node::make_decl_local,
-	symtab_node::copy_visibility_from,
-	symtab_node::can_increase_alignment_p): Likewise.
-	* dwarf2out.c (add_var_loc_to_decl, tls_mem_loc_descriptor,
-	decl_by_reference_p, reference_to_unused, rtl_for_decl_location,
-	fortran_common, add_location_or_const_value_attribute,
-	add_scalar_info, add_linkage_name, set_block_abstract_flags,
-	local_function_static, gen_variable_die, dwarf2out_late_global_decl,
-	optimize_one_addr_into_implicit_ptr,
-	optimize_location_into_implicit_ptr): Likewise.
-	* gimple-low.c (record_vars_into): Likewise.
-	* ipa-visibility.c (update_vtable_references): Likewise.
-	* tree-ssa-address.c (fixed_address_object_p, copy_ref_info):
-	Likewise.
-	* lto-streamer-out.c (tree_is_indexable, get_symbol_initial_value,
-	DFS::DFS_write_tree_body, write_symbol): Likewise.
-	* langhooks.c (lhd_warn_unused_global_decl,
-	lhd_set_decl_assembler_name): Likewise.
-	* attribs.c (decl_attributes): Likewise.
-	* except.c (output_ttype): Likewise.
-	* varpool.c (varpool_node::get_create, ctor_for_folding,
-	varpool_node::assemble_decl, varpool_node::create_alias): Likewise.
-	* fold-const.c (fold_unary_loc): Likewise.
-	* ipa-prop.c (ipa_compute_jump_functions_for_edge,
-	ipa_find_agg_cst_from_init): Likewise.
-	* omp-low.c (expand_omp_regimplify_p, expand_omp_taskreg,
-	expand_omp_target, lower_omp_regimplify_p,
-	grid_reg_assignment_to_local_var_p, grid_remap_prebody_decls,
-	find_link_var_op): Likewise.
-	* tree-chrec.c (chrec_contains_symbols): Likewise.
-	* tree-cfg.c (verify_address, verify_expr, verify_expr_location_1,
-	gimple_duplicate_bb, move_stmt_op, replace_block_vars_by_duplicates,
-	execute_fixup_cfg): Likewise.
-
-	PR tree-optimization/77901
-	* tree-ssa-reassoc.c (optimize_range_tests_var_bound): Only optimize
-	if ranges[i].exp is SSA_NAME when looking for >= and only when
-	ranges[i].exp is NULL or SSA_NAME when looking for the other
-	comparison.
-
-2016-10-09  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	* ipa-cp.c (ipcp_alignment_lattice): Remove.
-	(ipcp_param_lattices): Remove field alignment.
-	(print_all_lattices): Remove call to ipcp_alignment_lattice::print.
-	(set_all_contains_variable): Remove call to
-	ipcp_alignment_lattice::set_to_bottom.
-	(initialize_node_lattices): Likewise.
-	(propagate_alignment_accross_jump_function): Remove.
-	(propagate_constants_accross_call): Remove call to
-	propagate_alignment_accross_jump_function.
-	(ipcp_store_alignment_results): Remove.
-	(ipcp_driver): Remove call to ipcp_store_alignment_results.
-	(propagate_bits_accross_jump_function): Handle ancestor jump function.
-	* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Remove
-	pretty-printing of alignment jump function.
-	(ipa_set_jf_unknown): Remove assignment to jfunc->alignment.known.
-	(ipa_compute_jump_functions_for_edge): Adjust ipa_bits jump function for
-	alignments and remove computing ipa_alignment jump function.
-	(ipa_node_params_t::duplicate): Remove copying of src_trans->alignments.
-	(ipa_write_jump_functions): Remove streaming for ipa_alignment.
-	(ipa_read_jump_function): Remove reading of ipa_alignment.
-	(write_ipcp_transformation_info): Remove streaming for alignment
-	propagation summary.
-	(read_ipcp_transformation_info): Remove reading of alignment
-	propagation summary.
-	(ipcp_update_alignments): Remove.
-	(ipcp_update_bits): Adjust to set alignment for parameters of pointer
-	type.
-	(ipcp_transform_function): Remove call to ipcp_update_alignments()
-	and remove assignment to (*ipcp_transformations)[node->uid].alignments.
-	* ipa-prop.h (ipa_alignment): Remove.
-	(ipa_jump_func): Remove field alignment.
-	(ipcp_transformation_summary): Remove field alignments.
-	* doc/invoke.texi: Mark fipa-cp-alignment as obsolete.
-	* opts.c (default_options_table): Remove entry for fipa-cp-alignment.
-	(enable_fdo_optimizations): Remove checking for fipa-cp-alignment.
-
-2016-10-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/sparc/sparc.h (FIXED_REGISTERS): Add %icc.
-
-	* config/visium/visium.c (visium_expand_int_cstore): Revert latest
-	change.
-	(visium_expand_fp_cstore): Likewise.
-
-2016-10-08  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	* diagnostic-core.h (warning_at_rich_loc_n): Declare.
-	* diagnostic.c (warning_at_rich_loc_n): New function.
-	(diagnostic_n_impl_richloc): Likewise.
-	(diagnostic_n_impl): Move most of the function to
-	diagnostic_n_impl_richloc and call it.
-
-2016-10-08  Jakub Jelinek  <jakub@redhat.com>
-
-	* gen-pass-instances.awk: Rewritten.
-	* Makefile.in (pass-instances.def): Depend on $(PASSES_EXTRA), pass
-	$(PASSES_EXTRA) after passes.def to the script.
-	* config/i386/t-i386 (PASSES_EXTRA): Add i386-passes.def.
-	* config/i386/i386-passes.def: New file.
-	* config/i386/i386-protos.h (make_pass_insert_vzeroupper,
-	make_pass_stv): Declare.
-	* config/i386/i386.c (pass_stv::pass_stv): Initialize timode_p to
-	false.
-	(pass_stv::gate): Depending on timode_p member require TARGET_64BIT
-	or !TARGET_64BIT.
-	(pass_stv::clone, pass_stv::set_pass_param): New methods.
-	(pass_stv::timode_p): New non-static data member.
-	(ix86_option_override): Don't register passes here.
-
-	* doc/invoke.texi: Document accepting Else, fallthrough.
-
-	* doc/invoke.texi (-Wimplicit-fallthrough): Document FALLTHRU comment
-	style changes.
-
-	* doc/invoke.texi (-Wimplicit-fallthrough): Document the accepted
-	FALLTHRU comment styles.
-
-2016-10-07  Andrew Pinski  <apinski@cavium.com>
-
-	* config/aarch64/aarch64-arches.def (AARCH64_ARCH): #undef at the end.
-	* config/aarch64/aarch64-cores.def (AARCH64_CORE): Likewise.
-	* config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSION_PAIR):
-	Likewise.
-	* config/aarch64/aarch64-option-extensions.def (AARCH64_OPT_EXTENSION):
-	Likewise.
-	* config/aarch64/aarch64-tuning-flags.def (AARCH64_EXTRA_TUNING_OPTION):
-	Likewise.
-	* config/aarch64/aarch64-opts.h (AARCH64_CORE): Don't #undef here.
-	(AARCH64_ARCH): Likewise.
-	* common/config/aarch64/aarch64-common.c (AARCH64_OPT_EXTENSION):
-	Likewise.
-	(AARCH64_CORE): Likewise.
-	(AARCH64_ARCH): Likewise.
-	* config/aarch64/aarch64-protos.h (AARCH64_FUSION_PAIR): Likewise.
-	(AARCH64_EXTRA_TUNING_OPTION): Likewise.
-	* config/aarch64/aarch64.c (AARCH64_FUION_PAIR): Likewise.
-	(AARCH64_EXTRA_TUNING_OPTION): Likewise.
-	(AARCH64_ARCH): Likewise.
-	(AARCH64_CORE): Likewise.
-	* config/aarch64/aarch64.h (AARCH64_CORE): Likewise.
-	* config/aarch64/driver-aarch64.c (AARCH64_OPT_EXTENSION): Likewise.
-	(AARCH64_CORE): Likewise.
-	(AARCH64_ARCH): Likewise.
-
-2016-10-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Split
-	-mfloat128 into -mfloat128-type that enables the IEEE 128-bit
-	floating point type infrastructre, and -mfloat128 that enables the
-	keyword.  Define __FLOAT128__ if -mfloat128, and __FLOAT128_TYPE__
-	if -mfloat128-type.  Define __ibm128 to be long double by default.
-	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Print whether
-	the IEEE 128-bit floating point type infrastructure should
-	automatically be enabled.
-	(rs6000_init_hard_regno_mode_ok): Switch to use -mfloat128-type
-	instead of -mfloat128 to enable KFmode.
-	(rs6000_option_override_internal): Split the option -mfloat128
-	into -mfloat128-type and -mfloat128.  On Linux PowerPC 64-bit
-	systems, automatically set -mfloat128-type, but don't enable it on
-	other operating systems.  Move setting the long double size and
-	IEEE quad support before the IEEE 128-bit floating point changes.
-	(rs6000_init_builtins): Do not create a unique type for __ibm128
-	if long double is IBM extended double, instead rely on __ibm128
-	being defined as 'long double'.  If -mfloat128-type and not
-	-mfloat128, create the KFmode type with an undocumented __ieee128
-	keyword.
-	(rs6000_init_libfuncs): Use -mfloat128-type instead of
-	-mfloat128 for tests about the types, but keep tests for
-	-mfloat128 to enable the keyword support.
-	(rs6000_complex_function_value): Likewise.
-	(rs6000_scalar_mode_supported_p): Likewise.
-	(rs6000_floatn_mode): Likewise.
-	(rs6000_c_mode_for_suffix): Likewise.
-	(rs6000_opt_masks): Add -mfloat128-type.
-	* config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add support for
-	-mfloat128-type being split from -mfloat128.  Add
-	-mfloat128-hardware, which was missing.
-	* config/rs6000/rs6000.opt (-mfloat128): Split -mfloat128 into
-	-mfloat128 and -mfloat128-type:
-	(-mfloat128-type): Likewise.
-	* config/rs6000/linux64.h (TARGET_FLOAT128_ENABLE_TYPE): Define so
-	that 64-bit Linux systems with enable -mfloat128-type by default
-	on VSX systems.
-	* config/rs6000/rs6000.h (TARGET_FLOAT128_ENABLE_TYPE): Likewise.
-	(FLOAT128_VECTOR_P): Switch IEEE 128-bit floating points to use
-	-mfloat128-type instead of -mfloat128.
-	(FLOAT128_2REG_P): Likewise.
-	(MASK_FLOAT128_TYPE): Likewise.
-	(ALTIVEC_ARG_MAX_RETURN): Likewise.
-	(RS6000_BTM_FLOAT128): Likewise.
-	(TARGET_FLOAT128): Poison old identifiers.
-	(OPTION_MASK_FLOAT128): Likewise.
-	(MASK_FLOAT128): Likewise.
-	* config/rs6000/rs6000.md (FP): Likewise.
-	(FLOAT128): Likewise.
-	(fix_trunc<mode>di2): Likewise.
-	(fixuns_trunc<IEEE128:mode><SDI:mode>2): Likewise.
-	(floatdi<mode>2): Likewise.
-	(floatuns<SDI:mode><IEEE128:mode>2): Likewise.
-	(neg<mode>2, FLOAT128 iterator): Likewise.
-	(abs<mode>2, FLOAT128 iterator): Likewise.
-	(ieee_128bit_negative_zero): Likewise.
-	(ieee_128bit_vsx_neg<mode>2): Likewise.
-	(ieee_128bit_vsx_neg<mode>2_internal): Likewise.
-	(ieee_128bit_vsx_abs<mode>2): Likewise.
-	(ieee_128bit_vsx_abs<mode>2_internal): Likewise.
-	(ieee_128bit_vsx_nabs<mode>2): Likewise.
-	(ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
-	(extendiftf2): Likewise.
-	(extendifkf2): Likewise.
-	(extendtfkf2): Likewise.
-	(trunciftf2): Likewise.
-	(truncifkf2): Likewise.
-	(trunckftf2): Likewise.
-	(trunctfif2): Likewise.
-	(extendkftf2): Likewise.
-	(trunctfkf2): Likewise.
-
-2016-10-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* simplify-rtx.c (simplify_immed_subreg): Zero-initialize tmp array
-	before merging in bytes to pass down to real_from_target.
-
-2016-10-07  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-propagate.c (replace_phi_args_in): Remove no longer
-	required hack.
-	(substitute_and_fold_dom_walker::before_dom_children):
-	Substitute and fold before pass specific folding to avoid
-	feeding that with SSA names that will be later released.
-	* tree-ssa-ccp.c (get_value_for_expr): Guard for new SSA names
-	introduced by folding and visited by evaluate_stmt called during
-	ccp_fold_stmt.
-	(likely_value): Likewise.
-	(evaluate_stmt): Likewise.
-	* tree-vrp.c (simplify_truth_ops_using_ranges): Fold modified stmt.
-	(simplify_div_or_mod_using_ranges): Likewise.
-	(simplify_min_or_max_using_ranges): Likewise.
-	(simplify_abs_using_ranges): Likewise.
-	(simplify_conversion_using_ranges): Likewise.
-	(simplify_float_conversion_using_ranges): Likewise.
-	(simplify_stmt_using_ranges): Likewise.
-
-2016-10-07  Marek Polacek  <polacek@redhat.com>
-
-	* gimplify.c (should_warn_for_implicit_fallthrough): Check for
-	FALLTHROUGH_LABEL_P here...
-	(warn_implicit_fallthrough_r): ...not here.
-
-2016-10-07  Bernd Schmidt  <bschmidt@redhat.com>
-
-	PR tree-optimization/77880
-	* expr.c (by_pieces_ninsns): Use unsigned HOST_WIDE_INT where
-	necessary.
-
-2016-10-07  Marek Polacek  <polacek@redhat.com>
-
-	PR c++/77803
-	* gimplify.c (last_stmt_in_scope): Add check for FALLTHROUGH ().
-
-2016-10-07  Richard Biener  <rguenther@suse.de>
-
-	* bitmap.h: Document constraints on bitmap modification while
-	iterating over it.
-
-2016-10-07  Richard Biener  <rguenther@suse.de>
-
-	* bitmap.c (bitmap_elem_to_freelist): Set indx to -1.
-	* bitmap.h (bmp_iter_set): When advancing to the next element
-	check that we didn't remove the current one.
-	(bmp_iter_and): Likewise.
-	(bmp_iter_and_compl): Likewise.
-	* tree-ssa.c (release_defs_bitset): Do not remove worklist bit
-	we currently iterate on but keep a one-level queue.
-	* sched-deps.c (remove_from_deps): Do not clear current bit
-	but keep a one-level queue.
-
-2016-10-07  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/77664
-	* tree-ssa-reassoc.c (update_range_test): Also clear low and high
-	for the other ranges.
-	(optimize_range_tests_diff): Fix up formatting.
-	(optimize_range_tests_var_bound): New function.
-	(optimize_range_tests): Use it.
-
-2016-10-07  Martin Liska  <mliska@suse.cz>
-
-	* coverage.c (build_gcov_exit_decl): Fix priority what
-	should be really 99.
-
-2016-10-07  Richard Biener  <rguenther@suse.de>
-
-	* gimple-low.c (lower_gimple_bind): Clear DECL_CHAIN of
-	vars in gimple_bind_vars but not in BLOCK_VARS.
-
-2016-10-07  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/77879
-	* tree-ssa-structalias.c (handle_const_call): Properly handle
-	NRV return slots.
-	(handle_pure_call): Likewise.
-
-2016-10-06  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor)
-	(rs6000_elf_asm_out_destructor): increase size of buf to avoid
-	possible overflow.
-
-2016-10-06  Andrew Pinski  <apinski@cavium.com>
-
-	* config/aarch64/aarch64-cores.def: Add a comment before each
-	set of cores.
-
-2016-10-06  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	PR tree-optimization/77862
-	* tree-vrp.c (add_equivalence): Use get_value_range so that
-	num_vr_values is checked before accessing vr_values.
-
-2016-10-06  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* tree-vrp.c (evrp_dom_walker::before_dom_children): Handle
-	  POINTER_TYPE_P.
-
-2016-10-05  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/71661
-	* tree-cfgcleanup.c (remove_forwarder_block_with_phi): Handle case when
-	removal of a forwarder exposes a new natural loop.
-
-2016-10-06  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/sse.md (andnot<mode>3): Add FALLTHRU comments.
-	Introduce ssesuffix variable.
-	(<mask_codefor><code><mode>3<mask_name>): Ditto.
-	(*<code><mode>3): Ditto.
-
-2016-10-06  Jan Hubicka  <hubicka@ucw.cz>
-
-	* postreload.c (reload_cse_simplify): Skip also USE when detecting
-	noop move.
-
-2016-10-06  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/77855
-	* tree-ssa-pre.c (prune_clobbered_mems): Queue exprs to remove
-	instead of removing the current item while iterating over the set
-	which is not safe.
-
-2016-10-06  James Clarke  <jrtc27@jrtc27.com>
-	    Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR target/77759
-	* config/sparc/sparc.c (classify_data_t): Remove int_regs field.
-	(classify_registers): Don't set it
-	(function_arg_slotno): Don't initialize and test it.  Tidy up.
-
-2016-10-06  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/77839
-	* tree-ssa-sccvn.c (set_ssa_val_to): Forbid value -> constant value
-	lattice transition.
-
-2016-10-06  Martin Liska  <mliska@suse.cz>
-
-	* gcc.c: Set -fprofile-update=atomic when profiling is
-	enabled and -pthread is set.  Warn when one combines
-	-pthread and -fprofile-update=single for an app using
-	profiling code.
-
-2016-10-06  Martin Liska  <mliska@suse.cz>
-
-	PR bootstrap/77788
-	* expmed.h (mul_highpart_cost_ptr): Add an gcc_assert.
-	* gimple-ssa-strength-reduction.c (slsr_process_cast):
-	Initialize a pointer to NULL.
-	(slsr_process_copy): Likewise.
-	* input.c (location_get_source_line): Likewise.
-	* tree-ssa-ccp.c (optimize_atomic_bit_test_and): Likewise.
-
-2016-10-05  Andrew Senkevich  <andrew.senkevich@intel.com>
-
-	* common/config/i386/i386-common.c (OPTION_MASK_ISA_PCOMMIT_UNSET,
-	OPTION_MASK_ISA_PCOMMIT_SET): Deleted definitions.
-	(ix86_handle_option): Deleted handle of OPT_mpcommit.
-	* config.gcc: Deleted pcommitintrin.h
-	* config/i386/pcommitintrin.h: Deleted file.
-	* config/i386/cpuid.h (bit_PCOMMIT): Deleted.
-	* config/i386/driver-i386.c (host_detect_local_cpu): Deleted pcommit
-	detection.
-	* config/i386/i386-c.c (ix86_target_macros_internal): Deleted define
-	__PCOMMIT__.
-	* config/i386/i386.c (ix86_target_string): Deleted -mpcommit.
-	(PTA_PCOMMIT): Deleted define.
-	(ix86_option_override_internal): Deleted handle of option.
-	(ix86_valid_target_attribute_inner_p): Deleted pcommit.
-	* config/i386/i386-builtin.def (IX86_BUILTIN_PCOMMIT,
-	__builtin_ia32_pcommit): Deleted.
-	* config/i386/i386.h (TARGET_PCOMMIT, TARGET_PCOMMIT_P): Deleted.
-	* config/i386/i386.md (unspecv): Deleted UNSPECV_PCOMMIT.
-	(pcommit): Deleted instruction.
-	* config/i386/i386.opt: Mention -mpcommit deprecation.
-	* config/i386/x86intrin.h: Deleted inclusion of pcommitintrin.h.
-
-2016-10-05  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/77874
-	* config/i386/sse.md (<mask_codefor><code><mode>3<mask_name>):
-	Remove wrong assert.
-	(<floatsuffix>float<sseintvecmodelower><mode>2<mask_name><round_name>:
-	Use <round_constraint> as operand 1 constraint.
-
-2016-10-05  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/66343
-	* ubsan.c (ubsan_create_data): Call initialize_sanitizer_builtins here.
-	(ubsan_instrument_float_cast): And not here.
-
-	PR sanitizer/66343
-	* ubsan.c (ubsan_ids): New GTY(()) array.
-	(ubsan_type_descriptor, ubsan_create_data): Use ubsan_ids
-	instead of static local counters.
-
-2016-10-05  Martin Sebor  <msebor@redhat.com>
-
-	PR bootstrap/77819
-	* config/linux.h (TARGET_PRINTF_POINTER_FORMAT): Define macro.
-	* config/linux.c (gnu_libc_printf_pointer_format): Remove.
-	* targhooks.c [DEFAULT_LIBC == LIBC_UCLIBC) && SINGLE_LIBC]
-	(default_printf_pointer_format): Define function.
-	* targhooks.c (linux_printf_pointer_format): Define new function.
-	* targhooks.h (linux_printf_pointer_format): Declare.
-	(gnu_libc_printf_pointer_format): Remove declaration.
-
-2016-10-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* fold-const.c (native_encode_real): Fix logic for selecting offset
-	to write to when BYTES_BIG_ENDIAN.
-
-2016-10-05  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* builtins.c (fold_builtin_strchr): Remove function.
-	(fold_builtin_strrchr): Likewise.
-	(fold_builtin2): Remove strchr, index, strrchr, rindex cases.
-	* gimple-fold.c (target_char_cst_p): New function.
-	(gimple_fold_builtin_strchr) Add more foldings.
-	(gimple_fold_builtin): Add index, strrchr, rindex cases.
-
-2016-10-05  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/77863
-	* genmatch.c (capture_info::walk_c_expr): Diagnose unknown
-	capture ids in c-exprs.
-
-2016-10-05  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/77826
-	* genmatch.c (dt_operand::gen_match_op): Amend operand_equal_p
-	with types_match for GIMPLE code gen to handle type mismatched
-	constants properly.
-	(dt_operand::gen): Adjust.
-	* match.pd ((X /[ex] A) * A -> X): Properly handle converted
-	and constant A.
-
-2016-10-05  Richard Biener  <rguenther@suse.de>
-
-	* match.pd (copysign(x, CST) -> [-]abs (x)): New pattern.
-
-2016-10-05  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/77842
-	* genmatch.c (parser::parse_c_expr): Handle premature EOF.
-
-2016-10-05  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* dwarf2out.c (dwarf2out_imported_module_or_decl): Move DWARF
-	version check to protect only DW_TAG_imported_module generation.
-
-2016-10-05  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/55152
-	* match.pd (min(a,-a) -> -abs(a)): New pattern.
-
-2016-10-04  Ian Lance Taylor  <iant@golang.org>
-
-	* explow.c (allocate_dynamic_stack_space): Call
-	do_pending_stack_adjust before handling flag_split_stack.
-
-2016-10-04  David Malcolm  <dmalcolm@redhat.com>
-
-	* genattrtab.c (make_internal_attr): Supply dummy column number to
-	file_location ctor.
-	(main): Likewise.
-	* genoutput.c (init_insn_for_nothing): Likewise.
-	* gensupport.c (add_define_attr): Likewise.
-	* read-md.c (message_at_1): Print column number.
-	(fatal_with_file_and_line): Likewise.
-	(rtx_reader::read_char): Track column numbers.
-	(rtx_reader::unread_char): Likewise.
-	(rtx_reader::rtx_reader): Initialize m_read_md_colno.
-	(rtx_reader::handle_include): Stash and restore m_read_md_colno.
-	(rtx_reader::handle_file): Initialize m_read_md_colno.
-	(rtx_reader::get_current_location): Supply column number to
-	file_location ctor.
-	* read-md.h (struct file_location): Add field "colno".
-	(file_location::file_location): Likewise.
-	(rtx_reader::get_colno): New accessor.
-	(rtx_reader::m_read_md_colno): New field.
-	(rtx_reader::m_last_line_colno): New field.
-
-2016-10-04  Jakub Jelinek  <jakub@redhat.com>
-
-	* doc/extend.texi (Java Exceptions): Remove.
-	(java_interface): Remove.
-
-2016-10-04  Doug Gilmore  <doug.gilmore@imgtec.com>
-
-	PR tree-optimization/77808
-	* tree-ssa-loop-prefetch.c (issue_prefetch_ref): Check base_addr
-	and addr are different before copying points-to information.
-
-2016-10-04  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/x86-tune.def (X86_TUNE_VECTORIZE_DOUBLE): Remove.
-	* config/i386/i386.h (TARGET_VECTORIZE_DOUBLE): Remove.
-	* config/i386/i386.c (ix86_add_stmt_cost): Use TARGET_BONNEL instead
-	of !TARGET_VECTORIZE_DOUBLE when penalizing DFmode vector ops.
-
-2016-10-04  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/77399
-	* tree-ssa-forwprop.c (simplify_vector_constructor): Properly
-	verify the target can convert.
-
-2016-10-04  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/77833
-	* explow.c (plus_constant): Verify the mode of the constant
-	pool offset before calling plus_constant.
-
-2016-10-04  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/77407
-	* match.pd (X / abs (X) -> X < 0 ? -1 : 1): Drop vector
-	type support, mark with :C.
-	(X / -X -> -1): Mark with :C.
-
-2016-10-04  Jakub Jelinek  <jakub@redhat.com>
-
-	* defaults.h (JCR_SECTION_NAME, TARGET_USE_JCR_SECTION): Remove.
-	* system.h (JCR_SECTION_NAME, TARGET_USE_JCR_SECTION): Poison.
-	* doc/tm.texi.in (TARGET_USE_JCR_SECTION): Remove.
-	* doc/tm.texi: Regenerated.
-	* config/i386/mingw32.h (TARGET_USE_JCR_SECTION): Remove.
-	* config/i386/cygming.h (TARGET_USE_JCR_SECTION): Remove.
-	* config/darwin.h (JCR_SECTION_NAME): Remove.
-	* config/pa/pa64-hpux.h (JCR_SECTION_NAME): Remove.
-	* config/rs6000/aix71.h (TARGET_USE_JCR_SECTION): Remove.
-	* config/rs6000/aix51.h (TARGET_USE_JCR_SECTION): Remove.
-	* config/rs6000/aix52.h (TARGET_USE_JCR_SECTION): Remove.
-	* config/rs6000/aix53.h (TARGET_USE_JCR_SECTION): Remove.
-	* config/rs6000/aix61.h (TARGET_USE_JCR_SECTION): Remove.
-
-2016-10-03  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	* ipa-cp.c (propagate_bits_accross_jump_function): Introduce space
-	between "because" and "param" in dump message in call to fprintf.
-
-2016-10-03  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/71550
-	PR tree-optimization/71403
-	* tree-ssa-threadbackward.c: Include tree-vectorizer.h
-	(profitable_jump_thread_path): Also return boolean indicating if
-	the realized path will create an irreducible loop.
-	Remove loop depth tests from 71403.
-	(fsm_find_control_statement_thread_paths): Remove loop depth tests
-	from 71403.  If threading will create an irreducible loop, then
-	throw away loop iteration and related information.
-
-2016-10-03  Uros Bizjak  <ubizjak@gmail.com>
-
-	* configure.ac (strict_warn): Merge -Wmissing-format-attribute and
-	-Woverloaded-virtual checks for warning options.
-	* configure: Regenerate.
-
-2016-10-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	PR preprocessor/77699
-	* input.c (maybe_grow): Don't allocate one byte extra headroom.
-	(get_next_line): Return false on error.
-	(read_next_line): Removed, use get_next_line instead.
-	(read_line_num): Don't copy the line.
-	(location_get_source_line): Don't use static data.
-	(selftest::test_reading_source_line): Add more test cases.
-
-2016-10-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	Revert
-	2016-09-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* ifcvt.c (noce_try_avoid_const_materialization): New function.
-	(noce_process_if_block): Use it.
-
-2016-10-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* doc/invoke.texi: Update -Wint-in-bool-context.
-
-2016-10-02  Jakub Jelinek  <jakub@redhat.com>
-
-	* dwarf2out.c (output_fde, output_call_frame_info,
-	dwarf2out_do_cfi_startproc, set_indirect_string,
-	gen_internal_sym, output_die, output_line_info): Use
-	MAX_ARTIFICIAL_LABEL_BYTES as char array sizes for
-	ASM_GENERATE_INTERNAL_LABEL output.
-
-2016-10-01  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/77798
-	* genmatch.c (get_operand_type): Add operand position arg
-	and handle COND_EXPR comparison operand with fixed boolean_type_node.
-	(expr::gen_transform): Adjust.
-	(dt_simplify::gen_1): Likewise.
-
-2016-10-01  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/sse.md (<mask_codefor><code><mode>): Add FALLTHRU
-	comments.  Simplify asserts, remove unnecessary conditions.
-	Formatting fixes.
-	(*<code><mode>3): Likewise.
-
-2016-09-30  Jakub Jelinek  <jakub@redhat.com>
-
-	* doc/invoke.texi (-Wregister): Document.
-
-2016-09-30  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* configure.ac: Split CHECKING_P into CHECKING_P and
-	ENABLE_EXTRA_CHECKING.
-	* configure: Regenerated.
-	* config.in: Adjust commment of CHECKING_P.  Add ENABLE_EXTRA_CHECKING.
-	* common.opt (flag_checking): Use CHECKING_P and ENABLE_EXTRA_CHECKING.
-
-2016-09-30  Prasad Ghangal  <prasad.ghangal@gmail.com>
-
-	PR other/31566
-	* gcc.c (process_command): For @filename handling, output
-	the correct name if the file does not exist.
-
-2016-09-30  Marek Polacek  <polacek@redhat.com>
-
-	* config/aarch64/aarch64-simd.md: Adjust fall through comments.
-	* config/alpha/predicates.md: Likewise.
-
-2016-09-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* ifcvt.c (noce_try_avoid_const_materialization): New function.
-	(noce_process_if_block): Use it.
-
-2016-09-30  Martin Liska  <mliska@suse.cz>
-
-	* doc/invoke.texi: Document asan-use-after-return that
-	it's disabled by default in runtime.
-
-2016-09-30  Richard Biener  <rguenther@suse.de>
-
-	* tree-vrp.c (intersect_ranges): If we failed to handle
-	the intersection choose a constant singleton range if available.
-
-2016-09-30  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/77399
-	* tree-ssa-forwprop.c (simplify_vector_constructor): Handle
-	float <-> int conversions.
-
-2016-09-30  Alan Modra  <amodra@gmail.com>
-
-	* config/rs6000/rs6000.c (rs6000_opt_vars): Revert last change.
-
-2016-09-29  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/driver-i386.c (host_detect_local_cpu): Check maximum
-	ext_level before calling CPUID with 0x80000008.
-	Simplify xgetbv checks.
-
-2016-09-29  David Malcolm  <dmalcolm@redhat.com>
-
-	* Makefile.in (OBJS): Add print-rtl-function.o.
-	* print-rtl-function.c: New file.
-	* print-rtl.h (print_rtx_function): New decl.
-
-2016-09-29  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/77756
-	* config/i386/cpuid.h (__get_cpuid_count): New.
-	(__get_cpuid): Rename __level to __leaf.
-
-2016-09-29  Marek Polacek  <polacek@redhat.com>
-
-	* genattrtab.c (write_attr_case): Also emit FALLTHRU marker.
-
-2016-09-29  Bernd Schmidt  <bschmidt@redhat.com>
-
-	PR target/77718
-	* builtins.c (expand_builtin_memcmp): Don't swap args unless
-	result is only being compared with zero.
-
-2016-09-29  Marek Polacek  <polacek@redhat.com>
-
-	* dwarf2out.c (loc_descriptor): Add fall through comment.
-	(add_const_value_attribute): Likewise.
-
-2016-09-29  Matthew Wahab  <matthew.wahab@arm.com>
-
-	* config/arm/arm.md (*arm_movsi_insn): Replace "t2" arch attribute
-	with "v6t2".  Move "arch" attribute above "pool_range".
-	* config/arm/vfp.md (*arm_movhi_vfp): Replace "t2" arch attribute
-	with "v6t2".
-	(*thumb2_movhi_vfp): Likewise.
-	(*arm_movhi_fp16): Likewise.
-	(*thumb2_movhi_fp16): Likewise.
-	(*arm_movsi_vfp): Remove "arch" attribute.
-	(*thumb2_movsi_vfp): Likewise.
-
-2016-09-29  Martin Liska  <mliska@suse.cz>
-
-	* doc/extend.texi: Remove limitation of Objective C for
-	__attribute__((constructor)) and __attribute__((destructor)).
-
-2016-09-29  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/77768
-	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
-	Handle stores to readonly memory when removing redundant stores.
-
-2016-09-29  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/77407
-	* match.pd: Add X / abs (X) -> X < 0 ? -1 : 1 and
-	X / -X -> -1 simplifications.
-
-2016-09-29  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/55152
-	* match.pd: Add max(a,-a) -> abs(a) pattern.
-	* tree-ssa-phiopt.c (minmax_replacement): Disable for
-	HONOR_SIGNED_ZEROS types.
-
-2016-09-29  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* defaults.h (TARGET_FLT_EVAL_METHOD_NON_DEFAULT): Remove.
-	* system.h (TARGET_FLT_EVAL_METHOD_NON_DEFAULT): Poison.
-
-2016-09-29  Richard Biener  <rguenther@suse.de>
-
-	* tree-vrp.c (set_defs_to_varying): New helper avoiding
-	writing to vr_const_varying.
-	(vrp_initialize): Call it.
-	(vrp_visit_stmt): Likewise.
-	(evrp_dom_walker::before_dom_children): Likewise.
-
-2016-09-29  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-stmts.c (vectorizable_load): Avoid emitting vector
-	constructors with vector elements.
-
-2016-09-29  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/77768
-	* tree-ssa-sccvn.c (visit_reference_op_store): Properly deal
-	with stores to a place we know has a constant value.
-
-2016-09-29  Alan Modra  <amodra@gmail.com>
-
-	* config/rs6000/sysv4.opt (mgnu-attribute): New option.
-	* doc/invoke.texi: Document it.
-	* config/rs6000/rs6000.c (HAVE_LD_PPC_GNU_ATTR_LONG_DOUBLE): Define.
-	(rs6000_passes_float): Comment.
-	(rs6000_passes_long_double): New static var.
-	(call_ABI_of_interest): Return false unless rs6000_gnu_attr is set.
-	(init_cumulative_args): Set up to emit fp .gnu_attribute for
-	ELF 64-bit ABIs as well as 32-bit ELF.  Correct rs6000_passes_float
-	to include fp values returned in vectors.
-	Set rs6000_passes_long_double.
-	(rs6000_function_arg_advance_1): Likewise for function args.
-	(rs6000_elf_file_end): Emit fp .gnu_attribute for ELF 64-bit ABIs,
-	and SPE.  Emit long double tag value too.
-	(rs6000_opt_vars): Add gnu-attr.
-	* configure.ac (HAVE_LD_PPC_GNU_ATTR_LONG_DOUBLE): New ppc32 test.
-	* configure: Regenerate.
-	* config.in: Regenerate.
-
-2016-09-28  Jakub Jelinek  <jakub@redhat.com>
-
-	* gimple-ssa-sprintf.c (pass_sprintf_length::gate): Use x > 0 instead
-	of 0 < x.
-	(format_floating, format_string, format_directive,
-	get_destination_size, pass_sprintf_length::handle_gimple_call):
-	Likewise.
-
-2016-09-28  Jakub Jelinek  <jakub@redhat.com>
-
-	* gimple-ssa-sprintf.c: Fix comment formatting.
-	(format_integer): Use is_gimple_assign.
-	(pass_sprintf_length::handle_gimple_call): Use gimple_call_builtin_p
-	and gimple_call_fndecl.  Reorder case BUILT_IN_SPRINTF_CHK.  Fix up
-	BUILT_IN_SNPRINTF_CHK comment.  Replace "to to" with "to" in comment.
-	(pass_sprintf_length::execute): Use is_gimple_call.
-
-2016-09-28  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* gimple-fold.c (gimple_fold_builtin): After failing to fold
-	strchr, also try the generic folding.
-
-2016-09-28  Martin Sebor  <msebor@redhat.com>
-
-	PR c/77762
-	* gimple-ssa-sprintf.c (pass_sprintf_length::handle_gimple_call):
-	Fix typos.
-
-2016-09-28  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/77683
-	* gimple-ssa-sprintf.c (format_integer): Fail gracefully when
-	length modifier is not expected.
-	(format_floating): Ignore l length modifier and fail gracefuly
-	when it isn't one of the other expected ones.
-
-2016-09-28  Martin Sebor  <msebor@redhat.com>
-
-	PR bootstrap/77753
-	* varasm.c (assemble_addr_to_section): Increase local buffer size.
-
-2016-09-27  Richard Biener  <rguenther@suse.de>
-
-	* dwarf2out.c (cu_die_list): New global.
-	(dwarf2out_finish): Walk cu_die_list instead of limbo DIEs.  Add
-	main_comp_unit_die to cu_die_list if we created it.
-	Move break_out_includes ...
-	(dwarf2out_early_finish): ... here.  Push created CU DIEs onto
-	the cu_die_list.
-
-2016-09-28  Richard Biener  <rguenther@suse.de>
-
-	* dwarf2out.c (struct die_struct): Add removed flag.
-	(lookup_type_die): If the DIE is marked as removed, clear
-	TYPE_SYMTAB_DIE and return NULL.
-	(lookup_decl_die): If the DIE is marked as removed, remove it
-	from the hash and return NULL.
-	(mark_removed): New helper.
-	(prune_unused_types_prune): Call it for removed DIEs.
-	(gen_subprogram_die): Move the premark_used_types call to after
-	DIEs for the functions scopes are generated.
-	(process_scope_var): Do not re-create pruned types or type decls.
-	Make sure to also re-parent type decls.
-	(dwarf2out_finish): Move unused type pruning and debug_types
-	handling ...
-	(dwarf2out_early_finish): ... here.
-
-2016-09-29  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc-c.c: New file.
-	* config/arc/arc-c.def: Likewise.
-	* config/arc/t-arc: Likewise.
-	* config.gcc: Include arc-c.o as c and cpp object.
-	* config/arc/arc-protos.h (arc_cpu_cpp_builtins): Add prototype.
-	* config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Use
-	arc_cpu_cpp_builtins.
-
-2016-09-29  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.md (*rotrsi3_cnt1): New pattern.
-	(*ashlsi2_cnt1, *lshrsi3_cnt1, *ashrsi3_cnt1): Likewise.
-
-2016-09-28  Nathan Sidwell  <nathan@acm.org>
-
-	* gimple-pretty-print.c (dump_gimple_call_args): Simplify "' "
-	printing.
-
-2016-09-28  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	PR tree-optimization/61056
-	* gimple-fold.c (gimple_fold_builtin_strchr):
-	New function to optimize strchr (s, 0) to strlen.
-	(gimple_fold_builtin): Add BUILT_IN_STRCHR case.
-
-2016-09-27  Robin Dapp  <rdapp@linux.vnet.ibm.com>
-
-	PR tree-optimization/77724
-	* tree-vect-loop-manip.c (create_intersect_range_checks_index):
-	Add tree_fits_shwi_p check.
-
-2016-09-27  Jakub Jelinek  <jakub@redhat.com>
-
-	* auto-inc-dec.c (try_merge): Remove break after return.
-	* cselib.c (autoinc_split): Likewise.
-	* explow.c (promote_mode): Likewise.
-	* fixed-value.c (fixed_arithmetic): Likewise.
-	* hsa.c (hsa_internal_fn::get_arity): Likewise.
-	* rtlanal.c (modified_between_p, modified_in_p): Likewise.
-	* trans-mem.c (get_attrs_for): Likewise.
-	* tree-if-conv.c (if_convertible_stmt_p): Likewise.
-	* tree-vrp.c (simplify_stmt_using_ranges): Likewise.
-	* config/aarch64/aarch64-builtins.c (aarch64_fold_builtin): Likewise.
-	* config/aarch64/aarch64.c (aarch64_get_condition_code_1): Likewise.
-	* config/c6x/c6x.c (c6x_get_unit_specifier): Likewise.
-	* config/cr16/cr16.c (legitimate_pic_operand_p): Likewise.
-	* config/cris/cris.c (cris_op_str): Likewise.
-	* config/mn10300/mn10300.c (cc_flags_for_code): Likewise.
-	* config/tilepro/tilepro.c (tilepro_emit_setcc_internal_di): Likewise.
-
-2016-09-27  Nathan Sidwell  <nathan@codesourcery.com>
-
-	* internal-fn.h (IFN_UNIQUE_CODES, IFN_GOACC_LOOP_CODES,
-	IFN_GOACC_REDUCTION_CODES): New.
-	(enum ifn_unique_kind, enum ifn_goacc_loop_kind, enum
-	ifn_goacc_reduction_kind): Use them.
-	* gimple-pretty-print.c (dump_gimple_call_args): Decode first arg
-	of internal functions, when applicable.
-
-2016-09-27  Maciej W. Rozycki  <macro@imgtec.com>
-
-	* config/mips/constraints.md (d): Fix documentation.
-	* doc/md.texi (Machine Constraints): Update accordingly.
-
-2016-09-27  Richard Biener  <rguenther@suse.de>
-
-	* dwarf2out.c (dwarf2out_init): Move text_section_line_info,
-	cur_line_info_table initialization ...
-	(dwarf2out_assembly_start): ... here.
-
-2016-09-27  Matthew Wahab  <matthew.wahab@arm.com>
-
-	* config/arm/arm.md (*arm_movsi_insn): Add "arch" attribute.
-	* config/arm/vfp.md (*arm_movhi_vfp): Likewise.
-	(*thumb2_movhi_vfp): Likewise.
-	(*arm_movhi_fp16): Remove predication operand from VMOV.F16
-	template.  Expand predicable attribute to mark VMOV.F16 as not
-	predicable.  Add "arch" attribute.
-	(*thumb2_movhi_fp16): Likewise.
-	(*arm_movsi_vfp): Break a long line.  Add "arch" attribute.
-	(*thumb2_movsi_vfp): Add "arch" attribute.
-
-2016-09-27  David Edelsohn  <dje.gcc@gmail.com>
-
-	* config/rs6000/rs6000.c (rs6000_output_symbol): Don't modify
-	VAR_DECL string.
-
-2016-09-27  Marek Polacek  <polacek@redhat.com>
-
-	* config/ia64/ia64.c (ia64_print_operand): Adjust fall through
-	comment.
-
-	* config/c6x/c6x.h: Adjust fall through comment.
-	* config/sh/sh.c (final_prescan_insn): Likewise.
-	* config/visium/visium.c (visium_expand_int_cstore): Likewise.
-	(visium_expand_fp_cstore): Likewise.
-
-2016-09-27  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/arm.c (const_ok_for_op): Use "Fall through" comment form
-	expected by -Wimplicit-fallthrough.
-	(thumb1_size_rtx_costs): Likewise.
-	(thumb2_reorg): Likewise.
-	(tls_mentioned_p): Add "Fall through" comment.
-	(thumb2_reorg): Likewise.
-	* config/arm/arm-builtins.c (arm_expand_neon_args): Use "Fall through"
-	comment form expected by -Wimplicit-fallthrough.
-
-2016-09-27  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/46266
-	* input.h (RESERVED_LOCATION_P): New macro.
-	* profile.c (branch_prob): Use RESERVED_LOCATION_P and
-	instread of comparison with UNKNOWN_LOCATION.
-
-2016-09-27  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/77745
-	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
-	When removing redundant stores make sure to check compatibility
-	of the TBAA state for downstream accesses.
-	* tree-ssa-sccvn.c (visit_reference_op_store): Likewise for when
-	value-numbering virtual operands for store matches.
-
-2016-09-27  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	PR target/51244
-	* config/sh/sh.c (sh_rtx_costs): Fix return value of SET of movt and
-	movrt patterns.  Match them before anything else in the SET case.
-
-2016-09-27  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/7970
-	PR gcov-profile/16855
-	PR gcov-profile/44779
-	* coverage.c (build_gcov_exit_decl): New function.
-	(coverage_obj_init): Call the function and generate __gcov_exit
-	destructor.
-	* doc/gcov.texi: Document when __gcov_exit function is called.
-
-2016-09-27  Marek Polacek  <polacek@redhat.com>
-
-	PR bootstrap/77751
-	* Makefile.in (insn-attrtab.o-warn, insn-dfatab.o-warn,
-	insn-latencytab.o-warn, insn-output.o-warn, insn-emit.o-warn): Use
-	-Wno-error instead of -Wno-implicit-fallthrough.
-
-2016-09-27  Martin Liska  <mliska@suse.cz>
-
-	PR bootstrap/77749
-	* gcov-counter.def: Remove GCOV_COUNTER_V_DELTA.
-
-2016-09-27  Jakub Jelinek  <jakub@redhat.com>
-
-	* combine.c (simplify_comparison): Add canonical FALLTHROUGH comments.
-	* config/i386/i386.c (ix86_dep_by_shift_count_body): Add FALLTHROUGH
-	comments.  Remove break after return.
-	(ix86_fp_compare_code_to_integer, has_dispatch,
-	ix86_simd_clone_usable): Remove break after return.
-
-2016-09-27  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	PR rlt-optimization/77714
-	* lra-eliminations.c (eliminate_regs_in_insn): Avoid alias on
-	REG_EQUAL note.
-
-2016-09-27  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	PR ipa/77677
-	* ipa-prop.c (ipa_compute_jump_functions_for_edge): Use
-	extract_range_from_unary_expr to convert value_range.
-	* tree-vrp.c (extract_range_from_unary_expr_1): Rename to.
-	(extract_range_from_unary_expr): This.
-	* tree-vrp.h (extract_range_from_unary_expr): Declare.
-
-2016-09-27  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.md (movcc_internal1): Disparage using CTR or LR.
-
-2016-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	* config/i386/i386.c (ix86_print_operand)
-	[HAVE_AS_IX86_CMOV_SUN_SYNTAX]: Add gcc_fallthrough.
-	* config/sparc/sparc.c (check_pic): Add fallthrough comment.
-	(epilogue_renumber): Likewise.
-
-2016-09-26  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	PR middle-end/77719
-	* tree-ssa-reassoc.c (make_new_ssa_for_def): Use gimple_get_lhs
-	to get lhs instead of gimple_assign_lhs as stmt can be builtins too.
-
-2016-09-26  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* tree.h (memmodel_from_int, memmodel_base, is_mm_relaxed,
-	is_mm_consume, is_mm_acquire, is_mm_release, is_mm_acq_rel,
-	is_mm_seq_cst, is_mm_sync): Move to ...
-	* memmodel.h: This.  New file.
-	* builtins.c: Include memmodel.h.
-	* optabs.c: Likewise.
-	* tsan.c: Likewise.
-	* config/aarch64/aarch64.c: Likewise.
-	* config/alpha/alpha.c: Likewise.
-	* config/arm/arm.c: Likewise.
-	* config/i386/i386.c: Likewise.
-	* config/ia64/ia64.c: Likewise.
-	* config/mips/mips.c: Likewise.
-	* config/rs6000/rs6000.c: Likewise.
-	* config/sparc/sparc.c: Likewise.
-	* genconditions.c: Include memmodel.h in generated file.
-	* genemit.c: Likewise.
-	* genoutput.c: Likewise.
-	* genpeep.c: Likewise.
-	* genpreds.c: Likewise.
-	* genrecog.c: Likewise.
-
-2016-09-26  David Malcolm  <dmalcolm@redhat.com>
-
-	* read-rtl.c (read_rtx_code): Rename local "i" to "idx", and use
-	"c" instead when parsing characters.  Move operand parsing into...
-	(read_rtx_operand): ...this new function, renaming "i" to "idx",
-	and tightening the scope of various locals.
-
-2016-09-26  Liu Hao  <lh_mouse@126.com>
-
-	* config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Fix typo.
-
-2016-09-26  Marek Polacek  <polacek@redhat.com>
-
-	* system.h: Use __has_attribute to check whether the fallthrough
-	attribute is supported.
-
-2016-09-26  Marek Polacek  <polacek@redhat.com>
-
-	* ipa-inline-analysis.c (find_foldable_builtin_expect): Use
-	gimple_call_internal_p.
-	* ipa-split.c (find_return_bb): Likewise.
-	(execute_split_functions): Likewise.
-	* omp-low.c (dump_oacc_loop_part): Likewise.
-	(oacc_loop_xform_head_tail): Likewise.
-	* predict.c (predict_loops): Likewise.
-	* sanopt.c (pass_sanopt::execute): Likewise.
-	* tree-cfg.c (get_abnormal_succ_dispatcher): Likewise.
-	* tree-parloops.c (oacc_entry_exit_ok_1): Likewise.
-	* tree-stdarg.c (gimple_call_ifn_va_arg_p): Remove function.
-	(expand_ifn_va_arg_1): Use gimple_call_internal_p.
-	(expand_ifn_va_arg): Likewise.
-	* tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
-	(optimize_mask_stores): Likewise.
-	* tree-vect-stmts.c (vect_simd_lane_linear): Likewise.
-	(vect_transform_stmt): Likewise.
-	* tree-vectorizer.c (vect_loop_vectorized_call): Likewise.
-	* tsan.c (instrument_memory_accesses): Likewise.
-
-2016-09-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-	    Alexander Monakov  <amonakov@ispras.ru>
-
-	* regrename.c (rename_chains): Check
-	HARD_FRAME_POINTER_IS_FRAME_POINTER rather than
-	HARD_FRAME_POINTER_REGNUM when picking unavailable registers.
-	* sel-sched.c (mark_unavailable_hard_regs): Likewise.
-
-2016-09-26  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.c (s390_rtx_costs): Add /* fallthrough */.
-	(s390_sched_score): Likewise.
-
-2016-09-26  Martin Liska  <mliska@suse.cz>
-
-	* doc/gcov.texi: Update program output of gcov tool.
-
-2016-09-26  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/23332
-	* profile.c (instrument_values): Do not handle HIST_TYPE_CONST_DELTA.
-	* tree-profile.c (gimple_gen_const_delta_profiler): Remove.
-	* value-prof.c (dump_histogram_value): Do not handle
-	HIST_TYPE_CONST_DELTA.
-	(stream_in_histogram_value): Likewise.
-	(gimple_find_values_to_profile): Likewise.
-	* value-prof.h (enum hist_type): Likewise.
-
-2016-09-26  Martin Liska  <mliska@suse.cz>
-
-	* common.opt: Exclude SANITIZE_UNREACHABLE and SANITIZE_RETURN
-	from default sanitize recover values.
-	* doc/invoke.texi: Fix documentation related to -fsanitize=leak,
-	-fsanitize=address, -fsanitize=thread and -fsanitize-recover.
-	* flag-types.h: Replace couple of 1 << x to 1UL << x, make it
-	consistent.
-	* opts.c (finish_options): Do a generic loop over options
-	that can be recovered.
-	(parse_sanitizer_options): Exclude SANITIZE_UNREACHABLE and
-	SANITIZE_RETURN.
-	(common_handle_option): Likewise.
-	* opts.h: Declare can_recover to sanitizer_opts_s.
-
-2016-09-26  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-
-	* target.def(elf_flags_numeric): Change documentation to present tense.
-	* doc/tm.texi: Regenerate.
-
-2016-09-26  Marek Polacek  <polacek@redhat.com>
-
-	PR c/7652
-	* Makefile.in (insn-attrtab.o-warn, insn-dfatab.o-warn,
-	insn-latencytab.o-warn, insn-output.o-warn, insn-emit.o-warn): Add
-	-Wno-switch-fallthrough.
-	* builtins.c (expand_builtin_int_roundingfn_2): Add gcc_fallthrough.
-	(expand_builtin): Likewise.
-	* config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass): Likewise.
-	* convert.c (convert_to_real_1): Likewise.
-	(convert_to_integer_1): Likewise.
-	* final.c (output_alternate_entry_point): Likewise.
-	* genattrtab.c (make_canonical): Likewise.
-	(write_test_expr): Likewise.
-	* genpreds.c (validate_exp): Likewise.
-	* gimple-ssa-strength-reduction.c
-	(find_candidates_dom_walker::before_dom_children): Likewise.
-	* godump.c (go_format_type): Likewise.
-	* reload1.c (elimination_effects): Likewise.
-	* resource.c (mark_referenced_resources): Likewise.
-	(mark_set_resources): Likewise.
-	* tree-ssa-loop-ivopts.c (find_deriving_biv_for_expr): Likewise.
-	* varasm.c (output_addressed_constants): Likewise.
-
-2016-09-26  Marek Polacek  <polacek@redhat.com>
-
-	PR c/7652
-	* common.opt (Wimplicit-fallthrough): New option.
-	* doc/extend.texi: Document statement attributes and the fallthrough
-	attribute.
-	* doc/invoke.texi: Document -Wimplicit-fallthrough.
-	* gimple.h (gimple_call_internal_p): New function.
-	* gimplify.c (struct gimplify_ctx): Add in_switch_expr.
-	(struct label_entry): New struct.
-	(find_label_entry): New function.
-	(case_label_p): New function.
-	(collect_fallthrough_labels): New function.
-	(last_stmt_in_scope): New function.
-	(should_warn_for_implicit_fallthrough): New function.
-	(warn_implicit_fallthrough_r): New function.
-	(maybe_warn_implicit_fallthrough): New function.
-	(expand_FALLTHROUGH_r): New function.
-	(expand_FALLTHROUGH): New function.
-	(gimplify_switch_expr): Call maybe_warn_implicit_fallthrough and
-	expand_FALLTHROUGH for the innermost GIMPLE_SWITCH.
-	(gimplify_label_expr): New function.
-	(gimplify_case_label_expr): Set location.
-	(gimplify_expr): Call gimplify_label_expr.
-	* internal-fn.c (expand_FALLTHROUGH): New function.
-	* internal-fn.def (FALLTHROUGH): New internal function.
-	* langhooks.c (lang_GNU_OBJC): New function.
-	* langhooks.h (lang_GNU_OBJC): Declare.
-	* system.h (gcc_fallthrough): Define.
-	* tree-core.h: Add FALLTHROUGH_LABEL_P comment.
-	* tree.h (FALLTHROUGH_LABEL_P): Define.
-
-2016-09-26  Richard Biener  <rguenther@suse.de>
-
-	* dwarf2out.c (stripattributes): Remove unused function.
-	(DEBUG_NORM_MACINFO_SECTION): Rename to DEBUG_MACINFO_SECTION.
-	Push dwarf_split_debug_info handling into init_sections_and_labels.
-	(DEBUG_NORM_MACRO_SECTION): Likewise to DEBUG_MACRO_SECTION.
-	(DEBUG_MACRO_SECTION_FLAGS): Remove.
-	(debug_macinfo_section_name): New global.
-	(output_macinfo): Use debug_macinfo_section_name.
-	(init_sections_and_labels): Split out section and label generation
-	from dwarf2out_init.  Set debug_macinfo_section_name.
-	(dwarf2out_init): Move text section label generation and emission
-	to ...
-	(dwarf2out_assembly_start): ... here.
-	(dwarf2out_finish): Call init_sections_and_labels before DWARF
-	output starts.
-
-2016-09-26  Richard Biener  <rguenther@suse.de>
-
-	PR debug/77692
-	* cgraphunit.c (analyze_functions): Before early removing
-	global vars calls the late_global_decl debug handler mark
-	the variable as readonly.
-
-2016-09-25  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	PR target/51244
-	* config/sh/sh.c (sh_movt_set_dest, sh_movrt_set_dest): Add overloads.
-	(sh_rtx_costs): Handle SET of movt and movrt patterns.
-	* cnofig/sh/sh-protos.h (sh_movt_set_dest, sh_movrt_set_dest): Forward
-	declare new overloads.
-	* config/sh/sh.md (*cset_zero): Add variant that takes a treg_set_expr
-	operand.
-
-2016-09-24  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (expand_block_compare, do_load_for_compare):
-	Change TARGET_LITTLE_ENDIAN to !BYTES_BIG_ENDIAN.
-
-2016-09-24  David Edelsohn  <dje.gcc@gmail.com>
-
-	* configure.ac (gcc_cv_as_aix_dwloc): Fix typo in assembly fragment.
-	* configure: Regenerate.
-
-2016-09-24  Marek Polacek  <polacek@redhat.com>
-
-	PR c/77490
-	* doc/invoke.texi: Document -Wbool-operation.
-
-2016-09-23  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.md (cmpmemsi): New define_expand.
-	* config/rs6000/rs6000.c (expand_block_compare): New function used by
-	cmpmemsi pattern to do builtin expansion of memcmp ().
-	(compute_current_alignment): Add helper function for
-	expand_block_compare used to compute alignment as the compare proceeds.
-	(select_block_compare_mode): Used by expand_block_compare to select
-	the mode used for reading the next chunk of bytes in the compare.
-	(do_load_for_compare): Used by expand_block_compare to emit the load
-	insns for the compare.
-	(rs6000_emit_dot_insn): Moved this function to avoid a forward
-	reference from expand_block_compare ().
-	* config/rs6000/rs6000-protos.h (expand_block_compare): Add a
-	prototype for this function.
-	* config/rs6000/rs6000.opt (mblock-compare-inline-limit): Add a new
-	target option for controlling how much code inline expansion of
-	memcmp() will be allowed to generate.
-
-2016-09-23  Jakub Jelinek  <jakub@redhat.com>
-
-	* hooks.c (hook_bool_bool_false, hook_bool_bool_gcc_optionsp_false,
-	hook_bool_mode_false, hook_bool_mode_true,
-	hook_bool_mode_const_rtx_false, hook_bool_mode_const_rtx_true,
-	hook_bool_mode_rtx_false, hook_bool_mode_rtx_true,
-	hook_bool_const_rtx_insn_const_rtx_insn_true,
-	hook_bool_mode_uhwi_false, hook_void_FILEptr_constcharptr,
-	hook_bool_FILEptr_rtx_false, hook_bool_gsiptr_false,
-	hook_bool_const_tree_hwi_hwi_const_tree_false,
-	hook_bool_const_tree_hwi_hwi_const_tree_true,
-	default_can_output_mi_thunk_no_vcall, hook_int_uint_mode_1,
-	hook_int_const_tree_0, hook_int_const_tree_const_tree_1,
-	hook_int_rtx_0, hook_int_rtx_bool_0, hook_void_tree,
-	hook_void_constcharptr, hook_void_tree_treeptr, hook_void_int_int,
-	hook_bool_tree_false, hook_bool_const_tree_false, hook_bool_tree_true,
-	hook_bool_const_tree_true, hook_bool_tree_tree_false,
-	hook_bool_tree_tree_true, hook_bool_tree_bool_false,
-	hook_bool_rtx_insn_true, hook_bool_rtx_false,
-	hook_bool_uintp_uintp_false,
-	hook_bool_rtx_mode_int_int_intp_bool_false, hook_rtx_rtx_null,
-	hook_rtx_tree_int_null, hook_uint_mode_0,
-	hook_constcharptr_const_tree_null, hook_tree_tree_int_treep_bool_null,
-	hook_tree_tree_tree_null, hook_tree_tree_tree_tree_null,
-	hook_constcharptr_const_rtx_insn_null,
-	hook_constcharptr_const_tree_const_tree_null,
-	hook_constcharptr_int_const_tree_null,
-	hook_constcharptr_int_const_tree_const_tree_null,
-	hook_tree_const_tree_null, hook_bool_rtx_insn_int_false,
-	hook_void_rtx_insn_int, hook_void_gcc_optionsp): For arguments with
-	ATTRIBUTE_UNUSED, remove parameter name as well as ATTRIBUTE_UNUSED.
-
-	* vec.h (vNULL): Extend comment to say = vNULL initialization
-	isn't needed for static vars.
-
-	* sel-sched-ir.c (sel_global_bb_info, sel_region_bb_info,
-	loop_nests, s_i_d, last_added_blocks): Remove unnecessary
-	= vNULL initialization of file scope vec.
-	* passes.c (pass_tab, enabled_pass_uid_range_tab,
-	disabled_pass_uid_range_tab): Likewise.
-	* haifa-sched.c (sched_luids, h_i_d): Likewise.
-	* tree-chkp-opt.c (check_infos): Likewise.
-	* sel-sched.c (vec_av_set, vec_temp_moveop_nops): Likewise.
-
-	* vec.h (vnull::operator vec): Add constexpr keyword for
-	C++11 and later.
-
-2016-09-23  Doug Gilmore  <doug.gilmore@imgtec.com>
-
-	PR tree-optimization/77654
-	* tree-ssa-loop-prefetch.c (issue_prefetch_ref): Add call
-	to duplicate_ssa_name_ptr_info.
-
-2016-09-23  David Malcolm  <dmalcolm@redhat.com>
-
-	PR preprocessor/77672
-	* input.c (selftest::test_lexer_string_locations_simple): Update
-	test to expect location information of the terminator character
-	at the location of the final closing quote.
-	(selftest::test_lexer_string_locations_hex): Likewise.
-	(selftest::test_lexer_string_locations_oct): Likewise.
-	(selftest::test_lexer_string_locations_letter_escape_1): Likewise.
-	(selftest::test_lexer_string_locations_letter_escape_2): Likewise.
-	(selftest::test_lexer_string_locations_ucn4): Likewise.
-	(selftest::test_lexer_string_locations_ucn8): Likewise.
-	(selftest::test_lexer_string_locations_u8): Likewise.
-	(selftest::test_lexer_string_locations_utf8_source): Likewise.
-	(selftest::test_lexer_string_locations_concatenation_1): Likewise.
-	(selftest::test_lexer_string_locations_concatenation_2): Likewise.
-	(selftest::test_lexer_string_locations_concatenation_3): Likewise.
-	(selftest::test_lexer_string_locations_macro): Likewise.
-	(selftest::test_lexer_string_locations_long_line): Likewise.
-
-2016-09-23  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-sccvn.c (visit_reference_op_call): Value number
-	virtual definition to virtual use if the call devirtualizes
-	to a const or pure function.
-	(visit_use): Also visit calls we can devirtualize to a
-	const or pure function.
-
-2016-09-23  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/77697
-	* tree-ssa-forwprop.c (defcodefor_name): Remove bogus code,
-	signal error if we have sth ternary or unhandled.
-
-2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
-
-	* config/arm/arm_neon.h (vabd_f16): New.
-	(vabdq_f16): New.
-	(vabs_f16): New.
-	(vabsq_f16): New.
-	(vadd_f16): New.
-	(vaddq_f16): New.
-	(vcage_f16): New.
-	(vcageq_f16): New.
-	(vcagt_f16): New.
-	(vcagtq_f16): New.
-	(vcale_f16): New.
-	(vcaleq_f16): New.
-	(vcalt_f16): New.
-	(vcaltq_f16): New.
-	(vceq_f16): New.
-	(vceqq_f16): New.
-	(vceqz_f16): New.
-	(vceqzq_f16): New.
-	(vcge_f16): New.
-	(vcgeq_f16): New.
-	(vcgez_f16): New.
-	(vcgezq_f16): New.
-	(vcgt_f16): New.
-	(vcgtq_f16): New.
-	(vcgtz_f16): New.
-	(vcgtzq_f16): New.
-	(vcle_f16): New.
-	(vcleq_f16): New.
-	(vclez_f16): New.
-	(vclezq_f16): New.
-	(vclt_f16): New.
-	(vcltq_f16): New.
-	(vcltz_f16): New.
-	(vcltzq_f16): New.
-	(vcvt_f16_s16): New.
-	(vcvt_f16_u16): New.
-	(vcvt_s16_f16): New.
-	(vcvt_u16_f16): New.
-	(vcvtq_f16_s16): New.
-	(vcvtq_f16_u16): New.
-	(vcvtq_s16_f16): New.
-	(vcvtq_u16_f16): New.
-	(vcvta_s16_f16): New.
-	(vcvta_u16_f16): New.
-	(vcvtaq_s16_f16): New.
-	(vcvtaq_u16_f16): New.
-	(vcvtm_s16_f16): New.
-	(vcvtm_u16_f16): New.
-	(vcvtmq_s16_f16): New.
-	(vcvtmq_u16_f16): New.
-	(vcvtn_s16_f16): New.
-	(vcvtn_u16_f16): New.
-	(vcvtnq_s16_f16): New.
-	(vcvtnq_u16_f16): New.
-	(vcvtp_s16_f16): New.
-	(vcvtp_u16_f16): New.
-	(vcvtpq_s16_f16): New.
-	(vcvtpq_u16_f16): New.
-	(vcvt_n_f16_s16): New.
-	(vcvt_n_f16_u16): New.
-	(vcvtq_n_f16_s16): New.
-	(vcvtq_n_f16_u16): New.
-	(vcvt_n_s16_f16): New.
-	(vcvt_n_u16_f16): New.
-	(vcvtq_n_s16_f16): New.
-	(vcvtq_n_u16_f16): New.
-	(vfma_f16): New.
-	(vfmaq_f16): New.
-	(vfms_f16): New.
-	(vfmsq_f16): New.
-	(vmax_f16): New.
-	(vmaxq_f16): New.
-	(vmaxnm_f16): New.
-	(vmaxnmq_f16): New.
-	(vmin_f16): New.
-	(vminq_f16): New.
-	(vminnm_f16): New.
-	(vminnmq_f16): New.
-	(vmul_f16): New.
-	(vmul_lane_f16): New.
-	(vmul_n_f16): New.
-	(vmulq_f16): New.
-	(vmulq_lane_f16): New.
-	(vmulq_n_f16): New.
-	(vneg_f16): New.
-	(vnegq_f16): New.
-	(vpadd_f16): New.
-	(vpmax_f16): New.
-	(vpmin_f16): New.
-	(vrecpe_f16): New.
-	(vrecpeq_f16): New.
-	(vrnd_f16): New.
-	(vrndq_f16): New.
-	(vrnda_f16): New.
-	(vrndaq_f16): New.
-	(vrndm_f16): New.
-	(vrndmq_f16): New.
-	(vrndn_f16): New.
-	(vrndnq_f16): New.
-	(vrndp_f16): New.
-	(vrndpq_f16): New.
-	(vrndx_f16): New.
-	(vrndxq_f16): New.
-	(vrsqrte_f16): New.
-	(vrsqrteq_f16): New.
-	(vrecps_f16): New.
-	(vrecpsq_f16): New.
-	(vrsqrts_f16): New.
-	(vrsqrtsq_f16): New.
-	(vsub_f16): New.
-	(vsubq_f16): New.
-
-2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
-
-	* config.gcc (extra_headers): Add arm_fp16.h
-	* config/arm/arm_fp16.h: New.
-	* config/arm/arm_neon.h: Include "arm_fp16.h".
-
-2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
-
-	* config/arm/arm_neon_builtins.def (vadd): New (v8hf, v4hf
-	variants).
-	(vmulf): New (v8hf, v4hf variants).
-	(vfma): New (v8hf, v4hf variants).
-	(vfms): New (v8hf, v4hf variants).
-	(vsub): New (v8hf, v4hf variants).
-	(vcage): New (v8hf, v4hf variants).
-	(vcagt): New (v8hf, v4hf variants).
-	(vcale): New (v8hf, v4hf variants).
-	(vcalt): New (v8hf, v4hf variants).
-	(vceq): New (v8hf, v4hf variants).
-	(vcgt): New (v8hf, v4hf variants).
-	(vcge): New (v8hf, v4hf variants).
-	(vcle): New (v8hf, v4hf variants).
-	(vclt): New (v8hf, v4hf variants).
-	(vceqz): New (v8hf, v4hf variants).
-	(vcgez): New (v8hf, v4hf variants).
-	(vcgtz): New (v8hf, v4hf variants).
-	(vcltz): New (v8hf, v4hf variants).
-	(vclez): New (v8hf, v4hf variants).
-	(vabd): New (v8hf, v4hf variants).
-	(vmaxf): New (v8hf, v4hf variants).
-	(vmaxnm): New (v8hf, v4hf variants).
-	(vminf): New (v8hf, v4hf variants).
-	(vminnm): New (v8hf, v4hf variants).
-	(vpmaxf): New (v4hf variant).
-	(vpminf): New (v4hf variant).
-	(vpadd): New (v4hf variant).
-	(vrecps): New (v8hf, v4hf variants).
-	(vrsqrts): New (v8hf, v4hf variants).
-	(vabs): New (v8hf, v4hf variants).
-	(vneg): New (v8hf, v4hf variants).
-	(vrecpe): New (v8hf, v4hf variants).
-	(vrnd): New (v8hf, v4hf variants).
-	(vrnda): New (v8hf, v4hf variants).
-	(vrndm): New (v8hf, v4hf variants).
-	(vrndn): New (v8hf, v4hf variants).
-	(vrndp): New (v8hf, v4hf variants).
-	(vrndx): New (v8hf, v4hf variants).
-	(vrsqrte): New (v8hf, v4hf variants).
-	(vmul_lane): Add v4hf and v8hf variants.
-	(vmul_n): Add v4hf and v8hf variants.
-	(vext): New (v8hf, v4hf variants).
-	(vcvts): New (v8hi, v4hi variants).
-	(vcvts): New (v8hf, v4hf variants).
-	(vcvtu): New (v8hi, v4hi variants).
-	(vcvtu): New (v8hf, v4hf variants).
-	(vcvts_n): New (v8hf, v4hf variants).
-	(vcvtu_n): New (v8hi, v4hi variants).
-	(vcvts_n): New (v8hi, v4hi variants).
-	(vcvtu_n): New (v8hf, v4hf variants).
-	(vbsl): New (v8hf, v4hf variants).
-	(vcvtas): New (v8hf, v4hf variants).
-	(vcvtau): New (v8hf, v4hf variants).
-	(vcvtms): New (v8hf, v4hf variants).
-	(vcvtmu): New (v8hf, v4hf variants).
-	(vcvtns): New (v8hf, v4hf variants).
-	(vcvtnu): New (v8hf, v4hf variants).
-	(vcvtps): New (v8hf, v4hf variants).
-	(vcvtpu): New (v8hf, v4hf variants).
-
-2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
-
-	* config/arm/arm-builtins.c (hf_UP): New.
-	(si_UP): New.
-	(vfp_builtin_data): New.  Update comment.
-	(enum arm_builtins): Include "arm_vfp_builtins.def".
-	(ARM_BUILTIN_VFP_PATTERN_START): New.
-	(arm_init_vfp_builtins): New.
-	(arm_init_builtins): Add arm_init_vfp_builtins.
-	(arm_expand_vfp_builtin): New.
-	(arm_expand_builtins): Update for arm_expand_vfp_builtin.  Fix
-	long line.
-	* config/arm/arm_vfp_builtins.def: New file.
-	* config/arm/t-arm (arm.o): Add arm_vfp_builtins.def.
-	(arm-builtins.o): Likewise.
-
-2016-09-23  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	PR ipa/77677
-	* ipa-cp.c (propagate_vr_accross_jump_function): Drop TREE_OVERFLOW
-	from constant while creating value range.
-
-2016-09-23  Renlin Li  <renlin.li@arm.com>
-
-	* ira.c (ira): Move ira_use_lra_p initialization code to ...
-	(ira_init_once): Here.
-
-2016-09-23  Uros Bizjak  <ubizjak@gmail.com>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	* hooks.h (hook_uint_uintp_false): Rename to...
-	(hook_bool_uint_uintp_false): ... this.
-	* hooks.c (hook_uint_uintp_false): Rename to...
-	(hook_bool_uint_uintp_false): ... this.
-	* target.def (elf_flags_numeric): Use hook_bool_uint_uintp_false
-	instead of hook_uint_uintp_false.
-
-2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
-
-	* config/arm/arm-builtins.c (arm_init_neon_builtin): New.
-	(arm_init_builtins): Move body of a loop to the standalone
-	function arm_init_neon_builtin.
-	(arm_expand_neon_builtin_1): New.  Update comment.  Function body
-	moved from arm_neon_builtin with some white-space fixes.
-	(arm_expand_neon_builtin): Move code into the standalone function
-	arm_expand_neon_builtin_1.
-
-2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
-
-	* config/arm/iterators.md (VCVTHI): New.
-	(NEON_VCMP): Add UNSPEC_VCLT and UNSPEC_VCLE.  Fix a long line.
-	(NEON_VAGLTE): New.
-	(VFM_LANE_AS): New.
-	(VH_CVTTO): New.
-	(V_reg): Add HF, V4HF and V8HF.  Fix white-space.
-	(V_HALF): Add V4HF.  Fix white-space.
-	(V_if_elem): Add HF, V4HF and V8HF.  Fix white-space.
-	(V_s_elem): Likewise.
-	(V_sz_elem): Fix white-space.
-	(V_elem_ch): Likewise.
-	(VH_elem_ch): New.
-	(scalar_mul_constraint): Add V8HF and V4HF.
-	(Is_float_mode): Fix white-space.
-	(Is_d_reg): Add V4HF and V8HF.  Fix white-space.
-	(q): Add HF.  Fix white-space.
-	(float_sup): New.
-	(float_SUP): New.
-	(cmp_op_unsp): Add UNSPEC_VCALE and UNSPEC_VCALT.
-	(neon_vfm_lane_as): New.
-	* config/arm/neon.md (add<mode>3_fp16): New.
-	(sub<mode>3_fp16): New.
-	(mul<mode>3add<mode>_neon): New.
-	(fma<VH:mode>4_intrinsic): New.
-	(fmsub<VCVTF:mode>4_intrinsic): Fix white-space.
-	(fmsub<VH:mode>4_intrinsic): New.
-	(<absneg_str><mode>2): New.
-	(neon_v<absneg_str><mode>): New.
-	(neon_v<fp16_rnd_str><mode>): New.
-	(neon_vrsqrte<mode>): New.
-	(neon_vpaddv4hf): New.
-	(neon_vadd<mode>): New.
-	(neon_vsub<mode>): New.
-	(neon_vmulf<mode>): New.
-	(neon_vfma<VH:mode>): New.
-	(neon_vfms<VH:mode>): New.
-	(neon_vc<cmp_op><mode>): New.
-	(neon_vc<cmp_op><mode>_fp16insn): New
-	(neon_vc<cmp_op_unsp><mode>_fp16insn_unspec): New.
-	(neon_vca<cmp_op><mode>): New.
-	(neon_vca<cmp_op><mode>_fp16insn): New.
-	(neon_vca<cmp_op_unsp><mode>_fp16insn_unspec): New.
-	(neon_vc<cmp_op>z<mode>): New.
-	(neon_vabd<mode>): New.
-	(neon_v<maxmin>f<mode>): New.
-	(neon_vp<maxmin>fv4hf: New.
-	(neon_<fmaxmin_op><mode>): New.
-	(neon_vrecps<mode>): New.
-	(neon_vrsqrts<mode>): New.
-	(neon_vrecpe<mode>): New (VH variant).
-	(neon_vdup_lane<mode>_internal): New.
-	(neon_vdup_lane<mode>): New.
-	(neon_vcvt<sup><mode>): New (VCVTHI variant).
-	(neon_vcvt<sup><mode>): New (VH variant).
-	(neon_vcvt<sup>_n<mode>): New (VH variant).
-	(neon_vcvt<sup>_n<mode>): New (VCVTHI variant).
-	(neon_vcvt<vcvth_op><sup><mode>): New.
-	(neon_vmul_lane<mode>): New.
-	(neon_vmul_n<mode>): New.
-	* config/arm/unspecs.md (UNSPEC_VCALE): New
-	(UNSPEC_VCALT): New.
-	(UNSPEC_VFMA_LANE): New.
-	(UNSPECS_VFMS_LANE): New.
-
-2016-09-23  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	* config/s390/s390.md ("*extzv<mode>_zEC12", "*extzv<mode>_z10")
-	("*extzv<mode><clobbercc_or_nocc>"):
-	Correct a typo in a comment.
-	Merged patterns.
-	("*insv<mode>_zEC12", "*insv<mode>_z10")
-	("*insv<mode><clobbercc_or_nocc>"): Ditto.
-	("*insv<mode>_zEC12_appendbitsleft")
-	("*insv<mode><clobbercc_or_nocc>_appendbitsleft")
-	("*insv<mode>_z10_appendbitsleft"): Ditto.
-	("*insv<mode>_zEC12_noshift", "*insv<mode>_z10_noshift")
-	("*insv<mode><clobbercc_or_nocc>_noshift"): Ditto.
-	Provide pattern with operands switched.
-	("*pre_z10_extv<mode>"):
-	Use new subst patterns.
-	("*extzvdi<clobbercc_or_nocc>_lshiftrt", "*<risbg_n>_ior_and_sr_ze")
-	("*extvsidi<clobbercc_or_nocc>", "*<risbg_n>_and_subregdi_rotr")
-	("*<risbg_n>_and_subregdi_rotl", "*<risbg_n>_di_and_rot")
-	("*insv_z10_noshift_cc", "*insv_z10_noshift_cconly")
-	("*<risbg_n>_<mode>_ior_and_lshiftrt")
-	("*<risbg_n>_sidi_ior_and_lshiftrt")
-	("*trunc_sidi_and_subreg_lshrt<clobbercc_or_nocc>"):
-	New patterns.
-	("*extzv_<mode>_sll", "*extzv_<mode>_srl")
-	("*extzv_<mode>_srl<clobbercc_or_nocc>")
-	("*extzv_<mode>_sll<clobbercc_or_nocc>"): Renamed patterns, use risbgn
-	on zEC12.
-	("SINT"): New mode_iterator with SI, HI, QI.
-	* config/s390/subst.md ("clobbercc_or_nocc_subst", "z10_or_zEC12_cond")
-	("clobbercc_or_nocc", "risbg_n"): New constructs for risbg pattern
-	duplication.
-
-2016-09-23  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	* config/s390/predicates.md ("contiguous_bitmask_operand"): Adapt to
-	new interface of s390_contiguous_bitmask_p.
-	("contiguous_bitmask_nowrap_operand"): New predicate.
-	("*anddi3_cc", "*anddi3_cconly", "*anddi3"): Replace NxxDq with NxxDw.
-	* config/s390/constraints.md ("NxxDw", "NxxSq"): Adapt to new interface
-	of s390_contiguous_bitmask_p.
-	("NxxDw"): Rename NxxDq constraint to NxxDw.
-	("NxxSw"): New constraint.
-	* config/s390/s390.md ("*andsi3_zarch"): Enable bitmask wraparound.
-	* config/s390/s390-protos.h (s390_contiguous_bitmask_p): Updated
-	interface.
-	(s390_contiguous_bitmask_nowrap_p): Export.
-	* config/s390/s390.c (s390_contiguous_bitmask_nowrap_p): New name of
-	former s390_contiguous_bitmask_p.
-	(s390_contiguous_bitmask_p): Use s390_contiguous_bitmask_nowrap_p to
-	detect contiguous bit ranges with wraparound.  Change signature to
-	return START and END position instead of POS and LENGTH.
-	(s390_contiguous_bitmask_vector_p): Remove extra code for continous bit
-	ranges with wraparound.
-	(s390_extzv_shift_ok): Use s390_contiguous_bitmask_nowrap_p.
-	(s390_contiguous_bitmask_vector_p,s390_extzv_shift_ok,print_operand):
-	Adapt to new signature of s390_contiguous_bitmask_p.
-
-2016-09-23  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-vect-loop-manip.c (create_intersect_range_checks_index): New.
-	(create_intersect_range_checks): New.
-	(vect_create_cond_for_alias_checks): Call above function.
-
-2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
-
-	* config/arm/iterators.md (Code iterators): Fix some white-space
-	in the comments.
-	(GLTE): New.
-	(ABSNEG): New
-	(FCVT): Moved from vfp.md.
-	(VCVT_HF_US_N): New.
-	(VCVT_SI_US_N): New.
-	(VCVT_HF_US): New.
-	(VCVTH_US): New.
-	(FP16_RND): New.
-	(absneg_str): New.
-	(FCVTI32typename): Moved from vfp.md.
-	(sup): Add UNSPEC_VCVTA_S, UNSPEC_VCVTA_U, UNSPEC_VCVTM_S,
-	UNSPEC_VCVTM_U, UNSPEC_VCVTN_S, UNSPEC_VCVTN_U, UNSPEC_VCVTP_S,
-	UNSPEC_VCVTP_U, UNSPEC_VCVT_HF_S_N, UNSPEC_VCVT_HF_U_N,
-	UNSPEC_VCVT_SI_S_N, UNSPEC_VCVT_SI_U_N,  UNSPEC_VCVTH_S_N,
-	UNSPEC_VCVTH_U_N, UNSPEC_VCVTH_S and UNSPEC_VCVTH_U.
-	(vcvth_op): New.
-	(fp16_rnd_str): New.
-	(fp16_rnd_insn): New.
-	* config/arm/unspecs.md (UNSPEC_VCVT_HF_S_N): New.
-	(UNSPEC_VCVT_HF_U_N): New.
-	(UNSPEC_VCVT_SI_S_N): New.
-	(UNSPEC_VCVT_SI_U_N): New.
-	(UNSPEC_VCVTH_S): New.
-	(UNSPEC_VCVTH_U): New.
-	(UNSPEC_VCVTA_S): New.
-	(UNSPEC_VCVTA_U): New.
-	(UNSPEC_VCVTM_S): New.
-	(UNSPEC_VCVTM_U): New.
-	(UNSPEC_VCVTN_S): New.
-	(UNSPEC_VCVTN_U): New.
-	(UNSPEC_VCVTP_S): New.
-	(UNSPEC_VCVTP_U): New.
-	(UNSPEC_VCVTP_S): New.
-	(UNSPEC_VCVTP_U): New.
-	(UNSPEC_VRND): New.
-	(UNSPEC_VRNDA): New.
-	(UNSPEC_VRNDI): New.
-	(UNSPEC_VRNDM): New.
-	(UNSPEC_VRNDN): New.
-	(UNSPEC_VRNDP): New.
-	(UNSPEC_VRNDX): New.
-	* config/arm/vfp.md (<absneg_str>hf2): New.
-	(neon_vabshf): New.
-	(neon_v<fp16_rnd_str>hf): New.
-	(neon_vrndihf): New.
-	(addhf3): New.
-	(subhf3): New.
-	(divhf3): New.
-	(mulhf3): New.
-	(*mulsf3neghf_vfp): New.
-	(*negmulhf3_vfp): New.
-	(*mulsf3addhf_vfp): New.
-	(*mulhf3subhf_vfp): New.
-	(*mulhf3neghfaddhf_vfp): New.
-	(*mulhf3neghfsubhf_vfp): New.
-	(fmahf4): New.
-	(neon_vfmahf): New.
-	(fmsubhf4_fp16): New.
-	(neon_vfmshf): New.
-	(*fnmsubhf4): New.
-	(*fnmaddhf4): New.
-	(neon_vsqrthf): New.
-	(neon_vrsqrtshf): New.
-	(FCVT): Move to iterators.md.
-	(FCVTI32typename): Likewise.
-	(neon_vcvth<sup>hf): New.
-	(neon_vcvth<sup>si): New.
-	(neon_vcvth<sup>_nhf_unspec): New.
-	(neon_vcvth<sup>_nhf): New.
-	(neon_vcvth<sup>_nsi_unspec): New.
-	(neon_vcvth<sup>_nsi): New.
-	(neon_vcvt<vcvth_op>h<sup>si): New.
-	(neon_<fmaxmin_op>hf): New.
-
-2016-09-23  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	* config/s390/s390.md (bitoff, bitoff_plus): Neq mode attributes.
-	("*extzv<mode>_zEC12", "*insv<mode>_zEC12", "*insv<mode>_z10")
-	("*insv<mode>_zEC12_appendbitsleft")
-	("*insv<mode>_z10_appendbitsleft", "*r<noxa>sbg_<mode>_sll")
-	("*r<noxa>sbg_<mode>_srl"): Use new attributes.
-
-2016-09-23  Jakub Jelinek  <jakub@redhat.com>
-
-	* ipa-cp.c (ipcp_store_vr_results): Avoid static local var zero.
-	* sreal.h (sreal::min, sreal::max): Avoid static local vars,
-	construct values without normalization.
-	* tree-ssa-sccvn.c (vn_reference_lookup_3): Don't initialize
-	static local lhs_ops to vNULL.
-
-2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
-	    Jiong Wang <jiong.wang@arm.com>
-
-	* config/arm/arm.c (coproc_secondary_reload_class): Make HFmode
-	available when FP16 instructions are available.
-	(output_move_vfp): Add support for 16-bit data moves.
-	(arm_validize_comparison): Fix some white-space.  Support HFmode
-	by conversion to SFmode.
-	* config/arm/arm.md (truncdfhf2): Fix a comment.
-	(extendhfdf2): Likewise.
-	(cstorehf4): New.
-	(movsicc): Fix some white-space.
-	(movhfcc): New.
-	(movsfcc): Fix some white-space.
-	(*cmovhf): New.
-	* config/arm/vfp.md (*arm_movhi_vfp): Disable when VFP FP16
-	instructions are available.
-	(*thumb2_movhi_vfp): Likewise.
-	(*arm_movhi_fp16): New.
-	(*thumb2_movhi_fp16): New.
-	(*movhf_vfp_fp16): New.
-	(*movhf_vfp_neon): Disable when VFP FP16 instructions are available.
-	(*movhf_vfp): Likewise.
-	(extendhfsf2): Enable when VFP FP16 instructions are available.
-	(truncsfhf2):  Enable when VFP FP16 instructions are available.
-
-2016-09-23  Martin Liska  <mliska@suse.cz>
-
-	* config/s390/vx-builtins.md: Replace 'adress' with 'address'.
-
-2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
-
-	* config/arm/arm.c (arm_evpc_neon_vuzp): Add support for V8HF and
-	V4HF modes.
-	(arm_evpc_neon_vtrn): Likewise.
-	(arm_evpc_neon_vrev): Likewise.
-	(arm_evpc_neon_vext): Likewise.
-	* config/arm/arm_neon.h (vbsl_f16): New.
-	(vbslq_f16): New.
-	(vdup_n_f16): New.
-	(vdupq_n_f16): New.
-	(vdup_lane_f16): New.
-	(vdupq_lane_f16): New.
-	(vext_f16): New.
-	(vextq_f16): New.
-	(vmov_n_f16): New.
-	(vmovq_n_f16): New.
-	(vrev64_f16): New.
-	(vrev64q_f16): New.
-	(vtrn_f16): New.
-	(vtrnq_f16): New.
-	(vuzp_f16): New.
-	(vuzpq_f16): New.
-	(vzip_f16): New.
-	(vzipq_f16): New.
-	* config/arm/arm_neon_buillins.def (vdup_n): New (v8hf, v4hf variants).
-	(vdup_lane): New (v8hf, v4hf variants).
-	(vext): New (v8hf, v4hf variants).
-	(vbsl): New (v8hf, v4hf variants).
-	* config/arm/iterators.md (VDQWH): New.
-	(VH): New.
-	(V_double_vector_mode): Add V8HF and V4HF.  Fix white-space.
-	(Scalar_mul_8_16): Fix white-space.
-	(Is_d_reg): Add V4HF and V8HF.
-	* config/arm/neon.md (neon_vdup_lane<mode>_internal): New.
-	(neon_vdup_lane<mode>): New.
-	(neon_vtrn<mode>_internal): Replace VDQW with VDQWH.
-	(*neon_vtrn<mode>_insn): Likewise.
-	(neon_vzip<mode>_internal): Likewise. Also fix white-space.
-	(*neon_vzip<mode>_insn): Likewise
-	(neon_vuzp<mode>_internal): Likewise.
-	(*neon_vuzp<mode>_insn): Likewise
-	* config/arm/vec-common.md (vec_perm_const<mode>): New.
-
-2016-09-23  Jiong Wang  <jiong.wang@arm.com>
-	    Matthew Wahab  <matthew.wahab@arm.com>
-
-	* config/arm/arm.c (output_move_vfp): Weaken assert to allow HImode.
-	(arm_hard_regno_mode_ok): Allow HImode values in VFP registers.
-	* config/arm/arm.md (*movhi_bytes): Disable when VFP registers are
-	available.  Also fix some white-space.
-	* config/arm/vfp.md (*arm_movhi_vfp): New.
-	(*thumb2_movhi_vfp): New.
-
-2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
-
-	* config/arm/arm-c.c (arm_cpu_builtins): Define
-	"__ARM_FEATURE_FP16_SCALAR_ARITHMETIC" and
-	"__ARM_FEATURE_FP16_VECTOR_ARITHMETIC".
-
-2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
-
-	* doc/sourcebuild.texi (ARM-specific attributes): Add anchor for
-	arm_v8_1a_neon_ok.  Add entries for arm_v8_2a_fp16_scalar_ok,
-	arm_v8_2a_fp16_scalar_hw, arm_v8_2a_fp16_neon_ok and
-	arm_v8_2a_fp16_neon_hw.
-	(Add options): Add entries for arm_v8_1a_neon, arm_v8_2a_scalar,
-	arm_v8_2a_neon.
-
-2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
-
-	* doc/sourcebuild.texi (ARM-specific attributes): Add entries for
-	arm_fp16_alternative_ok and arm_fp16_none_ok.
-
-2016-09-23  Martin Liska  <mliska@suse.cz>
-
-	* ipa-icf.c (sem_variable::merge): Replace adress with address.
-
-2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
-
-	* config/arm/arm-arches.def ("armv8.1-a"): Add FL_CRC32.
-	("armv8.2-a"): New.
-	("armv8.2-a+fp16"): New.
-	* config/arm/arm-protos.h (FL2_ARCH8_2): New.
-	(FL2_FP16INST): New.
-	(FL2_FOR_ARCH8_2A): New.
-	* config/arm/arm-tables.opt: Regenerate.
-	* config/arm/arm.c (arm_arch8_2): New.
-	(arm_fp16_inst): New.
-	(arm_option_override): Set arm_arch8_2 and arm_fp16_inst.  Check
-	for incompatible fp16-format settings.
-	* config/arm/arm.h (TARGET_VFP_FP16INST): New.
-	(TARGET_NEON_FP16INST): New.
-	(arm_arch8_2): Declare.
-	(arm_fp16_inst): Declare.
-	* config/arm/bpabi.h (BE8_LINK_SPEC): Add entries for
-	march=armv8.2-a and march=armv8.2-a+fp16.
-	* config/arm/t-aprofile (Arch Matches): Add entries for armv8.2-a
-	and armv8.2-a+fp16.
-	* doc/invoke.texi (ARM Options): Add "-march=armv8.1-a",
-	"-march=armv8.2-a" and "-march=armv8.2-a+fp16".
-
-2016-09-23  Martin Liska  <mliska@suse.cz>
-
-	* doc/extend.texi: Remove fused-madd from i386 target options.
-
-2016-09-23  Martin Liska  <mliska@suse.cz>
-
-	* config/i386/i386.c (ix86_valid_target_attribute_inner_p):
-	Handle movbe.
-
-2016-09-23  Martin Liska  <mliska@suse.cz>
-
-	* config/i386/i386.c (ix86_valid_target_attribute_inner_p):
-	Handle crc32.
-
-2016-09-23  Martin Liska  <mliska@suse.cz>
-
-	PR target/71652
-	* config/i386/i386.c (ix86_option_override_internal): Change
-	signature and return false when there's an error related to
-	arch string.
-	(release_options_strings): New function.
-	(ix86_valid_target_attribute_tree): Call the function.
-
-2016-09-23  Jakub Jelinek  <jakub@redhat.com>
-
-	* hsa-gen.c (hsa_op_immed::hsa_op_immed Use CONSTRUCTOR_NELTS (...)
-	instead of vec_safe_length (CONSTRUCTOR_ELTS (...)).
-	(gen_hsa_ctor_assignment): Likewise.
-	* print-tree.c (print_node): Likewise.
-	* tree-dump.c (dequeue_and_dump): Likewise.
-	* tree-sra.c (sra_modify_constructor_assign): Likewise.
-	* expr.c (store_constructor): Likewise.
-	* fold-const.c (operand_equal_p): Likewise.
-	* tree-pretty-print.c (dump_generic_node): Likewise.
-	* hsa-brig.c (hsa_op_immed::emit_to_buffer): Likewise.
-	* ipa-icf-gimple.c (func_checker::compare_operand): Likewise.
-
-2016-09-23  Richard Biener  <rguenther@suse.de>
-
-	* hooks.h (hook_uint_uintp_false): Declare.
-
-2016-09-22  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
-
-	* config/avr/avr.c (avr_rtx_costs_1): Handle DImode MULT.
-	(avr_address_cost): Replace 61 with MAX_LD_OFFSET(mode).
-
-2016-09-22  Martin Sebor  <msebor@redhat.com>
-
-	PR target/77676
-	* gimple-ssa-sprintf.c (target_int_min, target_int_max): Use
-	HOST_BITS_PER_WIDE_INT, make a static local variable auto.
-	(target_int_min): Correct computation.
-	(format_integer): Use long long as the argument for the ll length
-	modifier.
-	(format_floating): Use target_int_max().
-	(get_string_length): Same.
-	(format_string): Avoid setting the bounded flag for strings
-	of unknown length.
-	(try_substitute_return_value): Avoid setting range info when
-	the result isn't bounded.
-	* varasm.c (assemble_name): Increase buffer size.
-
-2016-09-22  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-	    Terry Guo  <terry.guo@arm.com>
-
-	* target.def (elf_flags_numeric): New target hook.
-	* targhooks.h (default_asm_elf_flags_numeric): New.
-	* varasm.c (default_asm_elf_flags_numeric): New.
-	(default_elf_asm_named_section): Use new target hook.
-	* config/arm/arm.opt (mpure-code): New.
-	* config/arm/arm.h (SECTION_ARM_PURECODE): New.
-	* config/arm/arm.c (arm_asm_init_sections): Add section
-	attribute to default text section if -mpure-code.
-	(arm_option_check_internal): Diagnose use of option with
-	non supported targets and/or options.
-	(arm_asm_elf_flags_numeric): New.
-	(arm_function_section): New.
-	(arm_elf_section_type_flags): New.
-	* config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Disable
-	for -mpure-code.
-	* doc/texi (TARGET_ASM_ELF_FLAGS_NUMERIC): New.
-	* doc/texi.in (TARGET_ASM_ELF_FLAGS_NUMERIC): Likewise.
-
-2016-09-22  Jan Hubicka  <hubicka@ucw.cz>
-
-	* regcprop.c (copyprop_hardreg_forward_1): Remove noop moves.
-
-2016-09-22  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* emit-rtl.c (next_cc0_user): Make argument type rtx_insn *.
-	* rtl.h: Adjust prototype.
-
-2016-09-22  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* emit-rtl.c (next_active_insn): Change argument type to rtx_insn *.
-	(prev_active_insn): Likewise.
-	(active_insn_p): Likewise.
-	* rtl.h: Adjust prototypes.
-	* cfgcleanup.c (merge_blocks_move_successor_nojumps): Adjust.
-	* config/arc/arc.md: Likewise.
-	* config/pa/pa.c (branch_to_delay_slot_p): Likewise.
-	(branch_needs_nop_p): Likewise.
-	(use_skip_p): Likewise.
-	* config/sh/sh.c (gen_block_redirect): Likewise.
-	(split_branches): Likewise.
-	* reorg.c (optimize_skip): Likewise.
-	(fill_simple_delay_slots): Likewise.
-	(fill_slots_from_thread): Likewise.
-	(relax_delay_slots): Likewise.
-	* resource.c (mark_target_live_regs): Likewise.
-
-2016-09-22  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* config/cris/cris.c (cris_asm_output_case_end): Change argument
-	type to rtx_insn *.
-	* emit-rtl.c (next_nonnote_nondebug_insn): Likewise.
-	(prev_nonnote_nondebug_insn): Likewise.
-	* config/cris/cris-protos.h: Adjust prototype.
-	* rtl.h: Likewise.
-	* jump.c (rtx_renumbered_equal_p): Adjust.
-
-2016-09-22  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* emit-rtl.c (prev_real_insn): Change argument type to rtx_insn *.
-	* rtl.h: Adjust prototype.
-	* config/sh/sh.md: Adjust.
-	* dwarf2out.c (add_var_loc_to_decl): Likewise.
-
-2016-09-22  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* emit-rtl.c (next_nondebug_insn): Change argument type to rtx_insn *.
-	(prev_nondebug_insn): Likewise.
-	* loop-doloop.c (doloop_condition_get): Likewise.
-	* rtl.h: Adjust prototype.
-	* cfgloop.h: Likewise.
-
-2016-09-22  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* emit-rtl.c (next_nonnote_insn): Change argument type to rtx_insn *.
-	(prev_nonnote_insn): Likewise.
-	* jump.c (reversed_comparison_code_parts): Likewise.
-	(reversed_comparison): Likewise.
-	* rtl.h: Adjust prototypes.
-	* config/arc/arc.md: Adjust.
-	* cse.c (find_comparison_args): Likewise.
-	* reorg.c (redundant_insn): Change return type to rtx_insn *.
-	(fix_reg_dead_note): Change argument type to rtx_insn *.
-	(delete_prior_computation): Likewise.
-	(delete_computation): Likewise.
-	(fill_slots_from_thread): Adjust.
-	(relax_delay_slots): Likewise.
-	* simplify-rtx.c (simplify_unary_operation_1): Likewise.
-	(simplify_relational_operation_1): Likewise.
-	(simplify_ternary_operation): Likewise.
-
-2016-09-22  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* config/arc/arc-protos.h (arc_label_align): Change type of
-	variables from rtx to rtx_insn *.
-	* config/arc/arc.c (arc_label_align): Likewise.
-	* config/arm/arm.c (any_sibcall_could_use_r3): Likewise.
-	* config/bfin/bfin.c (workaround_speculation): Likewise.
-	* config/c6x/c6x.c (find_next_cycle_insn): Likewise.
-	(find_last_same_clock): Likewise.
-	(reorg_split_calls): Likewise.
-	* config/cris/cris-protos.h (cris_cc0_user_requires_cmp): Likewise.
-	* config/cris/cris.c (cris_cc0_user_requires_cmp): Likewise.
-	* config/h8300/h8300-protos.h (same_cmp_preceding_p): Likewise.
-	(same_cmp_following_p): Likewise.
-	* config/h8300/h8300.c (same_cmp_preceding_p): Likewise.
-	(same_cmp_following_p): Likwise.
-	* config/m32r/m32r.c (m32r_expand_epilogue): Likewise.
-	* config/nds32/nds32-protos.h (nds32_target_alignment): Likewise.
-	* config/nds32/nds32.c (nds32_target_alignment): Likewise.
-	* config/rl78/rl78.c (rl78_alloc_physical_registers_op2): Likewise.
-	(rl78_alloc_physical_registers_cmp): Likewise.
-	(rl78_alloc_physical_registers_umul): Likewise.
-	(rl78_calculate_death_notes): Likewise.
-	* config/s390/s390-protos.h (s390_label_align): Likewise.
-	* config/s390/s390.c (s390_label_align): Likewise.
-	* config/sh/sh.c (barrier_align): Likewise.
-	* config/sparc/sparc-protos.h (emit_cbcond_nop): Likewise.
-	* config/sparc/sparc.c (sparc_asm_function_epilogue): Likewise.
-	(emit_cbcond_nop): Likewise.
-
-2016-09-22  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/77653
-	* ipa-icf.c (sem_variable::merge): Yield merge operation if
-	alias address matters, not necessarily address of original.
-
-2016-09-22  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/77697
-	* gimple-fold.c (fold_array_ctor_reference): Turn asserts into
-	fold fails.
-
-2016-09-22  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/77677
-	* gimple-match-head.c (gimple_resimplify1): Drop TREE_OVERFLOW
-	from constant folding results.
-	(gimple_resimplify2): Likewise.
-	(gimple_resimplify3): Likewise.
-
-2016-09-22  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/77678
-	* expr.c (expand_expr_real_1): Guard array access against negative
-	offset.
-
-2016-09-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	* gimple-ssa-sprintf.c (format_floating_max): Use GMP_RNDN instead
-	of MPFR_RNDN.
-	(format_floating): Likewise.
-
-2016-09-22  Jakub Jelinek  <jakub@redhat.com>
-
-	PR fortran/77665
-	* tree-inline.c (remap_gimple_stmt): Set has_simduid_loops
-	for all IFN_GOMP_SIMD_* internal fns, not just for
-	IFN_GOMP_SIMD_ORDERED_*.
-
-2016-09-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/77670
-	* config/rs6000/predicates.md (invert_fpmask_comparison_operator):
-	New predicate that matches the ISA 3.0 XSCMP{EQ,GT,GE}DP
-	instructions when you want to invert the test.
-	* config/rs6000/rs6000.md (fpmask<mode>): Use the arguments in the
-	correct order for XXSEL.
-	(mov<SFDF:mode><SFDF2:mode>cc_invert_p9): Define the inverted test
-	for using XSCMP{EQ,GT,GE}DP.
-
-2016-09-21  David Malcolm  <dmalcolm@redhat.com>
-
-	* genconstants.c (main): Introduce noop_reader and convert call
-	to read_md_files to a method call.
-	* genenums.c (main): Likewise.
-	* genmddeps.c (main): Likewise.
-	* genpreds.c (write_tm_constrs_h): Replace use of "in_fname" with
-	rtx_reader_ptr->get_top_level_filename ().
-	(write_tm_preds_h): Likewise.
-	(write_insn_preds_c): Likewise.
-	* gensupport.c (class gen_reader): New subclass of rtx_reader.
-	(rtx_handle_directive): Convert to...
-	(gen_reader::handle_unknown_directive): ...this.
-	(init_rtx_reader_args_cb): Convert return type from bool to
-	rtx_reader *.  Create a gen_reader instance, using it for the
-	call to read_md_files.  Return it if no errors occur.
-	(init_rtx_reader_args): Convert return type from bool to
-	rtx_reader *.
-	* gensupport.h (init_rtx_reader_args_cb): Likewise.
-	(init_rtx_reader_args_cb): Likewise.
-	* read-md.c (struct file_name_list): Move to class rtx_reader.
-	(read_md_file): Delete in favor of rtx_reader::m_read_md_file.
-	(read_md_filename): Delete in favor of
-	rtx_reader::m_read_md_filename.
-	(read_md_lineno): Delete in favor of rtx_reader::m_read_md_lineno.
-	(in_fname): Delete in favor of rtx_reader::m_toplevel_fname.
-	(base_dir): Delete in favor of rtx_reader::m_base_dir.
-	(first_dir_md_include): Delete in favor of
-	rtx_reader::m_first_dir_md_include.
-	(last_dir_md_include_ptr): Delete in favor of
-	rtx_reader::m_last_dir_md_include_ptr.
-	(max_include_len): Delete.
-	(rtx_reader_ptr): New.
-	(fatal_with_file_and_line): Use get_filename and get_lineno
-	accessors of rtx_reader_ptr.
-	(require_char_ws): Likewise.
-	(rtx_reader::read_char): New method, based on ::read_char.
-	(rtx_reader::unread_char): New method, based on ::unread_char.
-	(read_escape): Use get_filename and get_lineno accessors of
-	rtx_reader_ptr.
-	(read_braced_string): Use get_lineno accessor of rtx_reader_ptr.
-	(read_string): Use get_filename and get_lineno accessors of
-	rtx_reader_ptr.
-	(rtx_reader::rtx_reader): New ctor.
-	(rtx_reader::~rtx_reader): New dtor.
-	(handle_include): Convert from a function to...
-	(rtx_reader::handle_include): ...this method, converting
-	handle_directive from a callback to a virtual function.
-	(handle_file): Likewise, converting to...
-	(rtx_reader::handle_file): ...this method.
-	(handle_toplevel_file): Likewise, converting to...
-	(rtx_reader::handle_toplevel_file): ...this method.
-	(rtx_reader::get_current_location): New method.
-	(parse_include): Convert from a function to...
-	(rtx_reader::add_include_path): ...this method, dropping redundant
-	update to unused max_include_len.
-	(read_md_files): Convert from a function to...
-	(rtx_reader::read_md_files): ...this method, converting
-	handle_directive from a callback to a virtual function.
-	(noop_reader::handle_unknown_directive): New method.
-	* read-md.h (directive_handler_t): Delete this typedef.
-	(in_fname): Delete.
-	(read_md_file): Delete.
-	(read_md_lineno): Delete.
-	(read_md_filename): Delete.
-	(class rtx_reader): New class.
-	(rtx_reader_ptr): New decl.
-	(class noop_reader): New subclass of rtx_reader.
-	(read_char): Reimplement in terms of rtx_reader::read_char.
-	(unread_char): Reimplement in terms of rtx_reader::unread_char.
-	(read_md_files): Delete.
-	* read-rtl.c (read_rtx_code): Update for deletion of globals
-	read_md_filename and read_md_lineno.
-
-2016-09-21  Jason Merrill  <jason@redhat.com>
-
-	* input.h (from_macro_definition_at): New.
-
-2016-09-21  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* doc/rtl.texi (JUMP_LABEL): Document RETURN and SIMPLE_RETURN values.
-
-2016-09-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	PR tree-optimization/77550
-	* tree-vect-stmts.c (create_array_ref): Change parameters.
-	(get_group_alias_ptr_type): New function.
-	(vectorizable_store, vectorizable_load): Use get_group_alias_ptr_type.
-
-2016-09-21  Marek Polacek  <polacek@redhat.com>
-
-	* gimple-ssa-sprintf.c (pass_sprintf_length::compute_format_length):
-	Add falls through comment.
-
-2016-09-21  Richard Biener  <rguenther@suse.de>
-
-	* dwarf2out.c (remove_child_with_prev): Clear child->die_sib.
-	(replace_child): Likewise.
-	(remove_child_TAG): Adjust.
-	(move_marked_base_types): Likewise.
-	(prune_unused_types_prune): Clear die_sib of removed children.
-
-2016-09-21  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR target/77326
-	* config/avr/avr.c (avr_notice_update_cc) [CC_NONE]: If insn
-	touches some regs mentioned in cc_status, do CC_STATUS_INIT.
-
-2016-09-21  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/77648
-	* tree-ssa-structalias.c (process_constraint): Handle all DEREF
-	with complex RHS.
-	(make_transitive_closure_constraints): Adjust comment.
-	(make_any_offset_constraints): New function.
-	(handle_rhs_call): Make sure to first expand a pointer to all
-	subfields before transitively closing it.
-	(handle_const_call): Likewise.  Properly expand returned
-	pointers as well.
-	(handle_pure_call): Likewise.
-
-2016-09-21  Richard Biener  <rguenther@suse.de>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/77621
-	* tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Split
-	group at non-vectorizable stmts.
-
-2016-09-21  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	PR tree-optimization/72835
-	* tree-ssa-reassoc.c (make_new_ssa_for_def): New.
-	(make_new_ssa_for_all_defs): Likewise.
-	(zero_one_operation): Replace all SSA_NAMEs defined in the chain.
-
-2016-09-20  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/49905
-	* Makefile.in (OBJS): Add gimple-ssa-sprintf.o.
-	* config/linux.h (TARGET_PRINTF_POINTER_FORMAT): Redefine.
-	* config/linux.c (gnu_libc_printf_pointer_format): New function.
-	* config/sol2.h (TARGET_PRINTF_POINTER_FORMAT): Same.
-	* config/sol2.c (solaris_printf_pointer_format): New function.
-	* doc/invoke.texi (-Wformat-length, -fprintf-return-value): New
-	options.
-	* doc/tm.texi.in (TARGET_PRINTF_POINTER_FORMAT): Document.
-	* doc/tm.texi: Regenerate.
-	* gimple-fold.h (get_range_strlen): New function.
-	(get_maxval_strlen): Declare existing function.
-	* gimple-fold.c (get_range_strlen): Add arguments and compute both
-	maximum and minimum.
-	 (get_range_strlen): Define overload.
-	(get_maxval_strlen): Adjust.
-	* gimple-ssa-sprintf.c: New file and pass.
-	* passes.def (pass_sprintf_length): Add new pass.
-	* targhooks.h (default_printf_pointer_format): Declare new function.
-	(gnu_libc_printf_pointer_format): Same.
-	(solaris_libc_printf_pointer_format): Same.
-	* targhooks.c (default_printf_pointer_format): Define new function.
-	* tree-pass.h (make_pass_sprintf_length): Declare new function.
-	* print-tree.c: Increase buffer size.
-
-2016-09-21  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* tree-vrp.c (get_value_range): Teach PARM_DECL to use ipa-vrp results.
-
-2016-09-21  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* common.opt: New option -fipa-vrp.
-	* ipa-cp.c (ipa_get_vr_lat): New.
-	(ipcp_vr_lattice::print): Likewise.
-	(print_all_lattices): Call ipcp_vr_lattice::print.
-	(ipcp_vr_lattice::meet_with): New.
-	(ipcp_vr_lattice::meet_with_1): Likewise.
-	(ipcp_vr_lattice::top_p): Likewise.
-	(ipcp_vr_lattice::bottom_p): Likewsie.
-	(ipcp_vr_lattice::set_to_bottom): Likewise.
-	(set_all_contains_variable): Call VR set_to_bottom.
-	(initialize_node_lattices): Init VR lattices.
-	(propagate_vr_accross_jump_function): New.
-	(propagate_constants_accross_call): Call
-	propagate_vr_accross_jump_function.
-	(ipcp_store_vr_results): New.
-	(ipcp_driver): Handle VR.
-	* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Handle VR.
-	(ipa_set_jf_unknown): Likewise.
-	(ipa_compute_jump_functions_for_edge): Likewise.
-	(ipa_node_params_t::duplicate): Likewise.
-	(ipa_write_jump_function): Likewise.
-	(ipa_read_jump_function): Likewise.
-	(write_ipcp_transformation_info): Likewise.
-	(read_ipcp_transformation_info): Likewise.
-	(ipcp_update_vr): New.
-	(ipcp_transform_function): Handle VR.
-	* ipa-prop.h (struct ipa_vr): New.
-	* cgraph.c: Include tree-vrp.h.
-	* cgraphunit.c: Likewise.
-	* ipa-utils.c: Likewise.
-	* ipa.c: Likewise.
-	* opts.c: Likewise.
-	* toplev.c: Likewise.
-	* ipa-devirt.c: Likewise.
-	* ipa-inline-transform.c: Likewise.
-	* ipa-inline.c: Likewise.
-	* ipa-profile.c: Likewise.
-
-2016-09-21  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* doc/invoke.texi: Document -fdump-tree-evrp.
-	* passes.def: Define new pass_early_vrp.
-	* timevar.def: Define new TV_TREE_EARLY_VRP.
-	* tree-pass.h (make_pass_early_vrp): New.
-	* tree-ssa-propagate.c: Make replace_uses_in non static.
-	* tree-ssa-propagate.h: Export replace_uses_in.
-	* tree-vrp.c (extract_range_for_var_from_comparison_expr): New.
-	(extract_range_from_assert): Factor out
-	extract_range_for_var_from_comparison_expr.
-	(vrp_initialize_lattice): New.
-	(vrp_initialize): Factor out vrp_initialize_lattice.
-	(vrp_valueize): Fix it to reject complex value ranges.
-	(vrp_free_lattice): New.
-	(evrp_dom_walker::before_dom_children): Likewise.
-	(evrp_dom_walker::after_dom_children): Likewise.
-	(evrp_dom_walker::push_value_range): Likewise.
-	(evrp_dom_walker::pop_value_range): Likewise.
-	(execute_early_vrp): Likewise.
-	(execute_vrp): Call vrp_initialize_lattice and vrp_free_lattice.
-	(make_pass_early_vrp): New.
-
-2016-09-20  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (mult->ashift peephole2s): Use pow2p_hwi
-	instead of exact_log2.
-
-2016-09-20  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/77621
-	* config/i386/i386.c (ix86_preferred_simd_mode) <case DFmode>:
-	Don't return word_mode for !TARGET_VECTORIZE_DOUBLE.
-	(ix86_add_stmt_cost): Penalize DFmode vector operations
-	for !TARGET_VECTORIZE_DOUBLE.
-
-2016-09-20  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/invoke.texi (Warning Options): Simplify language.
-	(Optimize Options): Complete sentence.
-
-2016-09-20  David Edelsohn  <dje.gcc@gmail.com>
-
-	* dbxout.c (xcoff_debug_hooks):  Add filename parameter to
-	early_finish hook.
-
-2016-09-20  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/71395
-	* config/rs6000/rs6000.c (rs6000_expand_vector_init): For V4SF
-	inits on power8 and above, use the VMRGEW instruction instead of a
-	permute.
-
-	* config/rs6000/altivec.md (UNSPEC_VMRGEW_DIRECT): New unspec.
-	(p8_vmrgew_v4sf_direct): New VMRGEW insn for V4SF floating
-	initialization.
-
-2016-09-20  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/aarch64/arm_neon.h
-	(vst2_s64, vst2_u64, vst2_f64, vst2_s8): Add missing attributes.
-	(vst3_s64, vst3_u64, vst3_f64, vst3_s8): Likewise.
-	(vst4_s64, vst4_u64, vst4_f64, vst4_s8): Likewise.
-
-2016-09-20  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* config/var/vax.h (ELIMINABLE_REGS): Define.
-	(INITIAL_ELIMINATION_OFFSET): Define.
-
-2016-09-20  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/77624
-	* builtins.c (fold_builtin_atomic_always_lock_free): Only look through
-	cast to void * if the cast is from some other pointer type.
-
-2016-09-20  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/77646
-	* tree-ssa-sccvn.c (visit_reference_op_call): Always value-number
-	a VDEF.
-
-2016-09-20  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/aarch64/arm_neon.h: Add gnu_inline and artificial
-	attributes to all inlined functions and make them extern.
-
-2016-09-20  Richard Biener  <rguenther@suse.de>
-
-	* debug.h (gcc_debug_hooks): Add filename parameter to early_finish
-	hook.
-	* debug.c (do_nothing_debug_hooks): Adjust.
-	* dbxout.c (dbx_debug_hooks): Likewise.
-	* sdbout.c (sdb_debug_hooks): Likewise.
-	* dwarf2out.c (dwarf2_lineno_debug_hooks): Likewise.
-	(dwarf2out_finish): Move producer, filename and
-	path annotation ...
-	(dwarf2out_early_finish): ... here.  Remove in_lto_p special-casing.
-	* cgraphunit.c (symbol_table::finalize_compilation_unit): Adjust.
-
-2016-09-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	PR c++/77434
-	* doc/invoke.texi: Document -Wint-in-bool-context.
-
-	PR middle-end/77421
-	* dwarf2out.c (output_loc_operands): Fix an assertion.
-
-2016-09-19  Joseph Myers  <joseph@codesourcery.com>
-
-	* ginclude/float.h [__STDC_WANT_IEC_60559_BFP_EXT__]
-	(CR_DECIMAL_DIG): New macro.
-
-2016-09-19  Joseph Myers  <joseph@codesourcery.com>
-
-	* ginclude/stddef.h (max_align_t) [__i386__]: Add __float128
-	element.
-
-2016-09-19  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/77416
-	* lra-remat.c (operand_to_remat): Process hard coded insn
-	registers.
-
-2016-09-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* simplify-rtx.c (simplify_relational_operation_1): Add transformation
-	(GTU (PLUS a C) (C - 1)) --> (LTU a -C).
-
-2016-09-19  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* target.def (lra_p): Wordsmithing.
-	* doc/tm.texi: Regenerate.
-
-2016-09-19  Jakub Jelinek  <jakub@redhat.com>
-	    Jan Hubicka  <jh@suse.cz>
-
-	PR target/77587
-	* cgraph.c (cgraph_node::rtl_info): Pass &avail to
-	ultimate_alias_target call, return NULL if avail < AVAIL_AVAILABLE.
-	Call ultimate_alias_target just once, not up to 4 times.
-
-2016-09-19  Richard Biener  <rguenther@suse.de>
-
-	* dwarf2out.c (early_dwarf_finished): New global.
-	(set_early_dwarf::set_early_dwarf): Assert early_dwarf_finished
-	is false.
-	(dwarf2out_early_finish): Set early_dwarf_finished at the end,
-	if called from LTO exit early.
-	(dwarf2out_late_global_decl): When being during the early
-	debug phase do not add locations but only const value attributes.
-	Adjust the way we generate early DIEs for LTO.
-
-2016-09-19  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/77605
-	* tree-data-ref.c (analyze_subscript_affine_affine): Use the
-	proper niter to bound the loops.
-
-2016-09-19  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/77514
-	* tree-ssa-pre.c (create_expression_by_pieces): Optimize
-	search for folded stmt.
-
-2016-09-17  Jan Hubicka  <hubicka@ucw.cz>
-
-	* passes.def (pass_early_thread_jumps): Schedule after forwprop.
-	* tree-pass.h (make_pass_early_thread_jumps): Declare.
-	* tree-ssa-threadbackward.c (fsm_find_thread_path,
-	fsm_find_thread_path, profitable_jump_thread_path,
-	fsm_find_control_statement_thread_paths,
-	find_jump_threads_backwards): Add speed_p parameter.
-	(pass_data_early_thread_jumps): New pass.
-	(make_pass_early_thread_jumps): New function.
-
-2016-09-17  Andreas Schwab  <schwab@suse.de>
-
-	* config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Add cast.
-	* config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Likewise.
-
-2016-09-16  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* recog.c (rest_of_handle_split_after_reload): Delete.
-	(pass_split_after_reload::gate): New method.
-	(pass_split_after_reload::execute): Call split_all_insns directly.
-
-2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
-
-	* doc/extend.texi (Integer Overflow Builtins): Fix type of out
-	parameters for functions taking long long arguments.
-
-2016-09-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR target/77613
-	* config/rs6000/rs6000.c (rtx_is_swappable_p): Add support for
-	splat with truncate.
-
-2016-09-16  Jason Merrill  <jason@redhat.com>
-
-	* hwint.h (least_bit_hwi, pow2_or_zerop, pow2p_hwi, ctz_or_zero):
-	New.
-	* hwint.c (exact_log2): Use pow2p_hwi.
-	(ctz_hwi, ffs_hwi): Use least_bit_hwi.
-	* alias.c (memrefs_conflict_p): Use pow2_or_zerop.
-	* builtins.c (get_object_alignment_2, get_object_alignment)
-	(get_pointer_alignment, fold_builtin_atomic_always_lock_free): Use
-	least_bit_hwi.
-	* calls.c (compute_argument_addresses, store_one_arg): Use
-	least_bit_hwi.
-	* cfgexpand.c (expand_one_stack_var_at): Use least_bit_hwi.
-	* combine.c (force_to_mode): Use least_bit_hwi.
-	(contains_muldiv, find_split_point, combine_simplify_rtx)
-	(simplify_if_then_else, simplify_set, force_to_mode)
-	(if_then_else_cond, simplify_and_const_int_1)
-	(simplify_compare_const): Use pow2p_hwi.
-	* cse.c (fold_rtx): Use pow2p_hwi.
-	* emit-rtl.c (set_mem_attributes_minus_bitpos, adjust_address_1):
-	Use least_bit_hwi.
-	* expmed.c (synth_mult, expand_divmod): Use ctz_or_zero, ctz_hwi.
-	(init_expmed_one_conv): Use pow2p_hwi.
-	* expr.c (is_aligning_offset): Use pow2p_hwi.
-	* fold-const.c (round_up_loc, round_down_loc): Use pow2_or_zerop.
-	(fold_binary_loc): Use pow2p_hwi.
-	* function.c (assign_parm_find_stack_rtl): Use least_bit_hwi.
-	* gimple-fold.c (gimple_fold_builtin_memory_op): Use pow2p_hwi.
-	* gimple-ssa-strength-reduction.c (replace_ref): Use least_bit_hwi.
-	* hsa-gen.c (gen_hsa_addr_with_align, hsa_bitmemref_alignment):
-	Use least_bit_hwi.
-	* ifcvt.c (noce_try_store_flag_constants): Use pow2p_hwi.
-	* ipa-cp.c (ipcp_alignment_lattice::meet_with_1): Use least_bit_hwi.
-	* ipa-prop.c (ipa_modify_call_arguments): Use least_bit_hwi.
-	* omp-low.c (oacc_loop_fixed_partitions)
-	(oacc_loop_auto_partitions): Use least_bit_hwi.
-	* rtlanal.c (nonzero_bits1): Use ctz_or_zero.
-	* stor-layout.c (place_field): Use least_bit_hwi.
-	* tree-pretty-print.c (dump_generic_node): Use pow2p_hwi.
-	* tree-sra.c (build_ref_for_offset): Use least_bit_hwi.
-	* tree-ssa-ccp.c (ccp_finalize): Use least_bit_hwi.
-	* tree-ssa-math-opts.c (bswap_replace): Use least_bit_hwi.
-	* tree-ssa-strlen.c (handle_builtin_memcmp): Use pow2p_hwi.
-	* tree-vect-data-refs.c (vect_analyze_group_access_1)
-	(vect_grouped_store_supported, vect_grouped_load_supported)
-	(vect_permute_load_chain, vect_shift_permute_load_chain)
-	(vect_transform_grouped_load): Use pow2p_hwi.
-	* tree-vect-generic.c (expand_vector_divmod): Use ctz_or_zero.
-	* tree-vect-patterns.c (vect_recog_divmod_pattern): Use ctz_or_zero.
-	* tree-vect-stmts.c (vectorizable_mask_load_store): Use
-	least_bit_hwi.
-	* tsan.c (instrument_expr): Use least_bit_hwi.
-	* var-tracking.c (negative_power_of_two_p): Use pow2_or_zerop.
-
-2016-09-16  Andreas Schwab  <schwab@suse.de>
-
-	* config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Use parameter
-	OFFSET, not offset.
-	* config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Likewise.
-
-2016-09-16  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/77526
-	* combine.c (rest_of_handle_combine): If any edges have been purged,
-	free dominators if available.
-
-2016-09-16  Jakub Jelinek  <jakub@redhat.com>
-	    Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR middle-end/77594
-	* internal-fn.c (expand_arith_overflow) <case MINUS_EXPR>: Don't fall
-	through into expand_addsub_overflow after expand_neg_overflow.
-
-2016-09-15  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic-show-locus.c
-	(selftest::test_fixit_insert_containing_newline): New function.
-	(selftest::test_fixit_replace_containing_newline): New function.
-	(selftest::diagnostic_show_locus_c_tests): Call the above.
-
-2016-09-15  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/77503
-	* tree-vect-loop.c (vectorizable_reduction): Record reduction
-	code for CONST_COND_REDUCTION at analysis stage and use it at
-	transform stage.
-	* tree-vectorizer.h (struct _stmt_vec_info): New field.
-	(STMT_VINFO_VEC_CONST_COND_REDUC_CODE): New macro.
-	* tree-vect-stmts.c (new_stmt_vec_info): Initialize above new
-	field.
-
-2016-09-15  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/77544
-	* fold-const.c (split_tree): Do not split constant ~X.
-
-2016-09-15  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/77425
-	* sched-int.h (sd_iterator_cond): Don't update it_ptr->linkp if list
-	is NULL.
-
-	PR middle-end/77475
-	* config/i386/i386.c (ix86_parse_stringop_strategy_string): Simplify,
-	use %qs instead of %s where desirable, use argument instead of arg in
-	the diagnostic wording, add list of supported strategies and
-	spellcheck hint.
-	(ix86_option_override_internal): Emit target("m...") instead of
-	option("m...") in the diagnostic.  Use %qs instead of %s in invalid
-	-march/-mtune option diagnostic.  Add list of supported arches/tunings
-	and spellcheck hint.  Remove prefix, suffix and sw variables, use
-	main_args_p ? "..." : "..." in diagnostics to make translation
-	possible.
-
-2016-09-15  Richard Biener  <rguenther@suse.de>
-
-	* dwarf2asm.h (dw2_asm_output_offset): Add overload with
-	extra offset argument.
-	* dwarf2asm.c (dw2_asm_output_offset): Implement that.
-	* doc/tm.texi.in (ASM_OUTPUT_DWARF_OFFSET): Adjust documentation
-	to reflect new offset parameter.
-	* doc/tm.texi: Regenerate.
-	* config/darwin.h (ASM_OUTPUT_DWARF_OFFSET): Adjust.
-	* config/darwin-protos.h (darwin_asm_output_dwarf_delta): Add
-	offset argument.
-	(darwin_asm_output_dwarf_offset): Likewise.
-	* config/darwin.c (darwin_asm_output_dwarf_delta): Add offset
-	argument.
-	(darwin_asm_output_dwarf_offset): Pass offset argument through.
-	* config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Adjust.
-	* config/i386/cygmin.h (ASM_OUTPUT_DWARF_OFFSET): Likewise.
-
-2016-09-15  Chung-Lin Tang  <cltang@codesourcery.com>
-
-	PR fortran/72743
-	* ipa-icf.c (set_alias_uids): New function.
-	(sem_variable::merge): Use set_alias_uids to set DECL_PT_UID of
-	all the merged variable's referring aliases.
-
-2016-09-15  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/77514
-	* tree-ssa-pre.c (create_expression_by_pieces): Handle garbage
-	only forced_stmts sequence.
-
-2016-09-15  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* tree-ssanames.h (FOR_EACH_SSA_NAME): New.
-	* cfgexpand.c (update_alias_info_with_stack_vars): Use
-	FOR_EACH_SSA_NAME to iterate over SSA variables.
-	(pass_expand::execute): Likewise.
-	* omp-simd-clone.c (ipa_simd_modify_function_body): Likewise.
-	* tree-cfg.c (dump_function_to_file): Likewise.
-	* tree-into-ssa.c (pass_build_ssa::execute): Likewise.
-	(update_ssa): Likewise.
-	* tree-ssa-alias.c (dump_alias_info): Likewise.
-	* tree-ssa-ccp.c (ccp_finalize): Likewise.
-	* tree-ssa-coalesce.c (build_ssa_conflict_graph): Likewise.
-	(create_outofssa_var_map): Likewise.
-	(coalesce_ssa_name): Likewise.
-	* tree-ssa-operands.c (dump_immediate_uses): Likewise.
-	* tree-ssa-pre.c (compute_avail): Likewise.
-	* tree-ssa-sccvn.c (init_scc_vn): Likewise.
-	(scc_vn_restore_ssa_info): Likewise.
-	(free_scc_vn): Likwise.
-	(run_scc_vn): Likewise.
-	* tree-ssa-structalias.c (compute_points_to_sets): Likewise.
-	* tree-ssa-ter.c (new_temp_expr_table): Likewise.
-	* tree-ssa-copy.c (fini_copy_prop): Likewise.
-	* tree-ssa.c (verify_ssa): Likewise.
-
-2016-09-14  Matthew Fortune  <matthew.fortune@imgtec.com>
-
-	* config.gcc (mips*-mti-elf*, mips*-mti-linux*): Set mips32r2
-	and mips64r2 as default 32-bit and 64-bit architectures.
-	(mips*-img-elf*, mips*-img-linux*): Set mips32r6 and mips64r6
-	as default 32-bit and 64-bit architectures.
-
-2016-09-14  Pat Haugen  <pthaugen@us.ibm.com>
-
-	* loop-unroll.c (unroll_loop_runtime_iterations): Set probability
-	of succ edge.
-
-2016-09-14  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* target.def (lra_p): Change commentary (for the manual) for the
-	new default.
-	* doc/tm.texi: Regenerate.
-
-2016-09-14  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/aarch64/aarch64.c (TARGET_LRA_P): Delete macro.
-	* config/arm/arm.c (TARGET_LRA_P): Delete macro.
-	* config/i386/i386.c (TARGET_LRA_P): Delete macro.
-	* config/nds32/nds32.c (TARGET_LRA_P): Delete macro.
-
-2016-09-14  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* targhooks.c (default_lra_p): Return true instead of false.
-
-2016-09-14  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/alpha/alpha.c (TARGET_LRA_P): New macro, defined to
-	hook_bool_void_false.
-	* config/avr/avr.c: Ditto.
-	* config/bfin/bfin.c: Ditto.
-	* config/c6x/c6x.c: Ditto.
-	* config/cr16/cr16.c: Ditto.
-	* config/cris/cris.c: Ditto.
-	* config/epiphany/epiphany.c: Ditto.
-	* config/fr30/fr30.c: Ditto.
-	* config/frv/frv.c: Ditto.
-	* config/h8300/h8300.c: Ditto.
-	* config/ia64/ia64.c: Ditto.
-	* config/iq2000/iq2000.c: Ditto.
-	* config/lm32/lm32.c: Ditto.
-	* config/m32c/m32c.c: Ditto.
-	* config/m32r/m32r.c: Ditto.
-	* config/m68k/m68k.c: Ditto.
-	* config/mcore/mcore.c: Ditto.
-	* config/microblaze/microblaze.c: Ditto.
-	* config/mmix/mmix.c: Ditto.
-	* config/mn10300/mn10300.c: Ditto.
-	* config/moxie/moxie.c: Ditto.
-	* config/msp430/msp430.c: Ditto.
-	* config/nios2/nios2.c: Ditto.
-	* config/nvptx/nvptx.c: Ditto.
-	* config/pa/pa.c: Ditto.
-	* config/pdp11/pdp11.c: Ditto.
-	* config/rl78/rl78.c: Ditto.
-	* config/sparc/sparc.c: Ditto.
-	* config/spu/spu.c: Ditto.
-	* config/stormy16/stormy16.c: Ditto.
-	* config/tilegx/tilegx.c: Ditto.
-	* config/tilepro/tilepro.c: Ditto.
-	* config/v850/v850.c: Ditto.
-	* config/vax/vax.c: Ditto.
-	* config/visium/visium.c: Ditto.
-	* config/xtensa/xtensa.c: Ditto.
-
-2016-09-14  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/68260
-	* tsan.c: Include target.h.
-	(enum tsan_atomic_action): Add bool_clear and bool_test_and_set.
-	(BOOL_CLEAR, BOOL_TEST_AND_SET): Define.
-	(tsan_atomic_table): Add BUILT_IN_ATOMIC_CLEAR and
-	BUILT_IN_ATOMIC_TEST_AND_SET entries.
-	(instrument_builtin_call): Handle bool_clear and bool_test_and_set.
-
-2016-09-14  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-	    Martin Liska  <mliska@suse.cz>
-
-	PR middle-end/77574
-	* predict.c (force_edge_cold): Add braces to a condition.
-
-2016-09-13  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	PR rtl-optimization/77289
-	* lra-constraints.c (get_final_hard_regno): Removed.
-	(get_hard_regno): Add new parameter final_p.
-	(get_reg_class): Directly call lra_get_elimination_hard_regno.
-	(operands_match_p): Adjust call to get_hard_regno.
-	(uses_hard_regs_p): Likewise.
-	(process_alt_operands): Likewise.
-
-2016-09-13  Joe Seymour  <joe.s@somniumtech.com>
-
-	PR target/70713
-	* config/msp430/msp430.c (msp430_start_function): Emit an error
-	if a function is both weak and specifies an interrupt number.
-
-2016-09-13  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/77454
-	* tree-ssa-dom.c (optimize_stmt): Set modified flag on stmt after
-	changing GIMPLE_COND.  Move update_stmt_if_modified call after this.
-	Formatting fix.
-
-2016-09-13  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/aarch64/aarch64-builtins.c
-	(aarch64_init_simd_builtins): Fix builtin type signature printing.
-
-2016-09-13  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/alpha/alpha.c (alpha_pass_by_reference): Pass un-named
-	SFmode and SCmode arguments by reference.
-
-2016-09-13  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic-show-locus.c (selftest::test_one_liner_fixit_insert):
-	Rename to...
-	(selftest::test_one_liner_fixit_insert_before): ...this, and update
-	for renaming of add_fixit_insert to add_fixit_insert_before.
-	(selftest::test_one_liner_fixit_insert_after): New function.
-	(selftest::test_one_liner_fixit_validation_adhoc_locations):
-	Update for renaming of add_fixit_insert to add_fixit_insert_before.
-	(selftest::test_one_liner_many_fixits): Likewise.
-	(selftest::test_diagnostic_show_locus_one_liner): Update for
-	renaming, call new test function.
-	(selftest::test_diagnostic_show_locus_fixit_lines): Update for
-	renaming of add_fixit_insert to add_fixit_insert_before.
-	(selftest::test_fixit_consolidation): Likewise.
-	* diagnostic.c (selftest::test_print_parseable_fixits_insert):
-	Likewise.
-	* edit-context.c (selftest::test_applying_fixits_insert): Rename to...
-	(selftest::test_applying_fixits_insert_before): ...this.
-	(selftest::test_applying_fixits_insert): Update for renaming of
-	add_fixit_insert to add_fixit_insert_before.
-	(selftest::test_applying_fixits_insert_after): New function.
-	(selftest::test_applying_fixits_insert_after_at_line_end): New
-	function.
-	(selftest::test_applying_fixits_insert_after_failure): New function.
-	(selftest::test_applying_fixits_multiple): Update for renaming of
-	add_fixit_insert to add_fixit_insert_before.
-	(selftest::change_line): Likewise.
-	(selftest::test_applying_fixits_unreadable_file): Likewise.
-	(selftest::test_applying_fixits_line_out_of_range): Likewise.
-	(selftest::test_applying_fixits_column_validation): Likewise.
-	(selftest::test_applying_fixits_column_validation): Likewise.
-	(selftest::edit_context_c_tests): Update for renamed test function;
-	call new test functions.
-
-2016-09-13  Pat Haugen  <pthaugen@us.ibm.com>
-
-	PR tree-optimization/77536
-	PR rtl-optimization/68212
-	* config/rs6000/rs6000.md (div->recip splitter): Remove
-	optimize_insn_for_speed_p condition.
-
-2016-09-13  Maciej W. Rozycki  <macro@imgtec.com>
-
-	* optabs.c (prepare_cmp_insn): Update documentation comment.
-
-2016-09-13  Jakub Jelinek  <jakub@redhat.com>
-	    Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	PR middle-end/77475
-	* opts.h (candidates_list_and_hint): Declare.
-	* opts-common.c (candidates_list_and_hint): New function.
-	(cmdline_handle_error): Use it.
-
-2016-09-12  David Malcolm  <dmalcolm@redhat.com>
-
-	* edit-context.c (edited_line::get_len): New accessor.
-	(edited_file::print_diff): Split out hunk-printing into...
-	(edited_file::print_diff_hunk): New method.
-	(edited_file::print_diff_line): New method.
-
-2016-09-12  Andrew Pinski  <apinski@cavium.com>
-
-	* config/aarch64/aarch64-tuning-flags.def (SLOW_UNALIGNED_LDPW):
-	New tuning option.
-	* config/aarch64/aarch64.c (thunderx_tunings): Enable
-	AARCH64_EXTRA_TUNE_SLOW_UNALIGNED_LDPW.
-	(aarch64_operands_ok_for_ldpstp): Return false if
-	AARCH64_EXTRA_TUNE_SLOW_UNALIGNED_LDPW and the mode
-	was SImode and the alignment is less than 8 byte.
-	(aarch64_operands_adjust_ok_for_ldpstp): Likewise.
-
-2016-09-12  Orlando Arias  <oarias@knights.ucf.edu>
-
-	PR target/77570
-	* config/msp430/msp430.md (delay_cycles_32x): Fix pushm/popm.
-
-2016-09-12  Marek Polacek  <polacek@redhat.com>
-
-	* doc/extend.texi: Use lowercase "boolean".
-	* doc/invoke.texi: Likewise.
-	* doc/md.texi: Likewise.
-	* target.def: Likewise.
-	* doc/tm.texi: Regenerated.
-
-2016-09-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR middle-end/77426
-	* expmed.c (synth_mult): Delete duplicate mode check.
-
-2016-09-10  Tom de Vries  <tom@codesourcery.com>
-
-	PR C/71602
-	* builtins.c (std_canonical_va_list_type): Strictly return non-null for
-	va_list type only.
-	* config/i386/i386.c (ix86_canonical_va_list_type): Same.
-	* gimplify.c (gimplify_va_arg_expr): Handle &va_list.
-
-2016-09-09  Peter Bergner  <bergner@vnet.ibm.com>
-
-	PR rtl-optimization/77289
-	* lra-constraints.c (get_final_hard_regno): Add support for non hard
-	register numbers.  Remove support for subregs.
-	(get_hard_regno): Use SUBREG_P.  Don't call get_final_hard_regno().
-	(get_reg_class): Delete removed get_final_hard_regno() argument.
-	(uses_hard_regs_p): Call get_final_hard_regno().
-
-2016-09-09  Martin Sebor  <msebor@redhat.com>
-
-	PR c/77520
-	PR c/77521
-	* pretty-print.c (pp_quoted_string): New function.
-	(pp_format): Call it for %c and %s directives.
-
-2016-09-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* doc/tm.texi.in (INITIAL_FRAME_POINTER_OFFSET): Remove.
-	(ELIMINABLE_REGS, TARGET_CAN_ELIMINATE,
-	INITIAL_ELIMINATION_OFFSET) : Update documentation.
-	* target.def (frame_pointer_required, can_eliminate): Likewise.
-	* doc/tm.texi: Regenerated.
-	* builtins.c (expand_builtin_setjmp_receiver): Remove #ifdef
-	ELIMINABLE_REGS.
-	* df-scan.c (df_hard_reg_init): Likewise.
-	* ira.c (ira_setup_eliminable_regset): Likewise.
-	* lra-eliminations.c (reg_eliminate_1, (update_reg_eliminate,
-	init_elim_table): Likewise.
-	* reload1.c (reg_eliminate_1, verify_initial_elim_offsets,
-	set_initial_elim_offsets, update_eliminables,
-	init_elim_table): Likewise.
-	* rtlanal.c (get_initial_register_offset): Likewise.
-	* config/ft32/ft32.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
-	* config/m32r/m32r.h (INITIAL_FRAME_POINTER_OFFSET): Likewise.
-	* config/moxie/moxie.h (INITIAL_FRAME_POINTER_OFFSET): Likewise.
-	* config/vax/vax.h (INITIAL_FRAME_POINTER_OFFSET): Likewise.
-	* config/fr30/fr30.h: Fix comment.
-	* config/frv/frv.c: Likewise.
-	* config/frv/frv.h: Likewise.
-	* config/ft32/ft32.h: Likewise.
-	* config/visium/visium.h: Likewise.
-	* config/pa/pa64-linux.h: Likewise.
-	* config/v850/v850.h: Likewise.
-	* config/cris/cris.c: Likewise.
-	* config/ia64/ia64.h: Likewise.
-	* config/moxie/moxie.h: Likewise.
-	* config/m32r/m32r.h: Likewise.
-
-2016-09-10  Alexander Ivchenko  <alexander.ivchenko@intel.com>
-
-	PR target/77267
-	* config.in: Regenerate.
-	* config/i386/linux-common.h (MPX_LD_AS_NEEDED_GUARD_PUSH):
-	New macro.
-	(MPX_LD_AS_NEEDED_GUARD_PUSH): Ditto.
-	(LIBMPXWRAPPERS_SPEC): Remove "--no-whole-archive" from
-	static-libmpxwrappers case.
-	(LIBMPX_SPEC): Add guards with MPX_LD_AS_NEEDED_GUARD_PUSH and
-	MPX_LD_AS_NEEDED_GUARD_POP.
-	* configure: Regenerate.
-	* configure.ac (HAVE_LD_PUSHPOPSTATE_SUPPORT): New variable.
-	defined if linker support "--push-state"/"--pop-state".
-
-2016-09-09  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* doc/cpp.texi (__*_WIDTH__): Small wording fixes.
-
-2016-09-09  Joseph Myers  <joseph@codesourcery.com>
-
-	* doc/cpp.texi (__SCHAR_WIDTH__, __SHRT_WIDTH__, __INT_WIDTH__)
-	(__LONG_WIDTH__, __LONG_LONG_WIDTH__, __PTRDIFF_WIDTH__)
-	(__SIG_ATOMIC_WIDTH__, __SIZE_WIDTH__, __WCHAR_WIDTH__)
-	(__WINT_WIDTH__, __INT_LEAST8_WIDTH__, __INT_LEAST16_WIDTH__)
-	(__INT_LEAST32_WIDTH__, __INT_LEAST64_WIDTH__)
-	(__INT_FAST8_WIDTH__, __INT_FAST16_WIDTH__, __INT_FAST32_WIDTH__)
-	(__INT_FAST64_WIDTH__, __INTPTR_WIDTH__, __INTMAX_WIDTH__):
-	Document.
-	* ginclude/stdint-gcc.h [__STDC_WANT_IEC_60559_BFP_EXT__]: Define
-	width macros from TS 18661-1.
-	* glimits.h [__STDC_WANT_IEC_60559_BFP_EXT__]: Likewise.
-
-2016-09-08  Jakub Jelinek  <jakub@redhat.com>
-
-	PR fortran/77516
-	* omp-low.c (lower_rec_simd_input_clauses): Use max_vf for non-positive
-	OMP_CLAUSE_SAFELEN_EXPR.
-
-2016-09-07  David Malcolm  <dmalcolm@redhat.com>
-
-	* Makefile.in (OBJS): Add substring-locations.o.
-	* langhooks-def.h (class substring_loc): New forward decl.
-	(lhd_get_substring_location): New decl.
-	(LANG_HOOKS_GET_SUBSTRING_LOCATION): New macro.
-	(LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_GET_SUBSTRING_LOCATION.
-	* langhooks.c (lhd_get_substring_location): New function.
-	* langhooks.h (class substring_loc): New forward decl.
-	(struct lang_hooks): Add field get_substring_location.
-	* substring-locations.c: New file, taking definition of
-	format_warning_va and format_warning_at_substring from
-	c-family/c-format.c, making them non-static.
-	* substring-locations.h (class substring_loc): Move class here
-	from c-family/c-common.h.  Add and rewrite comments.
-	(format_warning_va): New decl.
-	(format_warning_at_substring): New decl.
-	(get_source_location_for_substring): Add comment.
-
-2016-09-07  Eric Gallager  <egall@gwmail.gwu.edu>
-
-	* config/i386/i386.c: Add 'U' suffix to processor feature bits
-	to avoid -Wnarrowing warning.
-	* config/i386/x86-tune.def: Likewise for DEF_TUNE selector bitmasks.
-	* opts.c: Likewise for SANITIZER_OPT bitmasks.
-
-2016-09-07  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_legitimize_address):
-	Avoid use of base_offset if offset already in range.
-
-2016-09-07  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	* config/sh/sh-protos.h (struct sh_atomic_model,
-	selected_atomic_model, TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT,
-	TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS,
-	TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Move to...
-	* config/sh/sh.h (struct sh_atomic_model,
-	selected_atomic_model, TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT,
-	TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS,
-	TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): ...here.
-	Guard with __cplusplus.
-
-2016-09-06  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/69255
-	* config/i386/i386.c (ix86_expand_builtin): For builtin with
-	unsupported or unknown ISA, use expand_call.
-
-2016-09-06  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/77378
-	PR gcov-profile/77466
-	* tree-profile.c (tree_profiling): Detect whether target can use
-	-fprofile-update=atomic.
-
-2016-09-06  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/77479
-	* tree-vrp.c (update_value_range): Extend overflow handling to
-	VARYING.
-
-2016-09-05  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/77476
-	* config/i386/i386.md (isa): Add x64_avx512bw.
-	(*zero_extendsidi2): For alternative 11 use x64_avx512bw isa.
-	(kmov_isa): New mode attr.
-	(zero_extend<mode>di2): Use <kmov_isa> isa for the last alternative.
-	(*zero_extend<mode>si2): Likewise.
-	(*zero_extendqihi2): Use avx512dq isa for the last alternative.
-
-2016-09-05  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/invoke.texi (SPU Options): nops -> NOPs.
-	(x86 Options): Ditto.
-
-2016-09-05  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/77475
-	* toplev.c (process_options): Temporarily set input_location
-	to UNKNOWN_LOCATION around targetm.target_option.override () call.
-
-2016-09-05  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR rtl-optimization/77452
-	* explow.c (plus_constant) <case MEM>: Extract scalar constant from
-	inner-mode reference to a CONST_VECTOR constant in the constant pool.
-
-2016-09-05  Marek Polacek  <polacek@redhat.com>
-
-	PR c/77423
-	* doc/invoke.texi: Update -Wlogical-not-parentheses documentation.
-
-2016-09-05  Jakub Jelinek  <jakub@redhat.com>
-
-	PR other/77421
-	* gensupport.c (alter_output_for_subst_insn): Remove redundant
-	*insn_out == '*' test.  Don't copy unnecessary to yet another
-	memory buffer, and don't leak it.
-
-	PR rtl-optimization/77425
-	* ipa-devirt.c (get_odr_type): Set val->id unconditionally.
-
-2016-09-03  Kirill Yukhin  <kirill.yukhin@intel.com>
-
-	* ubsan.c (ubsan_use_new_style_p): Fix check for empty string.
-
-2016-09-02  David Malcolm  <dmalcolm@redhat.com>
-
-	* common.opt (fdiagnostics-generate-patch): New option.
-	* diagnostic.c: Include "edit-context.h".
-	(diagnostic_initialize): Initialize context->edit_context_ptr.
-	(diagnostic_finish): Delete context->edit_context_ptr.
-	(diagnostic_report_diagnostic): Add fix-it hints from the
-	diagnostic to context->edit_context_ptr, if any.
-	* diagnostic.h (class edit_context): Add forward decl.
-	(struct diagnostic_context): Add field "edit_context_ptr".
-	* doc/invoke.texi (Diagnostic Message Formatting Options): Add
-	-fdiagnostics-generate-patch.
-	(-fdiagnostics-generate-patch): New item.
-	* toplev.c: Include "edit-context.h".
-	(process_options): Set global_dc->edit_context_ptr to a new
-	edit_context if the options need one.
-	(toplev::main): Handle -fdiagnostics-generate-patch by using
-	global_dc->edit_context_ptr.
-
-2016-09-02  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c/65467
-	* gimplify.c (gimplify_adjust_omp_clauses_1): Diagnose implicit
-	map and firstprivate clauses on target construct for _Atomic
-	qualified decls.
-	(gimplify_adjust_omp_clauses): Diagnose explicit firstprivate clauses
-	on target construct for _Atomic qualified decls.
-	* omp-low.c (use_pointer_for_field): Return true for _Atomic qualified
-	decls.
-	* omp-simd-clone.c (simd_clone_clauses_extract): Warn and give up for
-	_Atomic qualified arguments not mentioned in uniform clause.
-
-2016-09-02  David Malcolm  <dmalcolm@redhat.com>
-
-	* Makefile.in (OBJS-libcommon): Add edit-context.o.
-	* diagnostic-color.c (color_dict): Add "diff-filename",
-	"diff-hunk", "diff-delete", and "diff-insert".
-	(parse_gcc_colors): Update default value of GCC_COLORS in comment
-	to reflect above changes.
-	* doc/invoke.texi (-fdiagnostics-color): Update description of
-	default GCC_COLORS, and of the supported capabilities.
-	* edit-context.c: New file.
-	* edit-context.h: New file.
-	* input.c (struct fcache): Add field "missing_trailing_newline".
-	(diagnostics_file_cache_forcibly_evict_file): Initialize it to
-	true.
-	(add_file_to_cache_tab): Likewise.
-	(fcache::fcache): Likewise.
-	(get_next_line): Update c->missing_trailing_newline.
-	(location_missing_trailing_newline): New function.
-	* input.h (location_missing_trailing_newline): New decl.
-	* selftest-run-tests.c (selftest::run_tests): Call
-	edit_context_c_tests.
-	* selftest.h (edit_context_c_tests): New decl.
-
-2016-09-02  Jakub Jelinek  <jakub@redhat.com>
-	    Richard Biener  <rguenth@suse.de>
-
-	PR tree-optimization/77444
-	* tree-ssa-loop-ivopts.c (cand_value_at): For pointers use sizetype
-	as steptype, remove redundant initialization.
-
-2016-09-02  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/77396
-	* sanopt.c: Include gimple-ssa.h, tree-phinodes.h and ssa-iterators.h.
-	(sanopt_optimize_walker): Optimize away
-	__asan_before_dynamic_init (...) followed by
-	__asan_after_dynamic_init () without intervening memory loads/stores.
-	* ipa-pure-const.c (special_builtin_state): Handle
-	BUILT_IN_ASAN_BEFORE_DYNAMIC_INIT and
-	BUILT_IN_ASAN_AFTER_DYNAMIC_INIT.
-
-2016-09-02  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	* cfg.c (free_original_copy_tables): Replace second assignment of
-	bb_copy = NULL by bb_original = NULL.
-
-2016-09-02  Jakub Jelinek  <jakub@redhat.com>
-
-	PR other/77421
-	* config/i386/i386.c (ix86_expanded_args_builtin): Remove redundant
-	assignment added in r216794.
-
-2016-09-02  David Malcolm  <dmalcolm@redhat.com>
-
-	* Makefile.in (OBJS): Add typed-splay-tree.o.
-	* selftest-run-tests.c (selftest::run_tests): Call
-	typed_splay_tree_c_tests.
-	* selftest.h (typed_splay_tree_c_tests): New decl.
-	* typed-splay-tree.c: New file.
-	* typed-splay-tree.h (typed_splay_tree::foreach_fn): New typedef.
-	(typed_splay_tree::max): New method.
-	(typed_splay_tree::min): New method.
-	(typed_splay_tree::foreach): New method.
-	(typed_splay_tree::closure): New struct.
-	(typed_splay_tree::inner_foreach_fn): New function.
-
-2016-09-02  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	* ipa-cp.c (ipcp_store_bits_results): Change option name from
-	-fipa-cp-bit to -fipa-bit-cp.
-
-2016-09-01  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/71831
-	* tree-object-size.h: Return bool instead of the size and add
-	argument for the size.
-	* tree-object-size.c (compute_object_offset): Update signature.
-	(addr_object_size): Same.
-	(compute_builtin_object_size): Return bool instead of the size
-	and add argument for the size.  Handle POINTER_PLUS_EXPR when
-	optimization is disabled.
-	(expr_object_size): Adjust.
-	(plus_stmt_object_size): Adjust.
-	(pass_object_sizes::execute): Adjust.
-	* builtins.c (fold_builtin_object_size): Adjust.
-	* doc/extend.texi (Object Size Checking): Update.
-	* ubsan.c (instrument_object_size): Adjust.
-
-2016-09-01  Martin Sebor  <msebor@redhat.com>
-
-	* genmatch.c (parser::parse_expr): Increase buffer size to guarantee
-	it fits the output of the formatted function regardless of its
-	arguments.
-	* genmodes.c (parser::parse_expr): Same.
-	* gimplify.c (gimplify_asm_expr): Same.
-	* passes.c (pass_manager::register_one_dump_file): Same.
-	* print-tree.c (print_node): Same.
-
-2016-09-01  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/altivec.md: Use VSCR_REGNO instead of 110 throughout.
-
-2016-09-01  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/altivec.md: Use VRSAVE_REGNO instead of 109 throughout.
-
-2016-09-01  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/altivec.md: Use CR6_REGNO instead of 74 throughout.
-	* config/rs6000/vector.md: Ditto.
-	* config/rs6000/vsx.md: Ditto.
-
-2016-09-01  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* ipa-inline-analysis.c (param_change_prob): Get to the base object
-	first in all cases.
-
-2016-09-01  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.md (*restore_gpregs_<mode>_r11,
-	*restore_gpregs_<mode>_r12, *restore_gpregs_<mode>_r1,
-	*return_and_restore_gpregs_<mode>_r11,
-	*return_and_restore_gpregs_<mode>_r12,
-	*return_and_restore_gpregs_<mode>_r1,
-	*return_and_restore_fpregs_<mode>_r11,
-	*return_and_restore_fpregs_<mode>_r12,
-	*return_and_restore_fpregs_<mode>_r1): Use the hard register LR_REGNO
-	directly instead of via the "l" constraint.  Renumber operands.
-	Fix whitespace.
-
-2016-09-01  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/altivec.md (*save_world, *save_vregs_<mode>_r11,
-	save_vregs_<mode>_r12, *restore_vregs_<mode>_r11,
-	*restore_vregs_<mode>_r12): Use LR_REGNO instead of 65.
-	* config/rs6000/darwin.md (load_macho_picbase, load_macho_picbase_si,
-	load_macho_picbase_di, *call_indirect_nonlocal_darwin64,
-	*call_nonlocal_darwin64, *call_value_indirect_nonlocal_darwin64,
-	*call_value_nonlocal_darwin64, reload_macho_picbase,
-	reload_macho_picbase_si, reload_macho_picbase_di): Ditto.
-	* config/rs6000/rs6000.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Ditto.
-	* config/rs6000/rs6000.md (*save_gpregs_<mode>_r11,
-	*save_gpregs_<mode>_r12, *save_gpregs_<mode>_r1,
-	*save_fpregs_<mode>_r11, *save_fpregs_<mode>_r12,
-	*save_fpregs_<mode>_r1): Ditto.
-	* config/rs6000/spe.md (*save_gpregs_spe, *restore_gpregs_spe,
-	*return_and_restore_gpregs_spe): Ditto.
-
-2016-09-01  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.md
-	(define_insn "*return_and_restore_fpregs_aix_<mode>_r11"): Delete
-	the use of the link register.
-	(define_insn "*return_and_restore_fpregs_aix_<mode>_r1"): Ditto.
-
-2016-09-01  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-	    Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/72827
-	* config/rs6000/rs6000.c (rs6000_legitimize_address): Avoid
-	reg+reg addressing for TImode.
-	(rs6000_legitimate_address_p): Only allow register indirect
-	addressing for TImode, even without TARGET_QUAD_MEMORY.
-
-2016-09-01  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/77436
-	* tree-chrec.c (tree_fold_binomial): Use widest_int, properly
-	check whether the result fits the desired result type.
-
-2016-09-01  Nathan Sidwell  <nathan@acm.org>
-
-	* config/nvptx/nvptx.md (cbranch<mode>4): Op 2 can be const.
-
-2016-09-01  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_legitimize_address_displacement):
-	New function.
-	(TARGET_LEGITIMIZE_ADDRESS_DISPLACEMENT): Define.
-
-2016-09-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64.md (*ands<mode>_compare0): New pattern.
-	* config/aarch64/aarch64.c (aarch64_select_cc_mode): Return CC_NZmode
-	for comparisons of integer ZERO_EXTEND against zero.
-
-2016-09-01  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/i386/i386.c (ix86_option_override_internal): Also disable the
-	STV pass if -mstackrealign is enabled.
-
-2016-08-31  Ilya Verbin  <iverbin@gmail.com>
-
-	* config/i386/driver-i386.c (host_detect_local_cpu): Fix detection of
-	AVX512IFMA.
-
-2016-08-31  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic-show-locus.c (class layout): Add field m_fixit_hints.
-	(layout_range::intersects_line_p): New method.
-	(test_range_contains_point_for_single_point): Rename to...
-	(test_layout_range_for_single_point): ...this, and add testing
-	for layout_range::intersects_line_p.
-	(test_range_contains_point_for_single_line): Rename to...
-	(test_layout_range_for_single_line): ...this,  and add testing
-	for layout_range::intersects_line_p.
-	(test_range_contains_point_for_multiple_lines): Rename to...
-	(test_layout_range_for_multiple_lines): ...this,  and add testing
-	for layout_range::intersects_line_p.
-	(layout::layout): Populate m_fixit_hints.
-	(layout::get_expanded_location): Handle the case of a line-span
-	for a fix-it hint.
-	(layout::validate_fixit_hint_p): New method.
-	(get_line_span_for_fixit_hint): New function.
-	(layout::calculate_line_spans): Add spans for fixit-hints.
-	(layout::should_print_annotation_line_p): New method.
-	(layout::print_any_fixits): Drop param "richloc", instead using
-	validated fixits in m_fixit_hints.  Add "const" to hint pointers.
-	(diagnostic_show_locus): Avoid printing blank annotation lines.
-	(selftest::test_diagnostic_context::test_diagnostic_context):
-	Initialize show_column and start_span.
-	(selftest::test_diagnostic_context::start_span_cb): New static
-	function.
-	(selftest::test_diagnostic_show_locus_fixit_lines): New function.
-	(selftest::diagnostic_show_locus_c_tests): Update for function
-	renamings.  Call test_diagnostic_show_locus_fixit_lines.
-
-2016-08-31  Marc Glisse  <marc.glisse@inria.fr>
-
-	PR tree-optimization/73714
-	* match.pd (a * (1 << b)): Revert change from 2016-05-23.
-
-2016-08-31  David Malcolm  <dmalcolm@redhat.com>
-
-	* selftest.c: Move "namespace selftest {" to top of file,
-	removing explicit "selftest::" qualifiers throughout.
-
-2016-08-31  Marc Glisse  <marc.glisse@inria.fr>
-
-	* config/i386/avx512fintrin.h (__m512_u, __m512i_u, __m512d_u):
-	New types.
-	(_mm512_loadu_pd, _mm512_storeu_pd, _mm512_loadu_ps,
-	_mm512_storeu_ps, _mm512_loadu_si512, _mm512_storeu_si512):
-	Replace builtin with vector extension.
-	* config/i386/avxintrin.h (__m256_u, __m256i_u, __m256d_u):
-	New types.
-	(_mm256_loadu_pd, _mm256_storeu_pd, _mm256_loadu_ps,
-	_mm256_storeu_ps, _mm256_loadu_si256, _mm256_storeu_si256):
-	Replace builtin with vector extension.
-	* config/i386/emmintrin.h (__m128i_u, __m128d_u): New types.
-	(_mm_loadu_pd, _mm_storeu_pd, _mm_loadu_si128, _mm_storeu_si128):
-	Replace builtin with vector extension.
-	* config/i386/xmmintrin.h (__m128_u): New type.
-	(_mm_loadu_ps, _mm_storeu_ps): Replace builtin with vector extension.
-	(_mm_load_ps, _mm_store_ps): Simplify.
-
-2016-08-31  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/arm/arm.c (thumb1_size_rtx_costs) <SET>: Add missing guard.
-
-2016-08-30  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic-show-locus.c (colorizer::begin_state): Support more
-	than 3 ranges per diagnostic by alternating between color 1 and
-	color 2.
-	(layout::layout): Replace use of rich_location::MAX_RANGES
-	with richloc->get_num_locations ().
-	(layout::calculate_line_spans): Replace use of
-	rich_location::MAX_RANGES with m_layout_ranges.length ().
-	(layout::print_annotation_line): Handle arbitrary numbers of
-	ranges in caret-printing by defaulting to '^'.
-	(selftest::test_one_liner_many_fixits): New function.
-	(test_diagnostic_show_locus_one_liner): Call it.
-	* diagnostic.c (diagnostic_initialize): Update for renaming
-	of rich_location::MAX_RANGES to
-	rich_location::STATICALLY_ALLOCATED_RANGES.
-	* diagnostic.h (struct diagnostic_context): Likewise.
-
-2016-08-30  David Malcolm  <dmalcolm@redhat.com>
-
-	* selftest.c (selftest::named_temp_file::named_temp_file): New
-	ctor.
-	(selftest::temp_source_file::~temp_source_file): Move to...
-	(selftest::named_temp_file::~named_temp_file): ...here.
-	(selftest::test_named_temp_file): New function.
-	(selftest::selftest_c_tests): Call test_named_temp_file.
-	* selftest.h (class named_temp_file): New class.
-	(class temp_source_file): Convert to a subclass of named_temp_file.
-
-2016-08-30  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.c (rs6000_emit_epilogue): Do not emit
-	USEs of LR_REGNO in returns and sibcalls.
-	(rs6000_output_mi_thunk): Similar.
-	(rs6000_sibcall_aix): Similar.
-	* config/rs6000/rs6000.md (sibcall, sibcall_value, sibcall_local32,
-	sibcall_local64, sibcall_value_local32, sibcall_value_local64,
-	sibcall_nonlocal_sysv<mode>, sibcall_value_nonlocal_sysv<mode>):
-	Remove the USE of LR_REGNO from the patterns as well.  Delete an
-	obsolete comment.
-	(return_internal_<mode>): Delete.
-
-2016-08-30  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/aarch64/aarch64-simd.md
-	(aarch64_ld2<mode>_dreg_le): New.
-	(aarch64_ld2<mode>_dreg_be): New.
-	(aarch64_ld2<mode>_dreg): Removed.
-	(aarch64_ld3<mode>_dreg_le): New.
-	(aarch64_ld3<mode>_dreg_be): New.
-	(aarch64_ld3<mode>_dreg): Removed.
-	(aarch64_ld4<mode>_dreg_le): New.
-	(aarch64_ld4<mode>_dreg_be): New.
-	(aarch64_ld4<mode>_dreg): Removed.
-	(aarch64_ld<VSTRUCT:nregs><VDC:mode>): Wrapper around _le, _be.
-
-2016-08-30  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic-show-locus.c (test_one_liner_fixit_insert): Remove
-	redundant location param.
-	(test_one_liner_fixit_remove): Likewise.
-	(test_one_liner_fixit_replace): Likewise.
-	(test_one_liner_fixit_replace_equal_secondary_range): Likewise.
-	* gcc-rich-location.c
-	(gcc_rich_location::add_fixit_misspelled_id): Eliminate call to
-	get_range_from_loc.  Drop overload taking a const char *.
-	* gcc-rich-location.h
-	(gcc_rich_location::add_fixit_misspelled_id): Drop overload taking
-	a const char *.
-
-2016-08-30  Szabolcs Nagy  <szabolcs.nagy@arm.com>
-
-	* config/linux.c (linux_libc_has_function): Return true on musl.
-
-2016-08-30  Szabolcs Nagy  <szabolcs.nagy@arm.com>
-
-	* config.gcc (*-*-*musl*): Disable gnu-indirect-function.
-
-2016-08-30  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* postreload-gcse.c (bb_has_well_behaved_predecessors): Tweak criterion
-	used for abnormal egdes.
-
-2016-08-30  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/72866
-	* tree-vect-patterns.c (search_type_for_mask): Turn into
-	a small wrapper, move all code to ...
-	(search_type_for_mask_1): ... this new function.  Add caching
-	and adjust recursive calls.
-
-	PR debug/77363
-	* dwarf2out.c (modified_type_die): Use lookup_type_die (type)
-	instead of lookup_type_die (type_main_variant (type)) even for array
-	types.
-
-	PR middle-end/77377
-	* simplify-rtx.c (avoid_constant_pool_reference): For out of bounds
-	constant pool reference return x instead of c.
-
-2016-08-29  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): Do not
-	include MQ.
-
-2016-08-29  David Malcolm  <dmalcolm@redhat.com>
-
-	* input.c
-	(selftest::test_make_location_nonpure_range_endpoints): Fix
-	header comment.
-
-2016-08-29  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic-show-locus.c
-	(selftest::test_one_liner_fixit_validation_adhoc_locations): New
-	function.
-	(selftest::test_diagnostic_show_locus_one_liner): Call it.
-	* input.c (get_pure_location): Move to libcpp/line-map.c.
-	* input.h (get_pure_location): Convert decl to an inline function
-	calling implementation in libcpp.
-
-2016-08-29  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/77403
-	* config/i386/sse.md (vec_set_lo_<mode><mask_name>): Fix assembler
-	template for intel asm dialect.
-	(vec_set_hi_<mode><mask_name>): Ditto.
-
-2016-08-29  David Malcolm  <dmalcolm@redhat.com>
-
-	* selftest.h (selftest::fail): Add ATTRIBUTE_NORETURN.
-	(selftest::fail_formatted): Likewise.
-
-2016-08-29  David Malcolm  <dmalcolm@redhat.com>
-
-	* input.c (make_location): Call get_start and get_finish
-	on the endpoints to avoid storing packed ranges or ad-hoc
-	ranges in them.
-	(selftest::test_make_location_nonpure_range_endpoints): New function.
-	(selftest::input_c_tests): Call it.
-	* input.h (get_start): New inline function.
-
-2016-08-29  Tom de Vries  <tom@codesourcery.com>
-
-	PR c/77398
-	* gimplify.c (gimplify_va_arg_expr): Replace first argument type error
-	with assert.
-
-2016-08-29  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* Makefile.in (gcov-iov.h): Add dummy recipe.
-
-2016-08-29  Nathan Sidwell  <nathan@acm.org>
-
-	* config/nvptx/nvptx.c: #include tree-vrp.h.
-
-2016-08-28  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR target/77324
-	* config/sparc/sparc.c (sparc_legitimate_address_p): Accept special
-	HIGH+LO construct during reload.
-
-2016-08-28  Tom de Vries  <tom@codesourcery.com>
-
-	PR lto/70955
-	* config/i386/i386.c (ix86_build_builtin_va_list_64): Tag type with
-	'sysv_abi va_list' attribute.
-	(ix86_build_builtin_va_list): Tag type with 'ms_abi va_list' attribute.
-	(ix86_canonical_va_list_type): Handle 'sysv_abi/ms_abi va_list'
-	attributes.
-
-2016-08-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* emit-rtl.h (struct rtl_data): Make stack_slot_list a vector.
-	* emit-rtl.c (unshare_all_rtl_1): Adjust.
-	(unshare_all_rtl_again): Likewise.
-	* function.c (assign_stack_local_1): Likewise.
-	(assign_stack_temp_for_type): Likewise.
-
-2016-08-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* cfgbuild.c (make_edges): Adjust.
-	* cfgrtl.c (can_delete_label_p): Likewise.
-	* dwarf2cfi.c (create_trace_edges): Likewise.
-	* except.c (sjlj_emit_dispatch_table): Likewise.
-	* function.h (struct expr_status): make x_forced_labels a vector.
-	* jump.c (rebuild_jump_labels_1): Adjust.
-	* reload1.c (set_initial_label_offsets): Likewise.
-	* stmt.c (force_label_rtx): Likewise.
-	(expand_label): Likewise.
-
-2016-08-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* haifa-sched.c (fix_recovery_deps): Make ready_list a vector.
-
-2016-08-27  Patrick Palka  <ppalka@gcc.gnu.org>
-
-	PR tree-optimization/71077
-	PR tree-optimization/68542
-	* fold-const.c (fold_relational_const): Fix folding of
-	VECTOR_CST comparisons that have a scalar boolean result type.
-	(selftest::test_vector_folding): New static function.
-	(selftest::fold_const_c_tests): Call it.
-
-2016-08-27  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/extend.texi (SPU Built-in Functions): Remove stale
-	references to material formerly at IBM and Sony.
-
-2016-08-26  David Edelsohn  <dje.gcc@gmail.com>
-
-	PR target/77349
-	* config/rs6000/xcoff.h (DWARF_OFFSET_SIZE): Define as PTR_SIZE.
-
-2016-08-26  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic-show-locus.c
-	(selftest::test_fixit_consolidation): New function.
-	(selftest::diagnostic_show_locus_c_tests): Call it.
-	* gcc-rich-location.h (gcc_rich_location): Eliminate unused
-	constructor based on source_range.
-
-2016-08-26  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic-color.c (color_dict): Add "fixit-insert" and
-	"fixit-delete".
-	(parse_gcc_colors): Update description of default GCC_COLORS.
-	* diagnostic-show-locus.c (colorizer::set_fixit_hint): Delete.
-	(colorizer::set_fixit_insert): New method.
-	(colorizer::set_fixit_delete): New method.
-	(colorizer::get_color_by_name): New method.
-	(colorizer::STATE_FIXIT_INSERT): New constant.
-	(colorizer::STATE_FIXIT_DELETE): New constant.
-	(class colorizer): Drop "_cs" suffix from fields.  Delete "_ce"
-	fields in favor of new field "m_stop_color".  Add fields
-	"m_fixit_insert" and "m_fixit_delete".
-	(colorizer::colorizer): Update for above changes.  Replace
-	colorize_start calls with calls to get_color_by_name.
-	(colorizer::begin_state): Handle STATE_FIXIT_INSERT and
-	STATE_FIXIT_DELETE.  Update for field renamings.
-	(colorizer::finish_state): Simplify by using m_stop_color,
-	rather than multiple identical "*_ce" fields.
-	(colorizer::get_color_by_name): New method.
-	(layout::print_any_fixits): Print insertions and replacements
-	using the "fixit-insert" color, and deletions using the
-	"fixit-delete" color.
-	* doc/invoke.texi (-fdiagnostics-color): Update description of
-	default GCC_COLORS, and of the supported capabilities.
-
-2016-08-26  Max Filippov  <jcmvbkbc@gmail.com>
-
-	* config/xtensa/xtensa.c (xtensa_expand_prologue): Update
-	current_function_static_stack_size variable with the static
-	stack frame size of the current function when
-	flag_stack_usage_info is enabled.
-
-2016-08-26  Nathan Sidwell  <nathan@acm.org>
-
-	* ipa-inline-analysis.c (inline_write_summary): Remove unnecessary
-	assignment inside if condition.
-
-2016-08-26  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69047
-	* tree-ssa.c (maybe_rewrite_mem_ref_base): Handle general bitfield
-	extracts similar to what FRE does.
-	(non_rewritable_mem_ref_base): Likewise.
-
-2016-08-26  Joseph Myers  <joseph@codesourcery.com>
-
-	* config/i386/i386.c (ix86_libgcc_floating_mode_supported_p)
-	(TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Remove.
-	* config/i386/i386elf.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
-	* config/i386/lynx.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
-	* config/i386/netbsd-elf.h (IX86_MAYBE_NO_LIBGCC_TFMODE):
-	Likewise.
-	* config/i386/netbsd64.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
-	* config/i386/nto.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
-	* config/i386/openbsd.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
-	* config/i386/rtemself.h (IX86_NO_LIBGCC_TFMODE): Likewise.
-	* config/i386/vxworks.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
-
-2016-08-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/70473
-	* config/arm/cortex-a8-neon.md (cortex_a8_vfp_muld): Reduce
-	reservation duration to 15 cycles.
-	(cortex_a8_vfp_macs): Likewise.
-	(cortex_a8_vfp_macd): Likewise.
-	(cortex_a8_vfp_divs): Likewise.
-	(cortex_a8_vfp_divd): Likewise.
-
-2016-08-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/arm.c (arm_sets_movw_movt_fusible_p): New function.
-	(aarch_macro_fusion_pair_p): Use above to avoid early return.
-
-2016-08-26  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-	    Martin Jambhor  <mjambor@suse.cz>
-
-	* common.opt: New option -fipa-bit-cp.
-	* doc/invoke.texi: Document -fipa-bit-cp.
-	* opts.c (default_options_table): Add entry for -fipa-bit-cp.
-	(enable_fdo_optimizations): Check for flag_ipa_bit_cp.
-	* tree-ssa-ccp.h: New header file.
-	* tree-ssa-ccp.c: Include tree-ssa-ccp.h
-	(bit_value_binop_1): Change to bit_value_binop_1 and export it.
-	Replace all occurences of tree parameter by two new params: signop, int.
-	(bit_value_unop_1): Change to bit_value_unop and export it.
-	Replace all occurences of tree parameter by two new params: signop,
-	int.
-	(bit_value_binop): Change call from bit_value_binop_1 to
-	bit_value_binop.
-	(bit_value_assume_aligned): Likewise.
-	(bit_value_unop): Change call from bit_value_unop_1 to bit_value_unop.
-	(do_ssa_ccp): Pass nonzero_p || flag_ipa_cp_bit instead of nonzero_p
-	to ccp_finalize.
-	(ccp_finalize): Skip processing if val->mask == 0.
-	* ipa-cp.c: Include tree-ssa-ccp.h
-	(ipcp_bits_lattice): New class.
-	(ipcp_param_lattice (bits_lattice): New member.
-	(print_all_lattices): Call ipcp_bits_lattice::print.
-	(set_all_contains_variable): Call ipcp_bits_lattice::set_to_bottom.
-	(initialize_node_lattices): Likewise.
-	(propagate_bits_accross_jump_function): New function.
-	(propagate_constants_accross_call): Call
-	propagate_bits_accross_jump_function.
-	(ipcp_propagate_stage): Store parameter types when in_lto_p is true.
-	(ipcp_store_bits_results): New function.
-	(ipcp_driver): Call ipcp_store_bits_results.
-	* ipa-prop.h (ipa_bits): New struct.
-	(ipa_jump_func): Add new member bits of type ipa_bits.
-	(ipa_param_descriptor): Change decl to decl_or_type.
-	(ipa_get_param): Change decl to decl_or_type and assert on
-	PARM_DECL.
-	(ipa_get_type): New function.
-	(ipcp_transformation_summary): New member bits.
-	* ipa-prop.c (ipa_get_param_decl_index_1): s/decl/decl_or_type.
-	(ipa_populate_param_decls): Likewise.
-	(ipa_dump_param): Likewise.
-	(ipa_print_node_jump_functions_for_edge): Pretty-print ipa_bits jump
-	function.
-	(ipa_set_jf_unknown): Set ipa_bits::known to false.
-	(ipa_compute_jump_functions_for_edge): Compute jump function for bits
-	propagation.
-	(ipa_node_params_t::duplicate): Copy src->bits into dst->bits.
-	(ipa_write_jump_function): Add streaming for ipa_bits.
-	(ipa_read_jump_function): Add support for reading streamed ipa_bits.
-	(write_ipcp_transformation_info): Add streaming for ipa_bits
-	summary for ltrans.
-	(read_ipcp_transfomration_info): Add support for reading streamed
-	ipa_bits.
-	(ipcp_update_bits): New function.
-	(ipcp_transform_function): Call ipcp_update_bits.
-
-2016-08-25  Szabolcs Nagy  <szabolcs.nagy@arm.com>
-
-	* config/mips/linux.h (MUSL_DYNAMIC_LINKER32): Update.
-	(MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERN32): Update.
-
-2016-08-25  David Edelsohn  <dje.gcc@gmail.com>
-
-	* multiple_target.c (pass_data_dispatcher_calls): Fix typo.
-
-2016-08-25  Richard Biener  <rguenther@suse.de>
-
-	* dwarf2out.c (gen_remaining_tmpl_value_param_die_attributes):
-	Only add locations in late dwarf.
-	(gen_scheduled_generic_parms_dies): Do not set early dwarf here.
-	(dwarf2out_early_finish): But do it here.
-
-2016-08-24  Michael Collison  <michael.collison@linaro.org>
-	    Michael Collison  <michael.collison@arm.com>
-
-	* config/arm/arm-modes.def: Add new condition code mode CC_V
-	to represent the overflow bit.
-	* config/arm/arm.c (maybe_get_arm_condition_code):
-	Add support for CC_Vmode.
-	(arm_gen_unlikely_cbranch): New function to generate common
-	rtl conditional branches for overflow patterns.
-	* config/arm/arm-protos.h: Add prototype for
-	arm_gen_unlikely_cbranch.
-	* config/arm/arm.md (addv<mode>4, add<mode>3_compareV,
-	addsi3_compareV_upper): New patterns to support signed
-	builtin overflow add operations.
-	(uaddv<mode>4, add<mode>3_compareC, addsi3_compareV_upper):
-	New patterns to support unsigned builtin add overflow operations.
-	(subv<mode>4, sub<mode>3_compare1): New patterns to support signed
-	builtin overflow subtract operations,
-	(usubv<mode>4): New patterns to support unsigned builtin subtract
-	overflow operations.
-	(negvsi3, negvdi3, negdi2_compare, negsi2_carryin_compare): New patterns
-	to support builtin overflow negate operations.
-
-2016-08-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	Revert
-	2016-08-23  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	* explow.c (get_dynamic_stack_size): Take known alignment of stack
-	pointer + STACK_DYNAMIC_OFFSET into account when calculating the size
-	needed.
-
-2016-08-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* doc/fragments.texi (MULTILIB_REUSE): Mention that only options in
-	MULTILIB_OPTIONS should be used.  Small wording fixes.
-	* genmultilib: Memorize set of all option combinations in
-	combination_space.  Detect if RHS of MULTILIB_REUSE uses an option not
-	found in MULTILIB_OPTIONS by checking if option set is listed in
-	combination_space.  Output new and existing error message to stderr.
-
-2016-08-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/t-aprofile (MULTILIB_MATCHES): Add mapping for
-	-mcpu=cortex-a7, -mfpu=neon-fp16, -mfpu=fpv5-d16 and -mfpu=fp-armv8.
-	Fix typo in -mfpu=vfpv3-d16-fp16 mapping.
-	(MULTILIB_REUSE): Remove reuse rules for option set including
-	-mfpu=fp-armv8 and -mfpu=vfpv4
-
-2016-08-24  Sebastian Huber  <sebastian.huber@embedded-brains.de>
-
-	* config/arm/t-rtems: Add vfp multilib.
-
-2016-08-23  Ian Lance Taylor  <iant@golang.org>
-
-	* config/s390/s390.c (s390_asm_file_start): Call
-	default_file_start.
-
-2016-08-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_expand_vector_init): Set
-	initialization of all 0's to the 0 constant, instead of directly
-	generating XOR.  Add support for V4SImode vector initialization on
-	64-bit systems with direct move, and rework the ISA 3.0 V4SImode
-	initialization.  Change variables used in V4SFmode vector
-	intialization.  For V4SFmode vector splat on ISA 3.0, make sure
-	any memory addresses are in index form.  Add support for using
-	VSPLTH/VSPLTB to initialize vector short and vector char vectors
-	with all of the same element.
-	(regno_or_subregno): New helper function to return a register
-	number for either REG or SUBREG.
-	(rs6000_adjust_vec_address): Do not generate ADDI <reg>,R0,<num>.
-	Use regno_or_subregno where possible.
-	(rs6000_split_v4si_init_di_reg): New helper function to build up a
-	DImode value from two SImode values in order to generate V4SImode
-	vector initialization on 64-bit systems with direct move.
-	(rs6000_split_v4si_init): Split up the insns for a V4SImode vector
-	initialization.
-	(rtx_is_swappable_p): V4SImode vector initialization insn is not
-	swappable.
-	* config/rs6000/rs6000-protos.h (rs6000_split_v4si_init): Add
-	declaration.
-	* config/rs6000/vsx.md (VSX_SPLAT_I): New mode iterators and
-	attributes to initialize V8HImode and V16QImode vectors with the
-	same element.
-	(VSX_SPLAT_COUNT): Likewise.
-	(VSX_SPLAT_SUFFIX): Likewise.
-	(UNSPEC_VSX_VEC_INIT): New unspec.
-	(vsx_concat_v2sf): Eliminate using 'preferred' register classes.
-	Allow SFmode values to come from Altivec registers.
-	(vsx_init_v4si): New insn/split for V4SImode vector initialization
-	on 64-bit systems with direct move.
-	(vsx_splat_<mode>, VSX_W iterator): Rework V4SImode and V4SFmode
-	vector initializations, to allow V4SImode vector initializations
-	on 64-bit systems with direct move.
-	(vsx_splat_v4si): Likewise.
-	(vsx_splat_v4si_di): Likewise.
-	(vsx_splat_v4sf): Likewise.
-	(vsx_splat_v4sf_internal): Likewise.
-	(vsx_xxspltw_<mode>, VSX_W iterator): Eliminate using 'preferred'
-	register classes.
-	(vsx_xxspltw_<mode>_direct, VSX_W iterator): Likewise.
-	(vsx_vsplt<VSX_SPLAT_SUFFIX>_di): New insns to support
-	initializing V8HImode and V16QImode vectors with the same
-	element.
-	* config/rs6000/rs6000.h (TARGET_DIRECT_MOVE_64BIT): Disallow
-	optimization if -maltivec=be.
-
-2016-08-23  Christophe Lyon  <christophe.lyon@linaro.org>
-
-	* config/arm/arm.md (arm_movqi_insn): Swap predicable_short_it
-	attribute for alternatives 3 and 4.
-
-2016-08-23  David Malcolm  <dmalcolm@redhat.com>
-
-	* selftest.c (selftest::assert_str_contains): New function.
-	(selftest::test_assertions): Verify ASSERT_STR_CONTAINS.
-	* selftest.h (selftest::assert_str_contains): New decl.
-	(ASSERT_STR_CONTAINS): New macro.
-
-2016-08-23  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/77286
-	* tree-vect-loop.c (vect_analyze_loop_form_1): Do not modify
-	the CFG here.
-	(vect_transform_loop): Split exit edges of loop and scalar
-	loop if required and at the appropriate time.
-
-2016-08-23  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	* explow.c (get_dynamic_stack_size): Take known alignment of stack
-	pointer + STACK_DYNAMIC_OFFSET into account when calculating the size
-	needed.
-	Correct a typo in a comment.
-
-2016-08-23  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	* config/s390/s390.md ("*andc_split"): New splitter for and with
-	complement.
-
-2016-08-23  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/27336
-	* tree-vrp.c (infer_value_range): Handle stmts that can throw
-	by looking for a non-EH edge.
-	(process_assert_insertions_for): Likewise.
-
-2016-08-23  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/77305
-	* statistics.c (statistics_counter_event): Robustify against
-	NULL current_pass.
-
-2016-08-23  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
-
-	* config/i386/i386.c (processor_alias_table): Enable PTA_PRFCHW
-	for targets amdfam10 and barcelona.
-
-2016-08-22  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*zero_extendsidi2): Add (*r,*k) alternative.
-	(zero_extend<mode>di2): Ditto.
-	(*zero_extend<mode>si2): Ditto.
-	(*zero_extendqihi2): Ditto.
-
-2016-08-22  Joseph Myers  <joseph@codesourcery.com>
-
-	PR middle-end/77269
-	* builtins.c (fold_builtin_classify): Use builtin_decl_explicit
-	(BUILT_IN_SIGNBIT) to expand __builtin_isinf_sign.
-
-2016-08-22  Patrick Palka  <ppalka@gcc.gnu.org>
-
-	* print-tree.c (print_node) [VECTOR_CST]: Coalesce the output of
-	identical consecutive elements.
-	[SSA_NAME]: Print the name's def stmt on its own line.  When printing
-	the node's def stmt, avoid printing an unwanted trailing newline by
-	replacing the call to print_gimple_stmt() with its inlined body and
-	adjusting it to not set pp_needs_newline and to call pp_flush()
-	instead of pp_newline_and_flush().
-
-2016-08-22  Joseph Myers  <joseph@codesourcery.com>
-
-	* tree.h (CASE_FLT_FN_FLOATN_NX, float16_type_node)
-	(float32_type_node, float64_type_node, float32x_type_node)
-	(float128x_type_node): New macros.
-	* builtin-types.def (BT_FLOAT16, BT_FLOAT32, BT_FLOAT64)
-	(BT_FLOAT128, BT_FLOAT32X, BT_FLOAT64X, BT_FLOAT128X)
-	(BT_FN_FLOAT16, BT_FN_FLOAT32, BT_FN_FLOAT64, BT_FN_FLOAT128)
-	(BT_FN_FLOAT32X, BT_FN_FLOAT64X, BT_FN_FLOAT128X)
-	(BT_FN_FLOAT16_FLOAT16, BT_FN_FLOAT32_FLOAT32)
-	(BT_FN_FLOAT64_FLOAT64, BT_FN_FLOAT128_FLOAT128)
-	(BT_FN_FLOAT32X_FLOAT32X, BT_FN_FLOAT64X_FLOAT64X)
-	(BT_FN_FLOAT128X_FLOAT128X, BT_FN_FLOAT16_CONST_STRING)
-	(BT_FN_FLOAT32_CONST_STRING, BT_FN_FLOAT64_CONST_STRING)
-	(BT_FN_FLOAT128_CONST_STRING, BT_FN_FLOAT32X_CONST_STRING)
-	(BT_FN_FLOAT64X_CONST_STRING, BT_FN_FLOAT128X_CONST_STRING)
-	(BT_FN_FLOAT16_FLOAT16_FLOAT16, BT_FN_FLOAT32_FLOAT32_FLOAT32)
-	(BT_FN_FLOAT64_FLOAT64_FLOAT64, BT_FN_FLOAT128_FLOAT128_FLOAT128)
-	(BT_FN_FLOAT32X_FLOAT32X_FLOAT32X)
-	(BT_FN_FLOAT64X_FLOAT64X_FLOAT64X)
-	(BT_FN_FLOAT128X_FLOAT128X_FLOAT128X): New type definitions.
-	* builtins.def (DEF_GCC_FLOATN_NX_BUILTINS): New macro.
-	(copysign, fabs, huge_val, inf, nan, nans): Use it.
-	* builtins.c (expand_builtin): Use CASE_FLT_FN_FLOATN_NX for fabs
-	and copysign.
-	(fold_builtin_0): Use CASE_FLT_FN_FLOATN_NX for inf and huge_val.
-	(fold_builtin_1): Use CASE_FLT_FN_FLOATN_NX for fabs.
-	* doc/extend.texi (Other Builtins): Document these built-in
-	functions.
-	* fold-const-call.c (fold_const_call): Use CASE_FLT_FN_FLOATN_NX
-	for nan and nans.
-
-2016-08-22  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/install.texi (Binaries): www.opencsw.org now uses https.
-
-2016-08-22  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-forwprop.c (pass_forwprop::execute): Use RPO order.
-
-2016-08-21  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/77270
-	* config/i386/i386.md (prefetch): When TARGET_PRFCHW or
-	TARGET_PREFETCHWT1 are disabled, emit 3dNOW! write prefetches for
-	non-SSE2 athlons only, otherwise prefer SSE prefetches.
-
-2016-08-20  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* tree-vrp.c (vrp_visit_assignment_or_call): Changed to Return VR.
-	(vrp_visit_cond_stmt): Just sets TAKEN_EDGE_P.
-	(vrp_visit_switch_stmt): Likewise.
-	(extract_range_from_stmt): Factored out from vrp_visit_stmt.
-	(extract_range_from_phi_node): Factored out from vrp_visit_phi_stmt.
-	(vrp_visit_stmt): Use extract_range_from_stmt.
-	(vrp_visit_phi_node): Use extract_range_from_phi_node.
-
-2016-08-20  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* Makefile.in: Add tree-vrp.h to GTFILES.
-	* gengtype.c (open_base_files): Add tree-vrp.h.
-	* asan.c: Add tree-vrp.h which now has the definition value_range_type.
-	* builtins.c: Likewise.
-	* fold-const.c: Likewise.
-	* gimple-builder.c: Likewise.
-	* gimple-laddress.c: Likewise.
-	* hsa-gen.c: Likewise.
-	* internal-fn.c: Likewise.
-	* ssa.h: Likewise.
-	* targhooks.c: Liewise,
-	* tree-ssa-address.c: Likewise.
-	* tree-ssanames.h (value_range_type: Move to tree-vrp.h.
-	* tree-vrp.c (struct value_range): Move to tree-vrp.h
-	* tree-vrp.h: New file.
-
-2016-08-20  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	PR tree-optimization/61839
-	* tree-vrp.c (two_valued_val_range_p): New.
-	(simplify_stmt_using_ranges): Convert CST BINOP VAR where VAR is
-	two-valued to VAR == VAL1 ? (CST BINOP VAL1) : (CST BINOP VAL2).
-	Also Convert VAR BINOP CST where VAR is two-valued to
-	VAR == VAL1 ? (VAL1 BINOP CST) : (VAL2 BINOP CST).
-
-2016-08-19  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic-show-locus.c
-	(layout::annotation_line_showed_range_p): New method.
-	(layout::print_any_fixits): Remove case fixit_hint::REMOVE.
-	Reimplement case fixit_hint::REPLACE to cover removals, and
-	replacements where the range of the replacement isn't one
-	of the ranges in the rich_location.
-	(test_one_liner_fixit_replace): Likewise.
-	(selftest::test_one_liner_fixit_replace_non_equal_range): New
-	function.
-	(selftest::test_one_liner_fixit_replace_equal_secondary_range):
-	New function.
-	(selftest::test_diagnostic_show_locus_one_liner): Call the new
-	functions.
-	* diagnostic.c (print_parseable_fixits): Remove case
-	fixit_hint::REMOVE.
-
-2016-08-19  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/77270
-	* config/i386/i386.c (ix86_option_override_internal): Remove
-	PTA_PRFCHW from entries that also have PTA_3DNOW flag.
-	Enable SSE prefetch also for TARGET_PREFETCHWT1.
-	Do not try to enable TARGET_PRFCHW ISA flag here.
-	* config/i386/i386.md (prefetch): Enable also for TARGET_3DNOW.
-	Rewrite expander function body.
-	(*prefetch_3dnow): Enable for TARGET_3DNOW and TARGET_PREFETCHWT1.
-
-2016-08-19  Joseph Myers  <joseph@codesourcery.com>
-
-	PR c/32187
-	* tree-core.h (TI_COMPLEX_FLOAT16_TYPE)
-	(TI_COMPLEX_FLOATN_NX_TYPE_FIRST, TI_COMPLEX_FLOAT32_TYPE)
-	(TI_COMPLEX_FLOAT64_TYPE, TI_COMPLEX_FLOAT128_TYPE)
-	(TI_COMPLEX_FLOAT32X_TYPE, TI_COMPLEX_FLOAT64X_TYPE)
-	(TI_COMPLEX_FLOAT128X_TYPE, TI_FLOAT16_TYPE, TI_FLOATN_TYPE_FIRST)
-	(TI_FLOATN_NX_TYPE_FIRST, TI_FLOAT32_TYPE, TI_FLOAT64_TYPE)
-	(TI_FLOAT128_TYPE, TI_FLOATN_TYPE_LAST, TI_FLOAT32X_TYPE)
-	(TI_FLOATNX_TYPE_FIRST, TI_FLOAT64X_TYPE, TI_FLOAT128X_TYPE)
-	(TI_FLOATNX_TYPE_LAST, TI_FLOATN_NX_TYPE_LAST): New enum
-	tree_index values.
-	(NUM_FLOATN_TYPES, NUM_FLOATNX_TYPES, NUM_FLOATN_NX_TYPES): New
-	macros.
-	(struct floatn_type_info): New structure type.
-	(floatn_nx_types): New variable declaration.
-	* tree.h (FLOATN_TYPE_NODE, FLOATN_NX_TYPE_NODE)
-	(FLOATNX_TYPE_NODE, float128_type_node, float64x_type_node)
-	(COMPLEX_FLOATN_NX_TYPE_NODE): New macros.
-	* tree.c (floatn_nx_types): New variable.
-	(build_common_tree_nodes): Initialize _FloatN, _FloatNx and
-	corresponding complex types.
-	* target.def (floatn_mode): New hook.
-	* targhooks.c: Include "real.h".
-	(default_floatn_mode): New function.
-	* targhooks.h (default_floatn_mode): New prototype.
-	* doc/extend.texi (Floating Types): Document _FloatN and _FloatNx
-	types.
-	* doc/sourcebuild.texi (float@var{n}, float@var{n}x): Document new
-	effective-target and dg-add-options keywords.
-	(float@var{n}_runtime, float@var{n}x_runtime, floatn_nx_runtime):
-	Document new effective-target keywords.
-	* doc/tm.texi.in (TARGET_FLOATN_MODE): New @hook.
-	* doc/tm.texi: Regenerate.
-	* ginclude/float.h (LDBL_DECIMAL_DIG): Define to
-	__LDBL_DECIMAL_DIG__, not __DECIMAL_DIG__.
-	[__STDC_WANT_IEC_60559_TYPES_EXT__]: Define macros from TS
-	18661-3.
-	* real.h (struct real_format): Add field ieee_bits.
-	* real.c (ieee_single_format, mips_single_format)
-	(motorola_single_format, spu_single_format, ieee_double_format)
-	(mips_double_format, motorola_double_format)
-	(ieee_extended_motorola_format, ieee_extended_intel_96_format)
-	(ieee_extended_intel_128_format)
-	(ieee_extended_intel_96_round_53_format, ibm_extended_format)
-	(mips_extended_format, ieee_quad_format, mips_quad_format)
-	(vax_f_format, vax_d_format, vax_g_format, decimal_single_format)
-	(decimal_double_format, decimal_quad_format, ieee_half_format)
-	(arm_half_format, real_internal_format: Initialize ieee_bits
-	field.
-	* config/i386/i386.c (ix86_init_builtin_types): Do not initialize
-	float128_type_node.  Set float80_type_node to float64x_type_node
-	if appropriate and long_double_type_node not appropriate.
-	* config/ia64/ia64.c (ia64_init_builtins): Likewise.
-	* config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format):
-	Initialize ieee_bits field.
-	* config/rs6000/rs6000.c (TARGET_FLOATN_MODE): New macro.
-	(rs6000_init_builtins): Set ieee128_float_type_node to
-	float128_type_node.
-	(rs6000_floatn_mode): New function.
-
-2016-08-19  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/rdseedintrin.h (_rdseed16_step, _rdseed32_step,
-	_rdseed64_step): Uglify argument names and/or local variable names
-	in inline functions.
-	* config/i386/rtmintrin.h (_xabort): Likewise.
-	* config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64,
-	_mm256_mask_ternarylogic_epi64, _mm256_maskz_ternarylogic_epi64,
-	_mm256_ternarylogic_epi32, _mm256_mask_ternarylogic_epi32,
-	_mm256_maskz_ternarylogic_epi32, _mm_ternarylogic_epi64,
-	_mm_mask_ternarylogic_epi64, _mm_maskz_ternarylogic_epi64,
-	_mm_ternarylogic_epi32, _mm_mask_ternarylogic_epi32,
-	_mm_maskz_ternarylogic_epi32): Likewise.
-	* config/i386/lwpintrin.h (__llwpcb, __lwpval32, __lwpval64,
-	__lwpins32, __lwpins64): Likewise.
-	* config/i386/avx2intrin.h (_mm_i32gather_pd, _mm_mask_i32gather_pd,
-	_mm256_i32gather_pd, _mm256_mask_i32gather_pd, _mm_i64gather_pd,
-	_mm_mask_i64gather_pd, _mm256_i64gather_pd, _mm256_mask_i64gather_pd,
-	_mm_i32gather_ps, _mm_mask_i32gather_ps, _mm256_i32gather_ps,
-	_mm256_mask_i32gather_ps, _mm_i64gather_ps, _mm_mask_i64gather_ps,
-	_mm256_i64gather_ps, _mm256_mask_i64gather_ps, _mm_i32gather_epi64,
-	_mm_mask_i32gather_epi64, _mm256_i32gather_epi64,
-	_mm256_mask_i32gather_epi64, _mm_i64gather_epi64,
-	_mm_mask_i64gather_epi64, _mm256_i64gather_epi64,
-	_mm256_mask_i64gather_epi64, _mm_i32gather_epi32,
-	_mm_mask_i32gather_epi32, _mm256_i32gather_epi32,
-	_mm256_mask_i32gather_epi32, _mm_i64gather_epi32,
-	_mm_mask_i64gather_epi32, _mm256_i64gather_epi32,
-	_mm256_mask_i64gather_epi32): Likewise.
-	* config/i386/pmm_malloc.h (_mm_malloc, _mm_free): Likewise.
-	* config/i386/ia32intrin.h (__writeeflags): Likewise.
-	* config/i386/pkuintrin.h (_wrpkru): Likewise.
-	* config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd,
-	_mm512_mask_prefetch_i32gather_ps, _mm512_mask_prefetch_i64gather_pd,
-	_mm512_mask_prefetch_i64gather_ps, _mm512_prefetch_i32scatter_pd,
-	_mm512_prefetch_i32scatter_ps, _mm512_mask_prefetch_i32scatter_pd,
-	_mm512_mask_prefetch_i32scatter_ps, _mm512_prefetch_i64scatter_pd,
-	_mm512_prefetch_i64scatter_ps, _mm512_mask_prefetch_i64scatter_pd,
-	_mm512_mask_prefetch_i64scatter_ps): Likewise.
-	* config/i386/gmm_malloc.h (_mm_malloc, _mm_free): Likewise.
-	* config/i386/avx512fintrin.h (_mm512_ternarylogic_epi64,
-	_mm512_mask_ternarylogic_epi64, _mm512_maskz_ternarylogic_epi64,
-	_mm512_ternarylogic_epi32, _mm512_mask_ternarylogic_epi32,
-	_mm512_maskz_ternarylogic_epi32, _mm512_i32gather_ps,
-	_mm512_mask_i32gather_ps, _mm512_i32gather_pd, _mm512_i64gather_ps,
-	_mm512_i64gather_pd, _mm512_i32gather_epi32, _mm512_i32gather_epi64,
-	_mm512_i64gather_epi32, _mm512_i64gather_epi64): Likewise.
-
-	* config/i386/fxsrintrin.h (_fxsave): Remove return keyword in inlines
-	returning void.
-	(_fxrstor, _fxsave64, _fxrstor64): Likewise.
-	* config/i386/xsaveintrin.h (_xsave, _xrstor, _xsave64, _xrstor64):
-	Likewise.
-	* config/i386/xsaveoptintrin.h (_xsaveopt, _xsaveopt64): Likewise.
-	* config/i386/pkuintrin.h (_wrpkru): Likewise.  Add space after
-	function name.
-	(_rdpkru_u32): Add space after function name.
-
-	* config/i386/t-i386 (i386-c.o): Don't depend on
-	i386-builtin-types.inc.
-	(i386.o): Depend on i386-builtin-types.inc.
-
-2016-08-19  Matthew Wahab  <matthew.wahab@arm.com>
-
-	PR target/77281
-	* config/arm/arm.c (neon_valid_immediate): Delete declaration.
-	Use const_vec_duplicate to check for duplicated elements.
-
-2016-08-19  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/77290
-	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
-	Fix flag_tree_parallelize_loops check.
-
-2016-08-19  Richard Biener  <rguenther@suse.de>
-
-	* match.pd (x | 0 -> x): Add.
-
-2016-08-19  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/77286
-	* tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
-	Deal with virtual PHIs being out-of-order.
-
-2016-08-18  David Malcolm  <dmalcolm@redhat.com>
-
-	* doc/invoke.texi (fverbose-asm): Note that source code lines
-	are emitted, and provide an example.
-	* final.c (asm_show_source): New function.
-	(final_scan_insn): Call asm_show_source.
-
-2016-08-18  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic-show-locus.c (colorizer::colorizer): Replace diagnostic
-	param with diagnostic_kind.
-	(class colorizer): Similarly replace field m_diagnostic with
-	m_diagnostic_kind.
-	(colorizer::colorizer): Replace diagnostic
-	param with diagnostic_kind.
-	(colorizer::begin_state): Update for above field change.
-	(layout::layout): Replace diagnostic param with rich_location *
-	and diagnostic_kind.
-	(diagnostic_show_locus): Replace diagnostic param with richloc
-	and diagnostic_kind.
-	(class selftest::test_diagnostic_context): New class.
-	(selftest::test_diagnostic_show_locus_unknown_location): New
-	function.
-	(selftest::test_one_liner_simple_caret): New function.
-	(selftest::test_one_liner_caret_and_range): New function.
-	(selftest::test_one_liner_multiple_carets_and_ranges): New
-	function.
-	(selftest::test_one_liner_fixit_remove): New function.
-	(selftest::test_one_liner_fixit_replace): New function.
-	(selftest::test_diagnostic_show_locus_one_liner): New function.
-	(selftest::diagnostic_show_locus_c_tests): Call the new test
-	functions.
-	* diagnostic.c (diagnostic_initialize): Initialize
-	colorize_source_p, show_ruler_p and parseable_fixits_p.
-	(default_diagnostic_finalizer): Update for change to
-	diagnostic_show_locus.
-	(diagnostic_append_note): Likewise.
-	* diagnostic.h (diagnostic_show_locus): Replace
-	const diagnostic_info * param with location * and diagnostic_t.
-
-2016-08-18  David Malcolm  <dmalcolm@redhat.com>
-
-	* input.c (saved_line_table): New global.
-	(class selftest::temp_line_table): Rename to line_table_test and
-	move declaration to selftest.h, and drop field m_old_line_table.
-	(selftest::temp_line_table::temp_line_table): Rename ctor to...
-	(selftest::line_table_test::line_table_test): ...this.  Add a
-	default ctor.  Store current value of line_table within
-	saved_line_table.
-	(selftest::temp_line_table::~temp_line_table): Rename dtor to...
-	(selftest::line_table_test::~line_table_test): ...this, and
-	restore line_table from the saved_line_table, rather than
-	m_old_line_table.
-	(selftest::test_accessing_ordinary_linemaps): Update for above
-	renaming.
-	(selftest::test_lexer): Likewise.
-	(struct selftest::lexer_test): Likewise.
-	(selftest::lexer_test::lexer_test): Likewise.
-	(selftest::input_c_tests): Move the looping over test cases from
-	here into...
-	(selftest::for_each_line_table_case): New function.
-	* input.h (saved_line_table): New decl.
-	* selftest.h (struct selftest::line_table_case): New forward decl.
-	(class selftest::line_table_test): New class, moved here from
-	selftest::temp_line_table in input.c, and renamed.
-	(selftest::for_each_line_table_case): New decl.
-
-2015-08-18  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/72839
-	* config/i386/i386.c (lakemont_cost): Set MOVE_RATIO to 17.
-
-2016-08-18  Chung-Lin Tang  <cltang@codesourcery.com>
-
-	PR middle-end/70895
-	* gimplify.c (omp_add_variable): Adjust/add variable mapping on
-	enclosing parallel construct for reduction variables on OpenACC loop
-	directives.
-
-2016-08-18  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* dwarf2out.c (copy_dwarf_procedure): Remove obsolete comment.
-	(new_dwarf_proc_die): Emit DW_TAG_dwarf_procedure DIEs even for
-	-gdwarf-3.
-	(function_to_dwarf_procedure): Update comment.
-
-2016-08-18  David Malcolm  <dmalcolm@redhat.com>
-
-	* input.c (diagnostics_file_cache_forcibly_evict_file): New
-	function.
-	* input.h (diagnostics_file_cache_forcibly_evict_file): New
-	declaration.
-	* selftest.c (selftest::temp_source_file::~temp_source_file):
-	Evict m_filename from the diagnostic file cache.
-
-2016-08-18  Richard Biener  <rguenther@suse.de>
-
-	* tree-pass.h (make_pass_materialize_all_clones): Declare.
-	* ipa.c (pass_data_materialize_all_clones, pass_materialize_all_clones,
-	make_pass_materialize_all_clones): New simple IPA pass encapsulating
-	clone materialization.
-	* passes.def (all_late_ipa_passes): Start with
-	pass_materialize_all_clones.
-	* cgraphunit.c (symbol_table::compile): Remove call to
-	materialize_all_clones.
-	* tree-into-ssa.c: Include statistics.h.
-	(update_ssa): Count number of times we do incremental/rewrite
-	SSA update.
-
-2016-08-18  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/77282
-	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
-	When doing auto-parallelizing also prevent use of PHIs that
-	carry dependences across loop backedges.
-
-2016-08-18  Tamar Christina  <tamar.christina@arm.com>
-	    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
-
-	* varasm.c (default_use_anchors_for_symbol_p): Reject too large decls.
-
-2016-08-18  Richard Biener  <rguenther@suse.de>
-
-	* ssa-iterators.h (ssa_vuse_operand): New inline.
-	* tree-if-conv.c (ifc_temp_var): Update virtual operand.
-	(predicate_all_scalar_phis): Use remove_phi_node to remove
-	phi nodes predicated.  Delay removing virtual PHIs.
-	(predicate_mem_writes): Update virtual operands.
-	(combine_blocks): Likewise.  Propagate out remaining virtual PHIs.
-	(tree_if_conversion): Do not rewrite virtual SSA form.
-	* tree-phinodes.c (release_phi_node): Make static.
-	* tree-phinodes.h (release_phi_node): Remove.
-
-2016-08-18  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/i386.c (enum ix86_builtins): Remove IX86_BUILTIN_*
-	codes that appear in bdesc_* arrays, instead include i386-builtin.def
-	twice to define those.
-	(bdesc_comi, bdesc_pcmpestr, bdesc_pcmpistr, bdesc_special_args,
-	bdesc_args, bdesc_round_args, bdesc_mpx, bdesc_mpx_const,
-	bdesc_multi_arg): Define by including i386-builtin.def the third time.
-	* config/i386/i386-builtin.def: New file.
-
-2016-08-17  David Malcolm  <dmalcolm@redhat.com>
-
-	* input.c (get_source_range_for_char): Rename to...
-	(selftest::get_source_range_for_char): ...this, and move within
-	the #if CHECKING_P guard.
-	(get_num_source_ranges_for_substring): Rename to...
-	(selftest::get_num_source_ranges_for_substring): ...this, move
-	within the #if CHECKING_P guard, and make static.
-	(selftest::assert_num_substring_ranges): Initialize
-	actual_num_ranges.
-
-2016-08-18  Alan Modra  <amodra@gmail.com>
-
-	PR rtl-optimization/72771
-	* reload.c (find_reloads): Don't assume that a subreg mem is OK
-	when find_reloads_toplev returns address_reloaded==-1.
-	(alternative_allows_const_pool_ref): Update comment.
-
-2015-08-17  Alan Hayward  <alan.hayward@arm.com>
-
-	PR tree-optimization/71752
-	* tree-vect-loop.c (vectorizable_reduction): Keep SLP operand ordering.
-	* tree-vect-slp.c (vect_get_slp_defs): Handle null operands.
-
-2016-08-17  Jakub Jelinek  <jakub@redhat.com>
-
-	* gimple-fold.c (gimple_fold_call): Use gimple_call_noreturn_p
-	instead of testing ECF_NORETURN bit in gimple_call_flags.
-	* tree-cfg.c (make_edges_bb, execute_fixup_cfg): Likewise.
-	* predict.c (tree_bb_level_predictions): Likewise.
-	* gimple-low.c (gimple_stmt_may_fallthru): Likewise.
-
-	PR middle-end/77259
-	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): If
-	turning a call into __builtin_unreachable-like noreturn call, adjust
-	gimple_call_set_fntype.
-	* tree-cfgcleanup.c (fixup_noreturn_call): Remove lhs also if
-	gimple_call_fntype has void return type.
-
-2016-08-17  Chung-Lin Tang  <cltang@codesourcery.com>
-
-	* omp-low.c (lower_oacc_reductions): Adjust variable lookup to use
-	maybe_lookup_decl, to handle nested acc loop directives.
-
-2016-08-17  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/76490
-	* tree-vrp.c (update_value_range): Preserve overflow infinities
-	when intersecting with ranges from get_range_info.
-	(operand_less_p): Handle overflow infinities correctly.
-	(value_range_constant_singleton): Use vrp_operand_equal_p
-	to handle overflow max/min correctly.
-	(vrp_valueize): Likewise.
-	(union_ranges): Likewise.
-	(intersect_ranges): Likewise.
-	(vrp_visit_phi_node): Improve iteration limitation to only
-	apply when we'll possibly re-visit the PHI via a changed argument
-	on the backedge.
-
-2016-08-17  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/t-aprofile (MULTILIB_EXCEPTIONS): Rewrite into ...
-	(MULTILIB_REQUIRED): This by specifying multilib needing to be built
-	rather than those that should not be built.
-
-2016-08-17  Stanislaw Halik  <sthalik@misaki.pl>
-
-	PR target/66488
-	* config/i386/xm-mingw32.h (HOST_BITS_PER_PTR): Define if __x86_64__.
-
-2016-08-17  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa.c: Include tree-cfg.h and tree-dfa.h.
-	(verify_vssa): New function verifying virtual SSA form.
-	(verify_ssa): Call it.
-	* tree-ssa-loop-manip.c (slpeel_update_phi_nodes_for_guard2):
-	Do not apply loop-closed SSA handling to virtuals.
-	* ssa-iterators.h (op_iter_init): Handle GIMPLE_TRANSACTION.
-	* tree-into-ssa.c (prepare_use_sites_for): Skip virtual SSA names
-	when rewriting their symbol.
-	(prepare_def_site_for): Likewise.
-	* tree-chkp-opt.c (chkp_reduce_bounds_lifetime): Clear virtual
-	operands of moved stmts.
-
-2016-08-17  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/23855
-	* tree-ssa-loop-unswitch.c: Include tree-ssa-loop-manip.h.
-	(tree_unswitch_outer_loop): Iterate find_loop_guard as long as we
-	find guards to hoist.  Do not update SSA form but rewrite virtuals
-	into loop closed SSA.
-	(find_loop_guard): Adjust to skip already hoisted guards.  Do
-	not mark virtuals for renaming or update SSA form.
-
-2016-08-17  Martin Liska  <mliska@suse.cz>
-
-	* coverage.c (get_gcov_type): Replace GCOV_TYPE_SIZE with
-	a LONG_LONG_TYPE_SIZE comparison.
-	* gcov-io.h: Remove macro definitions.
-	* tree-profile.c (gimple_gen_edge_profiler): Replace usage
-	of GCOV_TYPE_ATOMIC_FETCH_ADD with a LONG_LONG_TYPE_SIZE
-	comparison.
-
-2016-08-16  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/i386.c (enum ix86_builtins): Reorder enumerators, so
-	that builtins not mentioned in bdesc_* arrays come first, then
-	the ones mentioned in bdesc_* arrays in the order they appear in
-	the arrays in between IX86_BUILTIN__BDESC_*_FIRST and
-	IX86_BUILTIN__BDESC_*_LAST enumerator.
-	(bdesc_mpx): Fix up a comment typo.
-	(bdesc_multi_arg): Remove __builtin_ia32_vpcomne[bwdq] and
-	__builtin_ia32_vpcomneu[bwdq] builtins.
-	(BDESC_VERIFY, BDESC_VERIFYS): Define.
-	(ix86_init_mmx_sse_builtins, ix86_init_mpx_builtins): Verify
-	enum ix86_builtins ordering.
-	(ix86_expand_builtin): Use enum ix86_builtins ordering assumption
-	for direct bdesc_* array member access instead of searching all the
-	arrays until an fcode match is found.
-
-2016-08-16  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*ashl<mode>3_mask): Rewrite define_insn
-	pattern as define_insn_and_split.  Split insn before reload to
-	ashl<mode>3_1.
-	(*<shift_insn><mode>3_mask): Ditto.  Split insn before reload to
-	<shift_insn><mode>3_1.
-	(*<rotate_insn><mode>3_mask): Ditto.  Split insn before reload to
-	<rotate_insn><mode>3_1.
-
-2016-08-16  David Malcolm  <dmalcolm@redhat.com>
-
-	PR c/72857
-	* input.c (get_source_range_for_substring): Rename to...
-	(get_source_location_for_substring): ...this, adding param
-	"caret_idx", and converting output param from source_range * to
-	location_t *.
-	(get_source_range_for_char): New function.
-	(get_num_source_ranges_for_substring): Update comment to reflect
-	above renaming.
-	(assert_char_at_range): Update to use get_source_range_for_char
-	rather than get_source_range_for_substring.
-	(test_lexer_string_locations_concatenation_2): Likewise.
-	* substring-locations.h (get_source_range_for_substring): Rename
-	to...
-	(get_source_location_for_substring): ...this, and adding param
-	"caret_idx", and converting output param from source_range * to
-	location_t *.
-
-2016-08-16  David Malcolm  <dmalcolm@redhat.com>
-
-	* input.c (class selftest::temp_source_file): Move to
-	selftest.h.
-	(selftest::temp_source_file::temp_source_file): Move to
-	selftest.c.
-	(selftest::temp_source_file::~temp_source_file): Likewise.
-	* selftest.c (selftest::temp_source_file::temp_source_file): Move
-	here from input.c.
-	(selftest::temp_source_file::~temp_source_file): Likewise.
-	* selftest.h (class selftest::temp_source_file): Move here from
-	input.c
-
-2016-08-16  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/71910
-	* tree-cfg.c (execute_fixup_cfg): Add node variable, use it.  Before
-	inlining, add cgraph edge for the added __builtin_unreachable call.
-
-	PR middle-end/67485
-	* expmed.c (expand_mult_const): Change val_so_far's type to UHWI,
-	only cast it to SHWI for the final comparison.
-
-2016-08-16  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/36412
-	* doc/gcov.texi: Document --hash-filenames(-x).
-	* gcov.c (print_usage): Add the option.
-	(process_args): Process the option, sort options alphabetically.
-	(md5sum_to_hex): New function.
-	(make_gcov_file_name): Do the md5sum and append it to a
-	filename.
-
-2016-08-16  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/69848
-	* config/aarch64/aarch64-simd.md (vcond<mode><mode>): Invert NE
-	and swtich operands to avoid additional NOT instruction.
-	(vcond<v_cmp_mixed><mode>): Ditto.
-	(vcondu<mode><mode>, vcondu<mode><v_cmp_mixed>): Ditto.
-
-2016-08-16  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* doc/install.texi (*-*-solaris2*): Adjust latest change.
-
-2016-08-16  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/76783
-	* tree-ssa-propagate.c (ssa_prop_init): Use RPO order.  Clear
-	BB visited flags at start.
-
-2016-08-16  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/72817
-	PR tree-optimization/73450
-	* tree-ssa-loop-niter.c (number_of_iterations_ne): Check
-	multiple_of_p for adjusted IV.base.
-
-2016-08-15  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/72867
-	* config/i386/sse.md (<code><mode>3<mask_name><round_saeonly_name>):
-	Emit ieee_<ieee_maxmin><mode>3<mask_name><round_saeonly_name>
-	for !flag_finite_math_only or flag_signed_zeros.
-	(*<code><mode>3<mask_name><round_saeonly_name>): Rename from
-	*<code><mode>3_finite<mask_name><round_saeonly_name>.  Do not
-	depend on flag_finite_math_only.
-	(ieee_<ieee_maxmin><mode>3<mask_name><round_saeonly_name>):
-	New insn pattern.
-	(*<code><mode>3<mask_name><round_saeonly_name>): Remove.
-	(*ieee_smin<mode>3): Ditto.
-	(*ieee_smax<mode>3): Ditto.
-	* config/i386/mmx.md (mmx_<code>v2sf3): Emit
-	mmx_ieee_<ieee_maxmin>v2sf3 for !flag_finite_math_only or
-	flag_signed_zeros.
-	(*mmx_<code>v2sf3): Rename from *mmx_<code>v2sf3_finite.  Do not
-	depend on flag_finite_math_only.
-	(mmx_ieee_<ieee_maxmin>v2sf3): New insn pattern.
-	(*mmx_<code>v2sf3): Remove.
-	* config/i386/subst.md (round_saeonly_mask_arg3): New subst attribute.
-	* config/i386/i386.c (ix86_expand_sse_fp_mimnax): Check
-	flag_signed_zeros instead of !flag_unsafe_math_optimizations.
-
-2016-08-15  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/73650
-	* lra-constraints.c (simple_move_p): If the insn is multiple_sets
-	it is not a simple move.
-
-2016-08-15  Martin Liska  <mliska@suse.cz>
-
-	PR driver/72765
-	* gcc.c (do_spec_1): Call save_string with the right size.
-	(save_string): Do an assert about string we copy.
-
-2016-08-15  Richard Biener  <rguenther@suse.de>
-
-	* ree.c (rest_of_handle_ree): Remove redundant timevar push/pop.
-	* config/i386/i386.c (pass_data_insert_vzeroupper): Account to
-	TV_MACH_DEP.
-	(pass_data_stv): Likewise.
-
-2016-08-15  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/73434
-	* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Preserve
-	TBAA info on the base when forwarding a non-invariant address.
-
-2016-08-15  Jakub Jelinek  <jakub@redhat.com>
-
-	* dwarf2out.c (struct checksum_attributes): Add
-	at_string_length_bit_size and at_string_length_byte_size fields.
-	(collect_checksum_attributes): Handle DW_AT_string_length_bit_size
-	and DW_AT_string_length_byte_size.
-	(die_checksum_ordered): Handle at_string_length_bit_size and
-	at_string_length_byte_size.
-	(gen_array_type_die): For dwarf_version >= 5 emit
-	DW_AT_string_length_byte_size instead of DW_AT_byte_size.
-	(adjust_string_types): For dwarf_version >= 5 remove
-	DW_AT_string_length_byte_size instead of DW_AT_byte_size.
-	(resolve_addr): Likewise.
-
-	PR debug/71906
-	* dwarf2out.c (string_types): New variable.
-	(gen_array_type_die): Change early_dwarf handling of
-	DW_AT_string_length, create DW_OP_call4 referencing the
-	length var temporarily.  Handle parameters that are pointers
-	to string length.
-	(adjust_string_types): New function.
-	(gen_subprogram_die): Temporarily set string_types to local var,
-	call adjust_string_types if needed.
-	(non_dwarf_expression, copy_deref_exprloc, optimize_string_length):
-	New functions.
-	(resolve_addr): Adjust DW_AT_string_length if it is DW_OP_call4.
-
-2016-08-15  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* doc/install.texi (*-*-solaris2*): Fix version number and document
-	requirement on GNU make for building libjava with the Solaris linker.
-
-2016-08-15  Martin Liska  <mliska@suse.cz>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/72824
-	* tree-loop-distribution.c (const_with_all_bytes_same)
-	<case VECTOR_CST>: Fix a typo.
-
-2016-08-14  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/76342
-	* config/i386/avx512fintrin.h (_mm512_undefined_epi32):
-	Renamed from _mm512_undefined_si512.
-	(_mm_undefined_si512): New definition.
-
-2016-08-13  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-forwprop.c (pass_forwprop::execute): Propagate
-	into PHIs and update the lattice for its def.
-
-2016-08-12  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c/71512
-	* ubsan.c (instrument_si_overflow): Pass true instead of false
-	to gsi_replace.
-	(pass_ubsan::execute): Call gimple_purge_dead_eh_edges at the end
-	of bbs.  Return TODO_cleanup_cfg if any returned true.
-
-2016-08-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/vsx.md (vsx_concat_<mode>): Add support for the
-	ISA 3.0 MTVSRDD instruction.
-	(vsx_splat_<mode>): Change cpu type of MTVSRDD instruction to
-	vecperm.
-
-2016-08-12  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	PR tree-optimization/71083
-	* tree-predcom.c (ref_at_iteration): Use a COMPONENT_REF for the
-	bitfield access when possible.
-
-2016-08-12  Patrick Palka  <ppalka@gcc.gnu.org>
-
-	PR middle-end/71654
-	* match.pd ((T)A CMP (T)B -> A CMP B): Allow (T)A to be a
-	sign-changing cast from a shorter unsigned type to a wider
-	signed type.
-
-2016-08-12  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm,
-	vec_extract_hi_<mode>_mask, vec_extract_lo_<mode>_mask,
-	vec_extract_hi_<mode>_mask): Use Yk constraint instead of k.
-
-2016-08-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost):
-	Correct costs for vec_construct.
-
-2016-08-12  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/69848
-	* tree-vectorizer.h (enum vect_def_type): New condition reduction
-	type CONST_COND_REDUCTION.
-	* tree-vect-loop.c (vectorizable_reduction): Support new condition
-	reudction type CONST_COND_REDUCTION.
-
-2016-08-12  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/57326
-	* tree-ssa-pre.c (fully_constant_expression): Handle simplification
-	returning an SSA name.
-	(phi_translate_1): When fully_constant_expression returns a NAME
-	make sure we have a leader for it.
-
-2016-08-12  Martin Liska  <mliska@suse.cz>
-	    Adam Fineman  <afineman@afineman.com>
-
-	* gcov.c (process_file): Create .gcov file when .gcda
-	file is missing.
-
-2016-08-12  Marek Polacek  <polacek@redhat.com>
-
-	PR c/7652
-	* alias.c (find_base_value): Adjust fall through comment.
-	* cfgexpand.c (expand_debug_expr): Likewise.
-	* combine.c (find_split_point): Likewise.
-	(expand_compound_operation): Likewise.  Add FALLTHRU.
-	(make_compound_operation): Adjust fall through comment.
-	(canon_reg_for_combine): Add FALLTHRU.
-	(force_to_mode): Adjust fall through comment.
-	(simplify_shift_const_1): Likewise.
-	(simplify_comparison): Likewise.
-	* config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args): Add
-	FALLTHRU.
-	* config/aarch64/predicates.md: Likewise.
-	* config/i386/i386.c (function_arg_advance_32): Likewise.
-	(ix86_gimplify_va_arg): Likewise.
-	(print_reg): Likewise.
-	(ix86_print_operand): Likewise.
-	(ix86_build_const_vector): Likewise.
-	(ix86_expand_branch): Likewise.
-	(ix86_sched_init_global): Adjust fall through comment.
-	(ix86_expand_args_builtin): Add FALLTHRU.
-	(ix86_expand_builtin): Likewise.
-	(ix86_expand_vector_init_one_var): Likewise.
-	* config/rs6000/rs6000.c (rs6000_emit_vector_compare_inner): Likewise.
-	(rs6000_adjust_cost): Likewise.
-	(insn_must_be_first_in_group): Likewise.
-	* config/rs6000/rs6000.md: Likewise.  Adjust fall through comment.
-	* dbxout.c (dbxout_symbol): Adjust fall through comment.
-	* df-scan.c (df_uses_record): Likewise.
-	* dojump.c (do_jump): Add FALLTHRU.
-	* dwarf2out.c (mem_loc_descriptor): Likewise.  Adjust fall through
-	comment.
-	(resolve_args_picking_1): Adjust fall through comment.
-	(loc_list_from_tree_1): Likewise.
-	* expmed.c (make_tree): Likewise.
-	* expr.c (expand_expr_real_2): Add FALLTHRU.
-	(expand_expr_real_1): Likewise.  Adjust fall through comment.
-	* fold-const.c (const_binop): Adjust fall through comment.
-	(fold_truth_not_expr): Likewise.
-	(fold_cond_expr_with_comparison): Add FALLTHRU.
-	(fold_binary_loc): Likewise.
-	(contains_label_1): Adjust fall through comment.
-	(multiple_of_p): Likewise.
-	* gcov-tool.c (process_args): Add FALLTHRU.
-	* genattrtab.c (check_attr_test): Likewise.
-	(write_test_expr): Likewise.
-	* genconfig.c (walk_insn_part): Likewise.
-	* genpreds.c (validate_exp): Adjust fall through comment.
-	(needs_variable): Likewise.
-	* gensupport.c (get_alternatives_number): Add FALLTHRU.
-	(subst_dup): Likewise.
-	* gimple-pretty-print.c (dump_gimple_assign): Likewise.
-	* gimplify.c (gimplify_addr_expr): Adjust fall through comment.
-	(gimplify_scan_omp_clauses): Add FALLTHRU.
-	(goa_stabilize_expr): Likewise.
-	* graphite-isl-ast-to-gimple.c (substitute_ssa_name): Adjust fall
-	through comment.
-	* hsa-gen.c (get_address_from_value): Likewise.
-	* ipa-icf.c (sem_function::hash_stmt): Likewise.
-	* ira.c (ira_setup_alts): Add FALLTHRU.
-	* lra-eliminations.c (lra_eliminate_regs_1): Adjust fall through
-	comment.
-	* lto-streamer-out.c (lto_output_tree_ref): Add FALLTHRU.
-	* opts.c (common_handle_option): Likewise.
-	* read-rtl.c (read_rtx_code): Likewise.
-	* real.c (round_for_format): Likewise.
-	* recog.c (asm_operand_ok): Likewise.
-	* reginfo.c (reg_scan_mark_refs): Adjust fall through comment.
-	* reload1.c (set_label_offsets): Likewise.
-	(eliminate_regs_1): Likewise.
-	(reload_reg_reaches_end_p): Likewise.
-	* rtlanal.c (commutative_operand_precedence): Add FALLTHRU.
-	(rtx_cost): Likewise.
-	* sched-rgn.c (is_exception_free): Likewise.
-	* simplify-rtx.c (simplify_rtx): Adjust fall through comment.
-	* stor-layout.c (int_mode_for_mode): Likewise.
-	* toplev.c (print_to_asm_out_file): Likewise.
-	(print_to_stderr): Likewise.
-	* tree-cfg.c (gimple_verify_flow_info): Likewise.
-	* tree-chrec.c (chrec_fold_plus_1): Add FALLTHRU.
-	(chrec_fold_multiply): Likewise.
-	(evolution_function_is_invariant_rec_p): Likewise.
-	(for_each_scev_op): Likewise.
-	* tree-data-ref.c (siv_subscript_p): Likewise.
-	(get_references_in_stmt): Likewise.
-	* tree.c (find_placeholder_in_expr): Adjust fall through comment.
-	(substitute_in_expr): Likewise.
-	(type_cache_hasher::equal): Likewise.
-	(walk_type_fields): Likewise.
-	* var-tracking.c (adjust_mems): Add FALLTHRU.
-	(set_dv_changed): Adjust fall through comment.
-	* varasm.c (default_function_section): Add FALLTHRU.
-
-2016-08-12  Marek Polacek  <polacek@redhat.com>
-
-	PR c/7652
-	* tree-complex.c (expand_complex_division): Add missing break.
-
-2016-08-12  Richard Biener  <rguenther@suse.de>
-
-	* passes.c (execute_todo): Do not push/pop TV_TODO.
-	(execute_one_ipa_transform_pass): Move timevar push/pop TODO execution.
-	(execute_one_pass): Likewise.
-	* common.opt (ftime-report-details): New switch.
-	* doc/invoke.texi (ftime-report-details): Document.
-	* timevar.h (timer::print_row): Adjust signature.
-	(timer::all_zero): New static helper.
-	(timer::child_map_t): New typedef.
-	(timer::time_var_def): Add children field.
-	* timevar.c (timer::named_items::print): Adjust.
-	(timer::~timer): Free timevar recorded children.
-	(timer::pop_internal): When -ftime-report-details record
-	time spent in sub-timevars.
-	(timer::print_row): Adjust.
-	(timer::print): Print sub-timevar stats, use all_zero.
-	* timevar.def (TV_TODO): Remove.
-
-2016-08-12  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/72851
-	* tree-ssa-propagate.c: Include cfganal.h.  Rewrite block and stmt
-	worklists to use bitmaps indexed in execution order.
-	(executable_blocks, cfg_blocks_num, cfg_blocks_tail, cfg_blocks_head,
-	bb_in_list, interesting_ssa_edges, varying_ssa_edges): Remove.
-	(cfg_blocks): Make a bitmap.
-	(bb_to_cfg_order, cfg_order_to_bb, ssa_edge_worklist, uid_to_stmt):
-	New globals.
-	(cfg_blocks_empty_p): Adjust.
-	(cfg_blocks_add): Likewise.
-	(cfg_blocks_get): Likewise.
-	(add_ssa_edge): Likewise.
-	(add_control_edge): Likewise.
-	(simulate_stmt): Likewise.
-	(process_ssa_edge_worklist): Likewise.
-	(simulate_block): Likewise.
-	(ssa_prop_init): Compute PRE order and stmt UIDs.
-	(ssa_prop_fini): Adjust.
-	(ssa_propagate): Adjust.
-
-2016-08-12  Richard Biener  <rguenther@suse.de>
-
-	* tree-vrp.c (vrp_visit_phi_node): Allow a last iteration if
-	the currently executable edges have fixed ranges.  Always
-	go through update_value_range.
-
-2016-08-12  Alexandre Oliva  <aoliva@redhat.com>
-
-	PR debug/63240
-	* langhooks-def.h
-	(LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P): Const_tree-ify.
-	(LANG_HOOKS_FUNCTION_DECL_DELETED_P): Likewise.
-	(LANG_HOOKS_FUNCTION_DECL_DEFAULTED): Set default.
-	(LANG_HOOKS_DECLS): Add it.
-	* langhooks.h (struct lang_hooks_for_decls): Add
-	function_decl_defaulted.  Const_tree-ify
-	function_decl_explicit_p and function_decl_deleted_p.
-	* dwarf2out.c (gen_subprogram_die): Add DW_AT_defaulted
-	attribute.  Add DW_AT_deleted instead of DW_AT_GNU_deleted,
-	also at strict DWARF v5.
-
-	PR debug/55641
-	* dwarf2out.c (decl_quals): Don't map TREE_READONLY to
-	TYPE_QUAL_CONST in reference-typed decls.
-
-	PR debug/49366
-	* dwarf2out.c (loc_list_from_tree_1): Expand some CONSTRUCTORs
-	in DW_OP_pieces, just enough to handle pointers to member
-	functions.
-	(gen_remaining_tmpl_value_param_die_attribute): Use a location
-	expression on DWARFv5 if a constant value doesn't work.
-
-2016-08-11  David Malcolm  <dmalcolm@redhat.com>
-
-	* selftest-run-tests.c (selftest::run_tests): Call selftest_c_tests.
-	* selftest.c (selftest::test_assertions): New function.
-	(selftest::selftest_c_tests): New function.
-	* selftest.h (selftest::selftest_c_tests): New declaration.
-
-2016-08-11  Richard Biener  <rguenther@suse.de>
-	    Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR rtl-optimization/72855
-	* df-core.c (df_verify): Turn off DF_VERIFY_SCHEDULED at end.
-
-2016-08-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR target/72863
-	* vsx.md (vsx_load_<mode>): For P8LE, emit swaps at expand time.
-	(vsx_store_<mode>): Likewise.
-
-2015-08-11  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/i386/i386.c (timode_scalar_to_vector_candidate_p): Allow
-	TImode CONST_WIDE_INT store.
-	(timode_scalar_chain::convert_insn): Handle CONST_WIDE_INT store.
-
-2015-08-11  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/i386/i386.h (MOVE_MAX_PIECES): Use TImode in 64-bit
-	mode if unaligned SSE load and store are optimal.
-
-2016-08-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	PR tree-optimization/71083
-	* tree-predcom.c (ref_at_iteration): Correctly align the
-	reference type.
-
-2016-08-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390-builtin-types.def: Add INT128 types.
-	* config/s390/s390-builtins.def: Add INT128 variants for the add
-	sub low-level builtins dealing with TImode.
-	* config/s390/s390.c (s390_expand_builtin): Allow mode conversions
-	via subreg when expanding a builtin.
-	* config/s390/s390.md: Remove UNSPEC_VEC_ADDC_U128,
-	UNSPEC_VEC_SUB_U128, and UNSPEC_VEC_SUBC_U128 constants.
-	Fix comment.
-	* config/s390/vecintrin.h: Adjust builtin names accordingly.
-	* config/s390/vx-builtins.md ("vec_add_u128"): Remove expander.
-	("vec_addc<mode>", "vec_addc_u128"): Merge to
-	"vacc<bhfgq>_<mode>".
-	("vec_adde_u128"): Rename to "vacq". Change mode to TImode.
-	("vec_addec_u128"): Rename to "vacccq". Change mode to TImode.
-	("vec_subc<mode>", "vec_subc_u128"): Merge to
-	"vscbi<bhfgq>_<mode>".
-	("vec_sube_u128"): Rename to "vsbiq". Change mode to TImode.
-	("vec_subec_u128"): Rename to "vsbcbiq". Change mode to TImode.
-
-2016-08-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390-builtins.def: Mark last operand of s390_vlvg*
-
-2016-08-11  Bin Cheng  <bin.cheng@arm.com>
-
-	* config/aarch64/aarch64-simd.md (vcond<mode><mode>): Delete
-	unused declaration.
-	(vcond<v_cmp_mixed><mode>): Ditto.
-	(vcondu<mode><mode>, vcondu<mode><v_cmp_mixed>): Ditto.
-
-2016-08-11  Bin Cheng  <bin.cheng@arm.com>
-
-	* config/aarch64/aarch64-simd.md (vec_cmp<mode><v_cmp_result>): Init
-	variable explicitly, also assert on it before use.
-
-2016-08-11  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/72772
-	* cfgloopmanip.c (create_preheader): Use split_edge if there
-	is a single loop entry, avoiding degenerate PHIs.
-
-2016-08-11  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-threadbackward.c (pass_data_thread_jumps): Remove
-	unconditional TODO_cleanup_cfg.
-	(pass_thread_jumps::execute): Initialize loops, perform a CFG
-	cleanup only if we threaded a jump.
-
-2016-08-11  Alan Modra  <amodra@gmail.com>
-
-	PR target/71680
-	* lra-constraints.c (simplify_operand_subreg): Allow subreg
-	mode for mem when SLOW_UNALIGNED_ACCESS if inner mode is also
-	slow.  Emit two reloads for slow mem case, first loading in
-	fast innermode, then converting to required mode.
-
-2016-08-10  Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	* config/rs6000/altivec.h (vec_extract_exp): New macro.
-	(vec_extract_sig): New macro.
-	(vec_insert_exp): New macro.
-	(vec_test_data_class): New macro.
-	(scalar_extract_exp): New macro.
-	(scalar_extract_sig): New macro.
-	(scalar_insert_exp): New macro.
-	(scalar_test_data_class): New macro.
-	(scalar_test_neg): New macro.
-	(scalar_cmp_exp_gt): New macro.
-	(scalar_cmp_exp_lt): New macro.
-	(scalar_cmp_exp_eq): New macro.
-	(scalar_cmp_exp_unordered): New macro.
-	* config/rs6000/predicates.md (u7bit_cint_operand): New predicate
-	to enforce constraint that operand is a 7-bit unsigned literal.
-	* config/rs6000/rs6000-builtin.def (BU_P9V_64BIT_VSX_1): New macro
-	for power9 built-ins.
-	(BU_P9V_VSX_2): Likewise.
-	(BU_P9V_64BIT_VSX_2): Likewise.
-	(VSEEDP): Add scalar extract exponent support.
-	(VSEESP): Add scalar extract signature support.
-	(VSTDCNDP): Add scalar test negative support.
-	(VSTDCNSP): Likewise.
-	(VSIEDP): Add scalar insert exponent support.
-	(VSCEDPGT): Add scalar compare exponent greater than support.
-	(VSCEDPLT): Add scalar compare exponent less than support.
-	(VSCEDPEQ): Add scalar compare exponent test-for-equality support.
-	(VSCEDPUO): Add scalar compare exponent test-for-unordered support.
-	(VSTDCDP): Add scalar test data class support.
-	(VSTDCSP): Likewise.
-	(VSEEDP): Add overload support for scalar extract exponent
-	operation.
-	(VSESDP): Add overload support for scalar extract signature
-	operation.
-	(VSTDCN): Add overload support for scalar test negative
-	operation.
-	(VSTDCNDP): Add overload support for scalar test negative
-	operation.
-	(VSTDCNSP): Add overload support for scalar test negative
-	operation.
-	(VSIEDP): Add overload support for scalar insert exponent
-	operation.
-	(VSTDC): Add overload support for scalar test data class
-	operation.
-	(VSTDCDP): Add overload support for scalar test data class
-	operation.
-	(VSTDCSP): Add overload support for scalar test data class
-	opreation.
-	(VSCEDPGT): Add overload support for scalar compare exponent
-	greater than operation.
-	(VSCEDPLT): Add overload support for scalar compare exponent
-	less than operation.
-	(VSCEDPEQ): Add overload support for scalar compare exponent
-	test-for-equality operation.
-	(VSCEDPUO): Add overload support for scalar compare exponent
-	test-for-unordered operation.
-	(VEEDP): Add vector extract exponent support.
-	(VEESP): Likewise.
-	(VESDP): Add vector extract significand support.
-	(VESSP): Likewise.
-	(VIEDP): Add vector insert exponent support.
-	(VIESP): Likewise.
-	(VTDCDP): Add vector test data class support.
-	(VTDCSP): Likewise.
-	(VES): Add overload support for vector extract significand operation.
-	(VESDP): Likewise.
-	(VESSP): Likewise
-	(VEE): Add overload support for vector extract exponent operation.
-	(VEEDP): Likewise.
-	(VEESP): Likewise.
-	(VTDC): Add overload support for vector test data class operation.
-	(VTDCDP): Likewise.
-	(VTDCSP): Likewise.
-	(VIE): Add overload support for vector insert exponent operation.
-	(VIEDP): Likewise.
-	(VIESP): Likewise.
-	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
-	overloaded binary floating point functions.
-	(altivec_resolve_overloaded_builtin): Improve error messages to
-	distinguish between functions not supported in the current
-	compiler configuration and functions that were invoked with an
-	invalid parameter combination, and include the built-in function
-	name in both error messages.
-	* config/rs6000/rs6000-protos.h (rs6000_overloaded_builtin_name):
-	New prototype.
-	* config/rs6000/rs6000.c (rs6000_overloaded_builtin_name): New
-	function.
-	(rs6000_expand_binop_builtin): Add check to enforce that argument
-	2 of the test data class operations is a 7-bit unsigned literal.
-	(rs6000_invalid_builtin): Add code to issue an error message if a
-	built-in function that requires the power9_vector and -m32
-	command-line options is compiled without these options.
-	* config/rs6000/vsx.md (UNSPEC_VSX_SXEXPDP): New value.
-	(UNSPEC_VSX_SXSIGDP): New value.
-	(UNSPEC_VSX_SXSIGPDP): New value.
-	(UNSPEC_VSX_SIEXPDP): New value.
-	(UNSPEC_VSX_SCMPEXPDP): New value.
-	(UNSPEC_VSX_STSTDC): New value.
-	(UNSPEC_VSX_VXEXP): New value.
-	(UNSPEC_VSX_VXSIG): New value.
-	(UNSPEC_VSX_VIEXP): New value.
-	(UNSPEC_VSX_VTSTDC): New value.
-	(xsxexpdp): New insn for scalar extract exponent.
-	(xsxsigdp): New insn for scalar extract significand.
-	(xsiexpdp): New insn for scalar insert exponent.
-	(xscmpexpdp_<code>): New expansion for scalar compare exponents.
-	(*xscmpexpdp): New insn for scalar compare exponents.
-	(xststdc<Fvsx): New expansion for both single- and
-	double-precision scalar test data class operations.
-	(xststdcneg<Fvsx>): New expansion for both single- and
-	double-precision scalar test for negative value operations.
-	(*xststdc<Fvsx>): New insn for scalar test data class
-	operation.
-	(xvxexp<VSs>): New insn for single- and double-precision
-	vector extract exponent operation.
-	(xvxsig<VSs>): New insn for single- and double-precision
-	vector extract significand operation.
-	(xviexp<VSs>): New insn for single- and double-precision
-	vector insert exponent operation.
-	(xvtstdc<VSs>): New insn for single- and double-precision
-	vector test data class operation.
-	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
-	built-in functions to represent the Power9 binary floating-point
-	support instructions.
-
-2016-08-10  bin cheng  <bin.cheng@arm.com>
-
-	* doc/sourcebuild.texi (@item vect_cond_mixed): New item.
-
-2016-08-10  Alan Lawrence  <alan.lawrence@arm.com>
-	    Renlin Li  <renlin.li@arm.com>
-	    Bin Cheng  <bin.cheng@arm.com>
-
-	* config/aarch64/iterators.md (V_cmp_mixed, v_cmp_mixed): New.
-	* config/aarch64/aarch64-simd.md (<su><maxmin>v2di3): Call
-	gen_vcondv2div2di instead of gen_aarch64_vcond_internalv2div2di.
-	(aarch64_vcond_internal<mode><mode>): Delete pattern.
-	(aarch64_vcond_internal<VDQF_COND:mode><VDQF:mode>): Ditto.
-	(vcond<v_cmp_result><mode>): Ditto.
-	(vcond<mode><mode>): Re-implement using vec_cmp and vcond_mask.
-	(vcondu<mode><mode>): Ditto.
-	(vcond<v_cmp_mixed><mode>): New pattern.
-	(vcondu<mode><v_cmp_mixed>): New pattern.
-	(aarch64_cmtst<mode>): Revise comment using aarch64_vcond instead
-	of aarch64_vcond_internal.
-
-2016-08-10  Alan Lawrence  <alan.lawrence@arm.com>
-	    Renlin Li  <renlin.li@arm.com>
-	    Bin Cheng  <bin.cheng@arm.com>
-
-	* config/aarch64/aarch64-simd.md (vec_cmp<mode><mode>): New pattern.
-	(vec_cmp<mode><v_cmp_result>): New pattern.
-	(vec_cmpu<mode><mode>): New pattern.
-	(vcond_mask_<mode><v_cmp_result>): New pattern.
-
-2016-08-10  Yuri Rumyantsev  <ysrumyan@gmail.com>
-
-	PR tree-optimization/71734
-	* tree-ssa-loop-im.c (ref_indep_loop_p): Add new argument
-	REF_LOOP, invoke ref_indep_loop_p_1.
-	(outermost_indep_loop): Pass LOOP argumnet where REF was defined
-	to ref_indep_loop_p.
-	(ref_indep_loop_p_1): Fix commentary, add argument REF_LOOP,
-	combine it with ref_indep_lopp_p_2, update SAFELEN if only REF
-	is inside LOOP, do not cache dpendence value for loops with
-	non-zero SAFELEN.
-	(ref_indep_loop_p_2): Delete function.
-	(can_sm_ref_p): Pass LOOP as additional argument to
-	ref_indep_loop_p.
-
-2016-08-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/72853
-	* config/rs6000/rs6000.c (mem_operand_ds_form): Add check for op
-	being an offsettable address.
-
-2016-08-10  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/58306
-	* tree-profile.c (gimple_init_edge_profiler): Create conditionally
-	atomic variants of profile update functions.
-
-2016-08-10  Martin Liska  <mliska@suse.cz>
-
-	Cherry picked (and modified) from google-4_7 branch
-	2012-12-26  Rong Xu  <xur@google.com>
-	* common.opt (fprofile-update): Add new flag.
-	* coretypes.h: Define enum profile_update.
-	* doc/invoke.texi: Document -fprofile-update.
-	* gcov-io.h: Declare GCOV_TYPE_ATOMIC_FETCH_ADD and
-	GCOV_TYPE_ATOMIC_FETCH_ADD_FN.
-	* tree-profile.c (gimple_init_edge_profiler): Generate
-	also atomic profiler update.
-	(gimple_gen_edge_profiler): Likewise.
-
-2016-08-10  David Malcolm  <dmalcolm@redhat.com>
-
-	* toplev.c (finalize): Set aux_info_file, asm_out_file, and
-	stack_usage_file to NULL after fclose calls.
-
-2016-08-10  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
-
-	PR target/71873
-	* reload.c (push_reload): Compute subreg_in_class for
-	subregs of constants and plus expressions. Remove special
-	handling of SYMBOL_REFs.
-
-2016-08-10  Alan Modra  <amodra@gmail.com>
-
-	PR target/71680
-	* config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Return
-	SImode for TARGET_E500_DOUBLE when given SImode.
-
-2016-08-09  David Wohlferd  <dw@LimeGreenSocks.com>
-
-	* config/i3836/avx512fintrin.h (_mm512_cvtsepi64_epi32): Remove
-	unused variable __O.
-
-2016-08-09  Martin Liska  <mliska@suse.cz>
-
-	* doc/gcov.texi: Change _gcov_dump to __gcov_dump and
-	_gcov_reset to __gcov_reset.
-	* doc/gcov-tool.texi: Fix typo.
-
-2016-08-09  Martin Liska  <mliska@suse.cz>
-
-	* value-prof.c (gimple_divmod_values_to_profile): Do not
-	instrument MOD histogram if a value is not a SSA name.
-
-2016-08-09  Martin Liska  <mliska@suse.cz>
-
-	* value-prof.c (dump_histogram_value): Swap pow2 and non-pow2
-	values.
-
-2016-08-09  Renlin Li  <renlin.li@arm.com>
-
-	PR middle-end/64971
-	* calls.c (prepare_call_address): Convert funexp to Pmode when
-	necessary.
-	* config/aarch64/aarch64.md (sibcall): Remove fix for PR 64971.
-	(sibcall_value): Likewise.
-
-2016-08-09  Marek Polacek  <polacek@redhat.com>
-
-	PR c/7652
-	* cselib.c (cselib_expand_value_rtx_1): Add return.
-	* gengtype.c (dbgprint_count_type_at): Likewise.
-	* hsa-gen.c (gen_hsa_insn_for_internal_fn_call): Likewise.
-	* reg-stack.c (get_true_reg): Restructure to avoid fallthrough warning.
-
-2016-08-09  Martin Jambor  <mjambor@suse.cz>
-
-	PR ipa/71981
-	* ipa-polymorphic-call.c (get_dynamic_type): Bail out gracefully
-	if instance is a MEM_REF.
-
-2016-08-09  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/72843
-	* config/i386/i386.md (*movtf_internal): Use
-	lra_in_progress || reload_completed instead of !can_create_pseudo_p
-	in the insn constraint.
-	(*movxf_internal): Ditto.
-	(*movdf_internal): Ditto.
-	(*movsf_internal): Ditto.
-
-2016-08-09  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/72772
-	* tree-ssa-loop-niter.c (loop_exits_before_overflow): Check equality
-	for expanded base.
-
-2016-08-09  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/72772
-	* tree-ssa-loop-niter.h (simplify_using_initial_conditions): Delete
-	parameter STOP.
-	* tree-ssa-loop-niter.c (tree_simplify_using_condition_1): Delete
-	parameter STOP and update calls.  Move expand_simple_operations
-	function call from here...
-	(simplify_using_initial_conditions): ...to here.  Delete parameter
-	STOP.
-	(tree_simplify_using_condition): Delete parameter STOP.
-	* tree-scalar-evolution.c (simple_iv_with_niters): Update call to
-	simplify_using_initial_conditions.
-
-2016-08-09  Matthew Fortune  <matthew.fortune@imgtec.com>
-
-	PR c/65345
-	* config/mips/mips.c (mips_atomic_assign_expand_fenv):
-	Use create_tmp_var_raw instead of create_tmp_var.
-
-2016-08-09  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-threadbackward.c (profitable_jump_thread_path):
-	Treat same SSA names related.
-
-2016-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/72824
-	* tree-loop-distribution.c (const_with_all_bytes_same): Verify
-	real_zerop is not negative.
-
-2016-08-09  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71802
-	* tree-cfgcleanup.c (cleanup_tree_cfg_bb): Make sure to catch
-	all merge opportunities with the predecessor.
-
-2016-08-09  Richard Biener  <rguenther@suse.de>
-
-	PR ipa/68273
-	* ipa-prop.c (ipa_modify_formal_parameters): Build
-	parameter types with natural alignment also for the
-	over-aligned case.
-
-2016-08-08  Andi Kleen  <ak@linux.intel.com>
-
-	* tree-vrp.c (get_single_symbol): Always initialize inv and neg.
-
-2016-08-08  David Malcolm  <dmalcolm@redhat.com>
-
-	PR c/64955
-	* langhooks-def.h (LANG_HOOKS_RUN_LANG_SELFTESTS): New default
-	do-nothing langhook.
-	(LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_RUN_LANG_SELFTESTS.
-	* langhooks.h (struct lang_hooks): Add run_lang_selftests.
-	* selftest-run-tests.c: Include "tree.h" and "langhooks.h".
-	(selftest::run_tests): Call lang_hooks.run_lang_selftests.
-
-2016-08-08  David Malcolm  <dmalcolm@redhat.com>
-
-	PR bootstrap/72844
-	* input.c: Ensure that HAVE_ICONV is defined.
-
-2016-08-08  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/72781
-	* omp-low.c (lower_lastprivate_clauses): Set TREE_NO_WARNING on the
-	private vars for lastprivate and for linear iterator.
-
-	PR middle-end/68762
-	* omp-simd-clone.c: Include varasm.h.
-	(simd_clone_create): Copy over DECL_COMDAT, DECL_WEAK, DECL_EXTERNAL,
-	DECL_VISIBILITY, DECL_VISIBILITY_SPECIFIED, DECL_DLLIMPORT_P and for
-	DECL_ONE_ONLY call make_decl_one_only.  Fix up spelling in comment and
-	update function name.
-
-2016-07-29  Pitchumani Sivanupandi  <pitchumani.s@atmel.com>
-
-	* config/avr/driver-avr.c (specfiles_doc_url): Remove.
-	(avr_diagnose_devicespecs_error): Remove.
-	(avr_devicespecs_file): Remove composing absolute path for specfile
-	and its verbose info. Remove conditions to check specs-file,
-
-2016-08-08  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/72821
-	* lra-spills.c (regno_in_use_p): Don't use BLOCK_FOR_INSN on barriers,
-	just return false for them.
-
-2016-08-08  Alan Modra  <amodra@gmail.com>
-
-	PR target/72771
-	* config/rs6000/rs6000.c (toc_relative_expr_p): Allow (lo_sum (high))
-	toc refs created during reload.  Update function comment.
-
-2016-08-08  Alan Modra  <amodra@gmail.com>
-
-	PR target/72802
-	* config/rs6000/rs6000.md (mov<mode>_hardfloat): Sort
-	alternatives.  Put loads first, then stores, and reg/reg moves
-	within same class later.  Delete attr length.
-
-2016-08-08  Alan Modra  <amodra@gmail.com>
-
-	PR target/72802
-	* config/rs6000/rs6000.c (mem_operand_gpr): Remove vsx dform test.
-	(mem_operand_ds_form): New predicate.
-	* config/rs6000/rs6000-protos.h (mem_operand_ds_form): Declare.
-	* config/rs6000/constraints.md (wY): Use mem_operand_df_form.
-	* config/rs6000/predicates.md (offsettable_mem_14bit_operand): Delete.
-	* config/rs6000/rs6000.md (f32_lm2, f32_sm2): Use wY for SF.
-	(extendsfdf2_fpr): Replace o constraint with wY.
-
-2016-08-07  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-ssa-threadbackward.c: Include tree-inline.h
-	(profitable_jump_thread_path): Use estimate_num_insns to estimate
-	size of copied block; for cold paths reduce duplication.
-	(find_jump_threads_backwards): Remove redundant tests.
-	(pass_thread_jumps::gate): Enable for -Os.
-
-2016-08-07  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c/72816
-	* stor-layout.c (layout_decl): Fix up formatting.
-	(relayout_decl): Allow DECL to be FIELD_DECL.
-
-2016-08-07  Alan Modra  <amodra@gmail.com>
-
-	* config/rs6000/rs6000.md (fix_trunc<mode>si2): Fix mode of reg.
-
-2016-08-07  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* data-streamer-in.c (streamer_read_wide_int): New.
-	(streamer_read_widest_int): Renamed function.
-	* data-streamer-out.c (streamer_write_wide_int): New
-	(streamer_write_widest_int): Renamed function.
-	* lto-streamer-in.c (streamer_read_wi): Renamed and moved to
-	data-stream-in.c.
-	(input_cfg): Call renamed function.
-	* lto-streamer-out.c (streamer_write_wi): Renamed and moved to
-	data-stream-out.c.
-	(output_cfg): Call renamed function.
-	* data-streamer.h: Add declarations.
-
-2016-08-08  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	* tree-ssa-ccp.c (extend_mask): New param sgn.
-	Remove ORing with wi::mask.
-	(get_default_value): Adjust call to extend_mask to pass sign.
-	(evaluate_stmt): Likewise.
-
-2016-08-06  Jakub Jelinek  <jakub@redhat.com>
-
-	* gcov.c (handle_cycle): Use INTTYPE_MAXIMUM (int64_t) instead of
-	INT64_MAX.
-
-2016-08-06  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	* match.pd ((intptr_t) x eq/ne CST to x eq/ne (typeof x) cst): Disable
-	transform if operand's type is pointer to function or method.
-
-2016-08-05  Patrick Palka  <ppalka@gcc.gnu.org>
-
-	PR tree-optimization/18046
-	* tree-ssa-threadedge.c: Include cfganal.h.
-	(simplify_control_statement_condition): If simplifying a
-	GIMPLE_SWITCH, replace the index operand of the GIMPLE_SWITCH
-	with the dominating ASSERT_EXPR before handing it off to VRP.
-	Mention that a CASE_LABEL_EXPR may be returned.
-	(thread_around_empty_blocks): Adjust to handle
-	simplify_control_statement_condition() returning a
-	CASE_LABEL_EXPR.
-	(thread_through_normal_block): Likewise.
-	* tree-vrp.c (simplify_stmt_for_jump_threading): Simplify
-	a switch statement by trying to determine which case label
-	will be taken.
-
-2016-08-05  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/69847
-	* lra-constraints.c (process_invariant_for_inheritance): Save
-	pattern instead of src.
-	(remove_inheritance_pseudos): Use the pattern.  Add assert.
-
-2016-08-05  David Malcolm  <dmalcolm@redhat.com>
-
-	* input.c (string_concat::string_concat): New constructor.
-	(string_concat_db::string_concat_db): New constructor.
-	(string_concat_db::record_string_concatenation): New method.
-	(string_concat_db::get_string_concatenation): New method.
-	(string_concat_db::get_key_loc): New method.
-	(class auto_cpp_string_vec): New class.
-	(get_substring_ranges_for_loc): New function.
-	(get_source_range_for_substring): New function.
-	(get_num_source_ranges_for_substring): New function.
-	(class selftest::lexer_test_options): New class.
-	(struct selftest::lexer_test): New struct.
-	(class selftest::ebcdic_execution_charset): New class.
-	(selftest::ebcdic_execution_charset::s_singleton): New variable.
-	(selftest::lexer_test::lexer_test): New constructor.
-	(selftest::lexer_test::~lexer_test): New destructor.
-	(selftest::lexer_test::get_token): New method.
-	(selftest::assert_char_at_range): New function.
-	(ASSERT_CHAR_AT_RANGE): New macro.
-	(selftest::assert_num_substring_ranges): New function.
-	(ASSERT_NUM_SUBSTRING_RANGES): New macro.
-	(selftest::assert_has_no_substring_ranges): New function.
-	(ASSERT_HAS_NO_SUBSTRING_RANGES): New macro.
-	(selftest::test_lexer_string_locations_simple): New function.
-	(selftest::test_lexer_string_locations_ebcdic): New function.
-	(selftest::test_lexer_string_locations_hex): New function.
-	(selftest::test_lexer_string_locations_oct): New function.
-	(selftest::test_lexer_string_locations_letter_escape_1): New function.
-	(selftest::test_lexer_string_locations_letter_escape_2): New function.
-	(selftest::test_lexer_string_locations_ucn4): New function.
-	(selftest::test_lexer_string_locations_ucn8): New function.
-	(selftest::uint32_from_big_endian): New function.
-	(selftest::test_lexer_string_locations_wide_string): New function.
-	(selftest::uint16_from_big_endian): New function.
-	(selftest::test_lexer_string_locations_string16): New function.
-	(selftest::test_lexer_string_locations_string32): New function.
-	(selftest::test_lexer_string_locations_u8): New function.
-	(selftest::test_lexer_string_locations_utf8_source): New function.
-	(selftest::test_lexer_string_locations_concatenation_1): New
-	function.
-	(selftest::test_lexer_string_locations_concatenation_2): New
-	function.
-	(selftest::test_lexer_string_locations_concatenation_3): New
-	function.
-	(selftest::test_lexer_string_locations_macro): New function.
-	(selftest::test_lexer_string_locations_stringified_macro_argument):
-	New function.
-	(selftest::test_lexer_string_locations_non_string): New function.
-	(selftest::test_lexer_string_locations_long_line): New function.
-	(selftest::test_lexer_char_constants): New function.
-	(selftest::input_c_tests): Call the new test functions once per
-	case within the line_table test matrix.
-	* input.h (struct string_concat): New struct.
-	(struct location_hash): New struct.
-	(class string_concat_db): New class.
-	* substring-locations.h: New header.
-
-2016-08-05  Patrick Palka  <ppalka@gcc.gnu.org>
-
-	PR tree-optimization/72810
-	* tree-vrp.c (simplify_switch_using_ranges): Avoid changing
-	the type of the case labels when truncating.
-
-2016-08-05  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	PR Target/72819
-	* config/aarch64/aarch64.h (aarch64_fp16_type_node): Declare.
-	(aarch64_fp16_ptr_type_node): Likewise.
-	* config/aarch64/aarch64-simd-builtins.c
-	(aarch64_fp16_ptr_type_node): Define.
-	(aarch64_init_fp16_types): New, refactored out of...
-	(aarch64_init_builtins): ...here, update to call
-	aarch64_init_fp16_types.
-	* config/aarch64/aarch64.c (aarch64_gimplify_va_arg_expr): Handle
-	HFmode.
-	(aapcs_vfp_sub_candidate): Likewise.
-
-2016-08-05  Martin Liska  <mliska@suse.cz>
-	    Joshua Cranmer  <Pidgeot18@gmail.com>
-
-	* gcov.c (line_t::has_block): New function.
-	(enum loop_type): New enum.
-	(handle_cycle): New function.
-	(unblock): Likewise.
-	(circuit): Likewise.
-	(get_cycles_count): Likewise.
-	(accumulate_line_counts): Use new loop detection algorithm.
-
-2016-08-05  Martin Liska  <mliska@suse.cz>
-
-	* gcov.c (output_intermediate_file): Rename
-	function_info::line_next to next_file_fn.
-	(process_file): Likewise.
-	(read_graph_file): Likewise.
-	(accumulate_line_counts): Likewise.
-	(output_lines): Likewise.
-
-2016-08-05  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-threadupdate.c (thread_block_1): Remove unnecessary
-	restriction on threading to a loop header.
-
-2016-08-05  Richard Biener  <rguenther@suse.de>
-
-	* tree-cfgcleanup.c (tree_forwarder_block_p): Use bb_loop_header_p.
-	* cfghooks.c (force_nonfallthru): If we ended up splitting a latch
-	adjust loop info accordingly.
-
-2016-08-05  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* tree-vrp.c (extract_range_basic): Check cfun->after_inlining
-	before folding call to __builtin_constant_p with parameters to false.
-
-2016-08-05  Alan Modra  <amodra@gmail.com>
-
-	* config/rs6000/rs6000.c (rs6000_preferred_reload_class): Delete
-	code accidentally committed 2016-05-02 providing class when given
-	NO_REGS.
-
-2016-08-04  Patrick Palka  <ppalka@gcc.gnu.org>
-
-	* tree-vrp.c (simplify_switch_using_ranges): Try to truncate
-	the case label ranges that partially overlap with OP's value
-	range.
-
-2016-08-04  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/72805
-	* config/i386/avx512fintrin.h (_mm512_cmp_epi32_mask) [!__OPTIMIZE__]:
-	Cast builtin function result to __mmask16 instead of __mmask8.
-	(_mm512_cmp_epu32_mask) [!__OPTIMIZE__]: Ditto.
-	(_mm512_mask_cmp_epi32_mask) [!__OPTIMIZE__]: Ditto.
-	(_mm512_mask_cmp_epu32_mask) [!__OPTIMIZE__]: Ditto.
-
-2016-08-04  David Malcolm  <dmalcolm@redhat.com>
-
-	* selftest.h (ASSERT_TRUE): Reimplement in terms of...
-	(ASSERT_TRUE_AT): New macro.
-	(ASSERT_FALSE): Reimplement in terms of...
-	(ASSERT_FALSE_AT): New macro.
-	(ASSERT_STREQ_AT): Fix typo in comment.
-
-2016-08-04  Patrick Palka  <ppalka@gcc.gnu.org>
-
-	* gimple.c (preprocess_case_label_vec_for_gimple): When the case
-	labels are exhaustive, designate the label with the widest
-	range to be the default label.
-
-2016-08-04  Andrew Pinski  <apinski@cavium.com>
-
-	* config/aarch64/aarch64.c (thunderx_vector_cost): New variable.
-	(thunderx_tunings): Use thunderx_vector_cost instead of
-	generic_vector_cost.
-
-2016-08-04  Martin Liska  <mliska@suse.cz>
-
-	* gcov.c (main): Fix GNU coding style.
-	(output_intermediate_file): Likewise.
-	(process_file): Likewise.
-	(generate_results): Likewise.
-	(release_structures): Likewise.
-	(create_file_names): Likewise.
-	(find_source): Likewise.
-	(read_graph_file): Likewise.
-	(find_exception_blocks): Likewise.
-	(canonicalize_name): Likewise.
-	(make_gcov_file_name): Likewise.
-	(mangle_name): Likewise.
-	(accumulate_line_counts): Likewise.
-	(output_branch_count): Likewise.
-	(read_line): Likewise.
-
-2016-08-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	PR rtl-optimization/71779
-	* emit-rtl.c (set_reg_attrs_from_value): Only propagate REG_POINTER,
-	if the value was sign-extended according to POINTERS_EXTEND_UNSIGNED
-	or if it was truncated.
-
-	PR rtl-optimization/70903
-	* cse.c (cse_insn): If DEST is a paradoxical SUBREG, don't record DEST.
-
-2016-08-04  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* tree-inline.c (remap_ssa_name): Check for POINTER_TYPE_P before
-	accessing SSA_NAME_PTR_INFO.
-
-2016-08-04  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR 70677
-	* common/config/avr/avr-common.c (avr_option_optimization_table)
-	[OPT_LEVELS_ALL]: Turn off -fcaller-saves.
-
-2016-08-04  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR 55181
-	* config/avr/avr.md: New pattern to work around do_store_flag
-	generating shift instructions for bit extractions.
-
-2016-08-04  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* tree-vrp.c (set_value_range): Use vrp_equiv_obstack with
-	BITMAP_ALLOC.
-	(add_equivalence): Likewise.
-	(get_value_range): Allocate value range with vrp_value_range_pool.
-	(vrp_initialize): Initialize vrp_equiv_obstack for equiv allocation.
-	(vrp_finalize): Relase vrp_equiv_obstack and vrp_value_range_pool.
-
-2016-08-03  Peter Bergner  <bergner@vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): Make LRA
-	the default for the rs6000 port.
-
-2016-08-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	PR middle-end/71876
-	* calls.c (special_function_p): Remove special handling of
-	"setjmp_syscall", "qsetjmp", "longjmp", "siglongjmp" and the
-	prefix "__x".  Recognize "savectx", "vfork" and "getcontext" only
-	without prefix.  Remove potentially unsafe ECF_LEAF and ECF_NORETURN.
-
-2016-08-03  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR middle-end/72778
-	* lra-spills.c (regno_in_use_p): Check bb and regno modification.
-	Don't stop on regular insns.
-
-2016-08-03  Nathan Sidwell  <nathan@codesourcery.com>
-
-	* config/nvptx/nvptx.c (nvptx_declare_function_name): Round frame
-	size to DImode boundary.
-	(nvptx_propagate): Likewise.
-
-2016-08-03  Alan Modra  <amodra@gmail.com>
-
-	* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Make scalar
-	float access depend on TARGET_EFFICIENT_UNALIGNED_VSX.
-	* config/rs6000/rs6000.opt (-mefficient-unaligned-vsx): Renamed
-	from -mefficient-unaligned-vector.  Note that this affects fp too.
-
-2016-08-03  Alan Modra  <amodra@gmail.com>
-
-	* config/rs6000/rs6000.c (rs6000_rtx_costs): Make unaligned mem
-	cost more.
-
-2016-08-03  Alan Modra  <amodra@gmail.com>
-
-	* config/rs6000/rs6000.md (fix_trunc<mode>si2): Force source operand
-	to a reg.  Localize vars.
-
-2016-08-03  Alan Modra  <amodra@gmail.com>
-
-	* config/rs6000/rs6000.opt: Remove negatives from help strings
-	and comments.
-
-2016-08-03  Alan Modra  <amodra@gmail.com>
-
-	* config/rs6000/rs6000.c (rs6000_secondary_reload_direct_move):
-	Delete duplicated code.
-
-2016-08-02  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR middle-end/72778
-	* lra-spills.c (regno_in_use_p): New.
-	(lra_final_code_change): Use it.
-
-2016-08-02  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/69847
-	* lra-int.h (struct lra-reg): Use restore_rtx instead of
-	restore_regno.
-	(lra_rtx_hash): New.
-	* lra.c (initialize_lra_reg_info_element): Use restore_rtx instead
-	of restore_regno.
-	(lra_rtx_hash): Rename and move lra-remat.c::rtx_hash.
-	* lra-remat.c (rtx_hash): Rename and Move to lra.c.
-	* lra-spills.c (lra_final_code_change): Don't delete insn when the
-	next insn is USE with the same reg as the current insn source.
-	* lra-constraints.c (curr_insn_transform): Use restore_rtx instead
-	of restore_regno.
-	(lra_constraints_init): Call initiate_invariants.
-	(lra_constraints_finish): Call finish_invariants.
-	(struct invariant, invariant_t, invariant_ptr_t): New.
-	(const_invariant_ptr_t, invariants, invariants_pool): New.
-	(invariant_table, invariant_hash, invariant_eq_p): New.
-	(insert_invariant, initiate_invariants, finish_invariants): New.
-	(clear_invariants, invalid_invariant_regs): New.
-	(inherit_reload_reg, split_reg, fix_bb_live_info): Use restore_rtx
-	instead of restore_regno.
-	(invariant_p, process_invariant_for_inheritance): New.
-	(inherit_in_ebb): Implement invariant inheritance.
-	(lra_inheritance): Initialize and finalize invalid_invariant_regs.
-	(remove_inheritance_pseudos): Implement undoing invariant
-	inheritance.
-	(undo_optional_reloads, lra_undo_inheritance): Use restore_rtx
-	instead of restore_regno.
-	* lra-assigns.c (regno_live_length): New.
-	(reload_pseudo_compare_func): Use regno_live_length.
-	(assign_by_spills): Use restore_rtx instead of restore_regno.
-	(lra_assign): Ditto.  Initiate regno_live_length.
-
-2016-02-08  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/aarch64/arm_neon.h (vminnm_f64): Add back missing 'f' from
-	__builtin_aarch64_fmindf.
-
-2016-08-02  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/34114
-	* tree-ssa-loop-niter.c (number_of_iterations_ne): Prove no-overflow
-	information for more control IVs.
-
-2016-08-02  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/34114
-	* fold-const.c (multiple_of_p): Improve MULT_EXPR, PLUS_EXPR,
-	PLUS_EXPR case.  Handle SSA_NAME case.
-
-2016-08-02  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/aarch64/aarch64-simd-builtins.def
-	(__builtin_aarch64_fmindf): Change BUILTIN_VDQF to BUILTIN_VDQF_DF.
-	(__builtin_aarch64_fmaxdf): Likewise.
-	(__builtin_aarch64_smin_nandf): Likewise.
-	(__builtin_aarch64_smax_nandf): Likewise.
-	* config/aarch64/aarch64-simd.md (<fmaxmin><mode>3): Remove.
-	* config/aarch64/aarch64.md (<fmaxmin><mode>3): Rename to...
-	(<fmaxmin><mode>3): ...this.
-	* config/aarch64/arm_neon.h (vmaxnm_f64): New.
-	(vminnm_f64): Likewise.
-	(vmin_f64): Likewise.
-	(vmax_f64): Likewise.
-	* config/aarch64/iterators.md (FMAXMIN): Merge with...
-	(FMAXMIN_UNS): ...this.
-	(fmaxmin): Merged with
-	(fmaxmin_op): ...this...
-	(maxmin_uns_op): ...in to this.
-
-2016-08-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
-	Add support for vec_extract on vector float, vector int, vector
-	short, and vector char vector types.
-	* config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add
-	vector float, vector int, vector short, and vector char
-	optimizations on 64-bit ISA 2.07 systems for both constant and
-	variable element numbers.
-	(rs6000_split_vec_extract_var): Likewise.
-	* config/rs6000/vsx.md (vsx_xscvspdp_scalar2): Allow SFmode to be
-	Altivec registers on ISA 2.07 and above.
-	(vsx_extract_v4sf): Delete alternative that hard coded element 0,
-	which never was matched due to the split occuring before register
-	allocation (and the code would not have worked on little endian
-	systems if it did match).  Allow extracts to go to the Altivec
-	registers if ISA 2.07 (power8).  Change from using "" around the
-	C++ code to using {}'s.
-	(vsx_extract_v4sf_<mode>_load): New insn to optimize vector float
-	vec_extracts when the vector is in memory.
-	(vsx_extract_v4sf_var): New insn to optimize vector float
-	vec_extracts when the element number is variable on 64-bit ISA
-	2.07 systems.
-	(vsx_extract_<mode>, VSX_EXTRACT_I iterator): Add optimizations
-	for 64-bit ISA 2.07 as well as ISA 3.0.
-	(vsx_extract_<mode>_p9, VSX_EXTRACT_I iterator): Likewise.
-	(vsx_extract_<mode>_p8, VSX_EXTRACT_I iterator): Likewise.
-	(vsx_extract_<mode>_load, VSX_EXTRACT_I iterator): New insn to
-	optimize vector int, vector short, and vector char vec_extracts
-	when the vector is in memory.
-	(vsx_extract_<mode>_var, VSX_EXTRACT_I iterator): New insn to
-	optimize vector int, vector short, and vector char vec_extracts
-	when the element number is variable.
-
-2016-08-01  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR target/71948
-	* config/avr/avr.c (AVR_SYMBOL_FLAG_TINY_PM): Use a value that
-	does not overlap with other symbol flags.
-
-2016-08-01  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.h (aarch64_frame):
-	Remove padding0 and hardfp_offset.  Add locals_offset,
-	initial_adjust, callee_adjust, callee_offset and final_adjust.
-	* config/aarch64/aarch64.c (aarch64_layout_frame):
-	Remove unused padding0 and hardfp_offset initializations.
-	Choose frame layout and set frame variables accordingly.
-	Use INVALID_REGNUM instead of FIRST_PSEUDO_REGISTER.
-	(aarch64_push_regs): Use INVALID_REGNUM, not FIRST_PSEUDO_REGISTER.
-	(aarch64_pop_regs): Likewise.
-	(aarch64_expand_prologue): Remove all decision code, just emit
-	prolog according to frame variables.
-	(aarch64_expand_epilogue): Remove all decision code, just emit
-	epilog according to frame variables.
-	(aarch64_initial_elimination_offset): Use offset to local/arg area.
-
-2015-08-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/72748
-	* config/i386/i386.c (timode_scalar_chain::convert_insn): Call
-	fix_debug_reg_uses after changing source register mode to
-	V1TImode if source register is undefined.
-
-2015-08-01  Alan Hayward  <alan.hayward@arm.com>
-
-	PR tree-optimization/71818
-	* tree-vect-loop-manip.c (vect_can_advance_ivs_p): Don't advance IVs
-	with non invariant evolutions
-
-2016-08-01  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR target/72767
-	* config/avr/avr.md (length) [branch]: Correct insn length
-	attribute for forward branches.
-
-2016-08-01  Georg-Johann Lay  <avr@gjlay.de>
-
-	* doc/extend.texi (AVR Built-in Functions): Document
-	__builtin_avr_nops.
-	* config/avr/builtins.def (NOPS): New.
-	* config/avr/avr.c (avr_expand_nops): New static function.
-	(avr_expand_builtin): Use it to handle AVR_BUILTIN_NOPS.
-
-2016-08-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_classify_address): Use DImode when
-	performing aarch64_offset_7bit_signed_scaled_p check for TImode LDP/STP
-	addresses.
-
-2016-08-01  Virendra Pathak  <virendra.pathak@broadcom.com>
-
-	* config/aarch64/aarch64.c (vulcan_tunings): Update
-	vulcan L1 cache_line_size.
-
-2016-07-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000-protos.h (rs6000_adjust_vec_address): New
-	function that takes a vector memory address, a hard register, an
-	element number and a temporary base register, and recreates an
-	address that points to the appropriate element within the vector.
-	* config/rs6000/rs6000.c (rs6000_adjust_vec_address): Likewise.
-	(rs6000_split_vec_extract_var): Add support for the target of a
-	vec_extract with variable element number being a scalar memory
-	location.
-	(rtx_is_swappable_p): VLSO insns (UNSPEC_VSX_VSLOW) are not
-	swappable.
-	* config/rs6000/vsx.md (vsx_extract_<mode>_load): Replace
-	vsx_extract_<mode>_load insn with a new insn that optimizes
-	storing either element to a memory location, using scratch
-	registers to pick apart the vector and reconstruct the address.
-	(vsx_extract_<P:mode>_<VSX_D:mode>_load): Likewise.
-	(vsx_extract_<mode>_store): Rework alternatives to more correctly
-	support Altivec registers.  Add support for ISA 3.0 Altivec d-form
-	store instruction.
-	(vsx_extract_<mode>_var): Add support for extracting a variable
-	element number from memory.
-
-2016-07-29  Georg-Johann Lay  <avr@gjlay.de>
-
-	* config/avr/avr.c (avr_out_compare): Use const0_rtx instead of 0
-	when testing for compares against constants of the form 0xabab.
-
-2016-07-29  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/57558
-	* tree-vect-loop-manip.c (vect_create_cond_for_niters_checks): New
-	function.
-	(vect_loop_versioning): Support versioning with niter assumptions.
-	* tree-vect-loop.c (tree-ssa-loop.h): Include header file.
-	(vect_get_loop_niters): New parameter.  Reimplement to support
-	assumptions in loop niter info.
-	(vect_analyze_loop_form_1, vect_analyze_loop_form): Ditto.
-	(new_loop_vec_info): Init LOOP_VINFO_NITERS_ASSUMPTIONS.
-	(vect_estimate_min_profitable_iters): Use LOOP_REQUIRES_VERSIONING.
-	Support loop versioning for niters.
-	* tree-vectorizer.c (tree-ssa-loop-niter.h): Include header file.
-	(vect_free_loop_info_assumptions): New function.
-	(vectorize_loops): Free loop niter info for loops with flag
-	LOOP_F_ASSUMPTIONS set if vectorization failed.
-	* tree-vectorizer.h (struct _loop_vec_info): New field
-	num_iters_assumptions.
-	(LOOP_VINFO_NITERS_ASSUMPTIONS): New macro.
-	(LOOP_REQUIRES_VERSIONING_FOR_NITERS): New macro.
-	(LOOP_REQUIRES_VERSIONING): New macro.
-	(vect_free_loop_info_assumptions): New decl.
-
-2016-07-29  Bin Cheng  <bin.cheng@arm.com>
-
-	* cfgloop.h (struct loop): New field constraints.
-	(LOOP_C_INFINITE, LOOP_C_FINITE): New macros.
-	(loop_constraint_set, loop_constraint_clr, loop_constraint_set_p): New
-	functions.
-	* cfgloop.c (alloc_loop): Initialize new field.
-	* cfgloopmanip.c (copy_loop_info): Copy constraints.
-	* tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions):
-	Adjust niter analysis wrto loop constraints.
-	* doc/loop.texi (@node Number of iterations): Add description for loop
-	constraints.
-
-2016-07-29  Marek Polacek  <polacek@redhat.com>
-
-	PR c/7652
-	* config/i386/i386.c (ix86_expand_args_builtin): Add break.
-	(ix86_expand_round_builtin): Likewise.
-
-2016-07-29  Segher Boessenkool  <segher@kernel.crashing.org>
-	    Georg-Johann Lay  <avr@gjlay.de>
-
-	PR rtl-optimization/71976
-	* combine.c (get_last_value): Return 0 if the argument for which
-	the function is called has a wider mode than the recorded value.
-
-2016-07-29  Marek Polacek  <polacek@redhat.com>
-
-	PR c/7652
-	* config/rs6000/rs6000.c (altivec_expand_ld_builtin): Add break.
-	(altivec_expand_st_builtin): Likewise.
-
-2016-07-29  Georg-Johann Lay  <avr@gjlay.de>
-
-	* config/avr/avr.md (addqi3) [cc]: Revert glitch in insn attribute
-	introduced in r238381.
-
-2016-07-29  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	PR middle-end/68217
-	* tree-vrp.c (extract_range_from_binary_expr_1): In case of signed
-	& sign-bit-CST, generate [-INF, 0] instead of [-INF, INF].
-
-2016-07-28  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000-protos.h (rs6000_split_vec_extract_var):
-	New declaration.
-	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
-	Add support for vec_extract of vector double or vector long having
-	a variable element number on 64-bit ISA 2.07 systems or newer.
-	* config/rs6000/rs6000.c (rs6000_expand_vector_extract):
-	Likewise.
-	(rs6000_split_vec_extract_var): New function to split a
-	vec_extract built-in function with variable element number.
-	(rtx_is_swappable_p): Variable vec_extracts and shifts are not
-	swappable.
-	* config/rs6000/vsx.md (UNSPEC_VSX_VSLO): New unspec.
-	(UNSPEC_VSX_EXTRACT): Likewise.
-	(vsx_extract_<mode>, VSX_D iterator): Fix constraints to allow
-	direct move instructions to be generated on 64-bit ISA 2.07
-	systems and newer, and to take advantage of the ISA 3.0 MFVSRLD
-	instruction.
-	(vsx_vslo_<mode>): New insn to do VSLO on V2DFmode and V2DImode
-	arguments for vec_extract variable element.
-	(vsx_extract_<mode>_var, VSX_D iterator): New insn to support
-	vec_extract with variable element on V2DFmode and V2DImode
-	vectors.
-	* config/rs6000/rs6000.h (TARGET_VEXTRACTUB): Remove
-	-mupper-regs-df requirement, since it isn't needed.
-	(TARGET_DIRECT_MOVE_64BIT): New macro to say whether we can
-	do direct moves on 64-bit systems, which allows optimization of
-	vec_extract on 64-bit ISA 2.07 systems and newer.
-
-2016-07-28  Kristina Martsenko  <kristina.martsenko@arm.com>
-2016-07-28  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	 * config/aarch64/aarch64.md
-	(zero_extend<SHORT:mode><GPI:mode>2_aarch64): Change output
-	statement and type.
-	(<optab>qihi2_aarch64): Likewise, and split into two.
-	(extendqihi2_aarch64): New.
-	(zero_extendqihi2_aarch64): New.
-	* config/aarch64/iterators.md (ldrxt): Remove.
-	* config/aarch64/aarch64.c (aarch64_rtx_costs): Change cost of
-	uxtb/uxth.
-
-2016-07-28  Kristina Martsenko  <kristina.martsenko@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_rtx_costs): Fix cost of zero extend.
-
-2016-07-28  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_pushwb_pair_reg): Rename.
-	(aarch64_push_reg): New function to push 1 or 2 registers.
-	(aarch64_pop_reg): New function to pop 1 or 2 registers.
-	(aarch64_expand_prologue): Use aarch64_push_regs.
-	(aarch64_expand_epilogue): Use aarch64_pop_regs.
-
-2016-07-28  Yuri Rumyantsev  <ysrumyan@gmail.com>
-
-	PR tree-optimization/71734
-	* tree-ssa-loop-im.c (ref_indep_loop_p_1): Pass value of safelen
-	attribute instead of REF_LOOP and use it.
-	(ref_indep_loop_p_2): Use SAFELEN argument instead of REF_LOOP and
-	set it for Loops having non-zero safelen attribute.
-	(ref_indep_loop_p): Pass zero as initial value for safelen.
-
-2016-07-28  Ilya Enkovich  <ilya.enkovich@intel.com>
-
-	PR middle-end/72657
-	PR target/72683
-	* tree-chkp.c (chkp_retbnd_call_by_val): Check for instrumentation
-	call using chkp_gimple_call_builtin_p.
-	(chkp_copy_bounds_for_assign): Likewise.
-
-2016-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* config/alpha/alpha.c (alpha_adjust_cost): Adjust.
-	* config/arm/arm-protos.h (struct tune_params): Likewise.
-	* config/arm/arm.c (xscale_sched_adjust_cost): Likewise.
-	(cortex_a9_sched_adjust_cost): Likewise.
-	(fa726te_sched_adjust_cost): Likewise.
-	(arm_adjust_cost): Likewise.
-	* config/bfin/bfin.c (bfin_adjust_cost): Likewise.
-	* config/c6x/c6x.c (c6x_adjust_cost): Likewise.
-	* config/epiphany/epiphany.c (epiphany_adjust_cost): Likewise.
-	* config/i386/i386.c (ix86_adjust_cost): Likewise.
-	* config/ia64/ia64.c: Likewise.
-	* config/m68k/m68k.c: Likewise.
-	* config/mep/mep.c (mep_adjust_cost): Likewise.
-	* config/microblaze/microblaze.c (microblaze_adjust_cost):
-	* Likewise.
-	* config/mips/mips.c (mips_adjust_cost): Likewise.
-	* config/mn10300/mn10300.c (mn10300_adjust_sched_cost):
-	* Likewise.
-	* config/pa/pa.c (pa_adjust_cost): Likewise.
-	* config/rs6000/rs6000.c (rs6000_adjust_cost): Likewise.
-	(rs6000_debug_adjust_cost): Likewise.
-	* config/sh/sh.c (sh_adjust_cost): Likewise.
-	* config/sparc/sparc.c (supersparc_adjust_cost): Likewise.
-	(hypersparc_adjust_cost): Likewise.
-	(sparc_adjust_cost): Likewise.
-	* config/spu/spu.c (spu_sched_adjust_cost): Likewise.
-	* config/tilegx/tilegx.c (tilegx_sched_adjust_cost): Likewise.
-	* config/tilepro/tilepro.c (tilepro_sched_adjust_cost):
-	* Likewise.
-	* config/visium/visium.c (visium_adjust_cost): Likewise.
-	* doc/tm.texi: Regenerate.
-	* haifa-sched.c (dep_cost_1): Adjust.
-	* target.def: Merge adjust_cost and adjust_cost_2.
-
-2016-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* haifa-sched.c (add_to_speculative_block): Make twins a vector.
-
-2016-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* store-motion.c (struct st_expr): Make pattern_regs a vector.
-	(extract_mentioned_regs): Append to a vector instead of
-	returning a rtx_expr_list.
-	(st_expr_entry): Adjust.
-	(free_st_expr_entry): Likewise.
-	(store_ops_ok): Likewise.
-	(store_killed_in_insn): Likewise.
-	(find_moveable_store): Likewise.
-
-2016-07-28  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/68025
-	* tree-profile.c (tree_profiling): Respect
-	no_profile_instrument_function attribute.
-	* doc/extend.texi: Document no_profile_instrument_function
-	attribute.
-
-2016-07-28  Martin Liska  <mliska@suse.cz>
-
-	PR rtl-optimization/70944
-	* combine.c (make_compound_operation):
-	Do not allow make_compound_operation for vector mode
-
-2016-07-28  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	PR middle-end/71994
-	* tree-ssa-reassoc.c (maybe_optimize_range_tests): Check tcc_comparison
-	 before calling get_ops.
-
-2016-07-27  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* defaults.h (LOG2_BITS_PER_UNIT): Move from here...
-	* tree.h (LOG2_BITS_PER_UNIT): ...to here.
-	(BITS_PER_UNIT_LOG): Remove.
-	(int_bit_position): Use LOG2_BITS_PER_UNIT instead of BITS_PER_UNIT_LOG.
-	* expr.c (expand_assignment): Likewise.
-	* stor-layout.c (initialize_sizetypes): Likewise.
-
-2016-07-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/vector.md (vec_extract<mode>): Change the calling
-	signature of rs6000_expand_vector_extract so that the element
-	number is a RTX instead of a constant integer.
-	* config/rs6000/rs6000-protos.h (rs6000_expand_vector_extract):
-	Likewise.
-	* config/rs6000/rs6000.c (rs6000_expand_vector_extract): Likewise.
-	(altivec_expand_vec_ext_builtin): Likewise.
-	* config/rs6000/altivec.md (reduc_plus_scal_<mode>): Likewise.
-	* config/rs6000/vsx.md (vsx_extract_<mode>): Fix spelling of the
-	MFVSRLD instruction.
-
-2016-07-27  David Malcolm  <dmalcolm@redhat.com>
-
-	* input.c (get_pure_location): Move here from tree.c.
-	(make_location): Likewise.  Add header comment.
-	(selftest::test_accessing_ordinary_linemaps): Verify
-	pure_location_p, make_location, get_location_from_adhoc_loc and
-	get_range_from_loc.
-	* input.h (get_pure_location): Move declaration here from tree.h.
-	(get_finish): Likewise for inline function.
-	(make_location): Likewise for declaration.
-	* tree.c (get_pure_location): Move to input.c.
-	(make_location): Likewise.
-	* tree.h (get_pure_location): Move declaration to tree.h.
-	(get_finish): Likewise for inline function.
-	(make_location): Likewise for declaration.
-
-2016-07-27  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	PR middle-end/71078
-	* match.pd (x / abs(x) -> copysign(1.0, x)): New pattern.
-
-2016-07-27  David Malcolm  <dmalcolm@redhat.com>
-
-	* system.h (STATIC_ASSERT): Use static_assert if building
-	with C++11 onwards.
-
-2016-07-27  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/72517
-	* tree-vect-data-refs.c (vect_analyze_data_ref_dependences):
-	Revert change to not compute read-read dependences.
-
-2016-07-27  Richard Biener  <rguenther@suse.de>
-
-	* predict.c (set_even_probabilities): Make nedges unsigned.
-
-2016-07-27  Martin Liska  <mliska@suse.cz>
-
-	* predict.c (set_even_probabilities): Handle unlikely edges.
-	(combine_predictions_for_bb): Likewise.
-
-2016-07-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/71869
-	* config/rs6000/rs6000.c (rs6000_generate_compare): Rework
-	__float128 support when we don't have hardware support, so that
-	the IEEE built-in functions like isgreater, first call __unordkf3
-	to make sure neither operand is a NaN, and if both operands are
-	ordered, do the normal comparison.
-
-2016-07-26  Patrick Palka  <ppalka@gcc.gnu.org>
-
-	* tree-vrp.c (dump_asserts_for): Print loc->expr instead of
-	name.
-	(extract_code_and_val_from_cond_with_ops): Verify that name is
-	either cond_op0 or cond_op1.
-
-2016-07-26  Patrick Palka  <ppalka@gcc.gnu.org>
-
-	PR tree-optimization/18046
-	* genmodes.c (emit_mode_size_inline): Emit an assert that
-	verifies that mode is a valid array index.
-	(emit_mode_nuinits_inline): Likewise.
-	(emit_mode_inner_inline): Likewise.
-	(emit_mode_unit_size_inline): Likewise.
-	(emit_mode_unit_precision_inline): Likewise.
-	* tree-vrp.c: Include params.h.
-	(find_switch_asserts): Register edge assertions for the default
-	label which correspond to the anti-ranges of each case label.
-	* params.def (PARAM_MAX_VRP_SWITCH_ASSERTIONS): New.
-	* doc/invoke.texi: Document it.
-
-2016-07-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* gimple-ssa-strength-reduction.c (slsr_process_phi): Remove dead
-	and unnecessary call to gimple_bb.
-
-2016-07-26  Richard Biener  <rguenther@suse.de>
-
-	PR rtl-optimization/71984
-	* simplify-rtx.c (simplify_subreg): Use GET_MODE_SIZE and prepare
-	for VOIDmode.
-
-2016-07-26  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/72517
-	* expmed.c (extract_bit_field_1): Constrain the vector mode
-	with element size matching the extraction mode size when
-	choosing a better vector mode to do the extraction from.
-
-2016-07-26  Richard Biener  <rguenther@suse.de>
-	    Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	PR middle-end/70920
-	* match.pd ((intptr)x eq/ne CST to x eq/ne (typeof x) CST): New
-	pattern.
-
-2016-07-26  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* tree-ssa-structalias.c (struct scc_info): Change types of
-	members to auto_sbitmap and auto_vec.
-	(scc_info::scc_info): New constructor.
-	(scc_info::~scc_info): New destructor.
-	(init_scc_info): Remove.
-	(free_scc_info): Remove.
-	(find_indirect_cycles): Adjust.
-	(perform_var_substitution): Likewise.
-	(free_var_substitution_info): Likewise.
-
-2016-07-26  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* tree-outof-ssa.c (struct elim_graph): Change type of members
-	to auto_vec and auto_sbitmap.
-	(elim_graph::elim_graph): New constructor.
-	(delete_elim_graph): Remove.
-	(expand_phi_nodes): Adjust.
-
-2016-07-26  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* tree-outof-ssa.c (struct elim_graph): Remove typedef.
-	(new_elim_graph): Adjust.
-	(clear_elim_graph): Likewise.
-	(delete_elim_graph): Likewise.
-	(elim_graph_size): Likewise.
-	(elim_graph_add_node): Likewise.
-	(elim_graph_add_edge): Likewise.
-	(elim_graph_remove_succ_edge): Likewise.
-	(eliminate_name): Likewise.
-	(eliminate_build): Likewise.
-	(elim_forward): Likewise.
-	(elim_unvisited_predecessor): Likewise.
-	(elim_backward): Likewise.
-	(elim_create): Likewise.
-	(eliminate_phi): Likewise.
-	(expand_phi_nodes): Likewise.
-
-2016-07-26  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* bt-load.c (compute_out): Use auto_sbitmap class.
-	(link_btr_uses): Likewise.
-	* cfganal.c (mark_dfs_back_edges): Likewise.
-	(post_order_compute): Likewise.
-	(inverted_post_order_compute): Likewise.
-	(pre_and_rev_post_order_compute_fn): Likewise.
-	(single_pred_before_succ_order): Likewise.
-	* cfgexpand.c (pass_expand::execute): Likewise.
-	* cfgloop.c (verify_loop_structure): Likewise.
-	* cfgloopmanip.c (fix_bb_placements): Likewise.
-	(remove_path): Likewise.
-	(update_dominators_in_loop): Likewise.
-	* cfgrtl.c (break_superblocks): Likewise.
-	* ddg.c (check_sccs): Likewise.
-	(create_ddg_all_sccs): Likewise.
-	* df-core.c (df_worklist_dataflow): Likewise.
-	* dse.c (dse_step3): Likewise.
-	* except.c (eh_region_outermost): Likewise.
-	* function.c (thread_prologue_and_epilogue_insns): Likewise.
-	* gcse.c (prune_expressions): Likewise.
-	(prune_insertions_deletions): Likewise.
-	* gimple-ssa-backprop.c (backprop::~backprop): Likewise.
-	* graph.c (draw_cfg_nodes_no_loops): Likewise.
-	* ira-lives.c (remove_some_program_points_and_update_live_ranges): Likewise.
-	* lcm.c (compute_earliest): Likewise.
-	(compute_farthest): Likewise.
-	* loop-unroll.c (unroll_loop_constant_iterations): Likewise.
-	(unroll_loop_runtime_iterations): Likewise.
-	(unroll_loop_stupid): Likewise.
-	* lower-subreg.c (decompose_multiword_subregs): Likewise.
-	* lra-lives.c: Likewise.
-	* lra.c (lra): Likewise.
-	* modulo-sched.c (schedule_reg_moves): Likewise.
-	(optimize_sc): Likewise.
-	(get_sched_window): Likewise.
-	(sms_schedule_by_order): Likewise.
-	(check_nodes_order): Likewise.
-	(order_nodes_of_sccs): Likewise.
-	(order_nodes_in_scc): Likewise.
-	* recog.c (split_all_insns): Likewise.
-	* regcprop.c (pass_cprop_hardreg::execute): Likewise.
-	* reload1.c (reload): Likewise.
-	* sched-rgn.c (haifa_find_rgns): Likewise.
-	(split_edges): Likewise.
-	(compute_trg_info): Likewise.
-	* sel-sched.c (init_seqno): Likewise.
-	* store-motion.c (remove_reachable_equiv_notes): Likewise.
-	* tree-into-ssa.c (update_ssa): Likewise.
-	* tree-ssa-live.c (live_worklist): Likewise.
-	* tree-ssa-loop-im.c (fill_always_executed_in): Likewise.
-	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
-	* Likewise.
-	(try_peel_loop): Likewise.
-	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop):
-	* Likewise.
-	* tree-ssa-pre.c (compute_antic): Likewise.
-	* tree-ssa-reassoc.c (undistribute_ops_list): Likewise.
-	* tree-stdarg.c (reachable_at_most_once): Likewise.
-	* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Likewise.
-	* var-tracking.c (vt_find_locations): Likewise.
-
-2016-07-26  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* sbitmap.h (auto_sbitmap): New class.
-
-2016-07-26  Alan Modra  <amodra@gmail.com>
-
-	PR target/72103
-	* config/rs6000/rs6000.c (rs6000_secondary_reload): Initialize
-	sri->t_icode.
-
-2016-07-25  David Malcolm  <dmalcolm@redhat.com>
-
-	* input.c (selftest::temp_source_file::temp_source_file): Fix
-	missing "%s" in fprintf.
-
-2016-07-25  John David Anglin  <danglin@gcc.gnu.org>
-
-	PR middle-end/71732
-	* cselib.c (cselib_process_insn): Invalidate argument slots for
-	const/pure calls.
-
-2016-07-25  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/arm_neon.h (vfmah_lane_f16, vfmah_laneq_f16,
-	vfmsh_lane_f16, vfmsh_laneq_f16, vmulh_lane_f16, vmulh_laneq_f16,
-	vmulxh_lane_f16, vmulxh_laneq_f16): New.
-
-2016-07-25  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
-	* config/aarch64/aarch64.md (fma, fnma): Support HF.
-	* config/aarch64/arm_fp16.h (vfmah_f16, vfmsh_f16): New.
-
-2016-07-25  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
-	* config/aarch64/aarch64.md (<FCVT_F2FIXED:fcvt_fixed_insn>hf<mode>3):
-	New.
-	(<FCVT_FIXED2F:fcvt_fixed_insn><mode>hf3): Likewise.
-	(add<mode>3): Likewise.
-	(sub<mode>3): Likewise.
-	(mul<mode>3): Likewise.
-	(div<mode>3): Likewise.
-	(*div<mode>3): Likewise.
-	(<fmaxmin><mode>3): Extend to HF.
-	* config/aarch64/aarch64-simd.md (aarch64_rsqrts<mode>): Likewise.
-	(fabd<mode>3): Likewise.
-	(<FCVT_F2FIXED:fcvt_fixed_insn><VHSDF_HSDF:mode>3): Likewise.
-	(<FCVT_FIXED2F:fcvt_fixed_insn><VHSDI_HSDI:mode>3): Likewise.
-	(aarch64_fmulx<mode>): Likewise.
-	(aarch64_fac<optab><mode>): Likewise.
-	(aarch64_frecps<mode>): Likewise.
-	(<FCVT_F2FIXED:fcvt_fixed_insn>hfhi3): New.
-	(<FCVT_FIXED2F:fcvt_fixed_insn>hihf3): Likewise.
-	* config/aarch64/iterators.md (VHSDF_SDF): Delete.
-	(VSDQ_HSDI): Support HI.
-	(fcvt_target, FCVT_TARGET): Likewise.
-	* config/aarch64/arm_fp16.h (vaddh_f16, vsubh_f16, vabdh_f16,
-	vcageh_f16, vcagth_f16, vcaleh_f16, vcalth_f16, vceqh_f16, vcgeh_f16,
-	vcgth_f16, vcleh_f16, vclth_f16, vcvth_n_f16_s16, vcvth_n_f16_s32,
-	vcvth_n_f16_s64, vcvth_n_f16_u16, vcvth_n_f16_u32, vcvth_n_f16_u64,
-	vcvth_n_s16_f16, vcvth_n_s32_f16, vcvth_n_s64_f16, vcvth_n_u16_f16,
-	vcvth_n_u32_f16, vcvth_n_u64_f16, vdivh_f16, vmaxh_f16, vmaxnmh_f16,
-	vminh_f16, vminnmh_f16, vmulh_f16, vmulxh_f16, vrecpsh_f16,
-	vrsqrtsh_f16): New.
-
-2016-07-25  Jiong Wang  <jiong.wang@arm.com>
-
-	* config.gcc (aarch64*-*-*): Install arm_fp16.h.
-	* config/aarch64/aarch64-builtins.c (hi_UP): New.
-	* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
-	* config/aarch64/aarch64-simd.md (aarch64_frsqrte<mode>): Extend to HF
-	mode.
-	(aarch64_frecp<FRECP:frecp_suffix><mode>): Likewise.
-	(aarch64_cm<optab><mode>): Likewise.
-	* config/aarch64/aarch64.md (<frint_pattern><mode>2): Likewise.
-	(l<fcvt_pattern><su_optab><GPF:mode><GPI:mode>2): Likewise.
-	(fix_trunc<GPF:mode><GPI:mode>2): Likewise.
-	(sqrt<mode>2): Likewise.
-	(*sqrt<mode>2): Likewise.
-	(abs<mode>2): Likewise.
-	(<optab><mode>hf2): New pattern for HF mode.
-	(<optab>hihf2): Likewise.
-	* config/aarch64/arm_neon.h: Include arm_fp16.h.
-	* config/aarch64/iterators.md (GPF_F16, GPI_F16, VHSDF_HSDF): New.
-	(w1, w2, v, s, q, Vmtype, V_cmp_result, fcvt_iesize, FCVT_IESIZE):
-	Support HF mode.
-	* config/aarch64/arm_fp16.h: New file.
-	(vabsh_f16, vceqzh_f16, vcgezh_f16, vcgtzh_f16, vclezh_f16, vcltzh_f16,
-	vcvth_f16_s16, vcvth_f16_s32, vcvth_f16_s64, vcvth_f16_u16,
-	vcvth_f16_u32, vcvth_f16_u64, vcvth_s16_f16, vcvth_s32_f16,
-	vcvth_s64_f16, vcvth_u16_f16, vcvth_u32_f16, vcvth_u64_f16,
-	vcvtah_s16_f16, vcvtah_s32_f16, vcvtah_s64_f16, vcvtah_u16_f16,
-	vcvtah_u32_f16, vcvtah_u64_f16, vcvtmh_s16_f16, vcvtmh_s32_f16,
-	vcvtmh_s64_f16, vcvtmh_u16_f16, vcvtmh_u32_f16, vcvtmh_u64_f16,
-	vcvtnh_s16_f16, vcvtnh_s32_f16, vcvtnh_s64_f16, vcvtnh_u16_f16,
-	vcvtnh_u32_f16, vcvtnh_u64_f16, vcvtph_s16_f16, vcvtph_s32_f16,
-	vcvtph_s64_f16, vcvtph_u16_f16, vcvtph_u32_f16, vcvtph_u64_f16,
-	vnegh_f16, vrecpeh_f16, vrecpxh_f16, vrndh_f16, vrndah_f16, vrndih_f16,
-	vrndmh_f16, vrndnh_f16, vrndph_f16, vrndxh_f16, vrsqrteh_f16,
-	vsqrth_f16): New.
-
-2016-07-25  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64-simd-builtins.def (reduc_smax_scal_,
-	reduc_smin_scal_): Use VDQIF_F16.
-	(reduc_smax_nan_scal_, reduc_smin_nan_scal_): Use VHSDF.
-	* config/aarch64/aarch64-simd.md (reduc_<maxmin_uns>_scal_<mode>):
-	Use VHSDF.
-	(aarch64_reduc_<maxmin_uns>_internal<mode>): Likewise.
-	* config/aarch64/iterators.md (VDQIF_F16): New.
-	(vp): Support HF modes.
-	* config/aarch64/arm_neon.h (vmaxv_f16, vmaxvq_f16, vminv_f16,
-	vminvq_f16, vmaxnmv_f16, vmaxnmvq_f16, vminnmv_f16, vminnmvq_f16): New.
-
-2016-07-25  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64-simd.md (*aarch64_mulx_elt_to_64v2df): Rename to
-	"*aarch64_mulx_elt_from_dup<mode>".
-	(*aarch64_mul3_elt<mode>): Update schedule type.
-	(*aarch64_mul3_elt_from_dup<mode>): Likewise.
-	(*aarch64_fma4_elt_from_dup<mode>): Likewise.
-	(*aarch64_fnma4_elt_from_dup<mode>): Likewise.
-	* config/aarch64/iterators.md (VMUL): Supprt half precision float modes.
-	(f, fp): Support HF modes.
-	* config/aarch64/arm_neon.h (vfma_lane_f16, vfmaq_lane_f16,
-	vfma_laneq_f16, vfmaq_laneq_f16, vfma_n_f16, vfmaq_n_f16, vfms_lane_f16,
-	vfmsq_lane_f16, vfms_laneq_f16, vfmsq_laneq_f16, vfms_n_f16,
-	vfmsq_n_f16, vmul_lane_f16, vmulq_lane_f16, vmul_laneq_f16,
-	vmulq_laneq_f16, vmul_n_f16, vmulq_n_f16, vmulx_lane_f16,
-	vmulxq_lane_f16, vmulx_laneq_f16, vmulxq_laneq_f16): New.
-
-2016-07-25  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
-	* config/aarch64/aarch64-simd.md (fma<mode>4, fnma<mode>4): Extend to HF
-	modes.
-	* config/aarch64/arm_neon.h (vfma_f16, vfmaq_f16, vfms_f16,
-	vfmsq_f16): New.
-
-2016-07-25  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
-	* config/aarch64/aarch64-simd.md
-	(aarch64_rsqrts<mode>): Extend to HF modes.
-	(fabd<mode>3): Likewise.
-	(<FCVT_F2FIXED:fcvt_fixed_insn><VHSDF_SDF:mode>3): Likewise.
-	(<FCVT_FIXED2F:fcvt_fixed_insn><VHSDI_SDI:mode>3): Likewise.
-	(aarch64_<maxmin_uns>p<mode>): Likewise.
-	(<su><maxmin><mode>3): Likewise.
-	(<maxmin_uns><mode>3): Likewise.
-	(<fmaxmin><mode>3): Likewise.
-	(aarch64_faddp<mode>): Likewise.
-	(aarch64_fmulx<mode>): Likewise.
-	(aarch64_frecps<mode>): Likewise.
-	(*aarch64_fac<optab><mode>): Rename to aarch64_fac<optab><mode>.
-	(add<mode>3): Extend to HF modes.
-	(sub<mode>3): Likewise.
-	(mul<mode>3): Likewise.
-	(div<mode>3): Likewise.
-	(*div<mode>3): Likewise.
-	* config/aarch64/aarch64.c (aarch64_emit_approx_div): Return false for
-	HF, V4HF and V8HF.
-	* config/aarch64/iterators.md (VDQ_HSDI, VSDQ_HSDI): New mode iterator.
-	* config/aarch64/arm_neon.h (vadd_f16, vaddq_f16, vabd_f16, vabdq_f16,
-	vcage_f16, vcageq_f16, vcagt_f16, vcagtq_f16, vcale_f16, vcaleq_f16,
-	vcalt_f16, vcaltq_f16, vceq_f16, vceqq_f16, vcge_f16, vcgeq_f16,
-	vcgt_f16, vcgtq_f16, vcle_f16, vcleq_f16, vclt_f16, vcltq_f16,
-	vcvt_n_f16_s16, vcvtq_n_f16_s16, vcvt_n_f16_u16, vcvtq_n_f16_u16,
-	vcvt_n_s16_f16, vcvtq_n_s16_f16, vcvt_n_u16_f16, vcvtq_n_u16_f16,
-	vdiv_f16, vdivq_f16, vdup_lane_f16, vdup_laneq_f16, vdupq_lane_f16,
-	vdupq_laneq_f16, vdups_lane_f16, vdups_laneq_f16, vmax_f16, vmaxq_f16,
-	vmaxnm_f16, vmaxnmq_f16, vmin_f16, vminq_f16, vminnm_f16, vminnmq_f16,
-	vmul_f16, vmulq_f16, vmulx_f16, vmulxq_f16, vpadd_f16, vpaddq_f16,
-	vpmax_f16, vpmaxq_f16, vpmaxnm_f16, vpmaxnmq_f16, vpmin_f16, vpminq_f16,
-	vpminnm_f16, vpminnmq_f16, vrecps_f16, vrecpsq_f16, vrsqrts_f16,
-	vrsqrtsq_f16, vsub_f16, vsubq_f16): New.
-
-2016-07-25  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64-builtins.c (TYPES_BINOP_USS): New.
-	* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
-	* config/aarch64/aarch64-simd.md (aarch64_rsqrte<mode>): Extend to HF modes.
-	(neg<mode>2): Likewise.
-	(abs<mode>2): Likewise.
-	(<frint_pattern><mode>2): Likewise.
-	(l<fcvt_pattern><su_optab><VDQF:mode><fcvt_target>2): Likewise.
-	(<optab><VDQF:mode><fcvt_target>2): Likewise.
-	(<fix_trunc_optab><VDQF:mode><fcvt_target>2): Likewise.
-	(ftrunc<VDQF:mode>2): Likewise.
-	(<optab><fcvt_target><VDQF:mode>2): Likewise.
-	(sqrt<mode>2): Likewise.
-	(*sqrt<mode>2): Likewise.
-	(aarch64_frecpe<mode>): Likewise.
-	(aarch64_cm<optab><mode>): Likewise.
-	* config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Return false for
-	HF, V4HF and V8HF.
-	* config/aarch64/iterators.md (VHSDF, VHSDF_DF, VHSDF_SDF): New.
-	(VDQF_COND, fcvt_target, FCVT_TARGET, hcon): Extend mode attribute to HF modes.
-	(stype): New.
-	* config/aarch64/arm_neon.h (vdup_n_f16): New.
-	(vdupq_n_f16): Likewise.
-	(vld1_dup_f16): Use vdup_n_f16.
-	(vld1q_dup_f16): Use vdupq_n_f16.
-	(vabs_f16, vabsq_f16, vceqz_f16, vceqzq_f16, vcgez_f16, vcgezq_f16,
-	vcgtz_f16, vcgtzq_f16, vclez_f16, vclezq_f16, vcltz_f16, vcltzq_f16,
-	vcvt_f16_s16, vcvtq_f16_s16, vcvt_f16_u16, vcvtq_f16_u16, vcvt_s16_f16,
-	vcvtq_s16_f16, vcvt_u16_f16, vcvtq_u16_f16, vcvta_s16_f16,
-	vcvtaq_s16_f16, vcvta_u16_f16, vcvtaq_u16_f16, vcvtm_s16_f16,
-	vcvtmq_s16_f16, vcvtm_u16_f16, vcvtmq_u16_f16, vcvtn_s16_f16,
-	vcvtnq_s16_f16, vcvtn_u16_f16, vcvtnq_u16_f16, vcvtp_s16_f16,
-	vcvtpq_s16_f16, vcvtp_u16_f16, vcvtpq_u16_f16, vneg_f16, vnegq_f16,
-	vrecpe_f16, vrecpeq_f16, vrnd_f16, vrndq_f16, vrnda_f16, vrndaq_f16,
-	vrndi_f16, vrndiq_f16, vrndm_f16, vrndmq_f16, vrndn_f16, vrndnq_f16,
-	vrndp_f16, vrndpq_f16, vrndx_f16, vrndxq_f16, vrsqrte_f16, vrsqrteq_f16,
-	vsqrt_f16, vsqrtq_f16): New.
-
-2016-07-25  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64-simd.md
-	(aarch64_<PERMUTE:perm_insn><PERMUTE:perm_hilo><mode>): Use VALL_F16.
-	(aarch64_ext<mode>): Likewise.
-	(aarch64_rev<REVERSE:rev_op><mode>): Likewise.
-	* config/aarch64/aarch64.c (aarch64_evpc_trn, aarch64_evpc_uzp,
-	aarch64_evpc_zip, aarch64_evpc_ext, aarch64_evpc_rev): Support V4HFmode
-	and V8HFmode.
-	* config/aarch64/arm_neon.h (__INTERLEAVE_LIST): Support float16x4_t,
-	float16x8_t.
-	(__aarch64_vdup_lane_f16, __aarch64_vdup_laneq_f16,
-	__aarch64_vdupq_lane_f16, __aarch64_vdupq_laneq_f16, vbsl_f16,
-	vbslq_f16, vdup_n_f16, vdupq_n_f16, vdup_lane_f16, vdup_laneq_f16,
-	vdupq_lane_f16, vdupq_laneq_f16, vduph_lane_f16, vduph_laneq_f16,
-	vext_f16, vextq_f16, vmov_n_f16, vmovq_n_f16, vrev64_f16, vrev64q_f16,
-	vtrn1_f16, vtrn1q_f16, vtrn2_f16, vtrn2q_f16, vtrn_f16, vtrnq_f16,
-	vuzp1_f16, vuzp1q_f16, vuzp2_f16, vuzp2q_f16, vzip1_f16, vzip2q_f16):
-	New.
-	(vmov_n_f16): Reimplement using vdup_n_f16.
-	(vmovq_n_f16): Reimplement using vdupq_n_f16..
-
-2016-07-25  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_add_constant): New parameter
-	"frame_related_p".  Generate CFA annotation when it's necessary.
-	(aarch64_expand_prologue): Use aarch64_add_constant.
-	(aarch64_expand_epilogue): Likewise.
-	(aarch64_output_mi_thunk): Pass "false" when calling
-	aarch64_add_constant.
-
-2016-07-25  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_add_constant): Optimize instruction
-	sequences.
-
-2016-07-25  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_add_constant): New parameter "mode".
-	Use aarch64_internal_mov_immediate instead of aarch64_build_constant.
-	(aarch64_output_mi_thunk): Pass Pmode when calling aarch64_add_constant.
-	(aarch64_build_constant): Delete.
-
-2016-07-25  Alexander Monakov  <amonakov@ispras.ru>
-
-	Revert
-	2016-07-20  Alexander Monakov  <amonakov@ispras.ru>
-
-	* config/nvptx/nvptx.c (nvptx_option_override): Do not set
-	flag_toplevel_reorder.
-
-2016-07-25  Richard Biener  <rguenther@suse.de>
-
-	* cgraph.c (cgraph_node::verify_node): Compare against builtin
-	by using DECL_BUILT_IN_CLASS and DECL_FUNCTION_CODE.
-	* tree-chkp.c (chkp_gimple_call_builtin_p): Likewise.
-	* tree-streamer.h (streamer_handle_as_builtin_p): Remove.
-	(streamer_get_builtin_tree): Likewise.
-	(streamer_write_builtin): Likewise.
-	* lto-streamer.h (LTO_builtin_decl): Remove.
-	* lto-streamer-in.c (lto_read_tree_1): Remove assert.
-	(lto_input_scc): Remove LTO_builtin_decl handling.
-	(lto_input_tree_1): Liekwise.
-	* lto-streamer-out.c (lto_output_tree_1): Remove special
-	handling of builtins.
-	(DFS::DFS): Likewise.
-	* tree-streamer-in.c (streamer_get_builtin_tree): Remove.
-	* tree-streamer-out.c (pack_ts_function_decl_value_fields): Remove
-	assert.
-	(streamer_write_builtin): Remove.
-
-2016-07-25  Martin Liska  <mliska@suse.cz>
-
-	* lto-cgraph.c (input_symtab): Don't call get_working_sets
-	if flag_auto_profile is set to true.
-
-2016-07-25  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/71868
-	* cfgloopanal.c (expected_loop_iterations_unbounded): When we
-	have a function with multiple latches, count them all.
-
-2016-07-25  Martin Liska  <mliska@suse.cz>
-
-	* tree-ssa-loop-niter.c (loop_only_exit_p): Release body array.
-
-2016-07-25  Martin Liska  <mliska@suse.cz>
-
-	PR tree-optimization/71987
-	* tree-ssa-reassoc.c (maybe_optimize_range_tests): Call get_ops
-	just for SSA_NAMEs. Fix GNU coding style.
-
-2016-07-25  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/64874
-	* gcov-io.h: Update command about file format.
-	* gcov-iov.c (main): Adapt the numbering scheme.
-
-2016-07-24  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	PR middle-end/66726
-	* tree-ssa-reassoc.c (optimize_vec_cond_expr): Handle tcc_compare stmt
-	whose result is used in PHI.
-	(final_range_test_p): Likewise.
-	(maybe_optimize_range_tests): Likewise.
-
-2016-07-22  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
-	Reformat two multi-line strings.
-
-2016-07-22  Martin Sebor  <msebor@redhat.com>
-
-	* doc/extend.texi (Compound Literals): Add '@' missed in last commit.
-
-2016-07-22  Martin Sebor  <msebor@redhat.com>
-
-	PR c/71560
-	* doc/extend.texi (Compound Literals): Correct and clarify.
-	(Cast to Union): Same.
-
-2016-07-22  Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
-	comments to explain why certain error messages make mention of
-	undocumented options.
-	(rs6000_invalid_builtin): Change error messages to replace mention
-	of undocumented options with mention of the -mcpu=power9 option
-	that enables those undocumented options.
-	* config/rs6000/rs6000.h (MASK_FLOAT128): New macro.
-	(RS6000_BTM_FLOAT128): Use the new MASK_FLOAT128 macro in the
-	definition of this macro to correct an existing error.
-	* config/rs6000/rs6000.opt: Add the Undocumented qualifier to the
-	mpower9-fusion, mpower9-vector, mpower9-dform, and mmodulo entries.
-	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Modify
-	descriptions of built-in functions so that they depend on
-	-mcpu=power9 instead of on the corresponding undocumented flags.
-	* doc/invoke.texi (Option Summary):  Remove all mention of newly
-	undocumented flags.
-	(IBM RS/6000 and PowerPC Options): Likewise.
-	* doc/md.texi (Constraints for Particuliar Machines): Remove all
-	mention of newly undocumented flags.
-
-2016-07-22  Evgeny Stupachenko  <evstupac@gmail.com>
-
-	* ipa-cp.c (determine_versionability): Do not create constprop clones,
-	when target_clones attribute is set.
-
-2016-07-22  Bin Cheng  <bin.cheng@arm.com>
-
-	* common.opt (funsafe-loop-optimizations): Mark ignore.
-	* doc/invoke.texi (funsafe-loop-optimizations): Remove.
-	* loop-iv.c (get_simple_loop_desc): Remove unsafe-loop-optimizations
-	related code.
-	* tree-ssa-loop-niter.c (finite_loop_p): Ditto.
-	* config/bfin/bfin.c (bfin_can_use_doloop_p): Ditto.
-
-2016-07-22  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-niter.h (number_of_iterations_exit_assumptions): New
-	Parameter.
-	* tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions): New
-	Parameter.
-	(number_of_iterations_exit): Warn missed loop optimization for
-	possible infinite loops.
-
-2016-07-22  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/71216
-	* config/rs6000/rs6000.c (rs6000_file_start): Fix condition for
-	when to emit a ".machine" pseudo-op.
-
-2016-07-22  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/69028
-	PR gcov-profile/62047
-	* coverage.c (coverage_compute_lineno_checksum): Do not
-	calculate checksum for fns w/o xloc.file.
-	(coverage_compute_profile_id): Likewise.
-
-2016-07-22  Georg-Johann Lay  <avr@gjlay.de>
-
-	* config/avr/avr.c (TARGET_SECONDARY_RELOAD): Remove hook define...
-	(avr_secondary_reload): ...and implementation.
-	(avr_adjust_insn_length) [ADJUST_LEN_LPM]: Remove handling.
-	* config/avr/avr.md (reload_in<mode>): Remove insns.
-	(adjust_len) [lpm]: Remove insn attribute value.
-	* config/avr/predicates.md (flash_operand): Remove insn predicate.
-
-2016-07-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	PR middle-end/71876
-	* builtin-attrs.def (ATTR_RT_NOTHROW_LEAF_LIST): New return twice
-	attribute.
-	* builtins.def (BUILT_IN_SETJMP): Use ATTR_RT_NOTHROW_LEAF_LIST here.
-	* calls.c (special_function_p): Remove the special handling of the
-	"__builtin_" prefix.
-
-2016-07-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	PR middle-end/71876
-	* calls.c (gimple_maybe_alloca_call_p): New function.  Return true
-	if STMT may be an alloca call.
-	(gimple_alloca_call_p, alloca_call_p): Return only true for the
-	builtin alloca call.
-	* calls.h (gimple_maybe_alloca_call_p): New function.
-	* tree-inline.c (inline_forbidden_p_stmt): Use
-	gimple_maybe_alloca_call_p here.
-
-2016-07-21  David Malcolm  <dmalcolm@redhat.com>
-
-	* spellcheck-tree.c (best_macro_match::best_macro_match):
-	Explictly specify the template arguments when invoking the base
-	class constructor, to help older C++ compilers.
-
-2016-07-21  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/71953
-	* asan.c (asan_dynamic_init_call): Call asan_init_shadow_ptr_types
-	before builtin_decl_implicit.
-
-2016-07-21  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* optabs.c (emit_condiitonal_move): Short circuit for identical
-	sources.
-
-2016-07-21  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* ifcvt.c (noce_if_info): New fields: speed_p, original_cost,
-	max_seq_cost.  Removed fields: then_cost, else_cost, branch_cost.
-	(noce_conversion_profitable_p): New.
-	(noce_try_store_flag_constants): Use it.
-	(noce_try_addcc): Likewise.
-	(noce_try_store_flag_mask): Likewise.
-	(noce_try_cmove): Likewise.
-	(noce_try_cmove_arith): Likewise.
-	(bb_valid_for_noce_process_p): Add to the cost parameter rather than
-	overwriting it.
-	(noce_convert_multiple_sets): Move cost model to here, from...
-	(bb_ok_for_noce_convert_multiple_sets) ...here.
-	(noce_process_if_block): Update calls for above changes.
-	(noce_find_if_block): Record new noce_if_info parameters.
-
-2016-07-21  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* target.def (max_noce_ifcvt_seq_cost): New.
-	* doc/tm.texi.in (TARGET_MAX_NOCE_IFCVT_SEQ_COST): Document it.
-	* doc/tm.texi: Regenerate.
-	* targhooks.h (default_max_noce_ifcvt_seq_cost): New.
-	* targhooks.c (default_max_noce_ifcvt_seq_cost): New.
-	* params.def (PARAM_MAX_RTL_IF_CONVERSION_PREDICTABLE_COST): New.
-	(PARAM_MAX_RTL_IF_CONVERSION_UNPREDICTABLE_COST): Likewise.
-	* doc/invoke.texi: Document new params.
-
-2016-07-21  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71947
-	* tree-vrp.c (extract_range_from_assert): Singleton symbolic
-	ranges have useful limit_vr information.
-
-2016-07-21  Richard Biener  <rguenther@suse.de>
-
-	* function-tests.c (build_trivial_generic_function): Set
-	BLOCK_SUPERCONTEXT of DECL_INITIAL.
-	* omp-low.c (create_omp_child_function): Likewise.
-	(grid_expand_target_grid_body): Likewise.
-	* cgraphunit.c (init_lowered_empty_function): Likewise.
-	(cgraph_node::expand_thunk): Likewise.
-	* tree-parloops.c (create_loop_fn): Likewise.
-	* ipa.c (cgraph_build_static_cdtor_1): Likewise.
-
-2016-07-21  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	* tree-ssa-strlen.c (strlen_dom_walker::before_dom_children): Fix typo
-	in comment.
-
-2016-07-21  Georg-Johann Lay  <avr@gjlay.de>
-
-	* config/avr/avr.md (any_extract, any_shiftrt): New code iterators.
-	(*insv.extract, *insv.shiftrt, *insv.not-bit.0, *insv.not-bit.7)
-	(*insv.xor-extract, *insv.xor1-bit.0): New insns.
-	(adjust_len) [insv_notbit, insv_notbit_0, insv_notbit_7]: New
-	values for insn attribute.
-	* config/avr/avr.c (avr_out_insert_notbit): New function.
-	(avr_adjust_insn_length): Handle ADJUST_LEN_INSV_NOTBIT,
-	ADJUST_LEN_INSV_NOTBIT_0/_7.
-	* config/avr/avr-protos.h (avr_out_insert_notbit): New proto.
-
-2016-07-21  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-chrec.c (convert_affine_scev): New parameter.  Pass new arg.
-	(chrec_convert_1, chrec_convert): Ditto.
-	* tree-chrec.h (chrec_convert, convert_affine_scev): New parameter.
-	* tree-scalar-evolution.c (interpret_rhs_expr): Pass new arg.
-	* tree-vrp.c (adjust_range_with_scev): Ditto.
-	* tree-ssa-loop-niter.c (idx_infer_loop_bounds): Ditto.
-	(scev_var_range_cant_overflow): New function.
-	(scev_probably_wraps_p): New parameter.  Call above function.
-	* tree-ssa-loop-niter.h (scev_probably_wraps_p): New parameter.
-
-2016-07-21  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne): Clean up
-	by removing computation of may_be_zero.
-
-2016-07-21  Jakub Jelinek  <jakub@redhat.com>
-
-	* tree-object-size.c (unknown): Use HOST_WIDE_INT_M1U instead of -1.
-
-2016-07-21  Andrew Sutton  <andrew.n.sutton@gmail.com>
-
-	Improving concepts performance and diagnostics.
-	* timevar.def (TV_CONSTRAINT_SAT, TV_CONSTRAINT_SUB): New time vars
-	for constraint satisfaction and subsumption.
-	* timevar.h (auto_timevar): New constructor that matches the push/pop
-	pattern of usage in pt.c.
-
-2016-07-20  Uros Bizjak  <ubizjak@gmail.com>
-
-	* hwint.h (HOST_WIDE_INT_0): New define.
-	(HOST_WIDE_INT_0U): Ditto.
-	* double-int.c: Use HOST_WIDE_INT_0 instead of (HOST_WIDE_INT) 0.
-	* dse.c: Use HOST_WIDE_INT_0U instead of (unsigned HOST_WIDE_INT) 0.
-	* simplify-rtx.c: Ditto.
-	* tree-object-size.c: Ditto.
-
-2016-07-20  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.c (s390_encode_section_info): Remove mode size
-	check.
-
-2016-07-20  Uros Bizjak  <ubizjak@gmail.com>
-
-	* cse.c: Use HOST_WIDE_INT_M1 instead of ~(HOST_WIDE_INT) 0.
-	* combine.c: Use HOST_WIDE_INT_M1U instead of
-	~(unsigned HOST_WIDE_INT) 0.
-	* double-int.h: Ditto.
-	* dse.c: Ditto.
-	* dwarf2asm.c:Ditto.
-	* expmed.c: Ditto.
-	* genmodes.c: Ditto.
-	* match.pd: Ditto.
-	* read-rtl.c: Ditto.
-	* tree-ssa-loop-ivopts.c: Ditto.
-	* tree-ssa-loop-prefetch.c: Ditto.
-	* tree-vect-generic.c: Ditto.
-	* tree-vect-patterns.c: Ditto.
-	* tree.c: Ditto.
-
-2016-07-20  Georg-Johann Lay  <avr@gjlay.de>
-
-	* config/avr.c (avr_legitimize_address) [AVR_TINY]: Force
-	constant addresses outside [0,0xc0] into a register.
-	(avr_out_movhi_r_mr_reg_no_disp_tiny): Pass insn.  And handle
-	cases where the base address register is unused after.
-	(avr_out_movhi_r_mr_reg_disp_tiny): Same.
-	(avr_out_movhi_mr_r_reg_disp_tiny): Same.
-	(avr_out_store_psi_reg_disp_tiny): Same.
-
-2016-07-20  Georg-Johann Lay  <avr@gjlay.de>
-
-	Implement attribute progmem on reduced Tiny cores by adding
-	flash offset 0x4000 to respective symbols.
-
-	PR target/71948
-	* doc/extend.texi (AVR Variable Attributes) [progmem]: Add
-	documentation how it works on reduced Tiny cores.
-	(AVR Named Address Spaces): No support for reduced Tiny.
-	* config/avr/avr.c (AVR_SYMBOL_FLAG_TINY_PM): New macro.
-	(avr_address_tiny_pm_p): New static function.
-	(avr_print_operand_address) [AVR_TINY]: Add AVR_TINY_PM_OFFSET
-	if the address is in progmem.
-	(avr_assemble_integer): Same.
-	(avr_encode_section_info) [AVR_TINY]: Set AVR_SYMBOL_FLAG_TINY_PM
-	for symbol_ref in progmem.
-	* config/avr/avr.h (AVR_TINY_PM_OFFSET): New macro.
-	* config/avr/avr-c.c (avr_cpu_cpp_builtins): Use it instead of
-	magic 0x4000 when built-in def'ing __AVR_TINY_PM_BASE_ADDRESS__.
-
-2016-07-20  Patrick Palka  <ppalka@gcc.gnu.org>
-
-	* configure.ac (thin_archive_support): New variable.  AC_SUBST it.
-	* configure: Regenerate.
-	* Makefile.in (THIN_ARCHIVE_SUPPORT): New variable.
-	(USE_THIN_ARCHIVES): New variable.
-	(libbackend.a): If USE_THIN_ARCHIVES then pass T to ar to build
-	this archive as a thin archive.
-
-2016-07-20  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic-show-locus.c (diagnostic_show_locus): If this is the
-	same location as last time, don't skip if we have fix-it hints.
-	Clarify the skipping logic by converting it from one "if" clause
-	to repeated "if" clauses.
-	* spellcheck-tree.c: Include "cpplib.h".
-	(find_closest_macro_cpp_cb): Move here from c/c-decl.c.
-	(best_macro_match::best_macro_match): New constructor.
-	* spellcheck-tree.h (struct edit_distance_traits<cpp_hashnode *>):
-	Move here from c/c-decl.c.
-	(class best_macro_match): Move here from c/c-decl.c, converting
-	from a typedef to a subclass, gaining a ctor.
-
-2016-07-20  Georg-Johann Lay  <avr@gjlay.de>
-
-	* config/avr/avr-protos.h (avr_addr_space_supported_p): New prototype.
-	* config/avr/avr.c (TARGET_ADDR_SPACE_DIAGNOSE_USAGE): New hook
-	define...
-	(avr_addr_space_diagnose_usage): ...and implementation.
-	(avr_addr_space_supported_p): New function.
-	(avr_nonconst_pointer_addrspace, avr_pgm_check_var_decl): Only
-	report bad address space usage if that space is supported.
-	(avr_insert_attributes): Same.  No more complain about unsupported
-	address spaces.
-	* config/avr/avr-c.c (tm_p.h): Include it.
-	(avr_cpu_cpp_builtins):	Only define addr-space related built-in
-	macro if avr_addr_space_supported_p.
-
-2016-07-20  Alexander Monakov  <amonakov@ispras.ru>
-
-	* config/nvptx/nvptx.c (nvptx_option_override): Do not set
-	flag_toplevel_reorder.
-
-2016-07-20  David Malcolm  <dmalcolm@redhat.com>
-
-	* gcc-rich-location.c
-	(gcc_rich_location::add_fixit_misspelled_id): New overload, taking
-	a const char *.
-	* gcc-rich-location.h
-	(gcc_rich_location::add_fixit_misspelled_id): Likewise.
-
-2016-07-20  Georg-Johann Lay  <avr@gjlay.de>
-
-	* target.def (addr_space): Add new diagnose_usage to hook vector.
-	* targhooks.c (default_addr_space_diagnose_usage): Add default
-	implementation and...
-	* targhooks.h (default_addr_space_diagnose_usage): ... its prototype.
-	* c/c-parser.c (c_lex_one_token) [CPP_NAME]: If the token
-	is some address space, call targetm.addr_space.diagnose_usage.
-	* doc/tm.texi.in (Named Address Spaces): Add anchor for
-	TARGET_ADDR_SPACE_DIAGNOSE_USAGE documentation.
-	* doc/tm.texi: Regenerate.
-
-2016-07-20  Martin Liska  <mliska@suse.cz>
-
-	PR middle-end/71898
-	* graphite-isl-ast-to-gimple.c (later_of_the_two):
-	Properly handly PHI stmts.
-
-2016-07-20  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/71503
-	PR tree-optimization/71683
-	* tree-if-conv.c (gen_phi_arg_condition): Record true predicate
-	and break.
-
-2016-07-20  Martin Liska  <mliska@suse.cz>
-
-	* doc/invoke.texi (-fipa-ra): Document when the option is
-	disabled. Fix a typo.
-
-2016-07-20  Martin Liska  <mliska@suse.cz>
-
-	* Makefile.in: Include fibonacci_heap.c
-	* fibonacci_heap.c: New file.
-	* fibonacci_heap.h (fibonacci_heap::insert): Use insert_node.
-	(fibonacci_heap::union_with): Fix deletion of the second heap.
-	* selftest-run-tests.c (selftest::run_tests): Incorporate
-	fibonacci heap tests.
-	* selftest.h: Declare fibonacci_heap_c_tests.
-
-2016-07-20  Martin Liska  <mliska@suse.cz>
-
-	* selftest-run-tests.c (selftest::run_tests): New function.
-	* selftest.h (sreal_c_tests): Declare.
-	* sreal.c (sreal_verify_basics): New function.
-	(verify_aritmetics): Likewise.
-	(sreal_verify_arithmetics): Likewise.
-	(verify_shifting): Likewise.
-	(sreal_verify_shifting): Likewise.
-	(void sreal_c_tests): Likewise.
-
-2016-07-19  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/71916
-	* cfgrtl.c (contains_no_active_insn_p): Return false also for
-	bb which have a single succ fake edge.
-
-2016-07-19  Aldy Hernandez  <aldyh@redhat.com>
-
-	PR debug/71855
-	* dwarf2out.c (gen_subprogram_die): Only call
-	gen_unspecified_parameters_die while dumping early dwarf.
-
-2016-07-19  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/71874
-	* gimple-fold.c (fold_builtin_memory_op): Use
-	get_addr_base_and_unit_offset instead of get_ref_base_and_extent.
-
-2016-07-19  Uros Bizjak  <ubizjak@gmail.com>
-
-	* builtins.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1,
-	HOST_WIDE_INT_1U instead of (unsigned HOST_WIDE_INT) 1,
-	HOST_WIDE_INT_M1 instead of (HOST_WIDE_INT) -1 and
-	HOST_WIDE_INT_M1U instead of (unsigned HOST_WIDE_INT) -1.
-	* combine.c: Ditto.
-	* cse.c: Ditto.
-	* dojump.c: Ditto.
-	* double-int.c: Ditto.
-	* dse.c: Ditto.
-	* dwarf2out.c: Ditto.
-	* expmed.c: Ditto.
-	* expr.c: Ditto.
-	* fold-const.c: Ditto.
-	* function.c: Ditto.
-	* fwprop.c: Ditto.
-	* genmodes.c: Ditto.
-	* hwint.c: Ditto.
-	* hwint.h: Ditto.
-	* ifcvt.c: Ditto.
-	* loop-doloop.c: Ditto.
-	* loop-invariant.c: Ditto.
-	* loop-iv.c: Ditto.
-	* match.pd: Ditto.
-	* optabs.c: Ditto.
-	* real.c: Ditto.
-	* reload.c: Ditto.
-	* rtlanal.c: Ditto.
-	* simplify-rtx.c: Ditto.
-	* stor-layout.c: Ditto.
-	* toplev.c: Ditto.
-	* tree-ssa-loop-ivopts.c: Ditto.
-	* tree-vect-generic.c: Ditto.
-	* tree-vect-patterns.c: Ditto.
-	* tree.c: Ditto.
-	* tree.h: Ditto.
-	* ubsan.c: Ditto.
-	* varasm.c: Ditto.
-	* wide-int-print.cc: Ditto.
-	* wide-int.cc: Ditto.
-	* wide-int.h: Ditto.
-
-2016-07-19  David Malcolm  <dmalcolm@redhat.com>
-
-	* selftest.c (selftest::assert_streq): Handle NULL values of
-	val_actual and val_expected.
-
-2016-07-19  Martin Jambor  <mjambor@suse.cz>
-
-	PR fortran/71688
-	* trans-decl.c (gfc_generate_function_code): Use cgraph_get_create_node
-	rather than cgraph_create_node to get a call graph node.
-
-2016-07-19  Richard Biener  <rguenther@suse.de>
-
-	* gimple-fold.c (get_base_constructor): Add VIEW_CONVERT case,
-	handle all tcc_constant bases and valueize SSA names.
-	* tree-ssa-sccvn.c (fully_constant_vn_reference_p): Handle
-	tcc_constant bases.
-
-2016-07-19  David Malcolm  <dmalcolm@redhat.com>
-
-	* function-tests.c (selftest::verify_three_block_rtl_cfg): Verify
-	the flags of the exit block and bb2, not just the entry block.
-
-2016-07-19  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71901
-	* tree-ssa-sccvn.h (struct vn_reference_op_struct): Add
-	align member, group stuff with the bitfield.
-	(vn_ref_op_align_unit): New inline.
-	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): For ARRAY_REFs
-	record element alignment and operand 3 unchanged.
-	(ao_ref_init_from_vn_reference): Adjust.
-	(valueize_refs_1): Likewise.
-	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
-
-2016-07-19  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71908
-	* tree-ssa-structalias.c (get_constraint_for_component_ref): Handle
-	symbolic constants in a more reliable way.
-
-2016-07-19  Ilya Enkovich  <ilya.enkovich@intel.com>
-
-	* tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer): Update
-	comment.
-	(vect_update_inits_of_drs): Likewise.
-	(vect_create_cond_for_alias_checks): Likewise.
-	* tree-vect-loop.c (vect_get_known_peeling_cost): Likewise.
-
-2016-07-19  Richard Biener  <rguenther@suse.de>
-
-	PR lto/71907
-	* lto-streamer-out.c (DFS::DFS_write_tree_body): For blocks
-	with an abstract origin that is not an inlined function outer
-	scope add a self-reference as abstract origin.
-	* tree-streamer-out.c (write_ts_block_tree_pointers): Likewise.
-
-2016-07-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/71493
-	* config/rs6000/rs6000.c (rs6000_function_value): Fix
-	unintentional System V.4 structure return breakage for structures
-	with a single floating point element.
-
-2016-07-18  Yuri Rumyantsev  <ysrumyan@gmail.com>
-
-	PR tree-optimization/71734
-	* tree-ssa-loop-im.c (ref_indep_loop_p_1): Add REF_LOOP argument which
-	contains REF, use it to check safelen, assume that safelen value
-	must be greater 1, fix style.
-	(ref_indep_loop_p_2): Add REF_LOOP argument.
-	(ref_indep_loop_p): Pass LOOP as additional argument to
-	ref_indep_loop_p_2.
-
-2016-07-18  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	* cfgexpand.c (expand_stack_vars): Implement synamic stack space
-	allocation in the prologue.
-	* explow.c (get_dynamic_stack_base): New function to return an address
-	expression for the dynamic stack base.
-	(get_dynamic_stack_size): New function to do the required dynamic stack
-	space size calculations.
-	(allocate_dynamic_stack_space): Use new functions.
-	(align_dynamic_address): Move some code from
-	allocate_dynamic_stack_space to new function.
-	* explow.h (get_dynamic_stack_base, get_dynamic_stack_size): Export.
-
-2016-07-18  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.c (s390_encode_section_info): Always set
-	notaligned marker if mode size is 0 or no MEM_ALIGN info could be
-	found.
-
-2016-07-18  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71893
-	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Compensate
-	for sizetype cast added by array_ref_element_size.
-	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
-
-2016-07-16  John David Anglin  <danglin@gcc.gnu.org>
-
-	* config/pa/pa.c (hppa_profile_hook): Allocate stack space for
-	register parameters.  Remove code to initialize argument pointer
-	on TARGET_64BIT.  Optimize call to _mcount when it can be reached
-	using a pc-relative branch.  Cleanup conditional code.
-	* config/pa/pa.md (call_mcount): New expander.
-	(call_mcount_nonpic): New insn.
-	(call_mcount_pic): New insn and split.
-	(call_mcount_pic_post_reload): New insn.
-	(call_mcount_64bit): New insn and split.
-	(call_mcount_64bit_post_reload): New insn.
-
-2016-07-15  Georg-Johann Lay  <avr@gjlay.de>
-
-	* config/avr/predicates.md (const_m255_to_m1_operand): New.
-	* config/avr/constraints.md (Cn8, Ca1, Co1, Yx2): New constraints.
-	* config/avr/avr.md (add<mode>3) <ALL1>: Fix set_vzn for +/-2.
-	(*cmphi.zero-extend.0, *cmphi.zero-extend.1)
-	(*usum_widenqihi3, *udiff_widenqihi3)
-	(*addhi3_zero_extend.const): New combiner insns.
-	(andqi3, iorqi3): Provide "l" (NO_LD_REGS) alternative if
-	just 1 bit is affected.
-	* config/avr/avr.c (avr_out_bitop) <QImode>: Don't access xop[3].
-	(avr_out_compare) [EQ,NE]: Tweak comparing d-regs against -1.
-
-2016-07-15  Cesar Philippidis  <cesar@codesourcery.com>
-
-	* omp-low.c (lower_omp_target): Mark data clauses with
-	GOMP_MAP_FORCE_{PRESENT,TO,FROM,TOFROM} as potentially having
-	zero-length subarrays.
-
-2016-07-15  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71881
-	* tree-loop-distribution.c (destroy_loop): Remove blocks in
-	reverse DOM order to make debug temp generation happy.
-
-2016-07-15  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71887
-	* tree-ssa-phiopt.c (absorbing_element_p): Add rhs arg and
-	verify it is not zero for division / modulo handling.
-	(value_replacement): Adjust.
-
-2016-07-15  Virendra Pathak  <virendra.pathak@broadcom.com>
-	    Julian Brown  <julian@codesourcery.com>
-
-	* config/aarch64/aarch64-cores.def: Update vulcan COSTS.
-	* config/aarch64/aarch64-cost-tables.h
-	(vulcan_extra_costs): New variable.
-	* config/aarch64/aarch64.c
-	(vulcan_addrcost_table): Likewise.
-	(vulcan_regmove_cost): Likewise.
-	(vulcan_vector_cost): Likewise.
-	(vulcan_branch_cost): Likewise.
-	(vulcan_tunings): Likewise.
-
-2016-07-15  Alexander Monakov  <amonakov@ispras.ru>
-
-	* cgraphunit.c (cgraph_order_sort_kind): New entry ORDER_VAR_UNDEF.
-	(output_in_order): Loop over undefined variables too.  Output them
-	via assemble_undefined_decl.  Skip variables that correspond to hard
-	registers or have value-exprs.
-	* varpool.c (symbol_table::output_variables): Handle undefined
-	variables together with defined ones.
-
-2016-07-15  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-pre.c (get_representative_for): Make sure to return
-	the value number of SSA names.
-	(phi_translate_1): get_representative_for cannot return NULL.
-	(do_pre_regular_insertion): Remove redundant call to
-	fully_constant_expression.
-	(do_pre_partial_partial_insertion): Likewise.
-
-2016-07-15  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-scalar-evolution.c (simple_iv_with_niters): New funcion.
-	(derive_simple_iv_with_niters): New function.
-	(simple_iv): Rewrite using simple_iv_with_niters.
-	* tree-scalar-evolution.h (simple_iv_with_niters): New decl.
-	* tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions): New
-	function.
-	(number_of_iterations_exit): Rewrite using above function.
-	* tree-ssa-loop-niter.h (number_of_iterations_exit_assumptions): New
-	Decl.
-
-2016-07-15  Richard Biener  <rguenther@suse.de>
-
-	* config/i386/i386.c (ix86_builtin_vectorization_cost): Adjust
-	vec_construct cost.
-
-2016-07-14  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/71872
-	* tree-data-ref.c (get_references_in_stmt): Ignore references
-	with is_gimple_constant get_base_address.
-
-2016-07-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm.h (TARGET_HAVE_LDACQ): Enable for ARMv8-M Mainline.
-	(TARGET_HAVE_LDACQD): New macro.
-	* config/arm/sync.md (atomic_loaddi): Use TARGET_HAVE_LDACQD rather
-	than TARGET_HAVE_LDACQ.
-	(arm_load_acquire_exclusivedi): Likewise.
-	(arm_store_release_exclusivedi): Likewise.
-
-2016-07-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	PR rtl-optimization/71878
-	* lra-constraints.c (match_reload): Pass information about other
-	output operands.  Create new unique register value if matching input
-	operand shares same register value as output operand being considered.
-	(curr_insn_transform): Record output operands already processed.
-
-2016-07-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/65951
-	PR tree-optimization/70923
-	* tree-vect-patterns.c: Include mult-synthesis.h.
-	(target_supports_mult_synth_alg): New function.
-	(synth_lshift_by_additions): Likewise.
-	(apply_binop_and_append_stmt): Likewise.
-	(vect_synth_mult_by_constant): Likewise.
-	(target_has_vecop_for_code): Likewise.
-	(vect_recog_mult_pattern): Use above functions to synthesize vector
-	multiplication by integer constants.
-
-2016-07-14  Alan Modra  <amodra@gmail.com>
-
-	* config/rs6000/altivec.md (altivec_mov<mode>): Disparage
-	gpr alternatives.  Correct '*' placement on Y,r alternative.
-	Add '*' on operand 1 of r,r alternative.
-
-2016-07-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* expmed.c (mult_variant, choose_mult_variant): Move declaration to...
-	* expmed.h: ... Here.
-
-2016-07-14  Jan Hubicka  <hubicka@ucw.cz>
-
-	* gimple.h (stmt_can_terminate_bb_p): New function.
-	* tree-cfg.c (need_fake_edge_p): Rename to ...
-	(stmt_can_terminate_bb_p): ... this; return true if stmt can
-	throw external; handle const and pure calls.
-	* tree-ssa-loop-niter.c (loop_only_exit_p): Use it.
-
-2016-07-14  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71866
-	* tree-ssa-pre.c (get_constant_for_value_id): Remove.
-	(do_hoist_insertion): Avoid endless recursion when we
-	didn't insert anything because we managed to simplify
-	things down to a constant or SSA name.
-	(fully_constant_expression): Re-write in terms of ...
-	* tree-ssa-sccvn.h (vn_nary_simplify): ... this.  Declare.
-	* tree-ssa-sccvn.c (vn_nary_simplify): New wrapper around
-	vn_nary_build_or_lookup_1.
-	(vn_nary_build_or_lookup_1): Added flag and renamed from ...
-	(vn_nary_build_or_lookup): ... this which now wraps it.
-
-2016-07-14  Alan Modra  <amodra@gmail.com>
-
-	PR target/71733
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): Deal
-	with p9_vector override before power9-dform override.
-
-2016-07-13  Andi Kleen  <ak@linux.intel.com>
-
-	* value-prof.c (gimple_value_profile_transformations): Don't run
-	when auto_profile is on.
-
-2016-07-13  Andi Kleen  <ak@linux.intel.com>
-
-	* auto-profile.c (update_inlined_ind_target,
-	afdo_indirect_call): Print information to dump file.
-
-2016-07-13  Andrew Burgess  <andrew.burgess@embecosm.com>
-
-	* genrecog.c (special_predicate_operand_p): New function.
-	(predicate_name): Move function.
-	(validate_pattern): Don't warn about missing mode for all
-	define_special_predicate predicates.
-
-2016-07-13  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-vect-data-refs.c (vect_no_alias_p): New function.
-	(vect_prune_runtime_alias_test_list): Call vect_no_alias_p to
-	resolve alias checks which are known at compilation time.
-	Truncate vector LOOP_VINFO_MAY_ALIAS_DDRS(loop_vinfo) if all
-	alias checks are resolved.  Move dump info for too many runtime
-	alias checks to here...
-	* tree-vect-loop.c (vect_analyze_loop_2): ...From here.
-
-2016-07-13  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/24574
-	* tree-ssa-phiopt.c (absorbing_element_p): Pass in argument
-	position and add shift, rotate, divison and modulo support
-	for left zero.
-	(value_replacement): Pass in argument position to absorbing_element_p.
-
-2016-07-13  Ilya Enkovich  <ilya.enkovich@intel.com>
-
-	PR ipa/71633
-	* ipa-inline-transform.c (inline_call): Support
-	instrumented thunks.
-
-2016-07-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm.h (TARGET_HAVE_CBZ): Define.
-	(TARGET_IDIV): Set for all Thumb targets provided they have hardware
-	divide feature.
-	* config/arm/arm.md (divsi3): New unpredicable alternative for ARMv8-M
-	Baseline.  Make initial alternative TARGET_32BIT only.
-	(udivsi3): Likewise.
-	* config/arm/thumb1.md (thumb1_cbz): New define_insn.
-	* doc/sourcebuild.texi (arm_thumb1_cbz_ok): Document new effective
-	target.
-
-2016-07-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm.h (TARGET_HAVE_MOVT): Include ARMv8-M as having MOVT.
-	* config/arm/arm.c (arm_arch_name): (const_ok_for_op): Check MOVT/MOVW
-	availability with TARGET_HAVE_MOVT.
-	(thumb_legitimate_constant_p): Strip the high part of a label_ref.
-	(thumb1_rtx_costs): Also return 0 if setting a half word constant and
-	MOVW is available and replace (unsigned HOST_WIDE_INT) INTVAL by
-	UINTVAL.
-	(thumb1_size_rtx_costs): Make set of half word constant also cost 1
-	extra instruction if MOVW is available.  Use a cost variable
-	incremented by COSTS_N_INSNS (1) when the condition match rather than
-	returning an arithmetic expression based on COSTS_N_INSNS.  Make
-	constant with bottom half word zero cost 2 instruction if MOVW is
-	available.
-	* config/arm/arm.md (define_attr "arch"): Add v8mb.
-	(define_attr "arch_enabled"): Set to yes if arch value is v8mb and
-	target is ARMv8-M Baseline.
-	(arm_movt): New unpredicable alternative for ARMv8-M Baseline.
-	(arm_movtas_ze): Likewise.
-	* config/arm/thumb1.md (thumb1_movdi_insn): Add ARMv8-M Baseline only
-	alternative for constants satisfying j constraint.
-	(thumb1_movsi_insn): Likewise.
-	(movsi splitter for K alternative): Tighten condition to not trigger
-	if movt is available and j constraint is satisfied.
-	(Pe immediate splitter): Likewise.
-	(thumb1_movhi_insn): Add ARMv8-M Baseline only alternative for
-	constant fitting in an halfword to use MOVW.
-	* doc/sourcebuild.texi (arm_thumb1_movt_ok): Document new ARM
-	effective target.
-
-2016-07-13  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/71104
-	* gimplify.c (gimplify_modify_expr): Gimplify the RHS before
-	gimplifying the LHS.  Make sure to gimplify a returning twice
-	call LHS without using SSA names.
-
-2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* tree-data-ref.c (find_data_references_in_stmt): Remove
-	unnecessary call to vec::release.
-	(graphite_find_data_references_in_stmt): Likewise.
-	* tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p): Likewise.
-	* tree-vect-stmts.c (vectorizable_condition): Likewise.
-
-2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* cfgexpand.c (expand_used_vars): Make the type of a local
-	variable auto_vec.
-	* genmatch.c (lower_for): Likewise.
-	* haifa-sched.c (haifa_sched_init): Likewise.
-	(add_to_speculative_block): Likewise.
-	(create_check_block_twin): Likewise.
-	* predict.c (handle_missing_profiles): Likewise.
-	* tree-data-ref.c (loop_nest_has_data_refs): Likewise.
-	* tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Likewise.
-	* tree-ssa-loop-niter.c (discover_iteration_bound_by_body_walk):
-	Likewise.
-	(maybe_lower_iteration_bound): Likewise.
-	* tree-ssa-sccvn.c (DFS): Likewise.
-	* tree-stdarg.c (reachable_at_most_once): Likewise.
-	* tree-vect-stmts.c (vectorizable_conversion): Likewise.
-	(vectorizable_store): Likewise.
-
-2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* tree-ssa-sccvn.c (sccvn_dom_walker::~sccvn_dom_walker): remove.
-	(sccvn_dom_walker): make cond_stack an auto_vec.
-
-2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* ree.c (struct ext_state): Make type of members auto_vec.
-	(find_and_remove_re): Adjust.
-
-2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* cfgexpand.c (struct stack_vars_data): Make type of fields
-	auto_vec.
-	(expand_used_vars): Adjust.
-
-2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* ipa.c (record_cdtor_fn): Adjust.
-	(build_cdtor_fns): Likewise.
-	(ipa_cdtor_merge): Make static_ctors and static_dtors local
-	variables.
-
-2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* genextract.c (struct accum_extract): Add constructor and make
-	members auto_vec.
-	(gen_insn): Adjust.
-
-2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* tree.c (struct free_lang_data_d): Add constructor and change
-	types of members to ones that automatically manage resources.
-	(fld_worklist_push): Adjust.
-	(find_decls_types): Likewise.
-	(find_decls_types_in_eh_region): Likewise.
-	(free_lang_data_in_cgraph): Stop manually creating and
-	destroying members of free_lang_data_d.
-
-2016-07-13  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR rtl-optimization/68961
-	* config/i386/sse.md (movsd/movhpd to movupd peephole2s): Add new
-	peephole variant.  Use sse_reg_operand predicates.
-
-2016-07-12  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/predicates.md (x86_64_immediate_operand)
-	<case CONST_INT>: Remove unneeded truncation to DImode.
-	<case CONST>: Ditto.
-	(x86_64_zext_immediate_operand) <case CONST>: Ditto.
-
-2016-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/71805
-	* config/rs6000/altivec.md (altivec_vperm_<mode>_internal):
-	The xxperm and xxpermr instructions require that the 2nd input
-	operand overlap with the output operand, and not the 1st.
-	(altivec_vperm_v8hiv16qi): Likewise.
-	(altivec_vperm_<mode>_uns_internal): Likewise.
-	(altivec_vpermr_<mode>_internal): Likewise.
-	(vperm_v8hiv4si): Likewise.
-	(vperm_v16qiv8hi): Likewise.
-
-2016-07-12  Nathan Sidwell  <nathan@acm.org>
-
-	* config/arm/arm.c (arm_option_override): Set MASK_SINGLE_PIC_BASE
-	when -mno-pic-data-is-text-relative is in effect, by default.
-	* doc/invoke.texi (mpic-data-is-text-relative): Document new
-	behavior and clarify.
-
-2016-07-12  Martin Liska  <mliska@suse.cz>
-
-	* params.def: Add avg-loop niter.
-	* tree-ssa-loop-ivopts.c (avg_loop_niter): Use the param.
-	* cfgloopanal.c (expected_loop_iterations_unbounded): Likewise.
-	* doc/invoke.texi: Document the new parameter.
-
-2016-07-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR middle-end/71700
-	* expr.c (store_constructor): Mask sign-extended bits when widening
-	sub-word constructor element at the start of a word.
-
-2016-07-12  Martin Liska  <mliska@suse.cz>
-
-	* Makefile.in: Append rule for params-options.h.
-	* params-options.h: New file.
-
-2016-07-12  Martin Liska  <mliska@suse.cz>
-
-	* ira-build.c (mark_loops_for_removal): Properly iterate
-	loops.
-
-2016-07-12  Steven Bosscher  <steven@gcc.gnu.org>
-	    Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/23286
-	PR tree-optimization/70159
-	* doc/invoke.texi: Document -fcode-hoisting.
-	* common.opt (fcode-hoisting): New flag.
-	* opts.c (default_options_table): Enable -fcode-hoisting at -O2+.
-	* tree-ssa-pre.c (pre_stats): Add hoist_insert.
-	(do_regular_insertion): Rename to ...
-	(do_pre_regular_insertion): ... this and amend general comments
-	on insertion strathegy.
-	(do_partial_partial_insertion): Rename to ...
-	(do_pre_partial_partial_insertion): ... this.
-	(do_hoist_insertion): New function.
-	(insert_aux): Take flags on whether to do PRE and/or hoist insertion
-	and call do_hoist_insertion properly.
-	(insert): Adjust.
-	(pass_pre::gate): Enable also if -fcode-hoisting is enabled.
-	(pass_pre::execute): Register hoist_insert stats.
-
-2016-07-12  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/71716
-	* gimple-fold.c (optimize_atomic_compare_exchange_p): Return false
-	for SCALAR_FLOAT_TYPE_P type of expected var, or if TYPE_PRECISION
-	is different from mode's bitsize.  Small cleanup.
-
-2016-07-12  Richard Biener  <rguenther@suse.de>
-
-	PR rtl-optimization/68961
-	* fwprop.c (propagate_rtx): Allow SUBREGs of VEC_CONCAT and CONCAT
-	to simplify to a non-constant.
-
-2016-07-11  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/71758
-	* omp-low.c (expand_omp_target): Gimplify device.
-
-	PR tree-optimization/71823
-	* tree-vect-stmts.c (vectorizable_operation): Use vect_get_vec_defs
-	to get vec_oprnds2 from op2.
-
-2016-07-11  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/predicates.md (x86_64_immediate_operand) <case CONST>:
-	Hoist common subexpressions.
-	(x86_64_zext_immediate_operand) <case CONST>: Ditto.
-
-2016-07-11  Pat Haugen  <pthaugen@us.ibm.com>
-
-	PR target/71800
-	* config/rs6000/rs6000.md (stfiwx): Change constraint to 'wu' to
-	prevent generation of 'stxsiwx' on pre Power8 hardware.
-
-2016-07-11  David Malcolm  <dmalcolm@redhat.com>
-
-	* input.c: Include cpplib.h.
-	(selftest::temp_source_file): New class.
-	(selftest::temp_source_file::temp_source_file): New ctor.
-	(selftest::temp_source_file::~temp_source_file): New dtor.
-	(selftest::should_have_column_data_p): New function.
-	(selftest::test_should_have_column_data_p): New function.
-	(selftest::temp_line_table): New class.
-	(selftest::temp_line_table::temp_line_table): New ctor.
-	(selftest::temp_line_table::~temp_line_table): New dtor.
-	(selftest::test_accessing_ordinary_linemaps): Add case_ param; use
-	it to create a temp_line_table.
-	(selftest::assert_loceq): Only verify LOCATION_COLUMN for
-	locations that are known to have column data.
-	(selftest::line_table_case): New struct.
-	(selftest::test_reading_source_line): Move tempfile handling
-	to class temp_source_file.
-	(ASSERT_TOKEN_AS_TEXT_EQ): New macro.
-	(selftest::assert_token_loc_eq): New function.
-	(ASSERT_TOKEN_LOC_EQ): New macro.
-	(selftest::test_lexer): New function.
-	(selftest::boundary_locations): New array.
-	(selftest::input_c_tests): Call test_should_have_column_data_p.
-	Loop over a test matrix of interesting values of location and
-	default_range_bits, calling test_lexer on each case in the matrix.
-	Move call to test_accessing_ordinary_linemaps into the matrix.
-	* selftest.h (ASSERT_EQ): Reimplement in terms of...
-	(ASSERT_EQ_AT): New macro.
-
-2016-07-11  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/71801
-	* config/i386/i386.c (timode_scalar_chain::fix_debug_reg_uses):
-	Don't convert TImode in debug insn.
-
-2016-07-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	Convert TYPE_ALIGN_OK to a TYPE_LANG_FLAG.
-	* tree-core.h (tree_base::nothrow_flag): Adjust comment.
-	(tree_type_common::lang_flag_7): New.
-	(tree_type_common::spare): Reduce size.
-	* tree.h (TYPE_ALIGN_OK): Remove.
-	(TYPE_LANG_FLAG_7): New.
-	(get_inner_reference): Adjust header.
-	* print-tree.c (print_node): Adjust.
-	* expr.c (get_inner_reference): Remove parameter keep_aligning.
-	(get_bit_range, expand_assignment, expand_expr_addr_expr_1): Adjust
-	calls to get_inner_reference.
-	(expand_expr_real_1): Adjust call to get_inner_reference.  Remove
-	handling of TYPE_ALIGN_OK.
-	* builtins.c (get_object_alignment_2): Adjust call to
-	get_inner_reference.  Remove handling of VIEW_CONVERT_EXPR.
-	* emit-rtl.c (set_mem_attributes_minus_bitpos): Remove handling of
-	TYPE_ALIGN_OK.
-	* asan.c (instrument_derefs): Adjust calls to get_inner_reference.
-	* cfgexpand.c (expand_debug_expr): Likewise.
-	* dbxout.c (dbxout_expand_expr): Likewise.
-	* dwarf2out.c (loc_list_for_address_of_addr_expr_of_indirect_ref,
-	loc_list_from_tree, fortran_common): Likewise.
-	* fold-const.c (optimize_bit_field_compare,
-	decode_field_reference, fold_unary_loc, fold_comparison,
-	split_address_to_core_and_offset): Likewise.
-	* gimple-laddress.c (execute): Likewise.
-	* gimple-ssa-strength-reduction.c (slsr_process_ref): Likewise.
-	* gimplify.c (gimplify_scan_omp_clauses): Likewise.
-	* hsa-gen.c (gen_hsa_addr): Likewise.
-	* simplifx-rtx.c (delegitimize_mem_from_attrs): Likewise.
-	* tsan.c (instrument_expr): Likewise.
-	* ubsan.c (instrument_bool_enum_load, instrument_object_size): Likewise.
-	* tree.c (verify_type_variant): Remove handling of TYPE_ALIGN_OK.
-	* tree-affine.c (tree_to_aff_combination,
-	get_inner_reference_aff): Adjust calls to get_inner_reference.
-	* tree-data-ref.c (split_constant_offset_1,
-	dr_analyze_innermost): Likewise.
-	* tree-scalar-evolution.c (interpret_rhs_expr): Likewise.
-	* tree-sra.c (ipa_sra_check_caller): Likewise.
-	* tree-ssa-loop-ivopts.c (split_address_cost): Likewise.
-	* tree-ssa-math-opts.c (find_bswap_or_nop_load,
-	bswap_replace): Likewise.
-	* tree-vect-data-refs.c (vect_check_gather,
-	vect_analyze_data_refs): Likewise.
-	* config/mips/mips.c (r10k_safe_mem_expr_p): Likewise.
-	* config/pa/pa.c (pa_emit_move_sequence): Remove handling of
-	TYPE_ALIGN_OK.
-
-2016-07-11  David Malcolm  <dmalcolm@redhat.com>
-
-	* Makefile.in (selftest-valgrind): New phony target.
-	* function-tests.c (selftest::build_cfg): Delete pass instances
-	created by the test.
-	(selftest::convert_to_ssa): Likewise.
-	(selftest::test_expansion_to_rtl): Likewise.
-	* tree-cfg.c (selftest::test_linear_chain): Release dominator
-	vectors.
-	(selftest::test_diamond): Likewise.
-
-2016-07-11  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71816
-	* tree-ssa-pre.c (compute_avail): Adjust alignment of ref rather
-	than replacing all of its operands.
-
-2016-07-11  Alan Modra  <amodra@gmail.com>
-
-	* config/rs6000/rs6000.md (UNSPEC_DOLOOP): New unspec.
-	(ctr<mode>): Add unspec.
-	(ctr<mode>_internal*): Likewise.
-
-2016-07-08  James Bowman  <james.bowman@ftdichip.com>
-
-	* config/ft32/ft32.c (ft32_elf_encode_section_info): New function.
-	* config/ft32/ft32.h (ASM_OUTPUT_SYMBOL_REF): New function.
-
-2016-07-08  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/71621
-	* lra-constraints.c (process_alt_operands): Check combination of
-	reg class and mode.
-
-2016-07-08  Jason Merrill  <jason@redhat.com>
-	    Richard Biener  <rguenther@suse.de>
-
-	P0145: Refining Expression Order for C++.
-	* gimplify.c (initial_rhs_predicate_for): New.
-	(gimplfy_modify_expr): Gimplify RHS before LHS.
-
-2016-07-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR target/71297
-	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
-	Allow standard error handling to take over when a wrong number
-	of arguments is presented to __builtin_vec_ld () or
-	__builtin_vec_st ().
-
-2016-07-08  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64-simd-builtins.def (smax): Remove float
-	variants.
-	(smin): Likewise.
-	(fmax): New entry.
-	(fmin): Likewise.
-	* config/aarch64/arm_neon.h (vmaxnm_f32): Use
-	__builtin_aarch64_fmaxv2sf.
-	(vmaxnmq_f32): Likewise.
-	(vmaxnmq_f64): Likewise.
-	(vminnm_f32): Likewise.
-	(vminnmq_f32): Likewise.
-	(vminnmq_f64): Likewise.
-
-2016-07-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/71806
-	* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Do not
-	enable -mfloat128-hardware by default.
-	(ISA_3_0_MASKS_IEEE): New macro to give all of the VSX options
-	that IEEE 128-bit hardware support needs.
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): If
-	-mcpu=power9 -mfloat128, enable -mfloat128-hardware by default.
-	Use ISA_3_0_MASKS_IEEE as the set of options that IEEE 128-bit
-	floating point requires.
-	* doc/invoke.texi (RS/6000 and PowerPC Options): Document
-	-mfloat128 and -mfloat128-hardware changes.
-
-2016-07-08  Alan Hayward  <alan.hayward@arm.com>
-
-	PR tree-optimization/71667
-	* tree-vect-loop.c (vectorizable_live_operation): ignore DEBUG stmts
-
-2016-07-08  Martin Liska  <mliska@suse.cz>
-
-	PR middle-end/71606
-	* fold-const.c (fold_convertible_p): As COMPLEX_TYPE
-	folding produces SAVE_EXPRs, thus return false for the type.
-
-2016-07-07  Martin Liska  <mliska@suse.cz>
-
-	* file-find.c (remove_prefix): New function.
-	* file-find.h (remove_prefix): Declare the function.
-	* gcc-ar.c (main): Skip a folder of the wrapper if
-	a wrapped binary would point to the same file.
-
-2016-07-07  Jan Hubicka  <jh@suse.cz>
-
-	* tree-scalar-evolution.c (iv_can_overflow_p): export.
-	* tree-scalar-evolution.h (iv_can_overflow_p): Declare.
-	* tree-ssa-loop-ivopts.c (alloc_iv): Use it.
-
-2016-07-07  Ilya Enkovich  <ilya.enkovich@intel.com>
-
-	PR ipa/71624
-	* ipa-inline-analysis.c (compute_inline_parameters): Set
-	local.can_change_signature to false for intrumentation
-	thunk callees.
-
-2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm.h (TARGET_USE_MOVT): Check MOVT/MOVW availability
-	with TARGET_HAVE_MOVT.
-	(TARGET_HAVE_MOVT): Define.
-	* config/arm/arm.c (const_ok_for_op): Check MOVT/MOVW
-	availability with TARGET_HAVE_MOVT.
-	* config/arm/arm.md (arm_movt): Use TARGET_HAVE_MOVT to check MOVT
-	availability.
-	(addsi splitter): Use TARGET_THUMB && TARGET_HAVE_MOVT rather than
-	TARGET_THUMB2.
-	(symbol_refs movsi splitter): Remove TARGET_32BIT check.
-	(arm_movtas_ze): Use TARGET_HAVE_MOVT to check MOVT availability.
-	* config/arm/constraints.md (define_constraint "j"): Use
-	TARGET_HAVE_MOVT to check MOVT availability.
-
-2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm-protos.h: Reindent FL_FOR_* macro definitions.
-
-2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm-arches.def (armv8-m.base): Define new architecture.
-	(armv8-m.main): Likewise.
-	(armv8-m.main+dsp): Likewise.
-	* config/arm/arm-protos.h (FL_FOR_ARCH8M_BASE): Define.
-	(FL_FOR_ARCH8M_MAIN): Likewise.
-	* config/arm/arm-tables.opt: Regenerate.
-	* config/arm/bpabi.h: Add armv8-m.base, armv8-m.main and
-	armv8-m.main+dsp to BE8_LINK_SPEC.
-	* config/arm/arm.h (TARGET_HAVE_LDACQ): Exclude ARMv8-M.
-	(enum base_architecture): Add BASE_ARCH_8M_BASE and BASE_ARCH_8M_MAIN.
-	* config/arm/arm.c (arm_arch_name): Increase size to work with ARMv8-M
-	Baseline and Mainline.
-	(arm_option_override_internal): Also disable arm_restrict_it when
-	!arm_arch_notm.  Update comment for -munaligned-access to also cover
-	ARMv8-M Baseline.
-	(arm_file_start): Increase buffer size for printing architecture name.
-	* doc/invoke.texi: Document architectures armv8-m.base, armv8-m.main
-	and armv8-m.main+dsp.
-	(mno-unaligned-access): Clarify that this is disabled by default for
-	ARMv8-M Baseline architectures as well.
-
-2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/elf.h: Use __ARM_ARCH_ISA_THUMB and __ARM_ARCH_ISA_ARM to
-	decide whether to prevent some libgcc routines being included for some
-	multilibs rather than __ARM_ARCH_6M__ and add comment to indicate the
-	link between this condition and the one in
-	libgcc/config/arm/lib1func.S.
-
-2016-07-07  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-pre.c: Include alias.h.
-	(compute_avail): If we have multiple VN_REFERENCEs with the
-	same hashtable entry adjust that to make it a valid replacement
-	for all of them with respect to alignment and aliasing
-	when doing insertion.
-	* tree-ssa-sccvn.h (vn_reference_operands_for_lookup): Declare.
-	* tree-ssa-sccvn.c (vn_reference_operands_for_lookup): New function.
-
-2016-07-06  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/70098
-	PR target/71763
-	* config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
-	*ctr<mode>_internal5, *ctr<mode>_internal6): Add *wi to the output
-	constraint.
-
-2016-07-06  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* var-tracking.c (struct adjust_mem_data): Make side_effects a vector.
-	(adjust_mems): Adjust.
-	(adjust_insn): Likewise.
-	(prepare_call_arguments): Likewise.
-
-2016-07-06  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* gcse.c (struct ls_expr): Make stores field a vector.
-	(ldst_entry): Adjust.
-	(free_ldst_entry): Likewise.
-	(print_ldst_list): Likewise.
-	(compute_ld_motion_mems): Likewise.
-	(update_ld_motion_stores): Likewise.
-
-2016-07-06  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* gcse.c (struct ls_expr): Remove loads field.
-	(ldst_entry): Adjust.
-	(free_ldst_entry): Likewise.
-	(print_ldst_list): Likewise.
-	(compute_ld_motion_mems): Likewise.
-
-2016-07-06  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* store-motion.c (struct st_expr): Make antic_stores a vector.
-	(st_expr_entry): Adjust.
-	(free_st_expr_entry): Likewise.
-	(print_store_motion_mems): Likewise.
-	(find_moveable_store): Likewise.
-	(compute_store_table): Likewise.
-	(remove_reachable_equiv_notes): Likewise.
-	(replace_store_insn): Likewise.
-	(build_store_vectors): Likewise.
-
-2016-07-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/driver-arm.c (arm_cpu_table): Add entries for cortex-a32,
-	cortex-a35, cortex-a53, cortex-a57, cortex-a72, cortex-a73.
-
-2016-07-06  Yuri Rumyantsev  <ysrumyan@gmail.com>
-
-	PR tree-optimization/71518
-	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Adjust
-	misalign also for outer loops with negative step.
-
-2016-07-06  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/arm/cortex-a53.md: Use final_presence_set for in-order.
-	(cortex_a53_shift): Add mov_shift.
-	(cortex_a53_shift_reg): Add new reservation for register shifts.
-	(cortex_a53_alu): Remove bfm.
-	(cortex_a53_alu_shift): Add bfm, remove mov_shift.
-	(cortex_a53_alu_extr): Add new reservation for EXTR.
-	(bypasses): Improve bypass modelling.
-
-2016-07-06  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
-
-	PR target/50739
-	* config/avr/avr.c (avr_asm_select_section): Strip off
-	SECTION_DECLARED from flags when calling get_section.
-
-2016-07-06  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vectorizer.h (vect_memory_access_type): Add
-	VMAT_INVARIANT, VMAT_CONTIGUOUS_DOWN and VMAT_CONTIGUOUS_REVERSED.
-	* tree-vect-stmts.c (compare_step_with_zero): New function.
-	(perm_mask_for_reverse): Move further up file.
-	(get_group_load_store_type): Stick to VMAT_ELEMENTWISE if the
-	step is negative.
-	(get_negative_load_store_type): New function.
-	(get_load_store_type): Call it.  Add an ncopies argument.
-	(vectorizable_mask_load_store): Update call accordingly and
-	remove tests for negative steps.
-	(vectorizable_store, vectorizable_load): Likewise.  Handle new
-	memory_access_types.
-
-2016-07-06  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vectorizer.h (vect_memory_access_type): New enum.
-	(_stmt_vec_info): Add a memory_access_type field.
-	(STMT_VINFO_MEMORY_ACCESS_TYPE): New macro.
-	(vect_model_store_cost): Take an access type instead of a boolean.
-	(vect_model_load_cost): Likewise.
-	* tree-vect-slp.c (vect_analyze_slp_cost_1): Update calls to
-	vect_model_store_cost and vect_model_load_cost.
-	* tree-vect-stmts.c (vec_load_store_type): New enum.
-	(vect_model_store_cost): Take an access type instead of a
-	store_lanes_p boolean.  Simplify tests.
-	(vect_model_load_cost): Likewise, but for load_lanes_p.
-	(get_group_load_store_type, get_load_store_type): New functions.
-	(vectorizable_store): Use get_load_store_type.  Record the access
-	type in STMT_VINFO_MEMORY_ACCESS_TYPE.
-	(vectorizable_load): Likewise.
-	(vectorizable_mask_load_store): Likewise.  Replace is_store
-	variable with vls_type.
-
-2016-07-06  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vectorizer.h (vect_grouped_load_supported): Add a
-	single_element_p parameter.
-	* tree-vect-data-refs.c (vect_grouped_load_supported): Likewise.
-	Check the PR65518 case here rather than in vectorizable_load.
-	* tree-vect-loop.c (vect_analyze_loop_2): Update call accordignly.
-	* tree-vect-stmts.c (vectorizable_load): Likewise.
-
-2016-07-06  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vectorizer.h (gather_scatter_info): New structure.
-	(vect_check_gather_scatter): Return a bool rather than a decl.
-	Replace return-by-pointer arguments with a single
-	gather_scatter_info *.
-	* tree-vect-data-refs.c (vect_check_gather_scatter): Likewise.
-	(vect_analyze_data_refs): Update call accordingly.
-	* tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
-	(vectorizable_mask_load_store): Likewise.  Also record the
-	offset dt and vectype in the gather_scatter_info.
-	(vectorizable_store): Likewise.
-	(vectorizable_load): Likewise.
-
-2016-07-06  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-stmts.c (vect_model_store_cost): For non-SLP
-	strided groups, use the cost of N scalar accesses instead
-	of ncopies vector accesses.
-	(vect_model_load_cost): Likewise.
-
-2016-07-06  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-stmts.c (vect_cost_group_size): Delete.
-	(vect_model_store_cost): Avoid calling it.  Use first_stmt_p
-	variable to indicate when once-per-group costs are being used.
-	(vect_model_load_cost): Likewise.  Fix comment and misindented code.
-
-2016-07-06  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-stmts.c (vectorizable_load): Remove unnecessary
-	peeling-for-gaps condition.
-
-2016-07-06  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.c (s390_expand_vec_init): Force initializer
-	element to register if it doesn't match general_operand.
-
-2016-07-05  Michael Meissner  <meissner@linux.vnet.ibm.com>
-	    Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000-protos.h (rs6000_split_signbit): New
-	prototype.
-	* config/rs6000/rs6000.c (rs6000_split_signbit): New function.
-	* config/rs6000/rs6000.md (UNSPEC_SIGNBIT): New constant.
-	(SIGNBIT): New mode iterator.
-	(Fsignbit): New mode attribute.
-	(signbit<mode>2): Change operand1 to match FLOAT128 instead of
-	IBM128; dispatch to gen_signbit{kf,tf}2_dm for __float128
-	when direct moves are available.
-	(signbit<mode>2_dm): New define_insn_and_split).
-	(signbit<mode>2_dm2): New define_insn.
-
-2016-07-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR rtl-optimization/71594
-	* ifcvt.c (noce_convert_multiple_sets): Wrap new_val or old_val
-	into subregs of appropriate mode before trying to emit a conditional
-	move.
-
-2016-07-05  Jan Hubicka  <jh@suse.cz>
-
-	* tree-scalar-evolution.c (iv_can_overflow_p): New function.
-	(simple_iv): Use it.
-
-2016-07-05  Jan Hubicka  <jh@suse.cz>
-
-	* tree-ssa-loop-niter.c (nowrap_type_p): Use ANY_INTEGRAL_TYPE_P.
-
-2016-07-05  Jiong Wang  <jiong.wang@arm.com>
-
-	* lra-constraints.c (process_alt_operands): Don't add spilling cost for
-	"offmemok".
-
-2016-07-05  Jan Hubicka  <jh@suse.cz>
-
-	* tree-scalar-evoluiton.c (simple_iv): Use nowrap_type to check if
-	IV can overflow.
-
-2016-07-05  Richard Biener  <rguenther@suse.de>
-
-	* gimple-ssa-split-paths.c (find_block_to_duplicate_for_splitting_pa):
-	Handle empty else block.
-	(is_feasible_trace): Likewise.
-	(split_paths): Likewise.
-
-2016-07-05  Richard Biener  <rguenther@suse.de>
-
-	* tree-loop-distribution.c (distribute_loop): Fix issue with
-	the cost model loop.
-
-2016-07-05  Christophe Lyon  <christophe.lyon@linaro.org>
-
-	* config/arm/neon-testgen.ml: Delete.
-	* config/arm/neon.ml: Delete.
-
-2016-07-04  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/71739
-	* tree.c (attribute_value_equal): Use get_attribute_name instead of
-	directly using TREE_PURPOSE.
-
-2016-07-04  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64.h: Rename "ARMv8.1" to "ARMv8.1-A".
-	* config/aarch64/aarch64_neon.h: Likewise.
-	* config/aarch64/arm_neon.h: Likewise.
-	* config/aarch64/atomics.md: Likewise.
-	* config/aarch64/aarch64-simd-builtins.def: Likewise.
-	* doc/invoke.texi: Likewise.
-
-2016-07-04  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	* config/s390/s390.md: Add "z13" cpu_facility.
-	("*mov<mode>cc"): Add support for z13 instructions lochi and locghi.
-	* config/s390/predicates.md ("loc_operand"): New predicate for "load on
-	condition" type instructions.
-
-2016-07-04  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-	    Jeff Law  <law@redhat.com>
-
-	* explow.c (allocate_dynamic_stack_space): Simplify knowing that
-	MUST_ALIGN was always true and extra_align ist always BITS_PER_UNIT.
-
-2016-07-04  Yuri Rumyantsev  <ysrumyan@gmail.com>
-
-	* config/i386/i386.c (ix86_expand_vec_perm): Add handle one-operand
-	permutation for TARGET_AVX512F.
-	(ix86_expand_vec_one_operand_perm_avx512): New function.
-	(expand_vec_perm_1): Invoke introduced function.
-	* tree-vect-loop.c (vect_transform_loop): Clear-up safelen value since
-	it may be not valid after vectorization.
-
-2016-07-04  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
-
-	PR target/63874
-	* config/aarch64/aarch64.c (aarch64_classify_symbol): Fix
-	typo in comment.  Only force to memory if it is a weak
-	external reference.
-
-2016-07-04  Matthew Wahab  <matthew.wahab@arm.com>
-	    Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64-arches.def: Add "armv8.2-a".
-	* config/aarch64/aarch64.h (AARCH64_FL_V8_2): New.
-	(AARCH64_FL_F16): New.
-	(AARCH64_FL_FOR_ARCH8_2): New.
-	(AARCH64_ISA_8_2): New.
-	(AARCH64_ISA_F16): New.
-	(TARGET_FP_F16INST): New.
-	(TARGET_SIMD_F16INST): New.
-	* config/aarch64/aarch64-option-extensions.def ("fp16"): New entry.
-	("fp"): Disabling "fp" also disables "fp16".
-	* config/aarch64/aarch64-c.c (arch64_update_cpp_builtins):
-	Conditionally define __ARM_FEATURE_FP16_SCALAR_ARITHMETIC
-	and __ARM_FEATURE_FP16_VECTOR_ARITHMETIC.
-	* doc/invoke.texi (AArch64 Options): Document "armv8.2-a" and "fp16".
-
-2016-07-04  Jan Beulich  <jbeulich@suse.com>
-
-	* gcc.c (default_compilers["@c-header"]): Conditionalize "-o".
-
-2016-07-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/71720
-	* config/rs6000/vsx.md (vsx_splat_v4sf_internal): When splitting
-	the insns, use an insn form that does not adjust the offset on
-	little endian systems.
-
-2016-07-01  Jan Beulich  <jbeulich@suse.com>
-
-	* varasm.c (get_variable_section): Validate initializer in
-	named .bss-like sections.
-
-2016-07-01  Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	* config/rs6000/altivec.md (*altivec_vpermr_<mode>_internal):
-	Exchange the order of the second and third operands in the vpermr
-	instruction tmeplate.
-
-2016-07-01  Peter Bergner  <bergner@vnet.ibm.com>
-
-	PR target/71698
-	* config/rs6000/rs6000.c (rs6000_secondary_reload_simple_move):
-	Disallow TDmode values.
-
-2016-07-01  Alan Modra  <amodra@gmail.com>
-
-	PR rtl-optimization/71709
-	* ira-lives.c (find_call_crossed_cheap_reg): Exit loop on arg reg
-	being set, not referenced.
-
-2016-07-01  Yuri Rumyantsev  <ysrumyan@gmail.com>
-
-	PR tree-optimization/70729
-	* tree-vectorizer.c (adjust_simduid_builtins): Nullify safelen field
-	of loop since it can be not valid after transformation.
-
-2016-07-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/arm.c (thumb_reload_in_hi): Delete.
-	* config/arm/arm-protos.h (thumb_reload_in_hi): Delete prototype.
-
-2016-07-01  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/arm/arm.c (arm_function_ok_for_sibcall): Add another check
-	for NULL decl.
-
-2016-06-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/71677
-	* config/rs6000/constraints.md (wY constraint): New constraint to
-	match the requirements for the LXSD and STXSD instructions.
-	* config/rs6000/predicates.md (offsettable_mem_14bit_operand): New
-	predicate to match the requirements for the LXSD and STXSD
-	instructions.
-	* config/rs6000/rs6000.md (mov<mode>_hardfloat32, FMOVE64 case):
-	Use constaint wY for LXSD/STXSD instructions instead of 'o' or 'Y'
-	to make sure that the bottom 2 bits of offset are 0, the address
-	form is offsettable, and no updating is done in the address mode.
-	(mov<mode>_hardfloat64, FMOVE64 case): Likewise.
-	(movdi_internal32): Likewise
-	(movdi_internal64): Likewise.
-
-2016-06-30  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/71707
-	* tree-ssa-strlen.c (get_stridx_plus_constant): Handle already present
-	strinfo even for ADDR_EXPR ptr.
-
-2016-06-30  Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	* config/rs6000/altivec.md (darn_32): Change the condition to
-	TARGET_P9_MISC instead of TARGET_MODULO.
-	(darn_raw): Replace TARGET_MODULO with TARGET_P9_MISC in the
-	condition expression.
-	(darn): Replace TARGET_MODULO with TARGET_P9_MISC in the
-	condition expression.
-	* config/rs6000/dfp.md (UNSPEC_DTSTSFI): New unspec constant.
-	(DFP_TEST): New code iterator.
-	(dfptstsfi_<code>_mode>): New define_expand.
-	(*dfp_sgnfcnc_<mode>): New define_insn.
-	* config/rs6000/rs6000-builtin.def (BU_P9_MISC_0): Move this macro
-	definition next to BU_P9_MISC_1 definition and change the MASK
-	value to RS6000_BTM_P9_MISC.
-	(BU_P9_MISC_1): Change the MASK value to RS6000_BTM_P9_MISC.
-	(BU_P9_64BIT_MISC_0): Likewise.
-	(BU_P9_DFP_MISC_0): New macro definition.
-	(BU_P9_DFP_MISC_1): New macro definition.
-	(BU_P9_DFP_MISC_2): New macro definition.
-	(BU_P9_DFP_OVERLOAD_1): New macro definition.
-	(BU_P9_DFP_OVERLOAD_2): New macro definition.
-	(BU_P9_DFP_OVERLOAD_3): New macro definition.
-	(TSTSFI_LT_DD): New BU_P9_DFP_MISC_2.
-	(TSTSFI_LT_TD): Likewise.
-	(TSTSFI_EQ_DD): Likewise.
-	(TSTSFI_EQ_TD): Likewise.
-	(TSTSFI_GT_DD): Likewise.
-	(TSTSFI_GT_TD): Likewise.
-	(TSTSFI_OV_DD): Likewise.
-	(TSTSFI_OV_TD): Likewise.
-	(TSTSFI_LT): New BU_P9_DFP_OVERLOAD_2.
-	(TSTSFI_LT_DD): Likewise.
-	(TSTSFI_LT_TD): Likewise.
-	(TSTSFI_EQ): Likewise.
-	(TSTSFI_EQ_DD): Likewise.
-	(TSTSFI_EQ_TD): Likewise.
-	(TSTSFI_GT): Likewise.
-	(TSTSFI_GT_DD): Likewise.
-	(TSTSFI_GT_TD): Likewise.
-	(TSTSFI_OV): Likewise.
-	(TSTSFI_OV_DD): Likewise.
-	(TSTSFI_OV_TD): Likewise.
-	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
-	overloaded test significance functions.
-	* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
-	OPTION_MASK_P9_MISC into the representation of this mask.
-	(POWERPC_MASKS): Add OPTION_MASK_P9_MISC into the representation
-	of this mask.
-	* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Set the
-	RS6000_BTM_P9_MISC flag in the return value if TARGET_P9_MISC is
-	non-zero.
-	(rs6000_expand_binop_builtin): Enforce that argument 0 of the exp
-	argument is a 6-bit unsigned literal value if the icode argument
-	represents a DFP test significance built-in call.
-	(rs6000_invalid_builtin): Add support for the RS6000_BTM_P9_MISC
-	flag used independently and in combination with the
-	RS6000_BTM_64BIT flag.
-	(rs6000_opt_masks): Add entry for power9-misc command-line option.
-	(rs6000_builtin_mask_names): Add entry for power9-misc
-	command-line option.
-	* config/rs6000/rs6000.h: Redefine TARGET_P9_MISC as 0 if
-	HAVE_AS_POWER9 is not a defined macro.  Define MASK_P9_MISC and
-	RS6000_BTM_P9_MISC macros.
-	* config/rs6000/rs6000.opt: Add support for the -mpower9-misc
-	option and change the description of the -mpower9-vector option to
-	enable only vector instructions, removing its erroneously claimed
-	support for scalar instructions.
-	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
-	the ISA 3.0 digital floating point test significance built-in
-	functions.
-
-2016-06-30  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (cortexa35_tunings):
-	Enable AES fusion.  Use cortexa57_branch_cost.
-	(cortexa53_tunings): Use cortexa57_branch_cost.
-	(cortexa72_tunings): Use cortexa57_branch_cost.
-	Use AUTOPREFETCHER_WEAK.
-	(cortexa73_tunings): Use cortexa57_branch_cost.
-
-2016-06-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-	    James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/aarch64/arm_neon.h (vcopyq_lane_f32, vcopyq_lane_f64,
-	vcopyq_lane_p8, vcopyq_lane_p16, vcopyq_lane_s8, vcopyq_lane_s16,
-	vcopyq_lane_s32, vcopyq_lane_s64, vcopyq_lane_u8, vcopyq_lane_u16,
-	vcopyq_lane_u32, vcopyq_lane_u64): Reimplement in C.
-	(vcopy_lane_f32, vcopy_lane_f64, vcopy_lane_p8, vcopy_lane_p16,
-	vcopy_lane_s8, vcopy_lane_s16, vcopy_lane_s32, vcopy_lane_s64,
-	vcopy_lane_u8, vcopy_lane_u16, vcopy_lane_u32, vcopy_lane_u64,
-	vcopy_laneq_f32, vcopy_laneq_f64, vcopy_laneq_p8, vcopy_laneq_p16,
-	vcopy_laneq_s8, vcopy_laneq_s16, vcopy_laneq_s32, vcopy_laneq_s64,
-	vcopy_laneq_u8, vcopy_laneq_u16, vcopy_laneq_u32, vcopy_laneq_u64,
-	vcopyq_laneq_f32, vcopyq_laneq_f64, vcopyq_laneq_p8, vcopyq_laneq_p16,
-	vcopyq_laneq_s8, vcopyq_laneq_s16, vcopyq_laneq_s32, vcopyq_laneq_s64,
-	vcopyq_laneq_u8, vcopyq_laneq_u16, vcopyq_laneq_u32, vcopyq_laneq_u64):
-	New intrinsics.
-
-2016-06-30  James Greenhalgh  <james.greenhalgh@arm.com>
-	    Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64-simd.md (*aarch64_simd_vec_copy_lane<mode>):
-	New define_insn.
-	(*aarch64_simd_vec_copy_lane_<vswap_width_name><mode>): Likewise.
-
-2016-06-30  David Malcolm  <dmalcolm@redhat.com>
-
-	PR driver/71651
-	* gcc.c (driver::build_option_suggestions): Pass "option" to
-	add_misspelling_candidates.
-	* opts-common.c (add_misspelling_candidates): Add "option" param;
-	use it to avoid adding negated forms for options marked with
-	RejectNegative.
-	* opts.h (add_misspelling_candidates): Add "option" param.
-
-2016-06-30  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/71693
-	* fold-const.c (fold_binary_loc) <case RROTATE_EXPR>: Cast
-	TREE_OPERAND (arg0, 0) and TREE_OPERAND (arg0, 1) to type
-	first when permuting bitwise operation with rotate.  Cast
-	TREE_OPERAND (arg0, 0) to type when cancelling two rotations.
-
-2016-06-29  David Malcolm  <dmalcolm@redhat.com>
-
-	* opts.c (handle_param): Use find_param_fuzzy to offer suggestions
-	for misspelled param names.
-	* params.c: Include spellcheck.h.
-	(find_param_fuzzy): New function.
-	* params.h (find_param_fuzzy): New prototype.
-	* spellcheck.c (struct edit_distance_traits<const char *>): Move to...
-	* spellcheck.h (struct edit_distance_traits<const char *>):
-	...here.
-
-2016-06-29  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/predicates.md (const_0_to_7_operand): New
-	predicate, recognize 0..7.
-	* config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add
-	support for doing extracts from V16QImode, V8HImode, V4SImode
-	under ISA 3.0.
-	* config/rs6000/vsx.md (VSX_EXTRACT_I): Mode iterator for ISA 3.0
-	vector extract support.
-	(VSX_EXTRACT_PREDICATE): Mode attribute to validate element number
-	for ISA 3.0 vector extract.
-	(VSX_EX): Constraints to use for ISA 3.0 vector extract.
-	(vsx_extract_<mode>, VSX_EXTRACT_I): Add support for doing
-	extracts of a constant element number from small integer vectors
-	on 64-bit ISA 3.0 systems.
-	(vsx_extract_<mode>_di): Likewise.
-	* config/rs6000/rs6000.h (TARGET_VEXTRACTUB): New target macro to
-	say when we can do ISA 3.0 vector extracts.
-	* config/rs6000/rs6000.md (stfiwx): Allow DImode in Altivec
-	registers, using the stxsiwx instruction.
-
-2016-06-29  Jim Wilson  <jim.wilson@linaro.org>
-
-	* config/aarch64/aarch64-cores.def (qdf24xx): Use qdf24xx tuning.
-	* config/aarch64/aarch64.c (qdf24xx_addrcost_table,
-	qdf24xx_regmove_cost, qdf24xx_tunings): New.
-	* config/arm/aarch64-cost-tables.h (qdf24xx_extra_costs): New.
-	* config/arm/arm-cores.def (qdf24xx): Use qdf24xx tuning.
-	* config/arm/arm.c (arm_qdf24xx_tune): New.
-
-2016-06-29  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (cortexa53_tunings):
-	Increase loop alignment to 8.  Set function alignment to 16.
-	(cortexa35_tunings): Likewise.
-	(cortexa57_tunings): Increase loop alignment to 8.
-	(cortexa72_tunings): Likewise.
-	(cortexa73_tunings): Likewise.
-
-2016-06-29  Matthew Wahab  <matthew.wahab@arm.com>
-
-	* doc/sourcebuild.texi (Effective-Target keywords): Add entries
-	for arm_fp16_ok and arm_fp16_hw.
-	(Add Options): Add entries for arm_fp16, arm_fp16_ieee and
-	arm_fp16_alternative.
-
-2016-06-29  Ilya Enkovich  <ilya.enkovich@intel.com>
-
-	PR tree-optimization/71655
-	* tree-vect-stmts.c (vectorizable_comparison): Swap definition
-	types when swapping operands.
-
-2016-06-29  Martin Liska  <mliska@suse.cz>
-
-	PR middle-end/71585
-	* common.opt (flag_stack_protect): Mark the flag as optimization flag.
-	* ipa-inline-transform.c (inline_call): Remove unnecessary call
-	of build_optimization_node.
-
-2016-06-29  Yuri Rumyantsev  <ysrumyan@gmail.com>
-
-	PR tree-optimization/70729
-	* tree-ssa-loop-im.c (ref_indep_loop_p_1): Consider memory reference as
-	independent in loops having positive safelen value.
-	* tree-vect-loop.c (vect_transform_loop): Clear-up safelen value since
-	it may be not valid after vectorization.
-
-2016-06-29  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/71625
-	* tree-ssa-strlen.c (get_addr_stridx): Add PTR argument.  Assume list
-	is sorted by ascending list->offset.  If PTR is non-NULL and there is
-	previous strinfo, call get_stridx_plus_constant.
-	(get_stridx): Pass exp as second argument to get_addr_stridx.
-	(addr_stridxptr): Add missing list = list->next, so that there can be
-	more than one entries in the list.  Bump limit from 16 to 32.  Ensure
-	the list is sorted by ascending list->offset.
-	(get_stridx_plus_constant): Adjust so that it can be also called with
-	ADDR_EXPR instead of SSA_NAME as PTR.
-	(handle_char_store): Pass NULL_TREE as second argument to
-	get_addr_stridx.
-
-2016-06-29  Richard Biener  <rguenther@suse.de>
-
-	PR rtl-optimization/68961
-	* simplify-rtx.c (simplify_subreg): Handle VEC_CONCAT like CONCAT.
-
-2016-06-29  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/71002
-	* alias.c (component_uses_parent_alias_set_from): Handle
-	type punning through union accesses by using the union alias set.
-	* gimple.c (gimple_get_alias_set): Remove union type punning case.
-
-2016-07-29  Richard Biener  <rguenther@suse.de>
-
-	* match.pd ((T)(T2)x -> (T)x): Remove restriction on final
-	precision not matching mode precision.
-
-2016-06-28  John David Anglin  <danglin@gcc.gnu.org>
-
-	* config/pa/pa.md (call_symref_64bit_post_reload): Don't call
-	pa_output_arg_descriptor.
-	(call_val_symref_64bit_post_reload): Likewise.
-	(call_val_powf_64bit_post_reload): Likewise.
-	(sibcall_internal_symref_64bit): Likewise.
-	(sibcall_value_internal_symref_64bit): Likewise.
-
-2016-06-28  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/71626
-	* config/i386/i386.c (ix86_expand_vector_move): For SUBREG of
-	a constant, force its SUBREG_REG into memory or register instead
-	of whole op1.
-
-2016-06-28  Pitchumani Sivanupandi  <pitchumani.s@atmel.com>
-
-	PR target/58655
-	* config/avr/avr.opt (-mfract-convert-truncate): Update description.
-	* doc/invoke.texi (AVR Options): Document it.
-
-2016-06-28  Walter Lee  <walt@tilera.com>
-
-	* config/tilegx/linux.h: Do not include arch/icache.h
-	(CLEAR_INSN_CACHE): Provide inlined definition directly.
-	* config/tilepro/linux.h: Do not include arch/icache.h
-	(CLEAR_INSN_CACHE): Provide inlined definition directly.
-
-2016-06-28  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* tree-ssa-math-opts.c (find_bswap_or_nop_1): Adjust bitnumbering
-	for big-endian BIT_FIELD_REF.
-
-2016-06-28  Pat Haugen  <pthaugen@us.ibm.com>
-
-	* config/rs6000/rs6000.md ('type' attribute): Add htmsimple/dfp types.
-	('size' attribute): Add '128'.
-	Include power9.md.
-	(*mov<mode>_hardfloat32, *mov<mode>_hardfloat64, *movdi_internal32,
-	*movdi_internal64, *movdf_update1): Set size attribute to '64'.
-	(add<mode>3, sub<mode>3, mul<mode>3, div<mode>3, sqrt<mode>2,
-	copysign<mode>3, neg<mode>2_hw, abs<mode>2_hw, *nabs<mode>2_hw,
-	*fma<mode>4_hw, *fms<mode>4_hw, *nfma<mode>4_hw, *nfms<mode>4_hw,
-	extend<SFDF:mode><IEEE128:mode>2_hw, trunc<mode>df2_hw,
-	*xscvqp<su>wz_<mode>, *xscvqp<su>dz_<mode>, *xscv<su>dqp_<mode>,
-	*trunc<mode>df2_odd): Set size attribute to '128'.
-	(*cmp<mode>_hw): Change type to veccmp and set size attribute to '128'.
-	* config/rs6000/power6.md (power6-fp): Include dfp type.
-	* config/rs6000/power7.md (power7-fp): Likewise.
-	* config/rs6000/power8.md (power8-fp): Likewise.
-	* config/rs6000/power9.md: New file.
-	* config/rs6000/t-rs6000 (MD_INCLUDES): Add power9.md.
-	* config/rs6000/htm.md (*tabort, *tabort<wd>c, *tabort<wd>ci,
-	*trechkpt, *treclaim, *tsr, *ttest): Change type attribute to
-	htmsimple.
-	* config/rs6000/dfp.md (extendsddd2, truncddsd2, extendddtd2,
-	trunctddd2, adddd3, addtd3, subdd3, subtd3, muldd3, multd3, divdd3,
-	divtd3, *cmpdd_internal1, *cmptd_internal1, floatdidd2, floatditd2,
-	ftruncdd2, fixdddi2, ftrunctd2, fixtddi2, dfp_ddedpd_<mode>,
-	dfp_denbcd_<mode>, dfp_dxex_<mode>, dfp_diex_<mode>, dfp_dscli_<mode>,
-	dfp_dscri_<mode>): Change type attribute to dfp.
-	* config/rs6000/crypto.md (crypto_vshasigma<CR_char>): Change type
-	attribute to vecsimple.
-	* config/rs6000/rs6000.c (power9_cost): Update costs, cache size
-	and prefetch streams.
-	(rs6000_option_override_internal): Remove temporary code setting
-	tuning to power8.  Don't set rs6000_sched_groups for power9.
-	(last_scheduled_insn): Change to rtx_insn *.
-	(divide_cnt, vec_load_pendulum): New variables.
-	(rs6000_adjust_cost): Add Power9 to test for store->load separation.
-	(rs6000_issue_rate): Set issue rate for Power9.
-	(is_power9_pairable_vec_type): New.
-	(power9_sched_reorder2): New.
-	(rs6000_sched_reorder2): Call new function for Power9 specific
-	reordering.
-	(insn_must_be_first_in_group): Remove Power9.
-	(insn_must_be_last_in_group): Likewise.
-	(force_new_group): Likewise.
-	(rs6000_sched_init): Fix initialization of last_scheduled_insn.
-	Initialize divide_cnt/vec_load_pendulum.
-	(_rs6000_sched_context, rs6000_init_sched_context,
-	rs6000_set_sched_context): Handle context save/restore of new
-	variables.
-
-2016-06-28  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p):
-	Properly handle DECL_BIT_FIELD_REPRESENTATIVE occuring as
-	COMPONENT_REF operand.
-	(nonoverlapping_component_refs_p): Likewise.
-	* stor-layout.c (start_bitfield_representative): Mark
-	DECL_BIT_FIELD_REPRESENTATIVE as DECL_NONADDRESSABLE_P.
-
-2016-06-28  Jakub Jelinek  <jakub@redhat.com>
-
-	* Makefile.in: Don't cat ../stage_current if it does not exist.
-
-	* doc/extend.texi (__builtin_add_overflow_p): Clarify behavior when
-	last argument is a bit-field.
-
-	PR rtl-optimization/71673
-	* internal-fn.c (expand_arith_overflow_result_store): Use
-	OPTAB_LIB_WIDEN instead of OPTAB_DIRECT as last argument to
-	expand_simple_binop.
-
-	PR middle-end/66867
-	* builtins.c (expand_ifn_atomic_compare_exchange_into_call,
-	expand_ifn_atomic_compare_exchange): New functions.
-	* internal-fn.c (expand_ATOMIC_COMPARE_EXCHANGE): New function.
-	* tree.h (build_call_expr_internal_loc): Rename to ...
-	(build_call_expr_internal_loc_array): ... this.  Fix up type of
-	last argument.
-	* internal-fn.def (ATOMIC_COMPARE_EXCHANGE): New internal fn.
-	* predict.c (expr_expected_value_1): Handle IMAGPART_EXPR of
-	ATOMIC_COMPARE_EXCHANGE result.
-	* builtins.h (expand_ifn_atomic_compare_exchange): New prototype.
-	* gimple-fold.h (optimize_atomic_compare_exchange_p,
-	fold_builtin_atomic_compare_exchange): New prototypes.
-	* gimple-fold.c (optimize_atomic_compare_exchange_p,
-	fold_builtin_atomic_compare_exchange): New functions..
-	* tree-ssa.c (execute_update_addresses_taken): If
-	optimize_atomic_compare_exchange_p, ignore &var in 2nd argument
-	of call when finding addressable vars, and if such var becomes
-	non-addressable, call fold_builtin_atomic_compare_exchange.
-
-2016-06-27  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/71670
-	* config/rs6000/rs6000.md (ashdi3_extswsli_dot): Use
-	gen_ashdi3_extswsli_dot2 instead of gen_ashdi3_extswsli_dot.
-
-2016-06-27  Pat Haugen  <pthaugen@us.ibm.com>
-
-	* config/rs6000/rs6000.md ('type' attribute): Add
-	veclogical,veccmpfx,vecexts,vecmove insn types.
-	(*abs<mode>2_fpr, *nabs<mode>2_fpr, *neg<mode>2_fpr, *extendsfdf2_fpr,
-	copysign<mode>3_fcpsgn, trunc<mode>df2_internal1, neg<mode>2_internal,
-	p8_fmrgow_<mode>, pack<mode>): Change type to fpsimple.
-	(*xxsel<mode>, copysign<mode>3_hard, neg<mode>2_hw, abs<mode>2_hw,
-	*nabs<mode>2_hw): Change type to vecmove.
-	(*and<mode>3_internal, *bool<mode>3_internal, *boolc<mode>3_internal,
-	*boolcc<mode>3_internal, *eqv<mode>3_internal,
-	*one_cmpl<mode>3_internal, *ieee_128bit_vsx_neg<mode>2_internal,
-	*ieee_128bit_vsx_abs<mode>2_internal,
-	*ieee_128bit_vsx_nabs<mode>2_internal, extendkftf2, trunctfkf2,
-	*ieee128_mfvsrd_64bit, *ieee128_mfvsrd_32bit, *ieee128_mtvsrd_64bit,
-	*ieee128_mtvsrd_32bit): Change type to veclogical.
-	(mov<mode>_hardfloat, *mov<mode>_hardfloat32, *mov<mode>_hardfloat64,
-	*movdi_internal32, *movdi_internal64): Update insn types.
-	* config/rs6000/vsx.md (*vsx_le_undo_permute_<mode>,
-	vsx_extract_<mode>): Change type to veclogical.
-	(*vsx_xxsel<mode>, *vsx_xxsel<mode>_uns): Change type to vecmove.
-	(vsx_sign_extend_qi_<mode>, *vsx_sign_extend_hi_<mode>,
-	*vsx_sign_extend_si_v2di): Change type to vecexts.
-	* config/rs6000/altivec.md (*altivec_mov<mode>, *altivec_movti): Change
-	type to veclogical.
-	(*altivec_eq<mode>, *altivec_gt<mode>, *altivec_gtu<mode>,
-	*altivec_vcmpequ<VI_char>_p, *altivec_vcmpgts<VI_char>_p,
-	*altivec_vcmpgtu<VI_char>_p): Change type to veccmpfx.
-	(*altivec_vsel<mode>, *altivec_vsel<mode>_uns): Change type to vecmove.
-	* config/rs6000/dfp.md (*negdd2_fpr, *absdd2_fpr, *nabsdd2_fpr,
-	negtd2, *abstd2_fpr, *nabstd2_fpr): Change type to fpsimple.
-	* config/rs6000/40x.md (ppc405-float): Add fpsimple.
-	* config/rs6000/440.md (ppc440-fp): Add fpsimple.
-	* config/rs6000/476.md (ppc476-fp): Add fpsimple.
-	* config/rs6000/601.md (ppc601-fp): Add fpsimple.
-	* config/rs6000/603.md (ppc603-fp): Add fpsimple.
-	* config/rs6000/6xx.md (ppc604-fp): Add fpsimple.
-	* config/rs6000/7xx.md (ppc750-fp): Add fpsimple.
-	(ppc7400-vecsimple): Add veclogical, vecmove, veccmpfx.
-	* config/rs6000/7450.md (ppc7450-fp): Add fpsimple.
-	(ppc7450-vecsimple): Add veclogical, vecmove.
-	(ppc7450-veccmp): Add veccmpfx.
-	* config/rs6000/8540.md (ppc8540_simple_vector): Add veclogical,
-	vecmove.
-	(ppc8540_vector_compare): Add veccmpfx.
-	* config/rs6000/a2.md (ppca2-fp): Add fpsimple.
-	* config/rs6000/cell.md (cell-fp): Add fpsimple.
-	(cell-vecsimple): Add veclogical, vecmove.
-	(cell-veccmp): Add veccmpfx.
-	* config/rs6000/e300c2c3.md (ppce300c3_fp): Add fpsimple.
-	* config/rs6000/e6500.md (e6500_vecsimple): Add veclogical, vecmove,
-	veccmpfx.
-	* config/rs6000/mpc.md (mpccore-fp): Add fpsimple.
-	* config/rs6000/power4.md (power4-fp): Add fpsimple.
-	(power4-vecsimple): Add veclogical, vecmove.
-	(power4-veccmp): Add veccmpfx.
-	* config/rs6000/power5.md (power5-fp): Add fpsimple.
-	* config/rs6000/power6.md (power6-fp): Add fpsimple.
-	(power6-vecsimple): Add veclogical, vecmove.
-	(power6-veccmp): Add veccmpfx.
-	* config/rs6000/power7.md (power7-fp): Add fpsimple.
-	(power7-vecsimple): Add veclogical, vecmove, veccmpfx.
-	* config/rs6000/power8.md (power8-fp): Add fpsimple.
-	(power8-vecsimple): Add veclogical, vecmove, veccmpfx.
-	* config/rs6000/rs64.md (rs64a-fp): Add fpsimple.
-	* config/rs6000/titan.md (titan_fp): Add fpsimple.
-	* config/rs6000/xfpu.md (fp-default, fp-addsub-s, fp-addsub-d): Add
-	fpsimple.
-	* config/rs6000/rs6000.c (rs6000_adjust_cost): Add TYPE_FPSIMPLE.
-
-2016-06-27  Peter Bergner  <bergner@vnet.ibm.com>
-
-	PR target/71656
-	* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
-	OPTION_MASK_P9_DFORM_VECTOR.
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): Do not
-	disable -mpower9-dform-vector when using reload.
-	(quad_address_p): Remove 'gpr_p' argument and all associated code.
-	New 'strict' argument.  Update all callers.  Add strict addressing
-	support.
-	(rs6000_legitimate_offset_address_p): Remove call to
-	virtual_stack_registers_memory_p.
-	(rs6000_legitimize_reload_address): Add quad address support.
-	(rs6000_legitimate_address_p): Move call to quad_address_p above
-	call to virtual_stack_registers_memory_p.  Adjust quad_address_p args
-	to account for new strict usage.
-	(rs6000_output_move_128bit): Adjust quad_address_p args to account
-	for new strict usage.
-	* config/rs6000/predicates.md (quad_memory_operand): Likewise.
-
-2016-06-26  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/70902
-	PR target/71453
-	PR target/71555
-	PR target/71596
-	PR target/71657
-	* config/i386/i386.c (ix86_spill_class): Disable condition to
-	always return NO_REGS.
-
-2016-06-26  Jan Hubicka  <hubicka@ucw.cz>
-
-	* predict.c: Include gimple-pretty-print.h
-	(predicted_by_loop_heuristics_p): Check also
-	PRED_LOOP_EXIT_WITH_RECURSION
-	(predict_loops): Find self recursive calls and use special purpose
-	predictors for them; dump log about decisions.
-	(pass_profile::execute): Dump info about #of iterations.
-	* predict.def (PRED_LOOP_EXIT_WITH_RECURSION,
-	(PRED_LOOP_GUARD_WITH_RECURSION): New predictors.
-
-2016-06-26  John David Anglin  <danglin@gcc.gnu.org>
-
-	* config/pa/pa.c (pa_output_indirect_call): Rework to combine
-	output_asm_insn calls and shorten long lines.  Output .CALL
-	argument descriptor using pa_output_arg_descriptor.  Add various
-	inline $$dyncall and other optimizations.
-	(pa_attr_length_indirect_call): Adjust ordering and lengths.
-
-2016-06-25  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/71643
-	* tree-ssa-tail-merge.c (find_clusters_1): Ignore basic blocks with
-	EH preds.
-
-	* tree-ssa-tail-merge.c (deps_ok_for_redirect_from_bb_to_bb): Don't
-	leak a bitmap if dep_bb is NULL.
-
-	PR tree-optimization/71631
-	* tree-ssa-reassoc.c (reassociate_bb): Pass true as last argument
-	to rewrite_expr_tree even if negate_result, move new_lhs var
-	declaration and initialization earlier, for powi_result set afterwards
-	new_lhs to lhs.  For negate_result, use new_lhs instead of tmp
-	if new_lhs != lhs, and don't shadow gsi var.
-
-2016-06-24  Jan Hubicka  <hubicka@ucw.cz>
-
-	* predict.c (predict_paths_leading_to, predict_paths_leading_to_edge):
-	Add in_loop parameter.
-	(predict_loops): Add loop guard heuristics.
-	* predict.def (PRED_LOOP_GUARD): New heuristics.
-
-2016-06-24  Jan Hubicka  <hubicka@ucw.cz>
-
-	* predict.c: Include ipa-utils.h
-	(tree_bb_level_prediction): Predict recursive calls.
-	(tree_estimate_probability_bb): Skip inexpensive calls for call
-	predictor.
-	* predict.def (PRED_RECURSIVE_CALL): New.
-
-2016-06-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): New #define.
-	(BU_FLOAT128_1): Likewise.
-	(FABSQ): Likewise.
-	(COPYSIGNQ): Likewise.
-	(RS6000_BUILTIN_NANQ): Likewise.
-	(RS6000_BUILTIN_NANSQ): Likewise.
-	(RS6000_BUILTIN_INFQ): Likewise.
-	(RS6000_BUILTIN_HUGE_VALQ): Likewise.
-	* config/rs6000/rs6000.c (rs6000_fold_builtin): New prototype.
-	(TARGET_FOLD_BUILTIN): New #define.
-	(rs6000_builtin_mask_calculate): Add TARGET_FLOAT128 entry.
-	(rs6000_invalid_builtin): Add handling for RS6000_BTM_FLOAT128.
-	(rs6000_fold_builtin): New target hook implementation, handling
-	folding of 128-bit NaNs and infinities.
-	(rs6000_init_builtins): Initialize const_str_type_node; ensure all
-	entries are filled in to avoid problems during bootstrap
-	self-test; define builtins for 128-bit NaNs and infinities.
-	(rs6000_opt_mask): Add entry for float128.
-	* config/rs6000/rs6000.h (RS6000_BTM_FLOAT128): New #define.
-	(RS6000_BTM_COMMON): Include RS6000_BTM_FLOAT128.
-	(rs6000_builtin_type_index): Add RS6000_BTI_const_str.
-	(const_str_type_node): New #define.
-	* config/rs6000/rs6000.md (copysign<mode>3 for IEEE128): Convert
-	to a define_expand that dispatches to either copysign<mode>3_soft
-	or copysign<mode>3_hard.
-	(copysign<mode>3_hard): Rename from copysign<mode>3.
-	(copysign<mode>3_soft): New define_insn.
-	* doc/extend.texi: Document new builtins.
-
-2016-06-24  Jakub Jelinek  <jakub@redhat.com>
-
-	* cfgloop.c (flow_loop_dump): Cast nit to uint64_t and print it using
-	PRIu64 instead of lu.
-
-2016-06-24  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR debug/71642
-	* tree-inline.c (remap_decl): When fixing up DECL_ORIGINAL_TYPE, just
-	copy the type name.
-
-2016-06-24  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/71647
-	* omp-low.c (lower_rec_input_clauses): Convert
-	omp_clause_aligned_alignment (c) to size_type_node for the
-	last argument of __builtin_assume_aligned.
-
-2016-06-24  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* configure.ac (calling ___tls_get_addr via GOT): New
-	assembler/linker check.
-	(HAVE_AS_IX86_TLS_GET_ADDR_GOT): New.  Defined to 1 if 32-bit
-	assembler and linker supports calling ___tls_get_addr via GOT.
-	Otherise, defined to 0.
-	* config.in: Regenerated.
-	* configure: Likewise.
-	* config/i386/constraints.md (Yb): New constraint.
-	* config/i386/i386.h (reg_class): Add TLS_GOTBASE_REGS.
-	(REG_CLASS_NAMES): Likewise.
-	(REG_CLASS_CONTENTS): Likewise.
-	* config/i386/i386.md (*tls_global_dynamic_32_gnu): Replace
-	the b constraint with the Yb constraint.  Call ___tls_get_addr
-	via GOT for GNU TLS with -fno-plt if HAVE_AS_IX86_TLS_GET_ADDR_GOT
-	is 1.
-	(*tls_local_dynamic_base_32_gnu): Likewise.
-	(*tls_global_dynamic_64_<mode>): Call _tls_get_addr via GOT for
-	GNU TLS with -fno-plt if HAVE_AS_IX86_TLS_GET_ADDR_GOT is 1.
-	(*tls_local_dynamic_base_64_<mode>): Likewise.
-
-2016-06-24  Martin Liska  <mliska@suse.cz>
-
-	* cfgloop.c (flow_loop_dump): Dump average number of loop iterations.
-	* cfgloop.h: Change 'struct loop' to 'const struct loop' for a
-	few functions.
-	* cfgloopanal.c (expected_loop_iterations_unbounded): Set a new
-	argument to true if the expected number of iterations is
-	loop-based.
-
-2016-06-24  Uros Bizjak  <ubizjak@gmail.com>
-
-	* configure.ac (HAVE_AS_GOTOF_IN_DATA): Use $as_ix86_gas_32_opt to
-	assemble for 32bit target.
-	(HAVE_AS_IX86_TLSGDPLT): Use $as_ix86_gas_32_opt to assemble
-	and $ld_ix86_gld_32_opt to link for 32bit target.
-	(HAVE_AS_IX86_TLSLDMPLT): Ditto.
-	* configure: Regenerate.
-
-2016-06-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/arm.c (int_log2): Delete definition and prototype.
-	(shift_op): Use exact_log2 instead of int_log2.
-	(vfp3_const_double_for_fract_bits): Likewise.
-
-2016-06-24  Jakub Jelinek  <jakub@redhat.com>
-
-	* internal-fn.c (expand_arith_set_overflow): New function.
-	(expand_addsub_overflow, expand_neg_overflow, expand_mul_overflow):
-	Use it.
-	(expand_arith_overflow_result_store): Likewise.  Handle precision
-	smaller than mode precision.
-	* tree-vrp.c (extract_range_basic): For imag part, handle
-	properly signed 1-bit precision result.
-	* doc/extend.texi (__builtin_add_overflow): Document that last
-	argument can't be pointer to enumerated or boolean type.
-	(__builtin_add_overflow_p): Document that last argument can't
-	have enumerated or boolean type.
-
-2016-06-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
-	    Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/predicates.md (splat_input_operand): Rework.
-	Don't allow constants, since the insns that use this predicate
-	don't support constants.  Constants are handled by other insns
-	that are created via combine.  During and after register
-	allocation, only allow indexed or indirect addresses, and not
-	general addresses.  Only allow modes supported by the hardware.
-	* config/rs6000/rs6000.c (xxsplitb_constant_p): Update usage
-	comment.  Move check for using VSPLTIS<x> to a common location,
-	instead of doing it in two different places.
-
-2016-06-23  Jocelyn Mayer  <l_indien@magic.fr>
-
-	* config/i386/driver-i386.c (host_detect_local_cpu): Set
-	PROCESSOR_PENTIUMPRO for signature_CENTAUR_ebx family >= 9.
-	<case PROCESSOR_PENTIMUMPRO>: Pass c7 or nehemiah for
-	signature_CENTAUR_ebx.
-
-2016-06-23  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/66232
-	PR target/67400
-	* configure.ac (as_ix86_tls_ldm_opt): Renamed to ...
-	(as_ix86_gas_32_opt): This.
-	(ld_ix86_tls_ldm_opt): Renamed to ...
-	(ld_ix86_gld_32_opt): This.
-	(R_386_TLS_LDM reloc): Updated.
-	(R_386_GOT32X reloc): New assembler/linker check.
-	(HAVE_AS_IX86_GOT32X): New.  Defined to 1 if 32-bit assembler and
-	linker support "jmp *_start@GOT" and "cmpl $0, bar@GOT".  Otherise,
-	defined to 0.
-	* config.in: Regenerated.
-	* configure: Likewise.
-	* config/i386/i386.c (ix86_force_load_from_GOT_p): Return
-	true if HAVE_AS_IX86_GOT32X is 1 in 32-bit mode.
-	(ix86_legitimate_address_p): Allow UNSPEC_GOT for -fno-plt
-	if ix86_force_load_from_GOT_p returns true.
-	(ix86_print_operand_address_as): Also support UNSPEC_GOT if
-	ix86_force_load_from_GOT_p returns true.
-	(ix86_expand_move): Generate UNSPEC_GOT in 32-bit mode to load
-	the external function address via the GOT slot.
-	(ix86_nopic_noplt_attribute_p): Check both TARGET_64BIT and
-	HAVE_AS_IX86_GOT32X before returning false.
-	(ix86_output_call_insn): Generate "%!jmp/call\t*%p0@GOT" in
-	32-bit mode if ix86_nopic_noplt_attribute_p returns true.
-
-2016-06-23  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-inline.c (remap_decl): Preserve DECL_ORIGINAL_TYPE invariant.
-
-2016-06-23  Andi Kleen  <ak@linux.intel.com>
-
-	* Makefile.in: Regenerate.
-	* doc/install.texi: Document autoprofiledbootstrap.
-
-2016-06-23  Andi Kleen  <ak@linux.intel.com>
-
-	* config/i386/gcc-auto-profile: New file.
-
-2016-06-23  Martin Liska  <mliska@suse.cz>
-
-	PR middle-end/71619
-	* predict.c (predict_loops): Revert the hunk that was removed
-	in r237103.
-
-2016-06-23  Jakub Sejdak  <jakub.sejdak@phoesys.com>
-
-	* config.gcc: Add support for arm*-*-phoenix* targets.
-	* config/arm/t-phoenix: New.
-	* config/phoenix.h: New.
-
-2016-06-23  Uros Bizjak  <ubizjak@gmail.com>
-	    H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/67400
-	* config/i386/i386-protos.h (ix86_force_load_from_GOT_p): New.
-	* config/i386/i386.c (ix86_force_load_from_GOT_p): New function.
-	(ix86_legitimate_constant_p): Do not allow UNSPEC_GOTPCREL if
-	ix86_force_load_from_GOT_p returns true.
-	(ix86_legitimate_address_p): Allow UNSPEC_GOTPCREL if
-	ix86_force_load_from_GOT_p returns true.
-	(ix86_print_operand_address_as): Support UNSPEC_GOTPCREL if
-	ix86_force_load_from_GOT_p returns true.
-	(ix86_expand_move): Load the external function address via the
-	GOT slot if ix86_force_load_from_GOT_p returns true.
-	* config/i386/predicates.md (x86_64_immediate_operand): Return
-	false for SYMBOL_REFs where ix86_force_load_from_GOT_p returns true.
-	(x86_64_zext_immediate_operand): Ditto.
-
-2016-06-22  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (ix86_expand_move): Simplify SYMBOL_REF handling.
-
-2016-06-22  David Malcolm  <dmalcolm@redhat.com>
-
-	PR c/70339
-	* diagnostic-core.h (pedwarn_at_rich_loc): New prototype.
-	* diagnostic.c (pedwarn_at_rich_loc): New function.
-	* spellcheck.h (best_match::best_match): Add a
-	"best_distance_so_far" optional parameter.
-	(best_match::set_best_so_far): New method.
-	(best_match::get_best_distance): New accessor.
-	(best_match::get_best_candidate_length): New accessor.
-
-2016-06-22  Nick Clifton  <nickc@redhat.com>
-
-	* dwarf2out.c (scompare_loc_descriptor): Use SCALAR_INT_MODE_P() in
-	place of GET_MODE_CLASS() == MODE_INT, so that partial integer
-	modes are accepted as well.
-	(ucompare_loc_descriptor): Likewise.
-	(minmax_loc_descriptor): Likewise.
-	(clz_loc_descriptor): Likewise.
-	(popcount_loc_descriptor): Likewise.
-	(bswap_loc_descriptor): Likewise.
-	(rotate_loc_descriptor): Likewise.
-	(mem_loc_descriptor): Likewise.
-	(loc_descriptor): Likewise.
-
-2016-06-22  David Malcolm  <dmalcolm@redhat.com>
-
-	* common.opt (fdiagnostics-parseable-fixits): New option.
-	* diagnostic.c: Include "selftest.h".
-	(print_escaped_string): New function.
-	(print_parseable_fixits): New function.
-	(diagnostic_report_diagnostic): Call print_parseable_fixits.
-	(selftest::assert_print_escaped_string): New function.
-	(ASSERT_PRINT_ESCAPED_STRING_STREQ): New macro.
-	(selftest::test_print_escaped_string): New function.
-	(selftest::test_print_parseable_fixits_none): New function.
-	(selftest::test_print_parseable_fixits_insert): New function.
-	(selftest::test_print_parseable_fixits_remove): New function.
-	(selftest::test_print_parseable_fixits_replace): New function.
-	(selftest::diagnostic_c_tests): New function.
-	* diagnostic.h (struct diagnostic_context): Add field
-	"parseable_fixits_p".
-	* doc/invoke.texi (Diagnostic Message Formatting Options): Add
-	-fdiagnostics-parseable-fixits.
-	(-fdiagnostics-parseable-fixits): New option.
-	* opts.c (common_handle_option): Handle
-	-fdiagnostics-parseable-fixits.
-	* selftest-run-tests.c (selftest::run_tests): Call
-	selftest::diagnostic_c_tests.
-	* selftest.h (selftest::diagnostic_c_tests): New prototype.
-
-2016-06-22  Ilya Enkovich  <ilya.enkovich@intel.com>
-
-	PR tree-optimization/71488
-	* tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Support
-	comparison of boolean vectors.
-	* tree-vect-stmts.c (vectorizable_comparison): Vectorize comparison
-	of boolean vectors using bitwise operations.
-
-2016-06-22  Andreas Schwab  <schwab@suse.de>
-
-	* config/aarch64/aarch64-protos.h (aarch64_elf_asm_named_section):
-	Remove declaration.
-
-2016-06-22  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* function.c (assign_parm_setup_reg): Prevent sharing in another case.
-
-2016-06-22  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* config/i386/i386.c (print_reg): Emit an error message on attempt to
-	print FLAGS_REG.
-
-2016-06-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/arm.c (arm_cortex_a73_tune): New struct.
-	* config/arm/arm-cores.def (cortex-a73): New entry.
-	(cortex-a73.cortex-a35): Likewise.
-	(cortex-a73.cortex-a53): Likewise.
-	* config/arm/arm-tables.opt: Regenerate.
-	* config/arm/arm-tune.md: Likewise.
-	* config/arm/bpabi.h (BE8_LINK_SPEC): Handle mcpu=cortex-a73,
-	mcpu=cortex-a73.cortex-a35 and mcpu=cortex-a73.cortex-a53.
-	* config/arm/t-aprofile: Handle mcpu=cortex-a73,
-	mcpu=cortex-a73.cortex-a35 and mcpu=cortex-a73.cortex-a53.
-	* doc/invoke.texi (ARM Options): Document cortex-a73,
-	cortex-a73.cortex-a35 and cortex-a73.cortex-a53.
-
-2016-06-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64.c (cortexa73_tunings): New struct.
-	* config/aarch64/aarch64-cores.def (cortex-a73): New entry.
-	(cortex-a73.cortex-a35): Likewise.
-	(cortex-a73.cortex-a53): Likewise.
-	* config/aarch64/aarch64-tune.md: Regenerate.
-	* doc/invoke.texi (AArch64 Options): Document cortex-a73,
-	cortex-a73.cortex-a35 and cortex-a73.cortex-a53 arguments to
-	-mcpu and -mtune.
-
-2016-06-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	* configure.ac (gcc_cv_as_compress_debug): Remove
-	--compress-debug-sections as extra as switch.
-	Handle gas --compress-debug-sections=type.
-	(gcc_cv_ld_compess_debug): Remove bogus ld_date check.
-	Handle gld --compress-debug-sections=type.
-	* configure: Regenerate.
-
-2016-06-21  Andrew Burgess  <andrew.burgess@embecosm.com>
-
-	* bb-reorder.c (pass_partition_blocks::gate): Update comment.
-
-2016-06-21  John David Anglin  <danglin@gcc.gnu.org>
-
-	* gcov-tool.c (profile_rewrite): Use int64_t instead of long long.
-	(do_rewrite): likewise.
-
-2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* common/config/mep/mep-common.c: Remove.
-	* config.gcc: Remove mep-* support.
-	* config/mep/constraints.md: Remove.
-	* config/mep/default.h: Remove.
-	* config/mep/intrinsics.h: Remove.
-	* config/mep/intrinsics.md: Remove.
-	* config/mep/ivc2-template.h: Remove.
-	* config/mep/mep-c5.cpu: Remove.
-	* config/mep/mep-core.cpu: Remove.
-	* config/mep/mep-default.cpu: Remove.
-	* config/mep/mep-ext-cop.cpu: Remove.
-	* config/mep/mep-intrin.h: Remove.
-	* config/mep/mep-ivc2.cpu: Remove.
-	* config/mep/mep-pragma.c: Remove.
-	* config/mep/mep-protos.h: Remove.
-	* config/mep/mep.c: Remove.
-	* config/mep/mep.cpu: Remove.
-	* config/mep/mep.h: Remove.
-	* config/mep/mep.md: Remove.
-	* config/mep/mep.opt: Remove.
-	* config/mep/predicates.md: Remove.
-	* config/mep/t-mep: Remove.
-	* doc/install.texi: Remove mep-* documentation.
-	* doc/md.texi: Likewise.
-
-2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* config.gcc: Remove support for avr-rtems.
-	* config/avr/gen-avr-mmcu-specs.c: Likewise.
-	* config/avr/rtems.h: Remove.
-	* config/avr/t-rtems: Remove.
-
-2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* config.gcc: Remove m32r-rtems support.
-	* config/m32r/rtems.h: Remove.
-
-2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* config.gcc: Remove h8300-rtems support.
-	* config/h8300/rtems.h: Remove.
-	* config/h8300/t-rtems: Remove.
-
-2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* config.gcc: Remove support for knetbsd.
-	* configure.ac: Likewise.
-	* config/i386/knetbsd-gnu.h: Remove.  * config/i386/knetbsd-gnu64.h: Remove.
-	* config/knetbsd-gnu.h: Remove.
-	* configure: Regenerate.
-
-2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* config.gcc: Remove support for openbsd 2 and 3.
-	* config/openbsd-oldgas.h: Remove.
-
-2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* config.gcc: Remove interix support.
-	* config/i386/i386-interix.h: Remove.
-	* config/i386/interix.opt: Remove.
-	* config/i386/t-interix: Remove.
-	* configure: Regenerate.
-	* configure.ac: Remove interix support.
-	* doc/install.texi: Remove interix documentation.
-
-2016-06-21  Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	* config/rs6000/rs6000.h: Add conditional preprocessing directives
-	to disable Power9-specific compiler features if HAVE_AS_POWER9 is
-	not defined.
-
-2016-06-21  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree.c (verify_type_variant): Skip TYPE_SIZE and TYPE_SIZE_UNIT if
-	they are both PLACEHOLDER_EXPRs.
-
-2016-06-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* stor-layout.c (layout_type): Move setting complex MODE to
-	layout_type, instead of setting it ahead of time by the caller.
-	* tree.c (build_complex_type): Likewise.
-
-2016-06-21  Martin Liska  <mliska@suse.cz>
-
-	* predict.c (force_edge_cold): Replace imposisble with
-	impossible.
-
-2016-06-21  Ilya Verbin  <ilya.verbin@intel.com>
-
-	* config/i386/i386.c (ix86_emit_swsqrtsf): Emit vrsqrt28ps.
-	* config/i386/sse.md (define_expand "rsqrtv16sf2"): New.
-
-2016-06-21  Ilya Verbin  <ilya.verbin@intel.com>
-
-	* config/i386/i386.c (ix86_emit_swdivsf): Emit vrcp28ps.
-
-2016-06-21  H.J. Lu  <hongjiu.lu@intel.com>
-	    Ilya Enkovich  <ilya.enkovich@intel.com>
-
-	PR target/71549
-	* config/i386/i386.c (timode_scalar_chain::fix_debug_reg_uses):
-	New member function to convert V1TImode register to SUBREG
-	TImode in debug insn.
-	(timode_scalar_chain::convert_insn): Call fix_debug_reg_uses
-	after changing register mode to V1TImode.
-
-2016-06-21  Virendra Pathak  <virendra.pathak@broadcom.com>
-
-	* config/aarch64/aarch64-cores.def (vulcan): New core.
-	* config/aarch64/aarch64-tune.md: Regenerate.
-	* doc/invoke.texi: Document vulcan as an available option.
-
-2016-06-21  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* cse.c (canon_asm_operands): New function extracted from...
-	(canonicalize_insn): ...here.  Call it to canonicalize an ASM_OPERANDS
-	either standalone or member of a PARALLEL.
-
-2016-06-21  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR target/30417
-	* config/avr/gen-avr-mmcu-specs.c (print_mcu):
-	[*link_data_start]: Wrap -Tdata into %{!Tdata:...}.
-	[*link_text_start]: Wrap -Ttext into %{!Ttext:...}.
-
-2016-06-21  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR target/71103
-	* config/avr/avr.md (movqi): Only handle loading subreg:qi of
-	constant addresses if can_create_pseudo_p.
-
-2016-06-21  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/71588
-	* tree-ssa-strlen.c (valid_builtin_call): New function.
-	(adjust_last_stmt, handle_builtin_memset, strlen_optimize_stmt): Use
-	it.
-
-2016-06-20  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/71581
-	* tree-ssa-uninit.c (warn_uninit): If EXPR and VAR are NULL,
-	see if T isn't anonymous SSA_NAME with COMPLEX_EXPR created
-	for conversion of scalar user var to complex type and use the
-	underlying SSA_NAME_VAR in that case.  If EXPR is still NULL,
-	punt.
-
-	PR rtl-optimization/71591
-	* toplev.c (toplev::run_self_tests): If no_backend, complain and
-	don't run any tests.
-
-2016-06-20  Hans-Peter Nilsson  <hp@axis.com>
-
-	PR target/71571
-	* config/cris/cris.c (cris_asm_output_mi_thunk): Add missing "ba"
-	delay-slot "nop" for PIC with CRIS v32.  Also add missing leading
-	space for PIC with non-v32 and the common non-PIC "jump".
-
-2016-06-20  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/71559
-	* config/i386/i386.c (ix86_fp_cmp_code_to_pcmp_immediate): Fix up
-	returned values and add UN*/LTGT/*ORDERED cases with values matching
-	D operand modifier on vcmp for AVX.
-
-2016-06-20  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.opt
-	(mpc-relative-literal-loads): Rename internal option name.
-	* config/aarch64/aarch64.c
-	(aarch64_nopcrelative_literal_loads): Rename to
-	aarch64_pcrelative_literal_loads.
-	(aarch64_expand_mov_immediate): Likewise.
-	(aarch64_secondary_reload): Likewise.
-	(aarch64_can_use_per_function_literal_pools_p): Likewise.
-	(aarch64_override_options_after_change_1): Rename and simplify logic.
-	(aarch64_classify_symbol): Merge large model checks into switch,
-	remove pc-relative load check.
-
-2016-06-20  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/arm/aarch-cost-tables.h (cortexa53_extra_costs): Make FP
-	costs relative to the cost of a register move.
-
-2016-06-20  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/aarch64/arm_neon.h (vcvt_n_f64_s64): New.
-	(vcvt_n_f64_u64): Likewise.
-	(vcvt_n_s64_f64): Likewise.
-	(vcvt_n_u64_f64): Likewise.
-	(vcvt_f64_s64): Likewise.
-	(vrecpe_f64): Likewise.
-	(vcvt_f64_u64): Likewise.
-	(vrecps_f64): Likewise.
-
-2016-06-20  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/aarch64/aarch64.md
-	(<FCVT_F2FIXED:fcvt_fixed_insn><GPF:mode>3): Add attributes to
-	iterators.
-	(<FCVT_FIXED2F:fcvt_fixed_insn><GPI:mode>3): Likewise.  Correct
-	attributes.
-	* config/aarch64/aarch64-builtins.c
-	(aarch64_types_binop_uss_qualifiers): Delete.
-	(TYPES_BINOP_USS): Likewise.
-	(aarch64_types_binop_sus_qualifiers): Likewise.
-	(TYPES_BINOP_SUS): Likewise.
-	(aarch64_types_fcvt_from_unsigned_qualifiers): New.
-	(TYPES_FCVTIMM_SUS): Likewise.
-	* config/aarch64/aarch64-simd-builtins.def (scvtf): Use SHIFTIMM
-	rather than BINOP.
-	(ucvtf): Use FCVTIMM_SUS rather than BINOP_SUS.
-	(fcvtzs): Use SHIFTIMM rather than BINOP.
-	(fcvtzu): Use SHIFTIMM_USS rather than BINOP_USS.
-
-2016-06-20  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/arm/aarch-cost-tables.h (cortexa57_extra_costs): Make FP
-	costs relative to the cost of a register move.
-
-2016-06-20  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_modes_tieable_p):
-	Allow scalar/single vector modes to be tieable.
-
-2016-06-20  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/arm/cortex-a57.md (cortex_a57_fp_cpys): Add fcsel.
-
-2016-06-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* params.def (PARAM_ALIGN_LOOP_ITERATIONS): Use "alignment" instead of
-	"alignement".
-	* tree.h (TYPE_ALIGN): Likewise.
-
-2016-06-20  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR target/71103
-	* config/avr/avr.md (movqi): Handle loading subreg:qi (const).
-
-2016-06-20  Georg-Johann Lay  <avr@gjlay.de>
-
-	* config/avr/avr.c (avr_print_operand): Fix "format not a string
-	literal" build warnings.
-	(avr_print_operand_address): Dito.
-
-2016-06-19  David Edelsohn  <dje.gcc@gmail.com>
-
-	PR target/71375
-	* config/rs6000/aix51.h (TARGET_EXTRA_BUILTINS): Define as 0.
-	* config/rs6000/aix43.h (TARGET_EXTRA_BUILTINS): Same.
-
-2016-06-18  John David Anglin  <danglin@gcc.gnu.org>
-
-	* config/pa/pa.h (TARGET_LONG_PIC_PCREL_CALL): Remove.
-
-2016-06-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR bootstrap/71435
-	* reload1.c (reload): Pass 0 to finish_spills when called because
-	update_eliminables_and_spill returns true and remove did_spill.
-	(finish_spills): Adjust comment and document GLOBAL parameter.
-
-2016-06-17  DJ Delorie  <dj@redhat.com>
-
-	PR target/71338
-	* config/rl78/rl78-expand.c (umulqihi3): Enable for G10.
-	* config/rl78/rl78-virtual.c (umulhi3_shift_virt): Likewise.
-	(umulqihi3_virt): Likewise.
-	* config/rl78/rl78-real.c (umulhi3_shift_real): Likewise.
-	(umulqihi3_real): Likewise.
-
-2016-06-17  Martin Liska  <mliska@suse.cz>
-
-	* tree-ssa-reassoc.c (transform_add_to_multiply): Use auto_vec.
-
-2016-06-17  Martin Liska  <mliska@suse.cz>
-
-	* predict.def: PRED_LOOP_EXIT from 92 to 85.
-
-2016-06-17  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/arm/arm_neon.h (vadd_f32): replace __FAST_MATH with
-	__FAST_MATH__.
-	(vaddq_f32): Likewise.
-	(vmul_f32): Likewise.
-	(vmulq_f32): Likewise.
-	(vsub_f32): Likewise.
-	(vsubq_f32): Likewise.
-
-2016-06-17  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/71347
-	* tree-ssa-loop-ivopts.c (determine_group_iv_cost_address): Compute
-	cost for all uses in group.
-
-2016-06-17  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-vect-loop.c (vect_create_epilog_for_reduction): Only
-	insert gimple seq if it's not empty.
-
-2016-06-17  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-vectorizer.h (struct dr_with_seg_len): Remove class
-	member OFFSET.
-	* tree-vect-data-refs.c (operator ==): Handle DR_OFFSET directly,
-	rather than OFFSET.
-	(comp_dr_with_seg_len_pair): Ditto.
-	(vect_prune_runtime_alias_test_list): Ditto.  Also Canonicalize
-	struct dr_with_seg_len_pair against DR_OFFSET.
-	* tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Handle
-	DR_OFFSET directly.
-
-2016-06-17  Szabolcs Nagy  <szabolcs.nagy@arm.com>
-
-	* config/aarch64/geniterators.sh: Handle parenthesised conditions.
-
-2016-06-16  John David Anglin  <danglin@gcc.gnu.org>
-
-	* config/pa/pa.c (pa_output_pic_pcrel_sequence): New.
-	(pa_output_lbranch): Use pa_output_pic_pcrel_sequence.
-	(pa_output_millicode_call): Likewise.
-	(pa_output_call): Likewise.
-	(pa_output_indirect_call): Likewise.
-	(pa_asm_output_mi_thunk): Likewise.
-
-2016-06-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
-
-	* doc/invoke.texi (x86 Options): Fix -mno-fp-ret-in-387 typo.
-
-2016-06-16  Martin Liska  <mliska@suse.cz>
-
-	* predict.c (combine_predictions_for_insn): When we find a first
-	match predictor, we should consider just predictors with
-	PRED_FLAG_FIRST_MATCH.  Print either first match (if any) or
-	DS theory predictor.
-	(combine_predictions_for_bb): Likewise.
-
-2016-06-16  Jakub Jelinek  <jakub@redhat.com>
-
-	* gimplify.c (gimplify_scan_omp_clauses): Handle COMPONENT_REFs
-	with base of reference to struct.
-
-2016-06-16  Uros Bizjak  <ubizjak@gmail.com>
-
-	* doc/invoke.texi (x86 Options): Document -m80387 and -mhard-float.
-
-2016-06-16  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
-
-	PR target/71151
-	* config/avr/avr.c (avr_asm_init_sections): Remove setup of
-	progmem_swtable_section.
-	(progmem_swtable_section): Remove.
-	(avr_asm_function_rodata_section): Remove.
-	(TARGET_ASM_FUNCTION_RODATA_SECTION): Remove.
-	* config/avr/avr.h (JUMP_TABLES_IN_TEXT_SECTION: Define to 1.
-
-2016-06-16  Jocelyn Mayer  <l_indien@magic.fr>
-
-	* config/i386/driver-i386.c (host_detect_local_cpu): Set
-	PROCESSOR_K8 for signature_CENTAUR_ebx with has_longmode.
-	<case PROCESSOR_K8>: Pass nano-3000, nano, eden-x2 or k8 for
-	signature_CENTAUR_ebx.
-	* config/i386/i386.c (ix86_option_override_internal): Add
-	definitions for VIA c7, samuel-2, nehemiah, esther, eden-x2, eden-x4,
-	nano, nano-1000, nano-2000, nano-3000, nano-x2 and nano-x4.
-	* doc/invoke.texi (x86 Options): Document new VIA -march entries.
-
-2016-06-16  Martin Liska  <mliska@suse.cz>
-
-	* predict.def: Add fortran loop preheader predictor.
-	* gimple-fold.c (gimple_fold_stmt_to_constant_1): Properly
-	fold IFN_BUILTIN_EXPECT with a known constant argument.
-
-2016-06-16  Martin Liska  <mliska@suse.cz>
-
-	* predict.def: Add 'Fortran' to display text of all
-	PRED_FORTRAN_* predictors.
-
-2016-06-16  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/71242
-	* config/ia64/ia64.c (enum ia64_builtins) [IA64_BUILTIN_NANQ]: New.
-	[IA64_BUILTIN_NANSQ]: Ditto.
-	(ia64_fold_builtin): New function.
-	(TARGET_FOLD_BUILTIN): New define.
-	(ia64_init_builtins) Declare const_string_type node.
-	Add __builtin_nanq and __builtin_nansq builtin functions.
-	(ia64_expand_builtin): Handle IA64_BUILTIN_NANQ and IA64_BUILTIN_NANSQ.
-
-2016-06-16  Nick Clifton  <nickc@redhat.com>
-
-	* config/msp430/msp430-opts.h (msp430_hwmult_types): Add
-	MSP430_HWMULT_ prefix to enum values.
-	(msp430_regions): Add MSP430_REGION_ prefix to enum values.
-	* config/msp430/msp430.c: Update use of enum values.
-	* config/msp430/msp430.md: Likewise.
-	* config/msp430/msp430.opt: Likewise.
-
-2016-06-16  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Fix estimation
-	of comparsions in the last iteration.
-
-2016-06-16  Claudiu Zissulescu  <claziss@synopsys.com>
-	    Joern Rennecke  <joern.rennecke@embecosm.com>
-
-	* config/arc/arc.c (arc_print_operand_address): Handle pc-relative
-	addresses.
-	(arc_needs_pcl_p): Add GOTOFFPC.
-	(arc_legitimate_pic_addr_p): Likewise.
-	(arc_output_pic_addr_const): Likewise.
-	(arc_legitimize_pic_address): Generate a pc-relative address using
-	GOTOFFPC.
-	(arc_output_libcall): Use @pcl syntax.
-	(arc_delegitimize_address_0): Delegitimize ARC_UNSPEC_GOTOFFPC.
-	* config/arc/arc.md ("unspec"): Add ARC_UNSPEC_GOTOFFPC.
-	(*movsi_insn): Use @pcl syntax.
-	(doloop_begin_i): Likewise.
-
-2016-06-16  Martin Liska  <mliska@suse.cz>
-
-	* predict.def: Define a new predictor.
-
-2016-06-16  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.opt (mtp-regno): Update text.
-
-2016-06-16  Renlin Li  <renlin.li@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_legitimize_address): Fix a typo.
-
-2016-06-16  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/71554
-	* config/i386/i386.md (setcc + movzbl peephole2): Use reg_set_p.
-	(setcc + and peephole2): Likewise.
-
-	PR rtl-optimization/71532
-	* cse.c (cse_insn): For const/pure calls, invalidate argument passing
-	memory slots.
-
-2016-06-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/vsx.md (VSINT_84): Add DImode to enable loading
-	DImode constants with XXSPLTIB in vector registers.
-	(vsx_extract_<mode>, V2DImode/V2DFmode): Combine both
-	vsx_extract_<mode>_internal{1,2} into a single insn that handles
-	direct move (both ISA 2.07 and ISA 3.0 versions), and optimizes
-	extraction of the element at the top of the register as a scalar
-	value.
-	(vsx_extract_<mode>_internal1): Likewise.
-	(vsx_extract_<mode>_internal2): Likewise.
-	* config/rs6000/constraints.md (wi constraint): Remove a comment
-	about DImode not being allowed in Altivec registers.
-	(wB constraint): New constraint for constants that can be
-	generated in Altivec registers with VSPLTISW/VUPKHSW.
-	* config/rs6000/predicates.md (xxspltib_constant_split): Update
-	comments.
-	(xxspltib_constant_nosplit): Likewise.
-	* config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Add
-	support for -mupper-regs-di to enable DImode to go into Altivec
-	registers.
-	(POWERPC_MASKS): Likewise.
-	(power7 cpu): Likewise.
-	* config/rs6000/rs6000.opt (-mupper-regs-di): Likewise.
-	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
-	for DImode being allowed in Altivec registers.  Update wi/wj
-	constraints.  Set scalar_in_vmx_p flag.
-	(rs6000_option_override_internal): Add checks for -mupper-regs-di.
-	(xxspltib_constant_p): Allow CONST_INT's with VOIDmode.  Don't
-	return true if we could use VSPLTISW/VUPKHSW instead of XXSPLTIB.
-	(rs6000_opt_masks): Add -mupper-regs-di.
-	* config/rs6000/rs6000.md (lfiwax): Update clobbers that don't use
-	direct move to use wi and not wj.
-	(lfiwzx): Likewise.
-	(floatsi<mode>2_lfiwax_mem): Combine alternatives into a single
-	alternative.
-	(floatunssi<mode>2_lfiwzx_mem): Likewise.
-	(fix_trunc<mode>di2_fctidz): Change second alternative to allow
-	any VSX register, instead of just Altivec registers, to allow
-	either operand to be an Altivec register or both.
-	(fixuns_trunc<mode>di2_fctiduz): Likewise.
-	(movdi_internal32): Add support for -mupper-regs-di.  Add support
-	to load constants via XXSPLTIB or VSPLTISW.  Add spacing to allow
-	the alternatives and attributes to be lined up to be easier to
-	read.
-	(movdi_internal64): Likewise.
-	(64-bit DImode splitters): Change predicates to only split loading
-	up GPR registers.  Add splits for using XXSPLTIB or VSPLTISW to
-	load constants in ISA 3.0 or ISA 2.07 respectively.
-	* doc/invoke.texi (RS/6000 and PowerPC Options): Document
-	-mupper-regs-di.  Update -mupper-regs-df and -mupper-regs-sf to
-	mention -mcpu=power9 sets these options.
-	* doc/md.texi (PowerPC and IBM RS6000 constraints): Document the
-	wB constraint.
-
-2016-06-15  Pitchumani Sivanupandi  <pitchumani.s@atmel.com>
-
-	PR target/67353
-	* config/avr/avr.c (avr_set_current_function): Warn misspelled
-	interrupt/ signal handler if -Wmisspelled-isr flag is enabled.
-	* config/avr/avr.opt (Wmisspelled-isr): New warning flag. Enabled
-	by default to warn misspelled interrupt/ signal handler.
-	* doc/invoke.texi (AVR Options): Document it. Update description
-	for -nodevicelib option.
-
-2016-06-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64-simd.md (aarch64_<sur>shll_n<mode>): Clean
-	up parentheses.  Use GET_MODE_UNIT_BITSIZE.
-	(aarch64_<sur>shll2_n<mode>): Likewise.
-
-2016-06-15  Ilya Enkovich  <ilya.enkovich@intel.com>
-
-	PR middle-end/71529
-	* ipa-chkp.c (chkp_build_instrumented_fndecl): Fix
-	DECL_CONTEXT for copied arguments.
-
-2016-06-15  Alan Hayward  <alan.hayward@arm.com>
-
-	PR tree-optimization/71483
-	* tree-vect-loop.c (vectorizable_live_operation): Pick correct index
-	for slp
-
-2016-06-15  Martin Liska  <mliska@suse.cz>
-
-	* predict.c (tree_predict_by_opcode): Call predict_edge_def
-	instead of predict_edge w/o a probability.
-
-2016-06-15  Alan Hayward  <alan.hayward@arm.com>
-
-	PR tree-optimization/71439
-	* tree-vect-loop.c (vect_analyze_loop_operations): Additional check for
-	live PHIs.
-
-2016-06-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* ifcvt.c (bb_ok_for_noce_multiple_sets): Allow simple lowpart
-	register subregs in SET_SRC.
-
-2016-06-15  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-stmts.c (vectorizable_store): Remove strided grouped
-	store restrictions.
-
-2016-06-15  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Do
-	not consider dependences between accesses that belong to the
-	same group.
-	(vect_analyze_data_ref_dependences): Do not analyze read-read
-	or self-dependences.
-
-2016-06-14  David Malcolm  <dmalcolm@redhat.com>
-
-	* spellcheck-tree.c: Include spellcheck-tree.h rather than
-	spellcheck.h.
-	(find_closest_identifier): Reimplement in terms of
-	best_match<tree,tree>.
-	* spellcheck-tree.h: New file.
-	* spellcheck.c (struct edit_distance_traits<const char *>): New
-	struct.
-	(find_closest_string): Reimplement in terms of
-	best_match<const char *, const char *>.
-	* spellcheck.h (levenshtein_distance): Move prototype of tree-based
-	overload to spellcheck-tree.h.
-	(find_closest_identifier): Likewise.
-	(struct edit_distance_traits<T>): New template.
-	(class best_match): New class.
-
-2016-06-14  David Malcolm  <dmalcolm@redhat.com>
-
-	* selftest-run-tests.c (selftest::run_tests): Call
-	selftest::spellcheck_tree_c_tests.
-	* selftest.h (selftest::spellcheck_tree_c_tests): New decl.
-	* spellcheck-tree.c: Include selftest.h and stringpool.h.
-	(selftest::test_find_closest_identifier): New function.
-	(selftest::spellcheck_tree_c_tests): New function.
-	* spellcheck.c (selftest::test_find_closest_string): Verify that
-	the order of the vec does not affect the results for this case.
-	(selftest::test_data): New array.
-	(selftest::test_metric_conditions): New function.
-	(selftest::spellcheck_c_tests): Add a test of case-comparison.
-	Call selftest::test_metric_conditions.
-
-2016-06-14  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000-builtin.def (commentary): Typo.
-	(BU_P9_MISC_1): Likewise.
-	(BU_P9_64BIT_MISC_0): Likewise.
-	(BU_P9_MISC_0): Likewise.
-
-2016-06-14  David Malcolm  <dmalcolm@redhat.com>
-
-	* gcc-rich-location.c
-	(gcc_rich_location::add_fixit_misspelled_id): New method.
-	* gcc-rich-location.h
-	(gcc_rich_location::add_fixit_misspelled_id): Add decl.
-
-2016-06-14  Andreas Tobler  <andreast@gcc.gnu.org>
-
-	* config/arm/freebsd.h: Only enable unaligned access for armv6 on
-	FreeBSD 11 and above.
-
-2016-06-14  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (signbittf2): Emit sse_movmskps for TARGET_SSE.
-
-2016-06-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* expmed.h: Close parenthesis in "at your option" in copyright
-	boilerplate.
-	* lower-subreg.h: Likewise.
-
-2016-06-14  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/71526
-	* genmatch.c (expr::gen_transform): Use in_type for comparisons
-	if available.
-
-2015-06-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_mask_and_shift_for_ubfiz_p):
-	New function.
-	(aarch64_rtx_costs): Use it.  Rewrite CONST_INT_P (op1) case to handle
-	mask+shift version.
-	* config/aarch64/aarch64-protos.h (aarch64_mask_and_shift_for_ubfiz_p):
-	New prototype.
-	* config/aarch64/aarch64.md (*andim_ashift<mode>_bfiz): Replace
-	matching condition with aarch64_mask_and_shift_for_ubfiz_p.
-
-2016-06-14  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71522
-	* tree-ssa.c (non_rewritable_lvalue_p): Do not rewrite non-float
-	copying into float copying.
-
-2016-06-14  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/71520
-	* tree-ssa-tail-merge.c (find_duplicate): Handle labels.
-	(replace_block_by): Move user labels from bb1 to bb2.
-
-2016-06-14  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/71310
-	PR bootstrap/71510
-	* expr.h (get_bit_range): Declare.
-	* expr.c (get_bit_range): Export.
-	* fold-const.c (optimize_bit_field_compare): Use get_bit_range and
-	word_mode again to constrain the bitfield access.
-
-2016-06-14  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71521
-	* tree-vrp.c (extract_range_from_binary_expr_1): Guard
-	division int_const_binop against zero divisor.
-
-2016-06-13  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (signbittf2): New expander.
-	* config/i386/sse.md (ptesttf2): New insn pattern.
-
-2016-06-13  David Malcolm  <dmalcolm@redhat.com>
-
-	PR bootstrap/71481
-	* input.c (selftest::test_reading_source_line): Avoid reading from
-	__FILE__ by creating a tempfile with known content and reading
-	from that instead.
-
-2016-06-13  David Malcolm  <dmalcolm@redhat.com>
-
-	* pretty-print.c (assert_pp_format_colored): Skip the test if
-	GCC_COLORS is set.
-	(test_pp_format): Remove comment about GCC_COLORS.
-
-2016-06-13  David Malcolm  <dmalcolm@redhat.com>
-
-	* input.c (test_reading_source_line): Use SELFTEST_LOCATION.
-	* pretty-print.c (assert_pp_format_va): Add location param and use
-	it with ASSERT_STREQ_AT.
-	(assert_pp_format): Add location param and pass it to
-	assert_pp_format_va.
-	(assert_pp_format_colored): Likewise.
-	(ASSERT_PP_FORMAT_1): New.
-	(ASSERT_PP_FORMAT_2): New.
-	(ASSERT_PP_FORMAT_3): New.
-	(test_pp_format): Provide SELFTEST_LOCATION throughout, either
-	explicitly, or implicitly via the above macros.
-	* selftest.c (selftest::pass): Use a selftest::location rather
-	than file and line.
-	(selftest::fail): Likewise.  Print the function name.
-	(selftest::fail_formatted): Likewise.
-	(selftest::assert_streq): Use a selftest::location rather than
-	file and line.
-	* selftest.h (selftest::location): New struct.
-	(SELFTEST_LOCATION): New macro.
-	(selftest::pass): Accept a const location & rather than file
-	and line.
-	(selftest::fail): Likewise.
-	(selftest::fail_formatted): Likewise.
-	(selftest::assert_streq): Likewise.
-	(ASSERT_TRUE): Update for above changes, using SELFTEST_LOCATION.
-	(ASSERT_FALSE): Likewise.
-	(ASSERT_EQ): Likewise.
-	(ASSERT_NE): Likewise.
-	(ASSERT_STREQ): Likewise.
-	(ASSERT_PRED1): Likewise.
-	(ASSERT_STREQ_AT): New macro.
-
-2016-06-13  David Malcolm  <dmalcolm@redhat.com>
-
-	* selftest.c (selftest::fail_formatted): New function.
-	(selftest::assert_streq): New function.
-	* selftest.h (selftests::fail_formatted): New decl.
-	(selftest::assert_streq): New decl.
-	(ASSERT_STREQ): Reimplement in terms of selftest::assert_streq.
-
-2016-06-13  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/71403
-	* tree-ssa-threadbackward.c
-	(convert_and_register_jump_thread_path): No longer accept reference
-	to path.  Do not pop items off the path anymore.
-	(fsm_find_control_statement_thread_paths): Do not allow threading
-	to a deeper loop nest.  Pop the last item off the path here rather
-	than in convert_and_register_jump_thread_path.
-
-2016-06-13  Evandro Menezes  <e.menezes@samsung.com>
-	    Wilco Dijkstra  <Wilco.Dijkstra@arm.com>
-
-	[AArch64] Emit division using the Newton series
-
-	* config/aarch64/aarch64-protos.h
-	(cpu_approx_modes): Add new member "division".
-	(aarch64_emit_approx_div): Declare new function.
-	* config/aarch64/aarch64.c
-	(generic_approx_modes): New member "division".
-	(exynosm1_approx_modes): Likewise.
-	(xgene1_approx_modes): Likewise.
-	(aarch64_emit_approx_div): Define new function.
-	* config/aarch64/aarch64.md ("div<mode>3"): New expansion.
-	* config/aarch64/aarch64-simd.md ("div<mode>3"): Likewise.
-	* config/aarch64/aarch64.opt (-mlow-precision-div): Add new option.
-	* doc/invoke.texi (-mlow-precision-div): Describe new option.
-
-2016-06-13  Evandro Menezes  <e.menezes@samsung.com>
-	    Wilco Dijkstra  <wilco.dijkstra@arm.com>
-
-	[AArch64] Emit square root using the Newton series
-
-	* config/aarch64/aarch64-protos.h
-	(aarch64_emit_approx_rsqrt): Replace with new function
-	"aarch64_emit_approx_sqrt".
-	(cpu_approx_modes): New member "sqrt".
-	* config/aarch64/aarch64.c
-	(generic_approx_modes): New member "sqrt".
-	(exynosm1_approx_modes): Likewise.
-	(xgene1_approx_modes): Likewise.
-	(aarch64_emit_approx_rsqrt): Replace with new function
-	"aarch64_emit_approx_sqrt".
-	(aarch64_override_options_after_change_1): Handle new option.
-	* config/aarch64/aarch64-simd.md
-	(rsqrt<mode>2): Use new function instead.
-	(sqrt<mode>2): New expansion and insn definitions.
-	* config/aarch64/aarch64.md: Likewise.
-	* config/aarch64/aarch64.opt
-	(mlow-precision-sqrt): Add new option description.
-	* doc/invoke.texi (mlow-precision-sqrt): Likewise.
-
-2016-06-13  Evandro Menezes  <e.menezes@samsung.com>
-
-	[AArch64] Add more choices for the reciprocal square root approximation
-
-	Allow a target to prefer such operation depending on the operation mode.
-
-	* config/aarch64/aarch64-protos.h
-	(AARCH64_APPROX_MODE): New macro.
-	(AARCH64_APPROX_{NONE,ALL}): Likewise.
-	(cpu_approx_modes): New structure.
-	(tune_params): New member "approx_modes".
-	* config/aarch64/aarch64-tuning-flags.def
-	(AARCH64_EXTRA_TUNE_APPROX_RSQRT): Remove macro.
-	* config/aarch64/aarch64.c
-	(generic_approx_modes): New core "cpu_approx_modes" structure.
-	(exynosm1_approx_modes): Likewise.
-	(xgene1_approx_modes): Likewise.
-	(generic_tunings): New member "approx_modes".
-	(cortexa35_tunings): Likewise.
-	(cortexa53_tunings): Likewise.
-	(cortexa57_tunings): Likewise.
-	(cortexa72_tunings): Likewise.
-	(exynosm1_tunings): Likewise.
-	(thunderx_tunings): Likewise.
-	(xgene1_tunings): Likewise.
-	(use_rsqrt_p): New argument for the mode and use new member from
-	"tune_params".
-	(aarch64_builtin_reciprocal): Devise mode from builtin.
-	(aarch64_optab_supported_p): New argument for the mode.
-	* doc/invoke.texi (-mlow-precision-recip-sqrt): Reword description.
-
-2016-06-13  Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	* config/rs6000/rs6000.h (RS6000_BTM_COMMON): Add the
-	RS6000_BTM_MODULO flag into the set of flags that are considered
-	to be part of the common configuration.
-
-2016-06-13  Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	* config/rs6000/altivec.h (vec_absd): New macro for vector absolute
-	difference unsigned.
-	(vec_absdb): New macro for vector absolute difference unsigned
-	byte.
-	(vec_absdh): New macro for vector absolute difference unsigned
-	half-word.
-	(vec_absdw): New macro for vector absolute difference unsigned word.
-	* config/rs6000/altivec.md (UNSPEC_VADU): New value.
-	(vadu<mode>3): New insn.
-	(*p9_vadu<mode>3): New insn.
-	* config/rs6000/rs6000-builtin.def (vadub): New built-in
-	definition.
-	(vaduh): New built-in definition.
-	(vaduw): New built-in definition.
-	(vadu): New overloaded built-in definition.
-	(vadub): New overloaded built-in definition.
-	(vaduh): New overloaded built-in definition.
-	(vaduw): New overloaded built-in definition.
-	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
-	overloaded vector absolute difference unsigned functions.
-	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
-	the ISA 3.0 vector absolute difference unsigned built-in functions.
-
-2016-06-13  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-ssa-sccvn.c (vn_reference_lookup_3): Use a uniform test and
-	update shared_lookup_references only once after changing operands.
-
-2016-06-13  Thomas Schwinge  <thomas@codesourcery.com>
-
-	PR middle-end/71373
-	* tree-nested.c (convert_nonlocal_omp_clauses)
-	(convert_local_omp_clauses): Document missing OMP_CLAUSE_*.
-
-	* tree-cfg.c (edge_to_cases_cleanup): Fix CASE_CHAIN typo.
-	* tree.def (CASE_LABEL_EXPR): Likewise.
-
-2016-06-13  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	PR bootstrap/71481
-	* input.c (test_builtins): Fix an assertion.
-
-2016-06-13  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (paritydi2): Use ix86_expand_setcc.
-	(paritysi2): Ditto.
-	(isinfxf2): Ditto.
-	(isinf<mode>2): Ditto.
-
-2016-06-13  Uros Bizjak  <ubizjak@gmail.com>
-
-	* ggc-tests.c (test_finalization): Only test need_finalization_p
-	for GCC_VERSION >= 4003.
-
-2016-06-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/vecintrin.h: Fix file description in comment.
-
-2016-06-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390-builtin-types.def: Change builtin type naming
-	scheme to match builtin-types.def.
-
-2016-06-13  Marc Glisse  <marc.glisse@inria.fr>
-
-	* fold-const.c (optimize_minmax_comparison): Remove.
-	(fold_comparison): Remove call to the above.
-	* match.pd (MIN (X, Y) == X, MIN (X, 5) == 0, MIN (X, C1) < C2):
-	New transformations.
-
-2016-06-13  Alan Hayward  <alan.hayward@arm.com>
-
-	PR tree-optimization/71416
-	* tree-vect-loop.c (vectorizable_live_operation): Let worklist have
-	multiple entries
-
-2016-06-13  Martin Liska  <mliska@suse.cz>
-
-	* predict.c (enum predictor_reason): Prefix enum with REASON_.
-	(combine_predictions_for_insn): Likewise.
-	(prune_predictions_for_bb): Likewise.
-	(combine_predictions_for_bb): Likewise.
-
-2016-06-13  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71505
-	* tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Make
-	assert match comment.
-
-2016-06-13  Marek Polacek  <polacek@redhat.com>
-
-	PR middle-end/71476
-	* gimplify.c (maybe_warn_switch_unreachable): Factored out of
-	gimplify_switch_expr.
-	(warn_switch_unreachable_r): New function.
-
-2016-06-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	PR target/71379
-	* config/s390/s390.c (s390_expand_builtin): Increase MAX_ARGS by
-	one.
-
-2016-06-13  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/64516
-	* fold-const.c (fold_unary_loc): Preserve alignment when
-	folding a VIEW_CONVERT_EXPR into a MEM_REF.
-
-2016-06-13  Martin Liska  <mliska@suse.cz>
-
-	PR sanitizer/71458
-	* toplev.c (process_options): Do not enable -fcheck-pointer-bounds
-	w/ -fsanitize=bounds.
-
-2016-06-12  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (ix86_init_builtins): Calculate
-	FLOAT128_FTYPE_CONST_STRING function type only once.
-	* doc/extend.texi (x86 Built-in Functions): Update text, __float128
-	built-in functions are available for x86-32 and x86-64 targets.
-
-2016-06-12  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/71241
-	* config/i386/i386.i386-builtin-types.def (CONST_STRING):
-	New primitive type.
-	(FLOAT128_FTYPE_CONST_STRING): New function type.
-	* config/i386/i386.c (enum ix86_builtins) [IX86_BUILTIN_NANQ]: New.
-	[IX86_BUILTIN_NANSQ]: Ditto.
-	(ix86_fold_builtin): Handle IX86_BUILTIN_NANQ and IX86_BUILTIN_NANSQ.
-	(ix86_init_builtin_types): Declare const_string_type_node.
-	(ix86_init_builtins): Add __builtin_nanq and __builtin_nansq
-	builtin functions.
-	(ix86_expand_builtin): Handle IX86_BUILTIN_NANQ and IX86_BUILTIN_NANSQ.
-	* doc/extend.texi (x86 Built-in Functions): Document
-	__builtin_nanq and __builtin_nansq.
-
-2016-06-11  Jiong Wang  <jiong.wang@arm.com>
-
-	PR target/71061
-	* config/arm/arm-protos.h (arm_attr_length_pop_multi): New declaration.
-	* config/arm/arm.c (arm_attr_length_pop_multi): New function to return
-	length for pop patterns.
-	(arm_attr_length_push_multi): Update comments.
-	* config/arm/arm.md (*load_multiple_with_writeback): Set "length"
-	attribute.
-	(*pop_multiple_with_writeback_and_return): Likewise.
-	(*pop_multiple_with_return): Likewise.
-
-2016-06-11  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR middle-end/71310
-	* fold-const.c (optimize_bit_field_compare): Don't try to use
-	word_mode unconditionally for reading the bit field, look at
-	DECL_BIT_FIELD_REPRESENTATIVE instead.
-
-2016-06-11  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	PR middle-end/71478
-	* tree-ssa-reassoc.c (reassociate_bb): Remove (-1) from ops list for
-	vector integer type.
-
-2016-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/71494
-	* tree-nested.c (convert_nonlocal_reference_stmt): For GIMPLE_GOTO
-	without LABEL_DECL, set *handled_ops_p to false instead of true.
-
-2016-06-10  Martin Sebor  <msebor@redhat.com>
-
-	PR c/71392
-	* builtin-attrs.def (ATTR_NOTHROW_NONNULL_LEAF_LIST): New macro.
-	(ATTR_NOTHROW_NONNULL_TYPEGENERIC_LEAF): Same.
-	* builtins.def (BUILT_IN_SADD_OVERFLOW, BUILT_IN_SADDL_OVERFLOW): Use
-	them.
-	(BUILT_IN_SADDLL_OVERFLOW, BUILT_IN_SSUB_OVERFLOW): Same.
-	(BUILT_IN_SSUBL_OVERFLOW, BUILT_IN_SSUBLL_OVERFLOW): Same.
-	(BUILT_IN_SMUL_OVERFLOW, BUILT_IN_SMULL_OVERFLOW): Same.
-	(BUILT_IN_SMULLL_OVERFLOW, BUILT_IN_UADD_OVERFLOW): Same.
-	(BUILT_IN_UADDL_OVERFLOW, BUILT_IN_UADDLL_OVERFLOW): Same.
-	(BUILT_IN_USUB_OVERFLOW, BUILT_IN_USUBL_OVERFLOW): Same.
-	(BUILT_IN_USUBLL_OVERFLOW, BUILT_IN_UMUL_OVERFLOW): Same.
-	(BUILT_IN_UMULL_OVERFLOW, BUILT_IN_UMULLL_OVERFLOW): Same.
-
-2016-06-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* config/arm/arm.h (pool_vector_label,
-	return_used_this_function): Remove.
-
-2016-06-10  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/71335
-	* tree-ssa-threadbackward.c (profitable_jump_thread_path): Filter out
-	zero length paths here.
-	(convert_and_register_jump_thread_path): Remove hacks related to
-	duplicated blocks in the jump thread path.
-	(fsm_find_control_statement_thread_paths): Avoid putting the same
-	block on the thread path twice, but ensure the thread path is
-	unchanged from the caller's point of view.
-
-2016-06-10  Jan Hubicka  <hubicka@ucw.cz>
-
-	* predict.c (predict_loops): Remove PRED_LOOP_BRANCH.
-	* predict.def (PRED_LOOP_BRANCH): Remove.
-
-2016-06-10  David Malcolm  <dmalcolm@redhat.com>
-
-	* Makefile.in (OBJS): Add ggc-tests.o.
-	(GTFILES): Add ggc-tests.c.
-	* ggc-tests.c: New file.
-	* selftest-run-tests.c (selftest::run_tests): Call
-	selftest::ggc_tests_c_tests.
-	* selftest.h (selftest::ggc_tests_c_tests): New prototype.
-
-2016-06-10  Alexander Monakov  <amonakov@ispras.ru>
-
-	* match.pd (-1 / B < A): Use :c to avoid pattern duplication.
-
-2016-06-10  Maxim Ostapenko  <m.ostapenko@samsung.com>
-
-	PR sanitizer/71480
-	* varasm.c (place_block_symbol): Adjust alignment for asan protected
-	STRING_CSTs even if TREE_CONSTANT_POOL_ADDRESS_P.
-
-2016-06-10  Jan Hubicka  <hubicka@ucw.cz>
-
-	* profile.c: Include cfgloop.h.
-	(branch_prob): Compute estimated number of iterations.
-	* tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not
-	recompute estimate number of iterations from profile.
-
-2016-06-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	PR inline-asm/68843
-	* reg-stack.c (check_asm_stack_operands): Explicit input arguments
-	must be grouped on top of stack.  Don't force early clobber
-	on ordinary reg outputs.
-
-2016-06-10  Richard Biener  <rguenther@suse.de>
-
-	* targhooks.c (default_builtin_vectorization_cost): Adjust
-	vec_construct cost.
-
-2016-06-10  Richard Biener  <rguenther@suse.de>
-
-	* gimple-fold.c (gimple_fold_builtin_memory_op): Make sure
-	to fold the RHS to a constant if possible.
-
-2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
-
-	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.
-
-	* gimplify.c (gimplify_adjust_omp_clauses): Discard
-	OMP_CLAUSE_TILE.
-	* omp-low.c (scan_sharing_clauses): Don't expect OMP_CLAUSE_TILE.
-
-	* omp-low.c (scan_sharing_clauses): Don't expect
-	OMP_CLAUSE__CACHE_.
-
-2016-06-10  Alan Hayward  <alan.hayward@arm.com>
-
-	PR tree-optimization/71407
-	PR tree-optimization/71416
-	* tree-vect-loop.c (vectorizable_live_operation): Use vectype for
-	BIT_FIELD_REF type.
-
-2016-06-10  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/71477
-	* cfgloop.c (alloc_loop): Initialize nb_iterations_likely_upper_bound.
-
-2016-06-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* df-problems.c (df_note_bb_compute): Guard use of DF_INSN_INFO_GET.
-
-2016-06-09  Vladimir Makarov  <vmakarov@redhat.com>
-	    Jiong Wang  <jiong.wang@arm.com>
-
-	PR rtl-optimization/70751
-	* lra-constraints.c (process_alt_operands): Recognize Non-pseudo
-	spilled into memory.
-
-2016-06-09  Jonathan Yong  <10walls@gmail.com>
-
-	Revert:
-	2015-09-21  Jonathan Yong  <10walls@gmail.com>
-
-	* config/i386/cygwin.h (STARTFILE_SPEC): Explicitly search
-	sysroot/usr/lib/32api for additional win32 libraries,
-	fixes failing Cygwin bootstrapping.
-
-2016-06-09  Marcin Baczyński  <marbacz@gmail.com>
-
-	* diagnostic.h (diagnostic_line_cutoff, diagnostic_flush_buffer):
-	Delete.
-
-2016-06-09  David Malcolm  <dmalcolm@redhat.com>
-
-	PR bootstrap/71471
-	* pretty-print.c (pp_indent): Specify that %p is printed in a
-	host-dependent manner.
-	(test_pp_format): Remove the test for %p.
-
-2016-06-09  Maciej W. Rozycki  <macro@imgtec.com>
-
-	* config/mips/mips.c (mips_output_jump): Fix formatting.
-
-2016-06-09  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71462
-	* tree-ssa-loop-manip.c (find_uses_to_rename): Guard against
-	removed blocks.
-
-2016-06-09  Martin Liska  <mliska@suse.cz>
-
-	* predict.c (dump_prediction): Add new argument.
-	(enum predictor_reason): New enum.
-	(struct predictor_hash): New struct.
-	(predictor_hash::hash): New function.
-	(predictor_hash::equal): Likewise.
-	(not_removed_prediction_p): New function.
-	(prune_predictions_for_bb): Likewise.
-	(combine_predictions_for_bb): Prune predictions.
-
-2016-06-09  Martin Liska  <mliska@suse.cz>
-
-	* predict.c (filter_predictions): New function.
-	(remove_predictions_associated_with_edge): Use the filter
-	function.
-	(equal_edge_p): New function.
-
-2016-06-09  Stefan Bruens  <stefan.bruens@rwth-aachen.de>
-
-	* doc/invoke.texi (ARM Options): Use lexicographical ordering.
-	Correct usage of @samp vs @option, add @samp where appropriate.
-	Add -march={armv6k,armv6z,arm6zk}, remove -march=ep9312.
-	Add armv6s-m and document it, as it is no official ARM name.
-
-2016-06-09  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* ifcvt.c (struct noce_if_info): Add transform_name field.
-	(noce_try_move): Set if_info->transform_name to the function name.
-	(noce_try_ifelse_collapse): Likewise.
-	(noce_try_store_flag): Likewise.
-	(noce_try_inverse_constants): Likewise.
-	(noce_try_store_flag_constants): Likewise.
-	(noce_try_addcc): Likewise.
-	(noce_try_store_flag_mask): Likewise.
-	(noce_try_cmove): Likewise.
-	(noce_try_cmove_arith): Likewise.
-	(noce_try_minmax): Likewise.
-	(noce_try_abs): Likewise.
-	(noce_try_sign_mask): Likewise.
-	(noce_try_bitop): Likewise.
-	(noce_convert_multiple_sets): Likewise.
-	(noce_process_if_block): Print if_info->transform_name to
-	dump_file if transformation succeeded.
-
-2016-06-09  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/cortex-a57.md (cortex_a57_alu):
-	Handle csel type.
-
-2016-06-08  Martin Sebor  <msebor@redhat.com>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/70507
-	PR c/68120
-	* builtins.def (BUILT_IN_ADD_OVERFLOW_P, BUILT_IN_SUB_OVERFLOW_P,
-	BUILT_IN_MUL_OVERFLOW_P): New builtins.
-	* builtins.c: Include gimple-fold.h.
-	(fold_builtin_arith_overflow): Handle
-	BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
-	(fold_builtin_3): Likewise.
-	* doc/extend.texi (Integer Overflow Builtins): Document
-	__builtin_{add,sub,mul}_overflow_p.
-
-2016-06-08  Jose E. Marchesi  <jose.marchesi@oracle.com>
-
-	* config/sparc/driver-sparc.c (cpu_names): Fix the entry for the
-	SPARC-M7 and add an entry for SPARC-S7 cpus (Sonoma).
-
-2016-06-08  Alan Lawrence  <alan.lawrence@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_function_arg_alignment):
-	Rewrite, looking one level down for records and arrays.
-
-2016-06-08  David Malcolm  <dmalcolm@redhat.com>
-
-	* pretty-print.c: Include "selftest.h".
-	(pp_format): Fix comment.
-	(identifier_to_locale): Likewise.
-	(selftest::test_basic_printing): New function.
-	(selftest::assert_pp_format): New function.
-	(selftest::test_pp_format): New function.
-	(selftest::pretty_print_c_tests): New function.
-	* selftest-run-tests.c (selftest::run_tests): Call
-	selftest::pretty_print_c_tests.
-	* selftest.h (pretty_print_c_tests): New declaration.
-
-2016-06-07  Jan Hubicka  <hubicka@ucw.cz>
-
-	* invoke.texi (max-loop-headers-insns): Document.
-	* params.def (PARAM_MAX_LOOP_HEADER_INSNS): New.
-	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Update comment.
-	(ch_base::copy_headers): Use PARAM_MAX_LOOP_HEADER_INSNS.
-
-2016-06-08  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-stmts.c (vectorizable_load): Remove restrictions
-	on strided SLP loads and fall back to scalar loads in case
-	we can't chunk them.
-
-2016-06-08  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71452
-	* tree-ssa.c (non_rewritable_lvalue_p): Make sure that the
-	type used for the SSA rewrite has enough precision to cover
-	the dynamic type of the location.
-
-2016-06-08  Jakub Jelinek  <jakub@redhat.com>
-	    Richard Biener  <rguenther@suse.de>
-
-	PR c++/71448
-	* fold-const.c (fold_comparison): Handle CONSTANT_CLASS_P (base0)
-	the same as DECL_P (base0) for indirect_base0.  Use equality_code
-	in one further place.
-
-2016-06-08  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* expmed.c (store_bit_field_1): Do not restrict a multiword op0
-	to one word if the field is known to overlap other words.
-	(extract_bit_field_1): Likewise.
-	(store_split_bit_field): Remove compensating code.
-	(extract_split_bit_field): Likewise.
-
-2016-06-08  Bernd Schmidt  <bschmidt@redhat.com>
-
-	PR debug/71432
-	PR ada/71413
-	* tree-ssa-strlen.c (handle_builtin_memcmp): Ignore debug insns.
-
-2016-06-08  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64-builtins.def (faddp): New builtins for modes in
-	VDQF.
-	* config/aarch64/aarch64-simd.md (aarch64_faddp<mode>): New.
-	(arch64_addpv4sf): Delete.
-	(reduc_plus_scal_v4sf): Use "gen_aarch64_faddpv4sf" instead of
-	"gen_aarch64_addpv4sf".
-	* config/aarch64/arm_neon.h (vpadd_f32): Remove inline assembly.  Use
-	builtin.
-	(vpadds_f32): Likewise.
-	(vpaddq_f32): Likewise.
-	(vpaddq_f64): Likewise.
-
-2016-06-08  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64-builtins.def (fabd): New builtins for modes
-	VALLF.
-	* config/aarch64/aarch64-simd.md (fabd<mode>_3): Extend modes from VDQF
-	to VALLF.  Rename to "fabd<mode>3".
-	"*fabd_scalar<mode>3): Delete.
-	* config/aarch64/arm_neon.h (vabds_f32): Remove inline assembly.
-	Use builtin.
-	(vabdd_f64): Likewise.
-	(vabd_f32): Likewise.
-	(vabd_f64): Likewise.
-	(vabdq_f32): Likewise.
-	(vabdq_f64): Likewise.
-
-2016-06-08  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64-builtins.def (rsqrts): New builtins for modes
-	VALLF.
-	* config/aarch64/aarch64-simd.md (aarch64_rsqrts_<mode>3): Rename to
-	"aarch64_rsqrts<mode>".
-	* config/aarch64/aarch64.c (get_rsqrts_type): Update gen* name.
-	* config/aarch64/arm_neon.h (vrsqrtss_f32): Remove inline assembly.  Use
-	builtin.
-	(vrsqrtsd_f64): Likewise.
-	(vrsqrts_f32): Likewise.
-	(vrsqrts_f64): Likewise.
-	(vrsqrtsq_f32): Likewise.
-	(vrsqrtsq_f64): Likewise.
-
-2016-06-08  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64-builtins.def (rsqrte): New builtins for modes
-	VALLF.
-	* config/aarch64/aarch64-simd.md (aarch64_rsqrte_<mode>2): Rename to
-	"aarch64_rsqrte<mode>".
-	* config/aarch64/aarch64.c (get_rsqrte_type): Update gen* name.
-	* config/aarch64/arm_neon.h (vrsqrts_f32): Remove inline assembly.  Use
-	builtin.
-	(vrsqrted_f64): Likewise.
-	(vrsqrte_f32): Likewise.
-	(vrsqrte_f64): Likewise.
-	(vrsqrteq_f32): Likewise.
-	(vrsqrteq_f64): Likewise.
-
-2016-06-08  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64-builtins.def (scvtf): Register vector modes.
-	(ucvtf): Likewise.
-	(fcvtzs): Likewise.
-	(fcvtzu): Likewise.
-	* config/aarch64/aarch64-simd.md
-	(<FCVT_F2FIXED:fcvt_fixed_insn><VDQF:mode>3): New.
-	(<FCVT_FIXED2F:fcvt_fixed_insn><VDQ_SDI:mode>3): Likewise.
-	* config/aarch64/arm_neon.h (vcvt_n_f32_s32): Remove inline assembly.
-	Use builtin.
-	(vcvt_n_f32_u32): Likewise.
-	(vcvt_n_s32_f32): Likewise.
-	(vcvt_n_u32_f32): Likewise.
-	(vcvtq_n_f32_s32): Likewise.
-	(vcvtq_n_f32_u32): Likewise.
-	(vcvtq_n_f64_s64): Likewise.
-	(vcvtq_n_f64_u64): Likewise.
-	(vcvtq_n_s32_f32): Likewise.
-	(vcvtq_n_s64_f64): Likewise.
-	(vcvtq_n_u32_f32): Likewise.
-	(vcvtq_n_u64_f64): Likewise.
-	* config/aarch64/iterators.md (VDQ_SDI): New mode iterator.
-	(VSDQ_SDI): Likewise.
-	(fcvt_target): Support V4DI, V4SI and V2SI.
-	(FCVT_TARGET): Likewise.
-
-2016-06-08  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64-builtins.c (TYPES_BINOP_USS): New
-	(TYPES_BINOP_SUS): Likewise.
-	(aarch64_simd_builtin_data): Update include file name.
-	(aarch64_builtins): Likewise.
-	* config/aarch64/aarch64-simd-builtins.def (scvtf): New entries
-	for conversion between scalar float-point and fixed-point.
-	(ucvtf): Likewise.
-	(fcvtzs): Likewise.
-	(fcvtzu): Likewise.
-	* config/aarch64/aarch64.md
-	(<FCVT_F2FIXED:fcvt_fixed_insn><GPF:mode>3: New
-	pattern for conversion between scalar float to fixed-pointer.
-	(<FCVT_FIXED2F:fcvt_fixed_insn><GPI:mode>: Likewise.
-	(UNSPEC_FCVTZS): New UNSPEC enumeration.
-	(UNSPEC_FCVTZU): Likewise.
-	(UNSPEC_SCVTF): Likewise.
-	(UNSPEC_UCVTF): Likewise.
-	* config/aarch64/arm_neon.h (vcvtd_n_f64_s64): Remove inline assembly.
-	Use builtin.
-	(vcvtd_n_f64_u64): Likewise.
-	(vcvtd_n_s64_f64): Likewise.
-	(vcvtd_n_u64_f64): Likewise.
-	(vcvtd_n_f32_s32): Likewise.
-	(vcvts_n_f32_u32): Likewise.
-	(vcvtd_n_s32_f32): Likewise.
-	(vcvts_n_u32_f32): Likewise.
-	* config/aarch64/iterators.md (fcvt_target): Support integer to float
-	mapping.
-	(FCVT_TARGET): Likewise.
-	(FCVT_FIXED2F): New iterator.
-	(FCVT_F2FIXED): Likewise.
-	(fcvt_fixed_insn): New define_int_attr.
-
-2016-06-07  Jan Hubicka  <hubicka@ucw.cz>
-
-	* predict.c (pass_strip_predict_hints::execute): Cleanup CFG if
-	some statements was removed.
-
-2016-06-08  Alan Hayward  <alan.hayward@arm.com>
-
-	* tree-vect-data-refs.c (vect_analyze_data_refs): Remove debug newline.
-	* tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): likewise.
-	(vect_can_advance_ivs_p): likewise.
-	(vect_update_ivs_after_vectorizer): likewise.
-	* tree-vect-loop.c (vect_determine_vectorization_factor): likewise.
-	(vect_analyze_scalar_cycles_1): likewise.
-	(vect_analyze_loop_operations): likewise.
-	(report_vect_op): likewise.
-	(vect_is_slp_reduction): likewise.
-	(vect_is_simple_reduction): likewise.
-	(get_initial_def_for_induction): likewise.
-	(vect_transform_loop): likewise.
-	* tree-vect-patterns.c (vect_recog_dot_prod_pattern): likewise.
-	(vect_recog_sad_pattern): likewise.
-	(vect_recog_widen_sum_pattern): likewise.
-	(vect_recog_widening_pattern): likewise.
-	(vect_recog_divmod_pattern): likewise.
-	* tree-vect-slp.c (vect-build-slp_tree_1): likewise.
-	(vect_analyze_slp_instance): likewise.
-	(vect_transform_slp_perm_load): likewise.
-	(vect_schedule_slp_instance): likewise.
-
-2016-06-07  Jan Hubicka  <hubicka@ucw.cz>
-
-	* predict.c (predict_iv_comparison): Mention that heuristics is broken.
-	(return_prediction): PRED_CONST_RETURN predict return as not taken.
-	* predict.def (PRED_CONTINUE): Change hitrate 50->67
-	(PRED_LOOP_BRANCH): Document predictor as broken.
-	(PRED_LOOP_EXIT): Change hitrate 91->92.
-	(PRED_LOOP_EXTRA_EXIT): Change hitrate 91->83.
-	(PRED_POINTER, PRED_TREE_POINTER): Change hitrate 85->70.
-	(PRED_OPCODE_POSITIVE): Change hitrate 79->64.
-	(PRED_OPCODE_NONEQUAL): Change hitrate 91->66.
-	(PRED_TREE_OPCODE_POSITIVE): Change hitrate 73->64
-	(PRED_TREE_OPCODE_NONEQUAL): Chnage hitrate 72->66
-	(PRED_CALL): Chane hitrate 71->67.
-	(PRED_TREE_EARLY_RETURN): Document issues, change hitrate 61->54.
-	(PRED_GOTO): Document as unused right now.
-	(PRED_CONST_RETURN): Change hitrate 67->69
-	(PRED_NEGATIVE_RETURN): Change hitrate 96->98
-	(PRED_NULL_RETURN): Change hitrate 91->90.
-	(PRED_LOOP_IV_COMPARE_GUESS): Change hitrate to 98.
-	(PRED_FORTRAN_FAIL_ALLOC): Change hitrate to 62; document issues.
-	(PRED_FORTRAN_SIZE_ZERO): Change hitrate to 99.
-
-2016-06-07  Bill Seurer  <seurer@linux.vnet.ibm.com>
-
-	* config/rs6000/altivec.h: Add __builtin_vec_mul.
-	* config/rs6000/rs6000-builtin.def (vec_mul): Change vec_mul to a
-	special case Altivec builtin.
-	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
-	VSX_BUILTIN_VEC_MUL (replaced with special case code).
-	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add
-	code for ALTIVEC_BUILTIN_VEC_MUL.
-	* config/rs6000/rs6000.c (altivec_init_builtins): Add definition
-	for __builtin_vec_mul.
-
-2016-06-07  Peter Bergner  <bergner@vnet.ibm.com>
-
-	* doc/invoke.texi (RS/6000 and PowerPC Options): Document -mhtm and
-	-mno-htm.
-
-2016-06-07  David Malcolm  <dmalcolm@redhat.com>
-
-	* spellcheck.c (selftest::test_find_closest_string): New function.
-	(spellcheck_c_tests): Call the above.
-
-2016-06-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* simplify-rtx.c (simplify_cond_clz_ctz): Delete 'mode' local variable.
-
-2016-06-07  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/sse.md (avx_vec_concat<mode>): Add v=v,vm and
-	Yv=Yv,C alternatives.
-
-2016-06-07  Richard Biener  <rguenther@suse.de>
-
-	PR c/61564
-	* common.opt (ffast-math): Make Optimization.
-
-2016-06-07  Simon Dardis  <simon.dardis@imgtec.com>
-	    Prachi Godbole  <prachi.godbole@imgtec.com>
-
-	* config/mips/p5600.md (p5600_fpu_fadd): Remove checking for
-	`fabs' and `fneg' type attributes.
-	(p5600_fpu_fabs): Add `fmove' to the comment.
-
-2016-06-07  Jan Hubicka  <hubicka@ucw.cz>
-
-	* gimple.c: Include builtins.h
-	(gimple_inexpensive_call_p): New function.
-	* gimple.h (gimple_inexpensive_call_p): Declare.
-	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Use it.
-	* tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Likewise;
-	fix formatting.
-
-2016-06-07  Paolo Carlini  <paolo.carlini@oracle.com>
-
-	* diagnostic.c (diagnostic_impl, diagnostic_n_impl): New.
-	(inform, inform_at_rich_loc, inform_n, warning, warning_at,
-	warning_at_rich_loc, warning_n, pedwarn, permerror,
-	permerror_at_rich_loc, error, error_n, error_at, error_at_rich_loc,
-	sorry, fatal_error, internal_error, internal_error_no_backtrace):
-	Use the above.
-
-2016-06-07  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71428
-	* tree-ssa-math-opts.c (perform_symbolic_merge): Properly distinguish
-	BIT_FIELD_REF op vs. load.
-
-2016-06-07  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/71423
-	* match.pd ((X | ~Y) -> Y <= X): Properly invert the comparison
-	for signed ops.
-
-2016-06-06  John David Anglin  <danglin@gcc.gnu.org>
-
-	* config/pa/pa.md (call): Generate indirect long calls to non-local
-	functions on TARGET_64BIT.
-	(call_value): Likewise.
-
-2016-06-06  John David Anglin  <danglin@gcc.gnu.org>
-
-	* config/pa/pa.md (call_val_reg_64bit): Remove "reg: DI " clobber from
-	pattern and subsequent splitters.
-	(call_val_reg_64bit_post_reload): Likewise.
-
-2016-06-07  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	PR middle-end/71408
-	* tree-ssa-reassoc.c (zero_one_operation): Fix NEGATE_EXPR operand for
-	propagate_op_to_single_use.
-
-2016-06-07  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	PR middle-end/71281
-	* tree-ssa-reassoc.c (reassociate_bb): Set uid for negate stmt.
-
-2016-06-07  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.h (enum ix86_enitity): Add X86_DIRFLAG.
-	(enum x86_dirflag_state): New enum.
-	(NUM_MODES_FOR_MODE_SWITCHING): Add X86_DIRFLAG_ANY.
-	(machine_function): Remove needs_cld.
-	(ix86_current_function_needs_cld): Remove.
-	* config/i386/i386.c (ix86_set_func_type): Set
-	ix86_optimize_mode_switching[X86_DIRFLAG] to 1.
-	(ix86_expand_prologue): Do not emit CLD here.
-	(ix86_dirflag_mode_needed): New function.
-	(ix86_dirflag_mode_entry): Ditto.
-	(ix86_mode_needed): Handle X86_DIRFLAG entity.
-	(ix86_mode_after): Ditto.
-	(ix86_mode_entry): Ditto.
-	(ix86_mode_exit): Ditto.
-	(ix86_emit_mode_set): Ditto.
-	* config/i386/i386.md (strmov_singleop): Set
-	ix86_optimize_mode_switching[X86_DIRFLAG] to 1 for TARGET_CLD.
-	Do not set ix86_current_function_needs_cld.
-	(rep_mov): Ditto.
-	(strset_singleop): Ditto.
-	(rep_stos): Ditto.
-	(cmpstrnqi_nz_1): Ditto.
-	(cmpstrnqi_1): Ditto.
-	(strlenqi_1): Ditto.
-
-2016-06-06  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/71259
-	* tree-vect-slp.c (vect_get_constant_vectors): For
-	VECTOR_BOOLEAN_TYPE_P, return all ones constant instead of
-	one for constant op, and use COND_EXPR for non-constant.
-
-2016-06-06  David Malcolm  <dmalcolm@redhat.com>
-
-	* Makefile.in (OBJS): Add function-tests.o,
-	hash-map-tests.o, hash-set-tests.o, rtl-tests.o,
-	selftest-run-tests.o.
-	(OBJS-libcommon): Add selftest.o.
-	(OBJS-libcommon-target): Add selftest.o.
-	(all.internal): Add "selftest".
-	(all.cross): Likewise.
-	(selftest): New phony target.
-	(s-selftest): New target.
-	(selftest-gdb): New phony target.
-	(COLLECT2_OBJS): Add selftest.o.
-	* bitmap.c: Include "selftest.h".
-	(selftest::test_gc_alloc): New function.
-	(selftest::test_set_range): New function.
-	(selftest::test_clear_bit_in_middle): New function.
-	(selftest::test_copying): New function.
-	(selftest::test_bitmap_single_bit_set_p): New function.
-	(selftest::bitmap_c_tests): New function.
-	* common.opt (fself-test): New.
-	* diagnostic-show-locus.c: Include "selftest.h".
-	(make_range): New function.
-	(test_range_contains_point_for_single_point): New function.
-	(test_range_contains_point_for_single_line): New function.
-	(test_range_contains_point_for_multiple_lines): New function.
-	(assert_eq): New function.
-	(test_get_line_width_without_trailing_whitespace): New function.
-	(selftest::diagnostic_show_locus_c_tests): New function.
-	* et-forest.c: Include "selftest.h".
-	(selftest::test_single_node): New function.
-	(selftest::test_simple_tree): New function.
-	(selftest::test_disconnected_nodes): New function.
-	(selftest::et_forest_c_tests): New function.
-	* fold-const.c: Include "selftest.h".
-	(selftest::assert_binop_folds_to_const): New function.
-	(selftest::assert_binop_folds_to_nonlvalue): New function.
-	(selftest::test_arithmetic_folding): New function.
-	(selftest::fold_const_c_tests): New function.
-	* function-tests.c: New file.
-	* gimple.c: Include "selftest.h".
-	Include "gimple-pretty-print.h".
-	(selftest::verify_gimple_pp): New function.
-	(selftest::test_assign_single): New function.
-	(selftest::test_assign_binop): New function.
-	(selftest::test_nop_stmt): New function.
-	(selftest::test_return_stmt): New function.
-	(selftest::test_return_without_value): New function.
-	(selftest::gimple_c_tests): New function.
-	* hash-map-tests.c: New file.
-	* hash-set-tests.c: New file.
-	* input.c: Include "selftest.h".
-	(selftest::assert_loceq): New function.
-	(selftest::test_accessing_ordinary_linemaps): New function.
-	(selftest::test_unknown_location): New function.
-	(selftest::test_builtins): New function.
-	(selftest::test_reading_source_line): New function.
-	(selftest::input_c_tests): New function.
-	* rtl-tests.c: New file.
-	* selftest-run-tests.c: New file.
-	* selftest.c: New file.
-	* selftest.h: New file.
-	* spellcheck.c: Include "selftest.h".
-	(selftest::levenshtein_distance_unit_test_oneway): New function,
-	adapted from testsuite/gcc.dg/plugin/levenshtein_plugin.c.
-	(selftest::levenshtein_distance_unit_test): Likewise.
-	(selftest::spellcheck_c_tests): Likewise.
-	* toplev.c: Include selftest.h.
-	(toplev::run_self_tests): New.
-	(toplev::main): Handle -fself-test.
-	* toplev.h (toplev::run_self_tests): New.
-	* tree.c: Include "selftest.h".
-	(selftest::test_integer_constants): New function.
-	(selftest::test_identifiers): New function.
-	(selftest::test_labels): New function.
-	(selftest::tree_c_tests): New function.
-	* tree-cfg.c: Include "selftest.h".
-	(selftest::push_fndecl): New function.
-	(selftest::test_linear_chain): New function.
-	(selftest::test_diamond): New function.
-	(selftest::test_fully_connected): New function.
-	(selftest::tree_cfg_c_tests): New function.
-	* vec.c: Include "selftest.h".
-	(selftest::safe_push_range): New function.
-	(selftest::test_quick_push): New function.
-	(selftest::test_safe_push): New function.
-	(selftest::test_truncate): New function.
-	(selftest::test_safe_grow_cleared): New function.
-	(selftest::test_pop): New function.
-	(selftest::test_safe_insert): New function.
-	(selftest::test_ordered_remove): New function.
-	(selftest::test_unordered_remove): New function.
-	(selftest::test_block_remove): New function.
-	(selftest::reverse_cmp): New function.
-	(selftest::test_qsort): New function.
-	(selftest::vec_c_tests): New function.c.
-	* wide-int.cc: Include selftest.h and wide-int-print.h.
-	(selftest::from_int <wide_int>): New function.
-	(selftest::from_int <offset_int>): New function.
-	(selftest::from_int <widest_int>): New function.
-	(selftest::assert_deceq): New function.
-	(selftest::assert_hexeq): New function.
-	(selftest::test_printing <VALUE_TYPE>): New function template.
-	(selftest::test_ops <VALUE_TYPE>): New function template.
-	(selftest::test_comparisons <VALUE_TYPE>): New function template.
-	(selftest::run_all_wide_int_tests <VALUE_TYPE>): New function
-	template.
-	(selftest::wide_int_cc_tests): New function.
-
-2016-06-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR middle-end/37780
-	* ifcvt.c (noce_try_ifelse_collapse): New function.
-	Declare prototype.
-	(noce_process_if_block): Call noce_try_ifelse_collapse.
-	* simplify-rtx.c (simplify_cond_clz_ctz): New function.
-	(simplify_ternary_operation): Use the above to simplify
-	conditional CLZ/CTZ expressions.
-
-2016-06-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR middle-end/37780
-	* config/aarch64/aarch64.md (ctz<mode>2): Convert to
-	define_insn_and_split.
-
-2016-06-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR middle-end/37780
-	* config/arm/arm.md (ctzsi2): Convert to define_insn_and_split.
-
-2016-06-06  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	PR c/24414
-	* cfgexpand.c (expand_asm_loc): Remove handling for ADDR_EXPR.
-	Implicitly clobber memory for basic asm with non-empty assembler
-	string.  Use targetm.md_asm_adjust also here.
-	* compare-elim.c (arithmetic_flags_clobber_p): Use asm_noperands here.
-	* final.c (final_scan_insn): Handle basic asm in PARALLEL block.
-	* gimple.c (gimple_asm_clobbers_memory_p): Handle basic asm with
-	non-empty assembler string.
-	* ira.c (compute_regs_asm_clobbered): Use asm_noperands here.
-	* recog.c (asm_noperands): Handle basic asm in PARALLEL block.
-	(decode_asm_operands): Handle basic asm in PARALLEL block.
-	(extract_insn): Handle basic asm in PARALLEL block.
-	* doc/extend.texi: Mention new behavior of basic asm.
-	* config/ia64/ia64 (rtx_needs_barrier): Handle ASM_INPUT here.
-	* config/pa/pa.c (branch_to_delay_slot_p, branch_needs_nop_p,
-	branch_needs_nop_p): Use asm_noperands.
-
-2016-06-06  Jose E. Marchesi  <jose.marchesi@oracle.com>
-
-	* config/sparc/sparc.md (cpu): Add niagara7 cpu type.
-	Include the M7 SPARC DFA scheduler.
-	New attribute v3pipe.
-	Annotate insns with v3pipe where appropriate.
-	Define cpu_feature vis4.
-	Add lzd instruction type and set it on clzdi_sp64 and clzsi_sp64.
-	Add (V8QI "8") to vbits.
-	Add insns {add,sub}v8qi3
-	Add insns ss{add,sub}v8qi3
-	Add insns us{add,sub}{v8qi,v4hi}3
-	Add insns {min,max}{v8qi,v4hi,v2si}3
-	Add insns {minu,maxu}{v8qi,v4hi,v2si}3
-	Add insns fpcmp{le,gt,ule,ug,ule,ugt}{8,16,32}_vis.
-	* config/sparc/niagara4.md: Add a comment explaining the
-	discrepancy between the documented latenty numbers and the
-	implemented ones.
-	* config/sparc/niagara7.md: New file.
-	* configure.ac (HAVE_AS_SPARC5_VIS4): Define if the assembler
-	supports SPARC5 and VIS 4.0 instructions.
-	* configure: Regenerate.
-	* config.in: Likewise.
-	* config.gcc: niagara7 is a supported cpu in sparc*-*-* targets.
-	* config/sparc/sol2.h (ASM_CPU32_DEFAUILT_SPEC): Set for
-	TARGET_CPU_niagara7.
-	(ASM_CPU64_DEFAULT_SPEC): Likewise.
-	(CPP_CPU_SPEC): Handle niagara7.
-	(ASM_CPU_SPEC): Likewise.
-	* config/sparc/sparc-opts.h (processor_type): Add
-	PROCESSOR_NIAGARA7.
-	(mvis4): New option.
-	* config/sparc/sparc.h (TARGET_CPU_niagara7): Define.
-	(AS_NIAGARA7_FLAG): Define.
-	(ASM_CPU64_DEFAULT_SPEC): Set for niagara7.
-	(CPP_CPU64_DEFAULT_SPEC): Likewise.
-	(CPP_CPU_SPEC): Handle niagara7.
-	(ASM_CPU_SPEC): Likewise.
-	* config/sparc/sparc.c (niagara7_costs): Define.
-	(sparc_option_override): Handle niagara7 and adjust cache-related
-	parameters with better values for niagara cpus.  Also support VIS4.
-	(sparc32_initialize_trampoline): Likewise.
-	(sparc_use_sched_lookahead): Likewise.
-	(sparc_issue_rate): Likewise.
-	(sparc_register_move_cost): Likewise.
-	(dump_target_flag_bits): Support VIS4.
-	(sparc_vis_init_builtins): Likewise.
-	(sparc_builtins): Likewise.
-	* config/sparc/sparc-c.c (sparc_target_macros): Define __VIS__ for
-	VIS4 4.0.
-	* config/sparc/driver-sparc.c (cpu_names): Add SPARC-M7 and
-	UltraSparc M7.
-	* config/sparc/sparc.opt (sparc_processor_type): New value
-	niagara7.
-	* config/sparc/visintrin.h (__attribute__): Prototypes for the
-	VIS4 builtins.
-	* doc/invoke.texi (SPARC Options): Document -mcpu=niagara7 and
-	-mvis4.
-	* doc/extend.texi (SPARC VIS Built-in Functions): Document the
-	VIS4 builtins.
-
-2016-06-06  Jonathan Wakely  <jwakely@redhat.com>
-
-	* doc/sourcebuild.texi (Directives): Remove extra closing braces.
-
-2016-06-06  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71398
-	* tree-ssa-loop-ivcanon.c (unloop_loops): First unloop, then
-	remove edges.
-
-2016-06-05  James Bowman  <james.bowman@ftdichip.com>
-
-	* config/ft32/ft32.c (ft32_setup_incoming_varargs,
-	ft32_expand_prolog, ft32_expand_epilogue):
-	Handle pretend_args.
-	* config/ft32/ft32.h: Remove OUTGOING_REG_PARM_STACK_SPACE.
-	* config/ft32/ft32.md: Add pretend_returner.
-
-2016-06-06  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/71389
-	* config/i386/i386.c (ix86_avx256_split_vector_move_misalign):
-	Copy op1 RTX to avoid invalid sharing.
-	(ix86_expand_vector_move_misalign): Ditto.
-
-2016-06-05  John David Anglin  <danglin@gcc.gnu.org>
-
-	* expr.c (move_by_pieces_d::generate): Mark mode parameter with
-	ATTRIBUTE_UNUSED.
-
-2016-06-05  Jan Hubicka  <hubicka@ucw.cz>
-
-	* predict.c (predicted_by_loop_heuristics_p): New function.
-	(predict_iv_comparison): Use it.
-	(predict_loops): Walk from innermost loops; do not predict edges
-	leaving multiple loops multiple times; implement
-	PRED_LOOP_ITERATIONS_MAX heuristics.
-	* predict.def (PRED_LOOP_ITERATIONS_MAX): New predictor.
-
-2016-06-05  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cfg.c (check_bb_profile): Do not report mismatched profiles when
-	only edges out of BB are EH edges.
-
-2016-06-04  Martin Sebor  <msebor@redhat.com>
-	    Marcin Baczyński  <marbacz@gmail.com>
-
-	PR c/48116
-	* doc/invoke.texi (-Wreturn-type): Mention not warning on return with
-	a void expression in a void function.
-
-2016-06-03  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Do not check
-	aux; dump reasons of decisions.
-	(should_duplicate_loop_header_p): Likewise.
-	(do_while_loop_p): Likewise.
-	(ch_base::copy_headers): Dump asi num insns duplicated.
-
-2016-06-04  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/71405
-	* tree-ssa.c (execute_update_addresses_taken): For clobber with
-	incompatible type, build a new clobber with the right type instead
-	of building a VIEW_CONVERT_EXPR around it.
-
-2016-06-04  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	PR tree-optimization/52171
-	* config/sh/sh.c (sh_use_by_pieces_infrastructure_p): Use
-	by_pieces_ninsns instead of move_by_pieces_ninsns.
-
-2016-06-04  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	* config/sh/sh.c (sh_print_operand_address): Don't use hardcoded 'r0'
-	for reg+reg addressing mode.
-
-2016-06-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* rs6000-c.c (c/c-tree.h): Add #include.
-	(altivec_resolve_overloaded_builtin): Handle ARRAY_TYPE arguments
-	in C++ when found in the base position of vec_ld or vec_st.
-
-2016-06-03  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Avoid
-	use of profile unless profile status is PROFILE_READ.
-	* profile.c (compute_branch_probabilities): Set profile status
-	only after reporting predictor hitrates.
-
-2016-06-03  Joseph Myers  <joseph@codesourcery.com>
-
-	PR target/71276
-	PR target/71277
-	* common.opt (ffp-int-builtin-inexact): New option.
-	* doc/invoke.texi (-fno-fp-int-builtin-inexact): Document.
-	* doc/md.texi (floor@var{m}2, btrunc@var{m}2, round@var{m}2)
-	(ceil@var{m}2): Document dependence on this option.
-	* ipa-inline-transform.c (inline_call): Handle
-	flag_fp_int_builtin_inexact.
-	* ipa-inline.c (can_inline_edge_p): Likewise.
-	* config/i386/i386.md (rintxf2): Do not test
-	flag_unsafe_math_optimizations.
-	(rint<mode>2_frndint): New define_insn.
-	(rint<mode>2): Do not test flag_unsafe_math_optimizations for 387
-	or !flag_trapping_math for SSE.  Just use gen_rint<mode>2_frndint
-	for 387 instead of extending and truncating.
-	(frndintxf2_<rounding>): Test flag_fp_int_builtin_inexact ||
-	!flag_trapping_math instead of flag_unsafe_math_optimizations.
-	Change to frndint<mode>2_<rounding>.
-	(frndintxf2_<rounding>_i387): Likewise.  Change to
-	frndint<mode>2_<rounding>_i387.
-	(<rounding_insn>xf2): Likewise.
-	(<rounding_insn><mode>2): Test flag_fp_int_builtin_inexact ||
-	!flag_trapping_math instead of flag_unsafe_math_optimizations for
-	x87.  Test TARGET_ROUND || !flag_trapping_math ||
-	flag_fp_int_builtin_inexact instead of !flag_trapping_math for
-	SSE.  Use ROUND_NO_EXC in constant operand of
-	gen_sse4_1_round<mode>2.  Just use gen_frndint<mode>2_<rounding>
-	for 387 instead of extending and truncating.
-
-2016-06-03  H.J. Lu  <hongjiu.lu@intel.com>
-	    Julia Koval  <julia.koval@intel.com>
-
-	PR target/66960
-	PR target/67630
-	PR target/67634
-	PR target/67841
-	PR target/68037
-	PR target/68618
-	PR target/68661
-	PR target/69575
-	PR target/69596
-	PR target/69734
-	* config/i386/i386-protos.h (ix86_epilogue_uses): New prototype.
-	* config/i386/i386.c (ix86_conditional_register_usage): Preserve
-	all registers, except for function return registers if there are
-	no caller-saved registers.
-	(ix86_set_func_type): New function.
-	(ix86_set_current_function): Call ix86_set_func_type to set
-	no_caller_saved_registers and func_type.  Call reinit_regs if
-	caller-saved registers are changed.  Don't allow MPX, SSE, MMX
-	nor x87 instructions in interrupt handler nor function with
-	no_caller_saved_registers attribute.
-	(ix86_function_ok_for_sibcall): Return false if there are no
-	caller-saved registers.
-	(type_natural_mode): Don't warn ABI change for MMX in interrupt
-	handler.
-	(ix86_function_arg_advance): Skip for callee in interrupt handler.
-	(ix86_function_arg): Return special arguments in interrupt handler.
-	(ix86_promote_function_mode): Promote pointer to word_mode only
-	for normal functions.
-	(ix86_can_use_return_insn_p): Don't use `ret' instruction in
-	interrupt handler.
-	(ix86_epilogue_uses): New function.
-	(ix86_hard_regno_scratch_ok): Likewise.
-	(ix86_save_reg): Preserve all registers in interrupt handler
-	after reload.  Preserve all registers, except for function return
-	registers, if there are no caller-saved registers after reload.
-	(find_drap_reg): Always use callee-saved register if there are
-	no caller-saved registers.
-	(ix86_minimum_incoming_stack_boundary): Return MIN_STACK_BOUNDARY
-	for interrupt handler.
-	(ix86_expand_prologue): Don't allow DRAP in interrupt handler.
-	Emit cld instruction if stringops are used in interrupt handler
-	or interrupt handler isn't a leaf function.
-	(ix86_expand_epilogue): Generate interrupt return for interrupt
-	handler and pop the 'ERROR_CODE' off the stack before interrupt
-	return in exception handler.
-	(ix86_expand_call): Disallow calling interrupt handler directly.
-	If there are no caller-saved registers, mark all registers that
-	are clobbered by the call which returns as clobbered.
-	(ix86_handle_no_caller_saved_registers_attribute): New function.
-	(ix86_handle_interrupt_attribute): Likewise.
-	(ix86_attribute_table): Add interrupt and no_caller_saved_registers
-	attributes.
-	(TARGET_HARD_REGNO_SCRATCH_OK): Likewise.
-	* config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Use argument
-	accumulation in interrupt function if stack may be realigned to
-	avoid DRAP.
-	(EPILOGUE_USES): New.
-	(function_type): New enum.
-	(machine_function): Add func_type and no_caller_saved_registers.
-	* config/i386/i386.md (UNSPEC_INTERRUPT_RETURN): New.
-	(interrupt_return): New pattern.
-	* doc/extend.texi: Document x86 interrupt and
-	no_caller_saved_registers attributes.
-
-2016-06-03  Bernd Schmidt  <bschmidt@redhat.com>
-
-	PR tree-optimization/52171
-	* builtins.c (expand_cmpstrn_or_cmpmem): Delete, moved elsewhere.
-	(expand_builtin_memcmp): New arg RESULT_EQ.  All callers changed.
-	Look for constant strings.  Move some code to emit_block_cmp_hints
-	and use it.
-	* builtins.def (BUILT_IN_MEMCMP_EQ): New.
-	* defaults.h (COMPARE_MAX_PIECES): New macro.
-	* expr.c (move_by_pieces_d, store_by_pieces_d): Remove old structs.
-	(move_by_pieces_1, store_by_pieces_1, store_by_pieces_2): Remvoe.
-	(clear_by_pieces_1): Don't declare.  Move definition before use.
-	(can_do_by_pieces): New static function.
-	(can_move_by_pieces): Use it.  Return bool.
-	(by_pieces_ninsns): Renamed from move_by_pieces_ninsns.  New arg
-	OP.  All callers changed.  Handle COMPARE_BY_PIECES.
-	(class pieces_addr); New.
-	(pieces_addr::pieces_addr, pieces_addr::decide_autoinc,
-	pieces_addr::adjust, pieces_addr::increment_address,
-	pieces_addr::maybe_predec, pieces_addr::maybe_postinc): New member
-	functions for it.
-	(class op_by_pieces_d): New.
-	(op_by_pieces_d::op_by_pieces_d, op_by_pieces_d::run): New member
-	functions for it.
-	(class move_by_pieces_d, class compare_by_pieces_d,
-	class store_by_pieces_d): New subclasses of op_by_pieces_d.
-	(move_by_pieces_d::prepare_mode, move_by_pieces_d::generate,
-	move_by_pieces_d::finish_endp, store_by_pieces_d::prepare_mode,
-	store_by_pieces_d::generate, store_by_pieces_d::finish_endp,
-	compare_by_pieces_d::generate, compare_by_pieces_d::prepare_mode,
-	compare_by_pieces_d::finish_mode): New member functions.
-	(compare_by_pieces, emit_block_cmp_via_cmpmem): New static
-	functions.
-	(expand_cmpstrn_or_cmpmem): Moved here from builtins.c.
-	(emit_block_cmp_hints): New function.
-	(move_by_pieces, store_by_pieces, clear_by_pieces): Rewrite to just
-	use the newly defined classes.
-	* expr.h (by_pieces_constfn): New typedef.
-	(can_store_by_pieces, store_by_pieces): Use it in arg declarations.
-	(emit_block_cmp_hints, expand_cmpstrn_or_cmpmem): Declare.
-	(move_by_pieces_ninsns): Don't declare.
-	(can_move_by_pieces): Change return value to bool.
-	* target.def (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): Update docs.
-	(compare_by_pieces_branch_ratio): New hook.
-	* target.h (enum by_pieces_operation): Add COMPARE_BY_PIECES.
-	(by_pieces_ninsns): Declare.
-	* targethooks.c (default_use_by_pieces_infrastructure_p): Handle
-	COMPARE_BY_PIECES.
-	(default_compare_by_pieces_branch_ratio): New function.
-	* targhooks.h (default_compare_by_pieces_branch_ratio): Declare.
-	* doc/tm.texi.in (STORE_MAX_PIECES, COMPARE_MAX_PIECES): Document.
-	* doc/tm.texi: Regenerate.
-	* tree-ssa-strlen.c: Include "builtins.h".
-	(handle_builtin_memcmp): New static function.
-	(strlen_optimize_stmt): Call it for BUILT_IN_MEMCMP.
-	* tree.c (build_common_builtin_nodes): Create __builtin_memcmp_eq.
-
-2016-06-03  Alan Hayward  <alan.hayward@arm.com>
-
-	* tree-vect-stmts.c (vect_stmt_relevant_p): Do not vectorize non live
-	relevant stmts which are simple and invariant.
-	* tree-vect-loop.c (vectorizable_live_operation): Check relevance
-	instead of simple and invariant
-
-2016-06-03  Alan Hayward  <alan.hayward@arm.com>
-
-	* tree-vect-loop.c (vect_analyze_loop_operations): Allow live stmts.
-	(vectorizable_reduction): Check for new relevant state.
-	(vectorizable_live_operation): vectorize live stmts using
-	BIT_FIELD_REF.  Remove special case for gimple assigns stmts.
-	* tree-vect-stmts.c (is_simple_and_all_uses_invariant): New function.
-	(vect_stmt_relevant_p): Check for stmts which are only used live.
-	(process_use): Use of a stmt does not inherit it's live value.
-	(vect_mark_stmts_to_be_vectorized): Simplify relevance inheritance.
-	(vect_analyze_stmt): Check for new relevant state.
-	* tree-vectorizer.h (vect_relevant): New entry for a stmt which is used
-	outside the loop, but not inside it.
-
-2016-06-03  Alan Hayward  <alan.hayward@arm.com>
-
-	* tree-vectorizer.h (vect_get_vec_def_for_operand_1): New.
-	* tree-vect-stmts.c (vect_get_vec_def_for_operand_1): New.
-	(vect_get_vec_def_for_operand): Split out code.
-
-2016-06-03  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.md (define_peepholes for two mfcr's): Delete.
-
-2016-06-03  Alan Hayward  <alan.hayward@arm.com>
-
-	* tree-vect-stmts.c (vectorizable_call) Remove GOMP_SIMD_LANE code.
-
-2016-06-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/thumb1.md (*thumb1_mulsi3): Fix typos in comment.
-
-2016-06-03  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/71387
-	* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): If redirecting
-	to noreturn e->callee->decl that has void return type and void
-	arguments, adjust gimple_call_fntype and remove lhs even if it had
-	previously addressable type.
-
-2016-06-02  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/71328
-	* tree-ssa-threadupdate.c (duplicate_thread_path): Fix off-by-one
-	error when checking for a jump back onto the copied path.
-
-2016-06-02  David Malcolm  <dmalcolm@redhat.com>
-
-	* config/microblaze/microblaze.c (get_branch_target): Add return
-	NULL_RTX for the non-CALL_P case.
-	(insert_wic_for_ilb_runout): Remove unused local "wic_addr1".
-	(insert_wic): Remove unused local "j".
-
-2016-06-02  Martin Liska  <mliska@suse.cz>
-
-	* predict.def: Fix typo in PRED_FORTRAN_FAIL_IO display name.
-
-2016-06-02  H.J. Lu  <hongjiu.lu@intel.com>
-	    Julia Koval  <julia.koval@intel.com>
-
-	* function.c (assign_parm_setup_stack): Force source into a
-	register if needed.
-	* target.def (function_incoming_arg): Update documentation to
-	allow arbitrary address computation based on hard register.
-	* doc/tm.texi: Regenerated.
-
-2016-06-02  Martin Liska  <mliska@suse.cz>
-
-	* predict.c (combine_predictions_for_bb): Fix first match in
-	cases where a first predictor contains more than one occurence
-	in list of predictors.  Take the best value in such case.
-
-2016-06-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR rtl-optimization/71295
-	* rtlanal.c (subreg_get_info): If taking a subreg at the requested
-	offset would go over the size of the inner mode reject it.
-
-2016-06-02  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/sse.md (*vec_concatv4si): Use v=v,v instead of
-	x=x,x and v=v,m instead of x=x,m.
-
-	* config/i386/sse.md (*vec_concatv2si_sse4_1): Add avx512dq v=Yv,rm
-	alternative.  Change x=x,x alternative to v=Yv,Yv and x=rm,C
-	alternative to v=rm,C.
-
-	* config/i386/sse.md (*vec_concatv2di): Add x86_avx512dq v=Yv,rm
-	alternative.  Change x=xm,C alternative to v=vm,C, x=x,x alternative
-	to v=Yv,Yv and x=x,m to v=v,m.  Use maybe_evex prefix attribute
-	instead of vex for the last two above mentioned alternatives.
-
-2016-06-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/70830
-	* config/arm/arm.c (arm_output_multireg_pop): Guard "pop" on update.
-
-2016-06-02  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/dfp.md (trunctddd2): Correct the "length" attribute.
-
-2016-06-01  David Malcolm  <dmalcolm@redhat.com>
-
-	* config/rl78/rl78.c (rl78_expand_prologue): Convert local
-	from int to unsigned.
-
-2016-05-31  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/vsx.md (vsx_splat_<mode>, V2DI/V2DF): Simplify
-	alternatives, eliminating preferred register class.  Add support
-	for the MTVSRDD instruction in ISA 3.0.
-	(vsx_splat_v4si_internal): Use splat_input_operand instead of
-	reg_or_indexed_operand.
-	(vsx_splat_v4sf_internal): Likewise.
-
-2016-05-31  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/71186
-	* config/rs6000/vsx.md (xxspltib_<mode>_nosplit): Add alternatives
-	for loading up all 0's or all 1's.
-
-2016-06-01  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* doc/sourcebuild.texi (arm_acq_rel): Document new effective target.
-
-2016-06-01  Eduard Sanou  <dhole@openmailbox.org>
-
-	* doc/cppenv.texi: Note that the `%s` in `date` is a non-standard
-	extension.
-	* gcc.c (driver_handle_option): Call set_source_date_epoch_envvar.
-	* gcc.c (set_source_date_epoch_envvar): New function, sets
-	the SOURCE_DATE_EPOCH environment variable to the current time.
-
-2016-06-01  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-vect-loop.c (vect_determine_vectorization_factor): Also compute
-	the factor for live Phi nodes.
-
-2016-06-01  Jan Hubicka  <hubicka@ucw.cz>
-
-	* loop-dolop.c (doloop_optimize): Us likely max iteration bound.
-	* tree-parloops.c (parallelize_loops): likewise.
-	* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop,
-	tree_unswitch_outer_loop): likewise.
-
-2016-06-01  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/71371
-	* gimplify.c (gimplify_omp_for): Temporarily clear gimplify_omp_ctxp
-	around creation of the temporary.
-
-2016-06-01  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71366
-	* tree-ssa-loop-ivcanon.c (edges_to_remove): New global.
-	(unloop_loops): Move removing edges here ...
-	(try_unroll_loop_completely): ... from here.
-	(try_peel_loop): ... and here.
-	(tree_unroll_loops_completely_1): Track parent loops via
-	bitmap of header BBs.
-	(tree_unroll_loops_completely): Adjust for that.
-
-2016-06-01  Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	* config/rs6000/altivec.h (vec_slv): New macro.
-	(vec_srv): New macro.
-	* config/rs6000/altivec.md (UNSPEC_VSLV): New value.
-	(UNSPEC_VSRV): New value.
-	(vslv): New insn.
-	(vsrv): New insn.
-	* config/rs6000/rs6000-builtin.def (vslv): New builtin definition.
-	(vsrv): New builtin definition.
-	* config/rs6000/rs6000-c.c (P9V_BUILTIN_VSLV): Macro expansion to
-	define argument types for new builtin.
-	(P9V_BUILTIN_VSRV): Macro expansion to define argument types for
-	new builtin.
-	* doc/extend.texi: Document the new vec_vslv and vec_srv built-in
-	functions.
-
-2016-06-01  Uros Bizjak  <ubizjak@gmail.com>
-	    Jocelyn Mayer  <l_indien@magic.fr>
-
-	PR target/67310
-	* config/i386/driver-i386.c (host_detect_local_cpu): Correctly
-	detect processor family for signature_CENTAUR_ebx.
-	<case PROCESSOR_I486>: Pass c3, winchip2 or winchip-c6 for
-	signature_CENTAUR_ebx.
-	<case PROCESSOR _PENTIUMPRO>: Pass c3-2 for signature_CENTAUR_ebx.
-	<default>: Pass x86-64 for has_longmode.
-
-2016-06-01  Nathan Sidwell  <nathan@acm.org>
-
-	* config/nvptx/nvptx.c (nvptx_assemble_undefined_decl): Reject
-	undefined weak.
-
-2016-06-01  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71261
-	* tree-vect-patterns.c (check_bool_pattern): Gather a hash-set
-	of stmts successfully put in the bool pattern.  Remove
-	single-use restriction.
-	(adjust_bool_pattern_cast): Add cast at the use site via the
-	pattern def sequence.
-	(adjust_bool_pattern): Remove recursion, maintain a hash-map
-	of patterned defs.  Use the pattern def seqence instead of
-	multiple independent patterns.
-	(sort_after_uid): New qsort compare function.
-	(adjust_bool_stmts): New function to process stmts in the bool
-	pattern in IL order.
-	(vect_recog_bool_pattern): Adjust.
-	* tree-if-conv.c (ifcvt_split_def_stmt): Remove.
-	(ifcvt_walk_pattern_tree): Likewise.
-	(stmt_is_root_of_bool_pattern): Likewise.
-	(ifcvt_repair_bool_pattern): Likewise.
-	(tree_if_conversion): Do not call ifcvt_repair_bool_pattern.
-
-2016-06-01  Jan Hubicka  <hubicka@ucw.cz>
-
-	* loop-unroll.c (decide_unroll_constant_iterations,
-	decide_unroll_runtime_iterations, decide_unroll_stupid): Use
-	likely upper bounds.
-	* loop-iv.c (find_simple_exit): Dump likely upper bounds.
-
-2016-06-01  Thomas Schwinge  <thomas@codesourcery.com>
-
-	* tree-core.h (enum omp_clause_code): Remove
-	OMP_CLAUSE_DEVICE_RESIDENT.  Adjust all users.
-
-2016-06-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/sync.md (arm_store_exclusive<mode>):
-	Use 'H' output modifier on operands[2] rather than creating a new
-	entry in out-of-bounds memory of the operands array.
-	(arm_store_release_exclusivedi): Likewise.
-
-2016-06-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/arm.c (arm_fusion_enabled_p): New function.
-	* config/arm/arm-protos.h (arm_fusion_enabled_p): Declare prototype.
-	* config/arm/crypto.md (crypto_<crypto_pattern>, CRYPTO_UNARY):
-	Add "=w,0" alternative.  Enable it when AES/AESMC fusion is enabled.
-
-2016-06-01  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-vect-loop.c (vect_determine_vectorization_factor): Also take
-	into account live statements for mask producers.
-
-2016-06-01  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71311
-	* match.pd (@0 < @1 && @0 < @2 -> @0 < min(@1,@2)): Add :c and
-	restrict to non-INTEGER_CST @0.
-
-2016-06-01  Richard Biener  <rguenther@suse.de>
-
-	* match.pd ((A & B) - (A & ~B) -> B - (A ^ B)): Add missing :c.
-	(relational patterns): Use :c to avoid pattern duplications.
-
-2016-06-01  Richard Biener  <rguenther@suse.de>
-
-	* genmatch.c (comparison_code_p): New predicate.
-	(swap_tree_comparison): New function.
-	(commutate): Add for_vec parameter to append new for entries.
-	Support commutating relational operators by swapping it alongside
-	operands.
-	(lower_commutative): Adjust.
-	(dt_simplify::gen): Do not pass artificial operators to gen
-	functions.
-	(decision_tree::gen): Do not add artificial operators as parameters.
-	(parser::parse_expr): Verify operator commutativity when :c is
-	applied.  Allow :C to override this.
-	* match.pd: Adjust patterns to use :C instead of :c where required.
-
-2016-06-01  Patrick Palka  <ppalka@gcc.gnu.org>
-
-	PR tree-optimization/71077
-	* tree-ssa-threadedge.c (simplify_control_stmt_condition_1): In
-	the combining step, use boolean_false_node and boolean_true_node
-	as the designated false/true return values.
-
-2016-05-31  Jan Hubicka  <hubicka@ucw.cz>
-
-	* predict.def (PRED_LOOP_EXTRA_EXIT): Define.
-	* predict.c (predict_iv_comparison): Also check PRED_LOOP_EXTRA_EXIT.
-	(predict_extra_loop_exits): Use PRED_LOOP_EXTRA_EXIT instead of
-	PRED_LOOP_EXIT.
-
-2016-05-31  Jan Hubicka  <hubicka@ucw.cz>
-
-	* doc/invoke.texi (-frename-registers): Drop -fpeel-loops from list
-	of flags impliying the register renaming.
-	* toplev.c (process_options): Do not imply flag_rename_registers with
-	loop peeling.
-
-2016-05-31  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	* config/sh/sh.h (ASM_OUTPUT_SYMBOL_REF): Remove macro and use the
-	default implementation.
-
-2016-05-31  Nathan Sidwell  <nathan@acm.org>
-
-	* dwarf2out.c (cur_line_info_table): Add GTY marker.
-
-2016-05-31  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	* config/sh/constraints.md (b): Remove constraint.
-	* config/sh/predicates.md (arith_reg_operand): Remove
-	TARGET_REGISTER_P.
-	* config/sh/sh-modes.def (PDI): Remove.
-	* config/sh/sh.c (sh_target_reg_class,
-	sh_optimize_target_register_callee_saved): Remove functions.
-	(sh_option_override): Don't set MASK_SAVE_ALL_TARGET_REGS.
-	(sh_expand_epilogue): Update comment.
-	(sh_hard_regno_mode_ok, sh_register_move_cost, calc_live_regs,
-	sh_secondary_reload): Remove TARGET_REGS related code.
-	* config/sh/sh.h (FIRST_TARGET_REG, LAST_TARGET_REG,
-	TARGET_REGISTER_P): Remove macros.
-	(SH_DBX_REGISTER_NUMBER, REG_ALLOC_ORDER): Remove target regs.
-	* config/sh/sh.md (PR_MEDIA_REG, T_MEDIA_REG, FR23_REG, TR0_REG,
-	TR1_REG, TR2_REG): Remove constants.
-	* config/sh/sh.opt (SAVE_ALL_TARGET_REGS): Remove.
-
-2016-05-31  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	* config/sh/sh.md (adddi3, subdi3, negdi2, abs<mode>2): Remove
-	define_expand patterns.
-	(adddi3_compact): Rename to adddi3.
-	(subdi3_compact): Rename to subdi3.
-	(*negdi2): Rename to negdi2.
-	(*abs<mode>2): Rename to abs<mode>2.
-
-2016-05-31  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	* config/rx/rx.md (FETCHOP_NO_MINUS): New code iterator.
-	(atomic_<fetchop_name>_fetchsi): Extract minus operator into ...
-	(atomic_sub_fetchsi): ... this new pattern.
-	(mvtc): Add CC_REG clobber.
-
-2016-05-31  Marek Polacek  <polacek@redhat.com>
-
-	* gimplify.c (gimplify_switch_expr): Also handle GIMPLE_TRY.
-
-2016-05-31  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64.c (aarch_macro_fusion_pair_p): Use
-	aarch64_fusion_enabled_p to check for fusion capabilities.
-
-2016-05-31  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71352
-	* tree-ssa-reassoc.c (zero_one_operation): Handle op equal to
-	minus one and a negate.
-
-2016-05-31  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_simd_attr_length_move): Delete.
-	* config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_move):
-	Delete prototype.
-	* config/aarch64/iterators.md (insn_count): Add descriptive comment.
-	* config/aarch64/aarch64-simd.md (*aarch64_mov<mode>, VSTRUCT modes):
-	Remove use of aarch64_simd_attr_length_move, set length attribute
-	directly.
-	(*aarch64_be_movoi): Likewise.
-	(*aarch64_be_movci): Likewise.
-	(*aarch64_be_movxi): Likewise.
-
-2016-05-31  Jan Hubicka  <hubicka@ucw.cz>
-
-	* loop-init.c (gate): Do not enale RTL loop unroller with -fpeel-loops.
-	It no longer does that.
-	* toplev.c (process_options): Do not enable flag_web with -fpeel-loops.
-
-2016-05-31  Wladimir J. van der Laan  <laanwj@gmail.com>
-
-	* config/aarch64/arm_neon.h (vdupb_laneq_s8): Remove spurious
-	attribute __unused__.
-
-2016-05-31  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm-protos.h (arm_arch_thumb1): Declare.
-	* config/arm/arm.c (arm_arch_thumb1): Define.
-	(arm_option_override): Initialize arm_arch_thumb1.
-	* config/arm/arm.h (arm_arch_thumb1): Declare.
-	(TARGET_ARM_ARCH_ISA_THUMB): Use arm_arch_thumb to determine if target
-	support Thumb-1 ISA.
-
-2016-05-31  Kirill Yukhin  <kirill.yukhin@intel.com>
-
-	PR target/71346
-	* config/i386/sse.md (define_insn_and_split "*vec_extractv4sf_0"): Use
-	`Yv' for scalar operand.
-
-2016-05-31  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/69068
-	* graphite-isl-ast-to-gimple.c (copy_bb_and_scalar_dependences): Handle
-	phis with more than two args.
-
-2016-05-30  Andreas Tobler  <andreast@gcc.gnu.org>
-
-	* config.gcc: Move hard float support for arm*hf*-*-freebsd* into
-	armv6*-*-freebsd* for FreeBSD 11. Eliminate the arm*hf*-*-freebsd*
-	target.
-
-2016-05-30  Jose E. Marchesi  <jose.marchesi@oracle.com>
-
-	* config.gcc (sparc*-*-*): Support cpu_32, cpu_64, tune_32 and
-	tune_64.
-	* doc/install.texi (--with-cpu-32, --with-cpu-64): Document
-	support on SPARC.
-	* config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Add entries for
-	cpu_32, cpu_64, tune_32 and tune_64.
-	* config/sparc/sol2.h (OPTION_DEFAULT_SPECS): Likewise.
-
-2016-05-30  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/sync.md (mfence_nosse): Use "lock orl $0, -4(%esp)".
-
-2016-05-30  Andi Kleen  <ak@linux.intel.com>
-
-	* auto-profile.c (read_profile): Replace asserts with errors
-	when file does not exist.
-	* gcov-io.c (gcov_read_words): Dito.
-
-2016-05-30  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-cfg.c (print_loop): Print likely upper bounds.
-
-2016-05-30  Jan Hubicka  <hubicka@ucw.cz>
-
-	* doc/invoke.texi (-fpeel-loops,-O3): Update documentation.
-	* opts.c (default_options): Enable peel loops at -O3.
-	* tree-ssa-loop-ivcanon.c (peeled_loops): New static var.
-	(try_peel_loop): Do not re-peel already peeled loops;
-	use likely upper bounds; fix profile updating.
-	(pass_complete_unroll::execute): Initialize peeled_loops.
-
-2016-05-30  Martin Liska  <mliska@suse.cz>
-
-	* tree-ssa-loop-ivopts.c (get_computation_cost_at): Scale
-	computed costs by frequency of BB they belong to.
-	(get_scaled_computation_cost_at): New function.
-
-2016-05-30  Alexander Monakov  <amonakov@ispras.ru>
-	    Marc Glisse  <marc.glisse@inria.fr>
-
-	PR tree-optimization/71289
-	* match.pd (-1 / B < A, A > -1 / B): New transformations.
-
-2016-05-30  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-vect-loop.c (vect_transform_loop): Update likely bounds.
-
-2016-05-30  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-ssa-loop-ivcanon.c (try_peel_loop): Correctly set wont_exit
-	for peeled copies; avoid underflow when updating estimates; correctly
-	scale loop profile.
-
-2016-05-30  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* tree-ssa-reassoc.ci (swap_ops_for_binary_stmt): Fix typo from commit
-	r236875. Corrected oe3 to oe2 as obvious.
-
-2016-05-30  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	PR middle-end/71269
-	PR middle-end/71252
-	* tree-ssa-reassoc.c (insert_stmt_before_use): Use find_insert_point so
-	that inserted stmt will not dominate stmts that defines its operand.
-	(rewrite_expr_tree): Add stmt_to_insert before adding the use stmt.
-	(rewrite_expr_tree_parallel): Likewise.
-
-2016-05-30  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	PR middle-end/71252
-	* tree-ssa-reassoc.c (swap_ops_for_binary_stmt): Fix swap such that
-	all fields including stmt_to_insert are swapped.
-
-2016-05-30  Jan Hubicka  <hubicka@ucw.cz>
-
-	* predict.h (force_edge_cold): Declare.
-	* predict.c (force_edge_cold): New function.
-	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Fix profile
-	updating.
-	(canonicalize_loop_induction_variables): Fix formating.
-
-2016-05-30  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/visium/visium.c (visium_split_double_add): Minor tweaks.
-	(visium_expand_copysign): Use gen_int_mode directly.
-	(visium_compute_frame_size): Minor tweaks.
-
-2016-05-30  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-vect-loop.c (vect_analyze_loop_2): Use
-	likely_max_stmt_executions_int.
-
-2016-05-30  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/69067
-	* graphite-isl-ast-to-gimple.c (get_def_bb_for_const): Remove assert.
-
-2016-05-29  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/71245
-	* config/i386/sync.md (define_peephole2 atomic_storedi_fpu):
-	New peepholes to remove unneeded fild/fistp pairs.
-	(define_peephole2 atomic_loaddi_fpu): Ditto.
-
-2016-05-27  Jan Hubicka  <hubicka@ucw.cz>
-
-	* predict.c (maybe_hot_frequency_p): Avoid division.
-
-2016-05-28  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/install.texi: Use https for shop.fsf.org.
-
-2016-05-27  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-ssa-loop-ivopts.c (estimated_stmt_executions_int): Use
-	likely_max_stmt_executions_int.
-
-2016-05-27  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-ssa-loop-prefetch.c (loop_prefetch_arrays): Use
-	likely_max_stmt_executions_int.
-
-2016-05-27  Jan Hubicka  <hubicka@ucw.cz>
-
-	* profile.c (compute_branch_probabilities): Do not report hitrates
-	here.
-	(branch_prob): Report hitrates here.
-	* predict.c (gimple_predict_edge): Do not assert profile status;
-	fix formatting issues.
-
-2016-05-27  Jan Hubicka  <hubicka@ucw.cz>
-
-	* predict.c (edge_predicted_by_p): New function.
-	(predict_paths_for_bb): Do not put multiple predictions of the same type
-	on one edge.
-
-2016-05-27  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-ssa-loop-niter.c (number_of_iterations_exit): Revert accidental
-	commit.
-
-2016-05-28  Alan Modra  <amodra@gmail.com>
-
-	* dominance.c (verify_dominators): Don't segfault on NULL imm_bb.
-
-2016-05-28  Alan Modra  <amodra@gmail.com>
-
-	PR rtl-optimization/71275
-	* ira.c (ira): Free dominance info.
-
-2016-05-27  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/sourcebuild.texi: New address for upstream Go repository.
-
-2016-05-27  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm.h (TARGET_ARM_V6M): Remove.
-	(TARGET_ARM_V7M): Likewise.
-
-2016-05-26  Jeff Law  <law@redhat.com>
-
-	* tree-ssa-threadedge.c: Remove include of tree-ssa-threadbackward.h.
-	(thread_across_edge): Remove calls to find_jump_threads_backwards.
-	* passes.def: Add jump threading passes before DOM/VRP.
-	* tree-ssa-threadbackward.c (find_jump_threads_backwards): Change
-	argument to a basic block from an edge.  Remove tests which are
-	handled elsewhere.
-	(pass_data_thread_jumps, class pass_thread_jumps): New.
-	(pass_thread_jumps::gate, pass_thread_jumps::execute): New.
-	(make_pass_thread_jumps): Likewise.
-	* tree-pass.h (make_pass_thread_jumps): Declare.
-
-2016-05-27  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/visium/visium-protos.h (split_double_move): Rename into...
-	(visium_split_double_move): ...this.
-	(visium_split_double_add): Declare.
-	* config/visium/visium.c (split_double_move): Rename into...
-	(visium_split_double_move): ...this.
-	(visium_split_double_add): New function.
-	(visium_expand_copysign): Renumber operands for consistency.
-	* config/visium/visium.md (DImode move splitter): Adjust to renaming.
-	(DFmode move splitter): Likewise.
-	(*addi3_insn): Split by means of visium_split_double_add.
-	(*adddi3_insn_flags): Delete.
-	(*plus_plus_sltu<subst_arith>): New insn.
-	(*subdi3_insn): Split by means of visium_split_double_add.
-	(subdi3_insn_flags): Delete.
-	(*minus_minus_sltu<subst_arith>): New insn.
-	(*negdi2_insn): Split by means of visium_split_double_add.
-	(*negdi2_insn_flags): Delete.
-
-2016-05-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-	* configure.ac: Treat a --with-headers option without argument
-	the same as the default (i.e. consult sys-include directory).
-	* configure: Regenerate.
-
-2016-05-27  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_fusion_enabled_p): New function.
-	* config/aarch64/aarch64-protos.h (aarch64_fusion_enabled_p): Declare
-	prototype.
-	* config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aesmc_op>v16qi):
-	Add "=w,0" alternative.  Enable it when AES/AESMC fusion is enabled.
-
-2016-05-27  Jiong Wang  <jiong.wang@arm.com>
-
-	PR target/63596
-	* config/aarch64/aarch64.c (aarch64_expand_builtin_va_start): Honor
-	tree-stdarg analysis results.
-	(aarch64_setup_incoming_varargs): Likewise.
-
-2016-05-27  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_build_builtin_va_list): Initialize
-	va_list_gpr_counter_field and va_list_fpr_counter_field.
-
-2016-05-27  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	PR67609
-	* config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Remove.
-	* config/aarch64/aarch64.c
-	(aarch64_cannot_change_mode_class): Remove function.
-	* config/aarch64/aarch64-protos.h
-	(aarch64_cannot_change_mode_class): Remove.
-
-2016-05-27  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cfgloop.c (record_niter_bound): Record likely upper bounds.
-	(likely_max_stmt_executions_int, get_likely_max_loop_iterations,
-	get_likely_max_loop_iterations_int): New.
-	* cfgloop.h (struct loop): Add nb_iterations_likely_upper_bound,
-	any_likely_upper_bound.
-	(get_likely_max_loop_iterations_int, get_likely_max_loop_iterations):
-	Declare.
-	* cfgloopmanip.c (copy_loop_info): Copy likely upper bounds.
-	* loop-unroll.c (unroll_loop_constant_iterations): Update likely
-	upper bound.
-	(unroll_loop_constant_iterations): Likewise.
-	(unroll_loop_runtime_iterations): Likewise.
-	* lto-streamer-in.c (input_cfg): Stream likely upper bounds.
-	* lto-streamer-out.c (output_cfg): Likewise.
-	* tree-ssa-loop-ivcanon.c (try_peel_loop): Update likely upper
-	bounds.
-	(canonicalize_loop_induction_variables): Dump likely upper bounds.
-	* tree-ssa-loop-niter.c (record_estimate): Record likely upper bounds.
-	(likely_max_loop_iterations): New.
-	(likely_max_loop_iterations_int): New.
-	(likely_max_stmt_executions): New.
-	* tree-ssa-loop-niter.h (likely_max_loop_iterations,
-	likely_max_loop_iterations_int, likely_max_stmt_executions_int,
-	likely_max_stmt_executions): Declare.
-
-2016-05-27  Marek Polacek  <polacek@redhat.com>
-
-	PR middle-end/71308
-	* gimple-fold.c (gimple_fold_call): Check that LHS is not null.
-
-2016-05-27  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.md (2x risbg splitters): Use
-	reg_overlap_mentioned_p instead of rtx_equal_p.
-
-2016-05-27  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	* combine.c (make_compound_operation): Take known zero bits into
-	account when checking for possible zero_extend.
-
-2016-05-27  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64.md (ashl<mode>3, SHORT modes):
-	Use const_int_operand for operand 2 predicate.  Simplify expand code
-	as a result.
-
-2016-05-27  Ilya Enkovich  <ilya.enkovich@intel.com>
-
-	PR middle-end/71279
-	* fold-const.c (fold_ternary_loc): Don't fold VEC_COND_EXPR
-	into comparison.
-
-2016-05-27  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64-modes.def (CC_ZESWP, CC_SESWP): Delete.
-	* config/aarch64/aarch64.c (aarch64_select_cc_mode): Remove condition
-	that returns CC_SESWPmode and CC_ZESWPmode.
-	(aarch64_get_condition_code_1): Remove handling of CC_SESWPmode
-	and CC_SESWPmode.
-	(aarch64_rtx_costs): Likewise.
-
-2016-05-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_emit_p9_fp_minmax): New function
-	for ISA 3.0 min/max support.
-	(rs6000_emit_p9_fp_cmove): New function for ISA 3.0 floating point
-	conditional move support.
-	(rs6000_emit_cmove): Call rs6000_emit_p9_fp_minmax and
-	rs6000_emit_p9_fp_cmove if the ISA 3.0 instructions are
-	available.
-	* config/rs6000/rs6000.md (SFDF2): New iterator to allow doing
-	conditional moves where the comparison type is different from move
-	type.
-	(fp_minmax): New code iterator for smin/smax.
-	(minmax): New code attributes for min/max.
-	(SMINMAX): Likewise.
-	(smax<mode>3): Combine min, max insns into one insn using the
-	fp_minmax code iterator.  Add support for ISA 3.0 min/max
-	instructions that don't need -ffast-math.
-	(s<minmax><mode>3): Likewise.
-	(smax<mode>3_vsx): Likewise.
-	(smin<mode>3): Likewise.
-	(s<minmax><mode>3_vsx): Likewise.
-	(smin<mode>3_vsx): Likewise.
-	(pre-VSX min/max splitters): Likewise.
-	(s<minmax><mode>3_fpr): Likewise.
-	(movsfcc): Rewrite floating point conditional moves to combine
-	SFmode/DFmode into a single insn.
-	(mov<mode>cc): Likewise.
-	(movdfcc): Likewise.
-	(fselsfsf4): Combine FSEL cases into a single insn, using SFDF and
-	SFDF2 iterators to handle all combinations.
-	(fseldfsf4): Likewise.
-	(fsel<SFDF:mode><SFDF2:mode>4): Likewise.
-	(fseldfdf4): Likewise.
-	(fselsfdf4): Likewise.
-	(mov<SFDF:mode><SFDF2:mode>cc_p9): Add support for the ISA 3.0
-	comparison instructions that set a 0/-1 mask, and use it for
-	floating point conditional move via XXSEL.
-	(fpmask<mode>): Likewise.
-	(xxsel<mode>): Likewise.
-	* config/rs6000/predicates.md (min_max_operator): Delete, no
-	longer used.
-	(fpmask_comparison_operaton): New insn for ISA 3.0 comparison
-	instructions that generate a 0/-1 mask for use with XXSEL.
-	* config/rs6000/rs6000.h (TARGET_MINMAX_SF): New helper macros to
-	say whether floating point min/max is available, either through
-	FSEL, ISA 2.06 min/max, and ISA 3.0 min/max instrucitons.
-	(TARGET_MINMAX_DF): Likewise.
-
-2016-05-27  Alan Modra  <amodra@gmail.com>
-
-	PR rtl-optimization/71275
-	* ira.c (ira): Call loop_optimizer_init to set up bb_loop_depth
-	for update_equiv_regs and combine_and_move_insns.
-
-2016-05-26  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*movqi_internal) <attr "isa">: Use
-	if_then_else or cond RTXes to calculate attribute value.
-	* config/i386/mmx.md (*vec_extractv2sf_1) <attr "prefix_rep">: Ditto.
-	<attr "length_immediate>: Ditto.
-	(*vec_extractv2sf_1) <attr "length_immediate">: Ditto.
-	* config/i386/sse.md (sse_loadlps) <attr "length_immediate">: Ditto.
-	(*vec_concatv2sf_sse4_1) <attr "isa">: Ditto.
-	<attr "type">: Ditto.
-	<attr "prefix_data16">: Ditto.
-	<attr "prefix_extra">: Ditto.
-	<attr "length_immediate">: Ditto.
-	<attr "prefix">: Ditto.
-	(vec_set<mode>_0) <attr "isa">: Ditto.
-	<attr "prefix_extra">: Ditto.
-	<attr "length_immediate">: Ditto.
-	<attr "prefix">: Ditto.
-	(*vec_interleave_highv2df) <attr "prefix_data16">: Ditto.
-	(*vec_interleave_lowv2df) <attr "prefix_data16">: Ditto.
-	(sse2_storelpd) <attr "prefix_data16">: Ditto.
-	(sse2_loadhpd) <attr "prefix_data16">: Ditto.
-	(sse2_loadlpd) <attr "prefix_data16">: Ditto.
-	<attr "length_immediate">: Ditto.
-	<attr "prefix">: Ditto.
-	(sse2_movsd) <attr "length_immediate">: Ditto.
-	<attr "prefix">: Ditto.
-	(vec_concatv2df)  <attr "isa">: Ditto.
-	<attr "prefix">: Ditto.
-	(*vec_extractv4si) <attr "prefix_extra">: Ditto.
-	(*vec_extractv2di_1) <attr "isa">: Ditto.
-	<attr "type">: Ditto.
-	<attr "length_immediate">: Ditto.
-	<attr "prefix_rex">: Ditto.
-	<attr "prefix_extra">: Ditto.
-	(*vec_concatv2si_sse4_1) <attr "type">: Ditto.
-	<attr "prefix_extra">: Ditto.
-	<attr "length_immediate">: Ditto.
-	(vec_concatv2di) <attr "isa">: Ditto.
-	<attr "prefix_extra">: Ditto.
-	<attr "length_immediate">: Ditto.
-	<attr "prefix">: Ditto.
-
-2016-05-26  Martin Liska  <mliska@suse.cz>
-
-	* tree-ssa-loop-ivopts.c (comp_cost::infinite_cost_p): New
-	function.
-	(operator+): Likewise.
-	(operator-): Likewise.
-	(comp_cost::operator+=): Likewise.
-	(comp_cost::operator-=): Likewise.
-	(comp_cost::operator/=): Likewise.
-	(comp_cost::operator*=): Likewise.
-	(operator<): Likewise.
-	(operator==): Likewise.
-	(operator<=): Likewise.
-	(new_cost): Remove.
-	(infinite_cost_p): Likewise.
-	(add_costs): Likewise.
-	(sub_costs): Likewise.
-	(compare_costs): Likewise.
-	(set_group_iv_cost): Use the newly introduced functions.
-	(get_address_cost): Likewise.
-	(get_shiftadd_cost): Likewise.
-	(force_expr_to_var_cost): Likewise.
-	(split_address_cost): Likewise.
-	(ptr_difference_cost): Likewise.
-	(difference_cost): Likewise.
-	(get_computation_cost_at): Likewise.
-	(determine_group_iv_cost_generic): Likewise.
-	(determine_group_iv_cost_address): Likewise.
-	(determine_group_iv_cost_cond): Likewise.
-	(autoinc_possible_for_pair): Likewise.
-	(determine_group_iv_costs): Likewise.
-	(cheaper_cost_pair): Likewise.
-	(iv_ca_recount_cost): Likewise.
-	(iv_ca_set_no_cp): Likewise.
-	(iv_ca_set_cp): Likewise.
-	(iv_ca_cost): Likewise.
-	(iv_ca_new): Likewise.
-	(iv_ca_dump): Likewise.
-	(iv_ca_narrow): Likewise.
-	(iv_ca_prune): Likewise.
-	(iv_ca_replace): Likewise.
-	(try_add_cand_for): Likewise.
-	(try_improve_iv_set): Likewise.
-	(find_optimal_iv_set): Likewise.
-
-2016-05-26  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-ssa-loop-ivopts.c (loop_body_includes_call): Don't assume
-	that internal functions will clobber all caller-saved registers.
-
-2016-05-26  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_case_values_threshold):
-	Return a better case_values_threshold when optimizing.
-
-2016-05-26  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64-simd.md (aarch64_combinez):
-	Add ? to integer variant.
-	(aarch64_combinez_be): Likewise.
-
-2016-05-26  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/sse.md (*vcvtps2ph_store<mask_name>): Use v constraint
-	instead of x constraint.
-	(vcvtps2ph256<mask_name>): Likewise.
-
-	* config/i386/sse.md (*ssse3_palignr<mode>_perm): Add avx512bw
-	alternative.  Formatting fix.
-
-	* config/i386/sse.md
-	(<mask_codefor>avx512vl_shuf_<shuffletype>32x4_1<mask_name>): Rename
-	to ...
-	(avx512vl_shuf_<shuffletype>32x4_1<mask_name>): ... this.
-	(*avx_vperm_broadcast_v4sf): Use v constraint instead of x.  Use
-	maybe_evex prefix instead of vex.
-	(*avx_vperm_broadcast_<mode>): Use v constraint instead of x.  Handle
-	EXT_REX_SSE_REG_P (op0) case in the splitter.
-
-2016-05-25  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/71272
-	* tree-ssa-threadbackward.c (convert_and_register_jump_thread_path):
-	Update comments.  Add test for empty path.
-
-2016-05-25  Bill Seurer  <seurer@linux.vnet.ibm.com>
-
-	* config/rs6000/altivec.h (vec_cmpne): Add #define for vec_cmpne.
-	* config/rs6000/rs6000-builtin.def (vec_cmpne): Add vec_cmpne as a
-	special case builtin.
-	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add
-	code for ALTIVEC_BUILTIN_VEC_CMPNE.
-	* config/rs6000/rs6000.c (altivec_init_builtins): Add definition
-	for __builtin_vec_cmpne.
-
-2016-05-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-ssa-phiopt.c (factor_out_conditional_conversion): Remove
-	redundant test and bail out if the type of the new operand is not
-	a GIMPLE register type after stripping a VIEW_CONVERT_EXPR.
-
-2016-05-25  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.opt (ix86_target_flags_explicit): Remove.
-	(x_ix86_target_flags_explicit): Remove.
-	* config/i386/i386.c (ix86_function_specific_save): Do not copy
-	x_ix86_target_flags_explicit.
-	(ix86_function_specific_restore): Ditto.
-
-2016-05-25  Uros Bizjak  <ubizjak@gmail.com>
-	    H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/70738
-	* common/config/i386/i386-common.c
-	(OPTION_MASK_ISA_GENERAL_REGS_ONLY_UNSET): New.
-	(ix86_handle_option) <case OPT_mgeneral_regs_only>: Disable
-	MPX, MMX, SSE and x87 instructions for -mgeneral-regs-only.
-	* config/i386/i386.opt (ix86_target_flags): Add new Variable.
-	(-mgeneral-regs-only): Add new option.
-	* config/i386/i386.c (ix86_option_override_internal): Don't enable
-	x87 instructions if only general registers are allowed.
-	(ix86_target_string): Add ix86_flags argument. Handle additional
-	flags options through ix86_flags argument.  Update all callers.
-	* doc/invoke.texi (x86 Options): Document -mgeneral-regs-only.
-
-2016-05-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR rtl-optimization/66940
-	* ifcvt.c (noce_get_alt_condition): Check that incrementing or
-	decrementing desired_val will not overflow before performing these
-	operations.
-
-2016-05-25  Ilya Verbin  <ilya.verbin@intel.com>
-
-	* config/i386/i386-builtin-types.def: Add V16SI_FTYPE_V16SF,
-	V8DF_FTYPE_V8DF_ROUND, V16SF_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF_ROUND.
-	* config/i386/i386.c (enum ix86_builtins): Add
-	IX86_BUILTIN_CVTPS2DQ512_MASK, IX86_BUILTIN_FLOORPS512,
-	IX86_BUILTIN_FLOORPD512, IX86_BUILTIN_CEILPS512, IX86_BUILTIN_CEILPD512,
-	IX86_BUILTIN_TRUNCPS512, IX86_BUILTIN_TRUNCPD512,
-	IX86_BUILTIN_CVTPS2DQ512, IX86_BUILTIN_VEC_PACK_SFIX512,
-	IX86_BUILTIN_FLOORPS_SFIX512, IX86_BUILTIN_CEILPS_SFIX512,
-	IX86_BUILTIN_ROUNDPS_AZ_SFIX512.
-	(builtin_description bdesc_args): Add __builtin_ia32_floorps512,
-	__builtin_ia32_ceilps512, __builtin_ia32_truncps512,
-	__builtin_ia32_floorpd512, __builtin_ia32_ceilpd512,
-	__builtin_ia32_truncpd512, __builtin_ia32_cvtps2dq512,
-	__builtin_ia32_vec_pack_sfix512, __builtin_ia32_roundps_az_sfix512,
-	__builtin_ia32_floorps_sfix512, __builtin_ia32_ceilps_sfix512.
-	Change IX86_BUILTIN_CVTPS2DQ512 to IX86_BUILTIN_CVTPS2DQ512_MASK for
-	__builtin_ia32_cvtps2dq512_mask.
-	(ix86_expand_args_builtin): Handle V8DF_FTYPE_V8DF_ROUND,
-	V16SF_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF.
-	(ix86_builtin_vectorized_function): Handle builtins mentioned above.
-	* config/i386/sse.md
-	(<mask_codefor>avx512f_fix_notruncv16sfv16si<mask_name><round_name>):
-	Rename to ...
-	(avx512f_fix_notruncv16sfv16si<mask_name><round_name>): ... this.
-	(<mask_codefor>avx512f_cvtpd2dq512<mask_name><round_name>): Rename
-	to ...
-	(avx512f_cvtpd2dq512<mask_name><round_name>): ... this.
-	(avx512f_vec_pack_sfix_v8df): New define_expand.
-	(avx512f_roundpd512): Rename to ...
-	(avx512f_round<castmode>512): ... this.  Change iterator.
-	(avx512f_roundps512_sfix): New define_expand.
-	(round<mode>2_sfix): Change iterator.
-
-2016-05-25  Nick Clifton  <nickc@redhat.com>
-
-	* config/msp430/msp430.c (msp430_attr): Produce an error if a
-	static interrupt handler is detected.
-	* config/msp430/msp430.h (LIB_SPEC): Do not use msp430.ld as the
-	default linker script.
-	* config/msp430/msp430.md (movpsihi2_lo): New pattern for loading
-	the low part of a symbolic pointer.
-
-2016-05-25  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71261
-	* tree-if-conv.c (ifcvt_split_def_stmt): Walk uses on the
-	interesting stmt instead of immediate uses when looking
-	for the use operand to replace.
-
-2016-05-25  Martin Liska  <mliska@suse.cz>
-
-	* ipa-inline.c (edge_badness): Use 'w/' instead of 'w'.
-
-2016-05-25  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71264
-	* tree-vect-stmts.c (vect_init_vector): Properly deal with
-	vector type val.
-
-2016-05-25  Martin Liska  <mliska@suse.cz>
-
-	PR tree-optimization/71239
-	* tree.c (array_at_struct_end_p): Do not call operand_equal_p
-	if DECL_SIZE is NULL.
-
-2016-05-25  Richard Biener  <rguenther@suse.de>
-
-	* timevar.def (TV_TREE_LOOP_IFCVT): Add.
-	* tree-if-conv.c (pass_data_if_conversion): Use it.
-
-2016-05-25  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* cgraph.c (cgraph_node::get_availability): Fix typo in comment.
-	* symtab.c (symtab_node::binds_to_current_def_p): Likewise.
-	* varpool.c (varpool_node::get_availability): Likewise.
-
-2016-05-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/altivec.md (VNEG iterator): New iterator for
-	VNEGW/VNEGD instructions.
-	(p9_neg<mode>2): New insns for ISA 3.0 VNEGW/VNEGD.
-	(neg<mode>2): Add expander for V2DImode added in ISA 2.07, and
-	support for ISA 3.0 VNEGW/VNEGD instructions.
-
-2016-05-24  Cesar Philippidis  <cesar@codesourcery.com>
-
-	* 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.
-
-2016-05-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/altivec.md (VParity): New mode iterator for vector
-	parity built-in functions.
-	(p9v_ctz<mode>2): Add support for ISA 3.0 vector count trailing
-	zeros.
-	(p9v_parity<mode>2): Likewise.
-	* config/rs6000/vector.md (VEC_IP): New mode iterator for vector
-	parity.
-	(ctz<mode>2): ISA 3.0 expander for vector count trailing zeros.
-	(parity<mode>2): ISA 3.0 expander for vector parity.
-	* config/rs6000/rs6000-builtin.def (BU_P9_MISC_1): New macros for
-	power9 built-ins.
-	(BU_P9_64BIT_MISC_0): Likewise.
-	(BU_P9_MISC_0): Likewise.
-	(BU_P9V_AV_1): Likewise.
-	(BU_P9V_AV_2): Likewise.
-	(BU_P9V_AV_3): Likewise.
-	(BU_P9V_AV_P): Likewise.
-	(BU_P9V_VSX_1): Likewise.
-	(BU_P9V_OVERLOAD_1): Likewise.
-	(BU_P9V_OVERLOAD_2): Likewise.
-	(BU_P9V_OVERLOAD_3): Likewise.
-	(VCTZB): Add vector count trailing zeros support.
-	(VCTZH): Likewise.
-	(VCTZW): Likewise.
-	(VCTZD): Likewise.
-	(VPRTYBD): Add vector parity support.
-	(VPRTYBQ): Likewise.
-	(VPRTYBW): Likewise.
-	(VCTZ): Add overloaded vector count trailing zeros support.
-	(VPRTYB): Add overloaded vector parity support.
-	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
-	overloaded vector count trailing zeros and parity instructions.
-	* config/rs6000/rs6000.md (wd mode attribute): Add V1TI and TI for
-	vector parity support.
-	* config/rs6000/altivec.h (vec_vctz): Add ISA 3.0 vector count
-	trailing zeros support.
-	(vec_cntlz): Likewise.
-	(vec_vctzb): Likewise.
-	(vec_vctzd): Likewise.
-	(vec_vctzh): Likewise.
-	(vec_vctzw): Likewise.
-	(vec_vprtyb): Add ISA 3.0 vector parity support.
-	(vec_vprtybd): Likewise.
-	(vec_vprtybw): Likewise.
-	(vec_vprtybq): Likewise.
-	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
-	the ISA 3.0 vector count trailing zeros and vector parity built-in
-	functions.
-
-2016-05-24  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* tree-ssa-reassoc.c (sort_by_operand_rank): Skip checking gimple_bb
-	when there is stmt_to_insert.
-
-2016-05-24  Martin Sebor  <msebor@redhat.com>
-
-	PR c++/71147
-	* tree.h (complete_or_array_type_p): New inline function.
-
-2016-05-24  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/i386.h (TARGET_AVOID_4BYTE_PREFIXES): Define.
-	* config/i386/constraints.md (Yr): Test TARGET_AVOID_4BYTE_PREFIXES
-	rather than X86_TUNE_AVOID_4BYTE_PREFIXES.
-
-	* config/i386/sse.md (<sse4_1>_round<ssemodesuffix><avxsizesuffix>):
-	Limit 1st alternative to noavx isa, split 2nd alternative into one
-	noavx and one avx alternative, use *x and Bm in the former and
-	x and m in the latter.
-
-	* config/i386/sse.md (vec_set<mode>_0): Use sse4_noavx isa instead
-	of sse4 for the first alternative, drop %v from the template
-	and d operand modifier.  Split second alternative into one sse4_noavx
-	and one avx alternative, use *x instead of *v in the former and v
-	instead of *v in the latter.
-	(*sse4_1_extractps): Use noavx isa instead of * for the first
-	alternative, drop %v from the template.  Split second alternative into
-	one noavx and one avx alternative, use *x instead of *v in the
-	former and v instead of *v in the latter.
-	(<vi8_sse4_1_avx2_avx512>_movntdqa): Guard the first 2 alternatives
-	with noavx and the last one with avx.
-	(sse4_1_phminposuw): Guard first alternative with noavx isa,
-	split the second one into one noavx and one avx alternative,
-	use *x and Bm in the former and x and m in the latter one.
-	(<sse4_1>_ptest<mode>): Use noavx instead of * for the first two
-	alternatives.
-
-	* config/i386/sse.md (sse4_1_<code>v8qiv8hi2<mask_name>): Limit
-	first two alternatives to noavx, use *x instead of *v in the second
-	one, add avx alternative without *.
-	(sse4_1_<code>v4qiv4si2<mask_name>, sse4_1_<code>v4hiv4si2<mask_name>,
-	sse4_1_<code>v2qiv2di2<mask_name>, sse4_1_<code>v2hiv2di2<mask_name>,
-	sse4_1_<code>v2siv2di2<mask_name>): Likewise.
-
-2016-05-24  Jeff Law  <law@redhat.com>
-
-	* tree-ssa-threadbackwards.c (convert_and_register_jump_thread_path):
-	New function, extracted from...
-	(fsm_find_control_statement_thread_paths): Here.  Use the new function.
-	Allow simple copies and constant initializations in the SSA chain.
-
-2016-05-24  Marek Polacek  <polacek@redhat.com>
-
-	PR c/71249
-	* gimplify.c (gimplify_switch_expr): Look into the innermost lexical
-	scope.
-
-2016-05-24  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/71257
-	* tree-vect-stmts.c (vectorizable_simd_clone_call): Handle
-	SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP like
-	SIMD_CLONE_ARG_TYPE_LINEAR_CONSTANT_STEP.  Add
-	SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP and
-	SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP cases explicitly.
-
-2016-05-24  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71240
-	* tree-ssa-math-opts.c (init_symbolic_number): Verify the source
-	has integral type.
-
-2016-05-24  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71230
-	* tree-ssa-reassoc.c (zero_one_operation): Handle negate special ops.
-
-2016-05-24  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vectorizer.h (vectorizable_comparison): Delete.
-	* tree-vect-loop.c (vectorizable_reduction): Remove redundant
-	PURE_SLP_STMT check.
-	* tree-vect-stmts.c (vectorizable_call): Likewise.
-	(vectorizable_simd_clone_call): Likewise.
-	(vectorizable_conversion): Likewise.
-	(vectorizable_assignment): Likewise.
-	(vectorizable_shift): Likewise.
-	(vectorizable_operation): Likewise.
-	(vectorizable_load): Likewise.
-	(vectorizable_condition): Likewise.
-	(vectorizable_store): Likewise.  Assert that we don't have
-	hybrid SLP.
-	(vectorizable_comparison): Make static.  Remove redundant
-	PURE_SLP_STMT check.
-	(vect_transform_stmt): Assert that we always have an slp_node
-	if PURE_SLP_STMT.
-
-2016-05-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/neon.md (ashldi3_neon):  Replace comparison of INTVAL of
-	operands[2] against 1 with comparison against CONST1_RTX.
-	(<shift>di3_neon): Likewise.
-	* config/arm/predicates.md (const0_operand): Replace with comparison
-	against CONST0_RTX.
-
-2016-05-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/arm.md (ashldi3): Replace comparison of INTVAL of
-	operands[2] against 1 with comparison against CONST1_RTX.
-	(ashrdi3): Likewise.
-	(lshrdi3): Likewise.
-	(ashlsi3): Replace cast of INTVAL to unsigned HOST_WIDE_INT with
-	UINTVAL.
-	(ashrsi3): Likewise.
-	(lshrsi3): Likewise.
-	(rotrsi3): Likewise.
-	(define_split above *compareqi_eq0): Likewise.
-	(define_split above "prologue"): Likewise.
-	* config/arm/arm.c (thumb1_size_rtx_costs): Likewise.
-	* config/arm/predicates.md (shift_operator): Likewise.
-	(shift_nomul_operator): Likewise.
-	(sat_shift_operator): Likewise.
-	(thumb1_cmp_operand): Likewise.
-	(const_neon_scalar_shift_amount_operand): Replace manual range
-	check with IN_RANGE.
-	* config/arm/thumb1.md (define_peephole2 above *thumb_subdi3):
-	Replace cast of INTVAL to unsigned HOST_WIDE_INT with UINTVAL.
-
-2016-05-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/arm.md (andsi3): Replace cast of 1 to HOST_WIDE_INT
-	with HOST_WIDE_INT_1.
-	(insv): Likewise.
-	* config/arm/arm.c (optimal_immediate_sequence): Replace cast of
-	1 to unsigned HOST_WIDE_INT with HOST_WIDE_INT_1U.
-	(arm_canonicalize_comparison): Likewise.
-	(thumb1_rtx_costs): Replace cast of 1 to HOST_WIDE_INT with
-	HOST_WIDE_INT_1.
-	(thumb1_size_rtx_costs): Likewise.
-	(vfp_const_double_index): Replace cast of 1 to unsigned
-	HOST_WIDE_INT with HOST_WIDE_INT_1U.
-	(get_jump_table_size): Replace cast of 1 to HOST_WIDE_INT with
-	HOST_WIDE_INT_1.
-	(arm_asan_shadow_offset): Replace cast of 1 to unsigned
-	HOST_WIDE_INT with HOST_WIDE_INT_1U.
-	* config/arm/neon.md (vec_set<mode>): Replace cast of 1 to
-	HOST_WIDE_INT with HOST_WIDE_INT_1.
-
-2016-05-24  Marek Polacek  <polacek@redhat.com>
-
-	* tree-cfg.h (should_remove_lhs_p): New predicate.
-	* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it.
-	* gimplify.c (gimplify_modify_expr): Likewise.
-	* tree-cfg.c (verify_gimple_call): Likewise.
-	* tree-cfgcleanup.c (fixup_noreturn_call): Likewise.
-	* gimple-fold.c: Include "tree-cfg.h".
-	(gimple_fold_call): Use should_remove_lhs_p.
-
-2016-05-24  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71253
-	* cfganal.h (control_dependences): Make robust against edge
-	and BB removal.
-	(control_dependences::control_dependences): Remove edge_list argument.
-	(control_dependences::get_edge): Remove.
-	(control_dependences::get_edge_src): Add.
-	(control_dependences::get_edge_dest): Likewise.
-	(control_dependences::m_el): Make a vector of edge src/dest index.
-	* cfganal.c (control_dependences::find_control_dependence): Adjust.
-	(control_dependences::control_dependences): Likewise.
-	(control_dependences::~control_dependence): Likewise.
-	(control_dependences::get_edge): Remove.
-	(control_dependences::get_edge_src): Add.
-	(control_dependences::get_edge_dest): Likewise.
-	* tree-ssa-dce.c (mark_control_dependent_edges_necessary): Use
-	get_edge_src.
-	(perform_tree_ssa_dce): Adjust.
-	* tree-loop-distribution.c (create_edge_for_control_dependence): Use
-	get_edge_src.
-	(pass_loop_distribution::execute): Adjust.  Do loop destroying
-	conditional on changed.
-
-2016-05-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/69857
-	* config/arm/arm.c (gen_operands_ldrd_strd): Remove bogus early
-	return.  Reindent transformation comment and mention the ARM state
-	behavior.
-
-2016-05-24  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	PR middle-end/71252
-	* tree-ssa-reassoc.c (rewrite_expr_tree_parallel): Add stmt_to_insert
-	after build_and_add_sum creates new use stmt.
-
-2016-05-24  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-stmts.c (vectorizable_load): Reorder checks so that
-	load_lanes/grouped_load classification comes first.  Don't check
-	whether the vectorization factor is a multiple of the group size
-	for load_lanes.
-
-2016-05-24  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-data-refs.c (vect_analyze_group_access_1): Set
-	GROUP_GAP for single-element interleaving.
-	* tree-vect-stmts.c (vectorizable_load): Remove force_peeling
-	variable.
-
-2016-05-24  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/70434
-	PR c/69504
-	* tree-ssa.c (non_rewritable_mem_ref_base): Make sure to mark
-	bases which are accessed with non-invariant indices.
-	* gimple-fold.c (maybe_canonicalize_mem_ref_addr): Re-write
-	constant index ARRAY_REFs of vectors into BIT_FIELD_REFs.
-
-2016-05-24  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	PR middle-end/71170
-	* tree-ssa-reassoc.c (struct operand_entry): Add field stmt_to_insert.
-	(add_to_ops_vec): Add stmt_to_insert.
-	(add_repeat_to_ops_vec): Init stmt_to_insert.
-	(insert_stmt_before_use): New.
-	(transform_add_to_multiply): Remove mult_stmt insertion and add it
-	to ops vector.
-	(get_ops): Init stmt_to_insert.
-	(maybe_optimize_range_tests): Likewise.
-	(rewrite_expr_tree): Insert stmt_to_insert before use stmt.
-	(rewrite_expr_tree_parallel): Likewise.
-	(reassociate_bb): Likewise.
-
-2016-05-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/71201
-	* config/rs6000/altivec.md (altivec_vperm_<mode>_internal): Drop
-	ISA 3.0 xxperm fusion alternative.
-	(altivec_vperm_v8hiv16qi): Likewise.
-	(altivec_vperm_<mode>_uns_internal): Likewise.
-	(vperm_v8hiv4si): Likewise.
-	(vperm_v16qiv8hi): Likewise.
-
-2016-05-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
-	    Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	* config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate
-	vpermr/xxpermr on ISA 3.0.
-	(altivec_expand_vec_perm_le): Likewise.
-	* config/rs6000/altivec.md (UNSPEC_VPERMR): New unspec.
-	(altivec_vpermr_<mode>_internal): Add VPERMR/XXPERMR support for
-	ISA 3.0.
-
-2016-05-23  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.h (IS_STACK_MODE): Enable for
-	TARGET_MIX_SSE_I387.  Rewrite using X87_FLOAT_MODE_P and
-	SSE_FLOAT_MODE_P macros.
-	* config/i386/i386.c (ix86_preferred_reload_class): Use
-	IS_STACK_MODE, INTEGER_CLASS_P, FLOAT_CLASS_P and Q_CLASS_P macros.
-	Cleanup regclass processing for CONST_DOUBLE_P.
-	(ix86_preferred_output_reload_class): Use IS_STACK_MODE macro.
-	(ix86_rtx_costs): Remove redundant TARGET_80387 check
-	with IS_STACK_MODE macro.
-	* config/i386/i386.md: Replace SSE_FLOAT_MODE_P (DFmode)
-	with TARGET_SSE2.
-	(*movdf_internal): Use IS_STACK_MODE macro.
-	(*movsf_internal): Ditto.
-
-2016-05-23  Marc Glisse  <marc.glisse@inria.fr>
-
-	* match.pd (a * (1 << b), ~x & ~y, ~X ^ ~Y, (X ^ Y) ^ Y, ~ (-A),
-	~ (A - 1), ~(~X >> Y), ~(~X >>r Y)): Relax constraints.
-
-2016-05-23  Jeff Law  <law@redhat.com>
-
-	* tree-ssa-threadbackward.c (profitable_jump_thread_path): New function
-	extracted from ...
-	(fsm_find_control_statement_thread_paths): Call it.
-
-2016-05-23  Martin Jambor  <mjambor@suse.cz>
-
-	PR ipa/71234
-	* ipa-cp.c (ipa_get_indirect_edge_target_1): Only check value of
-	from_global_constant if t is not NULL.
-
-2016-05-23  Marek Polacek  <polacek@redhat.com>
-
-	PR c/49859
-	* common.opt (Wswitch-unreachable): New option.
-	* doc/invoke.texi: Document -Wswitch-unreachable.
-	* gimplify.c (gimplify_switch_expr): Implement the -Wswitch-unreachable
-	warning.
-
-2016-05-23  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-address.c (copy_ref_info): Check NULL TMR_STEP when
-	TMR_INDEX is non-NULL.
-
-2016-05-23  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71230
-	* tree-ssa-reassoc.c (acceptable_pow_call): Move initial condition...
-	(try_special_add_to_ops): ... here.  Always test for single-use.
-
-2016-05-23  Martin Jambor  <mjambor@suse.cz>
-
-	* hsa-gen.c (gen_hsa_insns_for_switch_stmt): Create an empty
-	default block if a PHI node in the original one would be resized.
-
-2016-05-23  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
-
-	PR tree-optimization/58135
-	* tree-vect-slp.c: When group size is not multiple
-	of vector size, allow splitting of store group at
-	vector boundary.
-
-2016-05-23  Christophe Lyon  <christophe.lyon@linaro.org>
-
-	* config/arm/arm_neon.h (vtst_p16, vtstq_p16): New.
-
-2016-05-22  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/sse.md (vec_set_lo_<mode><mask_name>,
-	vec_set_hi_<mode><mask_name>): Add && <mask_avx512dq_condition>
-	condition.  For !TARGET_AVX512DQ, emit 32x4 instruction instead
-	of 64x2.
-
-	* config/i386/sse.md (vec_set_lo_v16hi, vec_set_hi_v16hi,
-	vec_set_lo_v32qi, vec_set_hi_v32qi): Add alternative with
-	v constraint instead of x and vinserti32x4 insn.
-
-	* config/i386/sse.md (i128vldq): New mode iterator.
-	(avx2_vbroadcasti128_<mode>, avx_vbroadcastf128_<mode>): Add
-	avx512dq and avx512vl alternatives.
-
-	* config/i386/sse.md (avx2_vec_dupv4df): Use v instead of x
-	constraint, use maybe_evex prefix instead of vex.
-	(vec_dupv4sf): Use v constraint instead of x for output
-	operand except for noavx alternative, use Yv constraint
-	instead of x for input.  Use maybe_evex prefix instead of vex.
-	(*vec_dupv4si): Likewise.
-	(*vec_dupv2di): Likewise.
-
-2016-05-22  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	PR middle-end/40921
-	* tree-ssa-reassoc.c (try_special_add_to_ops): New.
-	(linearize_expr_tree): Call try_special_add_to_ops.
-	(reassociate_bb): Convert MULT_EXPR by (-1) to NEGATE_EXPR.
-
-2016-05-21  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
-
-	* config/avr/avr.c (avr_expand_prologue): Add INCOMING_FRAME_SP_OFFSET
-	to computed stack_usage.
-
-2016-05-21  Pitchumani Sivanupandi  <pitchumani.s@atmel.com>
-
-	PR target/71103
-	* config/avr/avr.md (define_expand "mov<mode>"): If the source
-	operand is subreg (symbol_ref) then move the symbol ref to register.
-
-2016-05-21  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree.c (array_at_struct_end_p): Look through MEM_REF.
-
-2016-05-21  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	PR middle-end/71179
-	* tree-ssa-reassoc.c (transform_add_to_multiply): Disallow float
-	VECTOR type.
-
-2016-05-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-vrp.c (compare_values_warnv): Simplify handling of symbolic
-	ranges by calling get_single_symbol and tidy up.  Look more closely
-	into NAME + CST1 vs CST2 comparisons if type overflow is undefined.
-
-2016-05-20  Jeff Law  <law@redhat.com>
-
-	* bitmap.c (bitmap_find_bit): Remove useless test.
-
-2016-05-20  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* function.c (thread_prologue_and_epilogue_insns): Commit the
-	insertion of the epilogue.
-
-2016-05-20  Martin Jambor  <mjambor@suse.cz>
-
-	PR tree-optimization/70884
-	* tree-sra.c (initialize_constant_pool_replacements): Do not check
-	should_scalarize_away_bitmap and cannot_scalarize_away_bitmap bits.
-	(sort_and_splice_var_accesses): Do not consider multiple scalar reads
-	of constant pool data as a reason for scalarization.
-
-2016-05-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/arm/arm.c (arm_expand_prologue): Set the stack usage to 0
-	for naked functions.
-	(thumb1_expand_prologue): Likewise.
-
-2016-05-20  Nathan Sidwell  <nathan@acm.org>
-
-	* config/nvptx/nptx.c (nvptx_option_override): Only set
-	flag_toplevel_reorder, if not explicitly specified.  Set
-	flag_no_common, unless explicitly specified.
-
-2016-05-20  David Malcolm  <dmalcolm@redhat.com>
-
-	* calls.c (can_implement_as_sibling_call_p): Mark param
-	reg_parm_stack_space with ATTRIBUTE_UNUSED.
-
-2016-05-20  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (ix86_rtx_costs) <case CONST_DOUBLE>:
-	Use IS_STACK_MODE when calculating cost of standard 80387 constants.
-	Fallthru to CONST_VECTOR case to calculate cost of standard SSE
-	constants.
-	<case CONST_WIDE_INT>: Calculate cost of (MEM (SYMBOL_REF)).
-	(ix86_legitimate_constant_p): Use CASE_CONST_SCALAR_INT
-	and CASE_CONST_ANY.
-
-2016-05-20  Cesar Philippidis  <cesar@codesourcery.com>
-
-	* config/nvptx/nvptx.md (sincossf3): New pattern.
-
-2016-05-20  David Malcolm  <dmalcolm@redhat.com>
-
-	* calls.c (maybe_complain_about_tail_call): New function.
-	(initialize_argument_information): Call
-	maybe_complain_about_tail_call when clearing *may_tailcall.
-	(can_implement_as_sibling_call_p): Call
-	maybe_complain_about_tail_call when returning false.
-	(expand_call): Read CALL_EXPR_MUST_TAIL_CALL and, if set,
-	ensure try_tail_call is set.  Call maybe_complain_about_tail_call
-	if tail-call optimization fails.
-	* cfgexpand.c (expand_call_stmt): Initialize
-	CALL_EXPR_MUST_TAIL_CALL from gimple_call_must_tail_p.
-	* gimple-pretty-print.c (dump_gimple_call): Dump
-	gimple_call_must_tail_p.
-	* gimple.c (gimple_build_call_from_tree): Call
-	gimple_call_set_must_tail with the value of
-	CALL_EXPR_MUST_TAIL_CALL.
-	* gimple.h (enum gf_mask): Add GF_CALL_MUST_TAIL_CALL.
-	(gimple_call_set_must_tail): New function.
-	(gimple_call_must_tail_p): New function.
-	* print-tree.c (print_node): Update printing of TREE_STATIC
-	to reflect its use for CALL_EXPR_MUST_TAIL_CALL.
-	* tree-core.h (struct tree_base): Add MUST_TAIL_CALL to the
-	trailing comment listing applicable flags.
-	* tree.h (CALL_EXPR_MUST_TAIL_CALL): New macro.
-
-2016-05-20  David Malcolm  <dmalcolm@redhat.com>
-
-	* calls.c (expand_call): Move "Rest of purposes for tail call
-	optimizations to fail" to...
-	(can_implement_as_sibling_call_p): ...this new function, and
-	split into multiple "if" statements.
-
-2016-05-20  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cfgloop.h (expected_loop_iterations_unbounded,
-	expected_loop_iterations): Unconstify.
-	* cfgloopanal.c (expected_loop_iterations_unbounded): Sanity check the
-	profile with known upper bound; return 3 when profile is absent.
-	(expected_loop_iterations): Update.
-
-2016-05-20  Jan Hubicka  <hubicka@ucw.cz>
-
-	* loop-doloop.c (doloop_optimize): Use get_estimated_loop_iterations_int
-	and get_max_loop_iterations_int.
-
-2016-05-20  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can not produce
-	realistic upper bounds here.
-
-2016-05-20  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/71210
-	* gimple-fold.c (gimple_fold_call): Do not remove lhs of noreturn
-	calls if the LHS is variable length or has addressable type.
-	If targets[0]->decl is a noreturn call with void return type and
-	zero arguments, adjust fntype and remove lhs in that case.
-
-2016-05-20  Marc Glisse  <marc.glisse@inria.fr>
-
-	PR tree-optimization/71079
-	PR tree-optimization/71206
-	* match.pd ((X ^ Y) ^ (X ^ Z)): Convert the arguments.
-
-2016-05-20  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	* tree-vectorizer.c (get_vec_alignment_for_decl): New static function.
-	(get_vec_alignment_for_array_decl): Likewise.
-	(get_vec_alignment_for_record_decl): Likewise.
-	(increase_alignment::execute): Move code to find alignment to
-	get_vec_alignment_for_array_decl and call get_vec_alignment_for_decl.
-	(type_align_map): New hash_map.
-
-2016-05-20  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/29756
-	* tree.def (BIT_INSERT_EXPR): New tcc_expression tree code.
-	* expr.c (expand_expr_real_2): Handle BIT_INSERT_EXPR.
-	* fold-const.c (operand_equal_p): Likewise.
-	(fold_ternary_loc): Add constant folding of BIT_INSERT_EXPR.
-	* gimplify.c (gimplify_expr): Handle BIT_INSERT_EXPR.
-	* tree-inline.c (estimate_operator_cost): Likewise.
-	* tree-pretty-print.c (dump_generic_node): Likewise.
-	* tree-ssa-operands.c (get_expr_operands): Likewise.
-	* cfgexpand.c (expand_debug_expr): Likewise.
-	* gimple-pretty-print.c (dump_ternary_rhs): Likewise.
-	* gimple.c (get_gimple_rhs_num_ops): Handle BIT_INSERT_EXPR.
-	* tree-cfg.c (verify_gimple_assign_ternary): Verify BIT_INSERT_EXPR.
-	* tree-ssa.c (non_rewritable_lvalue_p): We can rewrite
-	vector inserts using BIT_FIELD_REF or MEM_REF on the lhs.
-	(execute_update_addresses_taken): Do it.
-
-2016-05-20  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71185
-	* tree-ssa-loop-prefetch.c (gather_memory_references): Drop
-	register operations.
-
-2016-05-20  Richard Biener  <rguenther@suse.de>
-
-	* tree-if-conv.c (add_bb_predicate_gimplified_stmts): Use
-	gimple_seq_add_seq_without_update.
-	(release_bb_predicate): Assert we have no operands to free.
-	(if_convertible_loop_p_1): Calculate post dominators later.
-	Do not free BB predicates here.
-	(combine_blocks): Do not recompute BB predicates.
-	(version_loop_for_if_conversion): Save BB predicates around
-	loop versioning.
-
-2016-05-19  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* function.c (make_epilogue_seq): Remove epilogue_end parameter.
-	(thread_prologue_and_epilogue_insns): Remove bb_flags.  Restructure
-	code.  Ignore sibcalls on EDGE_IGNORE edges.
-	* shrink-wrap.c (handle_simple_exit): New function.  Set EDGE_IGNORE
-	on edges for sibcalls that run without prologue.  The rest of the
-	function is combined from...
-	(fix_fake_fallthrough_edge): ... this, and ...
-	(try_shrink_wrapping): ... a part of this.  Remove the bb_with
-	function argument, make it a local variable.
-
-2016-05-19  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* config/i386/cygming.h (DWARF2_UNWIND_INFO): Allow
-	--disable-sjlj-exceptions for TARGET_BI_ARCH to select DWARF-2 EH
-	for 32-bit mode and SEH for 64-bit.
-	* config/i386/mingw32.h (SHARED_LIBGCC_UNDEFS_SPEC): Handle
-	TARGET_64BIT_DEFAULT.
-
-2016-05-19  Ryan Burn  <contact@rnburn.com>
-
-	* Makefile.in (GTFILES): Add cilk.h and cilk-common.c.
-	* gengtype.c (open_base_files): Add cilk.h to ifiles.
-
-2016-05-19  Uros Bizjak  <ubizjak@gmail.com>
-
-	* sched-deps.c (sched_analyze_2) <case TRAP_IF>: Also
-	force pending loads from memory.
-
-2016-05-19  Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	* config/rs6000/altivec.md (UNSPEC_DARN): New unspec constant.
-	(UNSPEC_DARN_32): New unspec constant.
-	(UNSPEC_DARN_RAW): New unspec constant.
-	(darn_32): New instruction.
-	(darn_raw): New instruction.
-	(darn): New instruction.
-	* config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_0): Add
-	support and documentation for this macro.
-	(BU_P9_MISC_1): New macro definition.
-	(BU_P9_64BIT_MISC_0): New macro definition.
-	(BU_P9_MISC_0): New macro definition.
-	(darn_32): New builtin definition.
-	(darn_raw): New builtin definition.
-	(darn): New builtin definition.
-	* config/rs6000/rs6000.c: Add #define RS6000_BUILTIN_0 and #undef
-	RS6000_BUILTIN_0 directives to surround each occurrence of
-	#include "rs6000-builtin.def".
-	(rs6000_builtin_mask_calculate): Add in the RS6000_BTM_MODULO and
-	RS6000_BTM_64BIT flags to the returned mask, depending on
-	configuration.
-	(def_builtin): Correct an error in the assignments made to the
-	debugging variable attr_string.
-	(rs6000_expand_builtin): Add support for no-operand built-in
-	functions.
-	(builtin_function_type): Remove fatal_error assertion that is no
-	longer valid.
-	(rs6000_common_init_builtins): Add support for no-operand built-in
-	functions.
-	* config/rs6000/rs6000.h (RS6000_BTM_MODULO): New macro
-	definition.
-	(RS6000_BTM_PURE): Enhance comment to clarify intent of this flag
-	definition.
-	(RS6000_BTM_64BIT): New macro definition.
-	* doc/extend.texi: Document __builtin_darn (void),
-	__builtin_darn_raw (void), and __builtin_darn_32 (void) built-in
-	functions.
-
-2016-05-19  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-vect-loop.c (vect_analyze_loop_2): Use also
-	max_loop_iterations_int.
-
-2016-05-19  Marek Polacek  <polacek@redhat.com>
-
-	PR tree-optimization/71031
-	* tree-vrp.c (extract_range_from_binary_expr_1): Turn assert into a
-	condition and adjust the code a bit.
-
-2016-05-19  Martin Liska  <mliska@suse.cz>
-
-	* tree-vect-stmts.c (vectorizable_simd_clone_call): Utilize
-	auto_vec instead of vec.
-
-2016-05-19  Martin Liska  <mliska@suse.cz>
-
-	* tree-parloops.c (oacc_entry_exit_ok): Release a vector.
-
-2016-05-19  Martin Liska  <mliska@suse.cz>
-
-	* tree-if-conv.c (ifcvt_repair_bool_pattern): Utilize auto_vecs.
-
-2016-05-19  Martin Liska  <mliska@suse.cz>
-
-	* ipa-pure-const.c (set_function_state): Remove an existing
-	funct_state.
-	(remove_node_data): Do not free it as it's released
-	in set_function_state.
-
-2016-05-19  Martin Liska  <mliska@suse.cz>
-
-	* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Release
-	bitmap.
-
-2016-05-19  Martin Liska  <mliska@suse.cz>
-
-	* omp-simd-clone.c (simd_clone_adjust): Release vector.
-
-2016-05-19  Martin Liska  <mliska@suse.cz>
-
-	* tree-ssa-reassoc.c (eliminate_duplicate_pair): Truncate
-	an auto_vec instead of re-creating it.
-
-2016-05-19  Martin Liska  <mliska@suse.cz>
-
-	* tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Use
-	auto_vec instead of vec.
-
-2016-05-19  Martin Liska  <mliska@suse.cz>
-
-	* lto-section-in.c (lto_get_section_data): Call
-	lto_check_version with additional argument.
-	* lto-streamer.c (lto_check_version): Add new argument.
-	* lto-streamer.h (lto_check_version): Likewise.
-
-2016-05-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/arm.c (arm_new_rtx_costs, SIGN_EXTEND case):
-	Don't add cost of inner memory when handling sign-extended loads.
-
-2016-05-19  Ilya Enkovich  <ilya.enkovich@intel.com>
-
-	PR rtl-optimization/71148
-	* cse.c (cse_main): Free dominance info.
-	(rest_of_handle_cse): Don't free dominance info.
-	(rest_of_handle_cse2): Likewise.
-	(rest_of_handle_cse_after_global_opts): Likewise.
-
-2016-05-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/71056
-	* config/arm/arm-builtins.c (arm_builtin_vectorized_function): Return
-	NULL_TREE early if NEON is not available.  Remove now redundant check
-	in ARM_CHECK_BUILTIN_MODE.
-
-2016-05-19  Maxim Ostapenko  <m.ostapenko@samsung.com>
-
-	PR sanitizer/64354
-	* cppbuiltin.c (define_builtin_macros_for_compilation_flags): Add new
-	builtin __SANITIZE_THREAD__ macros for fsanitize=thread switch.
-	* doc/cpp.texi: Document new macros.
-
-2016-05-19  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/69848
-	* tree-vect-loop.c (vectorizable_reduction): Don't factor
-	comparison expr out of VEC_COND_EXPR for COND_REDUCTION.
-
-2016-05-19  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* function.c (thread_prologue_and_epilogue_insn): Move the
-	"goto epilogue_done" one block later.
-
-2016-05-19  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/70729
-	* passes.def: Move LIM pass before PRE.  Remove no longer
-	required copyprop and move first DCE out of the loop pipeline.
-
-2016-05-18  David Malcolm  <dmalcolm@redhat.com>
-
-	PR driver/69265
-	* Makefile.in (GCC_OBJS): Move spellcheck.o to...
-	(OBJS-libcommon-target): ...here.
-	* opts-common.c: Include spellcheck.h.
-	(cmdline_handle_error): Build a vec of valid options and use it
-	to suggest provide hints for misspelled arguments.
-
-2016-05-18  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/71100
-	* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Don't drop
-	lhs if it has TREE_ADDRESSABLE type.
-
-2016-05-18  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/71145
-	* config/alpha/alpha.md (trap): Add (use (reg:DI 29)).
-	(*exception_receiver_1): Return "#" for TARGET_EXPLICIT_RELOCS.
-
-2016-05-18  Martin Jambor  <mjambor@suse.cz>
-
-	PR ipa/69708
-	* ipa-cp.c (ipa_get_jf_pass_through_result): Allow non-ip constant
-	input for NOP_EXPR pass-through functions.
-	* ipa-prop.c (ipa_compute_jump_functions_for_edge): Allow
-	aggregate global constant VAR_DECLs in constant jump functions.
-
-2016-05-18  Martin Jambor  <mjambor@suse.cz>
-
-	PR ipa/69708
-	* ipa-prop.c (parm_preserved_before_stmt_p): Return true for loads
-	from TREE_READONLY parameters.
-
-2016-05-18  Martin Jambor  <mjambor@suse.cz>
-
-	PR ipa/69708
-	* cgraph.h (cgraph_indirect_call_info): New field
-	guaranteed_unmodified.
-	* ipa-cp.c (ipa_get_indirect_edge_target_1): Also pass parameter value
-	to ipa_find_agg_cst_for_param, check guaranteed_unmodified when
-	appropriate.
-	* ipa-inline-analysis.c (evaluate_conditions_for_known_args): Also
-	pass the parameter value to ipa_find_agg_cst_for_param.
-	* ipa-prop.c (ipa_load_from_parm_agg): New parameter
-	guaranteed_unmodified, store AA results there instead of bailing out
-	if present.
-	(ipa_note_param_call): Also initialize guaranteed_unmodified flag.
-	(ipa_analyze_indirect_call_uses): Also set guaranteed_unmodified flag.
-	(find_constructor_constant_at_offset): New function.
-	(ipa_find_agg_cst_from_init): Likewise.
-	(ipa_find_agg_cst_for_param): Also seearch for aggregate values in
-	static initializers of contants, report back through a new paameter
-	from_global_constant if that was the case.
-	(try_make_edge_direct_simple_call): Also pass parameter value to
-	ipa_find_agg_cst_for_param, check guaranteed_unmodified when
-	appropriate.
-	(ipa_write_indirect_edge_info): Stream new flag guaranteed_unmodified.
-	(ipa_read_indirect_edge_info): Likewise.
-	* ipa-prop.h (ipa_find_agg_cst_for_param): Update declaration.
-	(ipa_load_from_parm_agg): Likewise.
-
-2016-05-18  Jiong Wang  <jiong.wang@arm.com>
-
-	PR rtl-optimization/71150
-	* lra-constraint (process_addr_reg): Guard "in_class_p" with REG_P
-	check.
-
-2016-05-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/70915
-	* config/rs6000/constraints.md (wE constraint): New constraint
-	for a vector constant that can be loaded with XXSPLTIB.
-	(wM constraint): New constraint for a vector constant of a 1's.
-	(wS constraint): New constraint for a vector constant that can be
-	loaded with XXSPLTIB and a vector sign extend instruction.
-	* config/rs6000/predicates.md (xxspltib_constant_split): New
-	predicates for wE/wS constraints.
-	(xxspltib_constant_nosplit): Likewise.
-	(easy_vector_constant): Add support for constants that can be
-	loaded via XXSPLTIB.
-	(all_ones_constant): New predicate for vector constant with all
-	1's set.
-	(splat_input_operand): Add support for ISA 3.0 word splat operations.
-	* config/rs6000/rs6000.c (xxspltib_constant_p): New function to
-	return if a constant can be loaded with the ISA 3.0 XXSPLTIB
-	instruction and possibly with a sign extension.
-	(output_vec_const_move): Add support for XXSPLTIB. If we are
-	loading up 0/-1 into Altivec registers, prefer using VSPLTISW
-	instead of XXLXOR/XXLORC.
-	(rs6000_expand_vector_init): Add support for ISA 3.0 word splat
-	operations.
-	(rs6000_legitimize_reload_address): Likewise.
-	(rs6000_output_move_128bit): Use output_vec_const_move to emit
-	constants.
-	* config/rs6000/vsx.md (VSX_M): Add TImode (if -mvsx-timode) and
-	combine VSX_M and VSX_M2 into one iterator.
-	(VSX_M2): Likewise.
-	(VSINT_84): New iterators for loading constants with XXSPLTIB.
-	(VSINT_842): Likewise.
-	(UNSPEC_VSX_SIGN_EXTEND): New UNSPEC.
-	(xxspltib_v16qi): New insns to load up constants with the ISA 3.0
-	XXSPLTIB instruction.
-	(xxspltib_<mode>_nosplit): Likewise.
-	(xxspltib_<mode>_split): New insn to load up constants with
-	XXSPLTIB and a sign extend instruction.
-	(vsx_mov<mode>): Replace single move that handled all vector types
-	with separate 32-bit and 64-bit moves.  Combine the movti_<bit>
-	moves (when -mvsx-timode is in effect) into the main vector
-	moves.  Eliminate separate moves for <VSr> <VSa>, where the
-	preferred register class (<VSr>) is listed first, and the
-	secondary register class (<VSa>) is listed second with a '?' to
-	discourage use.  Prefer loading 0/-1 in any VSX register for ISA
-	3.0, and Altivec registers for ISA 2.06/2.07 (PR target/70915) so
-	that if the register was involved in a slow operation, the
-	clear/set operation does not wait for the slow operation to
-	finish.  Adjust the length attributes for 32-bit mode.  Use
-	rs6000_output_move_128bit and drop the use of the string
-	instructions for 32-bit movti when -mvsx-timode is in effect.  Use
-	spacing so that the alternatives and attributes don't generate
-	long lines, and put things in columns, so that it is easier to
-	match up the operands and attributes with the insn alternatives.
-	(vsx_mov<mode>_64bit): Likewise.
-	(vsx_mov<mode>_32bit): Likewise.
-	(vsx_movti_64bit): Fold movti into normal vector moves.
-	(vsx_movti_32bit): Likewise.
-	(vsx_splat_<mode>, V4SI/V4SF modes): Add support for ISA 3.0 word
-	splat instructions.
-	(vsx_splat_v4si_internal): Likewise.
-	(vsx_splat_v4sf_internal): Likewise.
-	(vector fusion peepholes): Use VSX_M instead of VSX_M2.
-	(vsx_sign_extend_qi_<mode>): New ISA 3.0 instructions to sign
-	extend vector elements.
-	(vsx_sign_extend_hi_<mode>): Likewise.
-	(vsx_sign_extend_si_v2di): Likewise.
-	* config/rs6000/rs6000-protos.h (xxspltib_constant_p): Add
-	declaration.
-	* doc/md.texi (PowerPC constraints): Document the wE, wM, and wS
-	constraints.  Add trailing period to wL documentation.
-
-2016-05-18  Richard Sandiford  <richard.sandiford@arm.com>
-
-	PR middle-end/71020
-	* tree-dfa.h (replace_abnormal_ssa_names): Declare.
-	* tree-dfa.c (replace_abnormal_ssa_names): New function.
-	* tree-call-cdce.c: Include tree-dfa.h.
-	(can_guard_call_p): New function, extracted from...
-	(can_use_internal_fn): ...here.
-	(shrink_wrap_one_built_in_call_with_conds): Remove failure path
-	and return void.
-	(shrink_wrap_one_built_in_call): Likewise.
-	(use_internal_fn): Likewise.
-	(shrink_wrap_conditional_dead_built_in_calls): Update accordingly
-	and return void.  Call replace_abnormal_ssa_names.
-	(pass_call_cdce::execute): Check can_guard_call_p during the
-	initial walk.  Assume shrink_wrap_conditional_dead_built_in_calls
-	will always change something.
-
-2016-05-18  Martin Jambor  <mjambor@suse.cz>
-
-	PR ipa/70646
-	* ipa-prop.c (determine_locally_known_aggregate_parts): Bail out early
-	if parameter PARAM_IPA_MAX_AGG_ITEMS is zero.
-
-2016-05-18  Martin Jambor  <mjambor@suse.cz>
-
-	PR ipa/70646
-	* ipa-inline.h (condition): New field size.
-	* ipa-inline-analysis.c (add_condition): New parameter SIZE, use it
-	for comaprison and store it into the new condition.
-	(evaluate_conditions_for_known_args): Use condition size to check
-	access sizes for all but CHANGED conditions.
-	(unmodified_parm_1): New parameter size_p, store access size into it.
-	(unmodified_parm): Likewise.
-	(unmodified_parm_or_parm_agg_item): Likewise.
-	(eliminated_by_inlining_prob): Pass NULL to unmodified_parm as size_p.
-	(set_cond_stmt_execution_predicate): Extract access sizes and store
-	them to conditions.
-	(set_switch_stmt_execution_predicate): Likewise.
-	(will_be_nonconstant_expr_predicate): Likewise.
-	(will_be_nonconstant_predicate): Likewise.
-	(inline_read_section): Stream condition size.
-	(inline_write_summary): Likewise.
-
-2016-05-18  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-loop-im.c (determine_max_movement): Properly add
-	condition cost to PHI cost instead of total_cost.
-
-2016-05-18  Martin Liska  <mliska@suse.cz>
-
-	PR fortran/70856
-	* ipa-icf.c (sem_variable::merge): Set DECL_PT_UID for
-	merged variables.
-
-2016-05-18  Richard Biener  <rguenther@suse.de>
-
-	* lto-streamer.h (LTO_major_version): Bump to 6.
-
-2016-05-18  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* function.c (make_split_prologue_seq, make_prologue_seq,
-	make_epilogue_seq): New functions, factored out from...
-	(thread_prologue_and_epilogue_insns): Here.
-
-2016-05-18  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* function.c (rest_of_handle_thread_prologue_and_epilogue): Call
-	cleanup_cfg with CLEANUP_EXPENSIVE after shrink-wrapping instead
-	of before.  Add a comment.
-
-2016-05-18  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (get_computation_cost_at): Check invariant
-	expression pointer, not pointer to the pointer.
-
-2016-05-18  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/sse.md (pbroadcast_evex_isa): New mode attr.
-	(avx2_pbroadcast<mode>): Add another alternative with v instead
-	of x constraints in it, using <pbroadcast_evex_isa> isa.
-	(avx2_pbroadcast<mode>_1): Similarly, add two such alternatives.
-
-	* config/i386/sse.md (<ssse3_avx2>_palignr<mode>): Use
-	constraint x instead of v in second alternative, add avx512bw
-	alternative.
-
-	* config/i386/sse.md (<ssse3_avx2>_pshufb<mode>3<mask_name>): Use
-	constraint x instead of v in second alternative, add avx512bw
-	alternative.
-
-	* config/i386/sse.md (*<ssse3_avx2>_pmulhrsw<mode>3<mask_name>): Use
-	constraint x instead of v in second alternative, add avx512bw
-	alternative.
-
-	* config/i386/sse.md (avx2_pmaddubsw256, ssse3_pmaddubsw128): Add
-	avx512bw alternative.
-
-2016-05-18  Kirill Yukhin  <kirill.yukhin@intel.com>
-
-	* config/i386/sse.md (define_insn "*andnot<mode>3"): Extend static
-	array to 128 chars.
-	(define_insn "*andnottf3"): Ditto.
-	(define_insn "*<code><mode>3"/any_logic): Ditto.
-	(define_insn "*<code>tf3"/any_logic): Ditto.
-	(define_insn "sse2_storehpd"): Use Yv constraint for scalar
-	operand to block AVX-512VL insn variant emit when it is not enabled.
-
-2016-05-18  Kirill Yukhin  <kirill.yukhin@intel.com>
-
-	* config/i386/sse.md (define_insn "*vec_concatv2sf_sse4_1"): Use 'Yv'
-	constraint fot SF mode.
-
-2016-05-18  Petr Murzin  <petr.murzin@intel.com>
-	    Kirill Yukhin  <kirill.yukhin@intel.com>
-
-	* config/i386/sse.md (define_insn "srcp14<mode>"): Use proper operand
-	modifiers.
-	(define_insn "rsqrt14<mode>"): Ditto.
-	(define_insn "<mask_codefor>avx512dq_cvtps2qqv2di<mask_name>"): Ditto.
-	(define_insn "<fixsuffix>fix_truncv2sfv2di2<mask_name>"): Ditto.
-	(define_insn "avx512f_<code>v8div16qi2_mask_store"): Ditto.
-	(define_insn "vec_set_hi_<mode><mask_name>"): Ditto.
-	(define_insn "<mask_codefor>avx512dq_broadcast<mode><mask_name>"):
-	Ditto.
-	(define_insn "*avx512f_gatherdi<mode>"): Ditto.
-	(define_insn "*avx512f_scatterdi<mode>"): Ditto.
-	* config/i386/i386.c (ix86_print_operand): Expand check for size
-	override codes for Intel syntax.
-
-2016-05-18  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71168
-	* tree-loop-distribution.c (distribute_loop): Move *destroy_p
-	initialization earlier.
-
-2016-05-18  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/aarch64/aarch64-simd.md
-	(aarch64_reduc_plus_internal<mode>): Rename to...
-	(reduc_plus_scal): ...This, and remove previous implementation.
-
-2016-05-18  Richard Biener  <rguenther@suse.de>
-
-	* passes.def: Put late dse and cd_dce in canonical order.
-
-2016-05-17  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline-transform.c (preserve_function_body_p): Look for
-	first non-thunk clone.
-	(save_function_body): Save into first non-thunk.
-	* lto-cgraph.c (lto_output_edge): When streaming thunk do not look
-	up call stmt id.
-	(lto_output_node): Inline thunks don't need body in every
-	partition.
-	* lto-streamer-in.c: Do not fixup thunk clones.
-	* cgraphclones.c (cgraph_node::create_edge_including_clone): Skip
-	thunks.
-	* tree-inline.c (copy_bb): Be prepared for target node to be new after
-	folding suceeds.
-
-2016-05-17  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	PR middle-end/63586
-	* tree-ssa-reassoc.c (transform_add_to_multiply): New.
-	(reassociate_bb): Call transform_add_to_multiply.
-
-2016-05-17  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* config/aarch64/aarch64.c (all_extensions): Removed unused
-	static variable.
-
-2016-05-17  Nathan Sidwell  <nathan@acm.org>
-
-	* config/nvptx/nvptx.c (nvptx_function_arg_boundary): New.
-	(TARGET_FUNCTION_ARG_BOUNDARY): Override.
-
-2016-05-17  Mikhail Maltsev  <maltsevm@gmail.com>
-
-	PR tree-optimization/54579
-	PR middle-end/55299
-	* match.pd (~(~X >> Y), ~(~X >>r Y), ~(~X <<r Y)): New patterns.
-
-2016-05-17  Marek Polacek  <polacek@redhat.com>
-
-	PR ipa/71146
-	* tree-inline.c (expand_call_inline): Call
-	maybe_remove_unused_call_args.
-
-2016-05-17  Jim Wilson  <jim.wilson@linaro.org>
-
-	* doc/cpp.texi (__GNUC__): Major version changes are no longer rare.
-	* doc/invoke.texi (-mnan=2008): Change signalling to signaling.
-	* doc/md.texi (fmin@var{m}3): Likewise.
-
-2016-05-17  Marc Glisse  <marc.glisse@inria.fr>
-
-	* match.pd (X & C): New transformation.
-
-2016-05-17  Marc Glisse  <marc.glisse@inria.fr>
-
-	* match.pd (~X & Y): New transformation.
-
-2016-05-17  Marc Glisse  <marc.glisse@inria.fr>
-
-	* tree-vrp.c (simplify_truth_ops_using_ranges): Set range
-	information for new SSA_NAME.
-	(simplify_conversion_using_ranges): Get range through get_range_info
-	instead of get_value_range.
-
-2016-05-17  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/arm_neon.h (vmvn_s8): Reimplement using C operator.
-	Remove inline assembly.
-	(vmvn_s16): Likewise.
-	(vmvn_s32): Likewise.
-	(vmvn_u8): Likewise.
-	(vmvn_u16): Likewise.
-	(vmvn_u32): Likewise.
-	(vmvnq_s8): Likewise.
-	(vmvnq_s16): Likewise.
-	(vmvnq_s32): Likewise.
-	(vmvnq_u8): Likewise.
-	(vmvnq_u16): Likewise.
-	(vmvnq_u32): Likewise.
-	(vmvn_p8): Likewise.
-	(vmvnq_p16): Likewise.
-
-2016-05-17  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64-simd.md (vmul_n_f32): Remove inline assembly.
-	Use builtin.
-	(vmul_n_s16): Likewise.
-	(vmul_n_s32): Likewise.
-	(vmul_n_u16): Likewise.
-	(vmul_n_u32): Likewise.
-	(vmulq_n_f32): Likewise.
-	(vmulq_n_f64): Likewise.
-	(vmulq_n_s16): Likewise.
-	(vmulq_n_s32): Likewise.
-	(vmulq_n_u16): Likewise.
-	(vmulq_n_u32): Likewise.
-
-2016-05-17  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64-simd.md (*aarch64_mul3_elt_to_128df): Extend
-	to all supported modes.  Rename to "*aarch64_mul3_elt_from_dup".
-
-2016-05-17  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64-simd.md (*aarch64_fma4_elt_to_128df): Rename
-	to *aarch64_fma4_elt_from_dup<mode>.
-	(*aarch64_fnma4_elt_to_128df): Rename to
-	*aarch64_fnma4_elt_from_dup<mode>.
-	* config/aarch64/arm_neon.h (vfma_n_f64): New.
-	(vfms_n_f32): Likewise.
-	(vfms_n_f64): Likewise.
-	(vfmsq_n_f32): Likewise.
-	(vfmsq_n_f64): Likewise.
-
-2016-05-17  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* wide-int.h: Change fixed_wide_int_storage from class to struct.
-
-2016-05-17  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71132
-	* tree-loop-distribution.c (create_rdg_cd_edges): Pass in loop.
-	Only add control dependences for blocks in the loop.
-	(build_rdg): Adjust.
-	(generate_code_for_partition): Return whether loop should
-	be destroyed and delay that.
-	(distribute_loop): Likewise.
-	(pass_loop_distribution::execute): Record loops to be destroyed
-	and perform delayed destroying of loops.
-
-2016-05-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/70809
-	* config/aarch64/aarch64-simd.md (aarch64_vmls<mode>): Delete.
-
-2016-05-17  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/aarch64/aarch64-elf.h (ASM_OUTPUT_DEF): Delete.
-
-2016-05-17  Ilya Enkovich  <ilya.enkovich@intel.com>
-
-	PR target/71114
-	* config/i386/i386.c (dimode_scalar_chain::convert_op): Fix
-	insertion point for instructions generated by validize_mem.
-
-2016-05-17  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/aarch64/aarch64.c (SHIFT_COUNT_TRUNCATED): Wrap definition
-	in brackets.
-
-2016-05-17  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/aarch64/aarch64.c
-	(aarch64_output_simd_mov_immediate): Make "buf_size" a variable
-	rather than a macro.
-
-2016-05-16  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* doc/invoke.texi (AArch64 Options): Various updates.
-
-2016-05-16  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline-analysis.c (compute_inline_parameters): Disable inlinig
-	into instrumentation thunks.
-	* cif-code.def (CIF_CHKP): New.
-
-2016-05-16  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/xopintrin.h: Correct "unsinged" typo in the comments.
-
-2016-05-16  Martin Jambor  <mjambor@suse.cz>
-
-	* hsa-gen.c (fillup_for_decl): Increase alignment to natural one.
-	(get_symbol_for_decl): Sorry if a global symbol in under-aligned.
-
-2016-05-16  Marek Polacek  <polacek@redhat.com>
-
-	* gimple.c (maybe_remove_unused_call_args): Fix typos in the
-	commentary.
-
-2016-05-16  Martin Jambor  <mjambor@suse.cz>
-
-	PR hsa/70857
-	* omp-low.c (grid_expand_target_grid_body): Copy RESULT_DECL of
-	the outlined kernel function.
-
-2016-05-16  Robert Suchanek  <robert.suchanek@imgtec.com>
-
-	* config/mips/mips.h (ISA_HAS_LSA): Enable for -mmsa.
-	(ISA_HAS_DLSA): Ditto.
-
-2016-05-16  Matthew Fortune  <matthew.fortune@imgtec.com>
-
-	* config/mips/m5100.md (m51_int_load): Update the latency to 2.
-
-2016-05-16  Nathan Sidwell  <nathan@acm.org>
-
-	* config/nvptx/nvptx.c (nvptx_mangle_decl_assembler_name): Revert.
-	(nvptx_name_replacement): Restore.  Add comment.
-	(write_fn_proto, write_fn_proto_from_insn,
-	nvptx_output_call_insn): Restore
-	(TARGET_MANGLE_DECL_ASSEMBLER_NAME): Delete.
-
-2016-05-16  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.md
-	(add<mode>3_compareC_cconly_imm): Remove use of %w.
-	(add<mode>3_compareC_imm): Likewise.
-	(<optab>si3_uxtw): Split into register and immediate variants.
-	(andsi3_compare0_uxtw): Likewise.
-	(and<mode>3_compare0): Likewise.
-	(and<mode>3nr_compare0): Likewise.
-	(stack_protect_test_<mode>): Don't use %x for memory operands.
-
-2016-05-16  Matthew Fortune  <matthew.fortune@imgtec.com>
-
-	* config/mips/mips-cpus.def (p5600): Add multi-line brackets.
-
-2016-05-16  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.md (aarch64_ashl_sisd_or_int_<mode>3):
-	Split integer shifts into shift_reg and bfm.
-	(aarch64_lshr_sisd_or_int_<mode>3): Likewise.
-	(aarch64_ashr_sisd_or_int_<mode>3): Likewise.
-	(ror<mode>3_insn): Likewise.
-	(<optab>si3_insn_uxtw): Likewise.
-	(<optab><mode>3_insn): Change to rotate_imm.
-	(extr<mode>5_insn_alt): Likewise.
-	(extrsi5_insn_uxtw): Likewise.
-	(extrsi5_insn_uxtw_alt): Likewise.
-
-2016-05-16  Matthew Wahab  <matthew.wahab@arm.com>
-
-	* doc/tm.texi: Regenerate.
-	* doc/tm.texi.in (TARGET_INVALID_PARAMETER_TYPE): Remove.
-	(TARGET_INVALID_RETURN_TYPE): Remove.
-	* system.h: Poison TARGET_INVALID_PARAMETER_TYPE and
-	TARGET_INVALID_RETURN_TYPE.
-	* target.def (invalid_parameter_type): Remove.
-	(invalid_return_type): Remove.
-
-2016-05-16  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline-analysis.c (compute_inline_parameters): Be more reailistic
-	on estimating thunk bodies; do not set inline_failed to CIF_THUNK for
-	calls from thunk.
-	* ipa-inline-transform.c (inline_call): When inlining into thunk produce
-	gimple body.
-	(preserve_function_body_p): No need to preserve function body
-	* cif-codes.def (CIF_THUNK): Remove.
-	* cgraphclones.c (duplicate_thunk_for_node): Thunks calls are inlinable.
-
-2016-05-16  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-inline.c (expand_call_inline): recurse after inlining thunk.
-
-2016-05-16  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree.c (free_lang_data_in_decl): Also set target/optimization flags
-	for thunks.
-
-2016-05-16  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline.c (report_inline_failed_reason): Look into thunks, too
-	(inline_small_functions): Do not look for function symbol when
-	resetting caches.
-
-2016-05-16  Jan Hubicka  <hubicka@ucw.cz>
-
-	* lto-cgraph.c (compute_ltrans_boundary, output_symtab): Fix handling
-	of inline thunks
-
-2016-05-16  Matthew Wahab  <matthew.wahab@arm.com>
-	    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
-	    Jiong Wang  <jiong.wang@arm.com>
-
-	* config/arm/arm-c.c (arm_cpu_builtins): Use def_or_undef_macro
-	for __ARM_FP16_FORMAT_IEEE and __ARM_FP16_FORMAT_ALTERNATIVE.
-	Define __ARM_FP16_ARGS when appropriate.
-	* config/arm/arm.c (arm_invalid_parameter_type): Remove
-	declaration.
-	(arm_invalid_return_type): Likewise.
-	(TARGET_INVALID_PARAMETER_TYPE): Remove.
-	(TARGET_INVALID_RETURN_TYPE): Remove.
-	(aapcs_vfp_sub_candidate): Allow HFmode.
-	(aapcs_vfp_allocate): Add comment.  Support HFmode.
-	(aapcs_vfp_allocate_return_reg): Likewise.
-	(struct aapcs_cp_arg_layout): Slightly reword comments for
-	is_return_candidate and allocate_return_reg.
-	(output_mov_vfp): Update assert.
-	(arm_hard_regno_mode_ok): Remove comment, update HF-mode
-	condition.
-	(arm_invalid_parameter_type): Remove.
-	(amr_invalid_return_type): Remove.
-	* config/arm/arm.h (TARGET_NEON_FP16): Fix definition.
-	* config/arm/arm.md (*arm32_movhf): Disable for TARGET_VFP.
-	* config/arm/vfp.md (*movhf_vfp): Enable for TARGET_VFP.
-
-2016-05-16  Matthew Wahab  <matthew.wahab@arm.com>
-
-	* config/aarch64/aarch64.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
-	* config/aarch64/arch64-protos.h
-	(aarch64_legitimize_reload_address): Remove.
-	* config/aarch64/aarch64.c (aarch64_legitimize_reload_address):
-	Remove.
-
-2016-05-16  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* configure.ac: Add ACX_NONCANONICAL_HOST.
-	* configure: Regenerate.
-	* Makefile.in: Set host_noncanonical.
-
-2016-05-14  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/71097
-	* config/i386/i386.md (*movtf_internal): Before register allocation,
-	do not allow FP constants for CM_MEDIUM memory model, allow only
-	standard FP constants for CM_LARGE and CM_LARGE_PIC models.
-	(*movxf_internal): Ditto.
-	(*movdf_internal): Ditto.
-	(*movsf_internal): Ditto.
-
-2016-05-13  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/67483
-	* combine.c (make_compound_operation): Don't call extract_left_shift
-	with negative shift amounts.
-
-2016-05-13  Jakub Jelinek  <jakub@redhat.com>
-
-	PR bootstrap/71071
-	* fold-const.c (fold_checksum_tree): Allow modification
-	of TYPE_ALIAS_SET during folding.
-
-	* config/i386/i386.c (ix86_compute_frame_layout, ix86_expand_prologue,
-	ix86_expand_split_stack_prologue): Use HOST_WIDE_INT_C macro.
-	(ix86_split_to_parts): Likewise.  Fix up formatting.
-
-2016-05-13  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* tree-ssa-loop-ivopts.c (create_new_ivs): Cast to
-	unsigned HOST_WIDE_INT with HOST_WIDE_INT_PRINT_UNSIGNED in
-	printf format.
-
-2016-05-13  Nathan Sidwell  <nathan@acm.org>
-
-	* config/nvptx/nvptx.c (nvptx_mangle_decl_assembler_name): New.
-	(nvptx_name_replacement): Delete.
-	(write_fn_proto, write_fn_proto_from_insn,
-	nvptx_output_call_insn): Remove nvptx_name_replacement call.
-	(TARGET_MANGLE_DECL_ASSEMBLER_NAME): Override.
-	* langhooks.c (add_builtin_funcction_common): Call
-	targetm.mangle_decl_assembler_name.
-
-	* config/nvptx/nvptx.c (write_fn_proto): Handle
-	BUILT_IN_ATOMIC_COMPARE_EXCHANGE_n oddity.
-
-2016-05-13  Martin Liska  <mliska@suse.cz>
-
-	* tree-ssa-loop-ivopts.c (create_new_ivs): Use HOST_WIDE_INT_PRINT_DEC
-	and PRIu64 in printf format.
-
-2016-05-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* tree-ssa-loop-ivanon.c (try_unroll_loop_completely): Typo fix in
-	comment.
-
-2016-05-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
-	Change --param max-completely-peeled-times to
-	--param max-completely-peel-times in dump file printing.
-
-2016-05-13  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/42587
-	* tree-ssa-math-opts.c (perform_symbolic_merge): Handle BIT_FIELD_REF.
-	(find_bswap_or_nop_1): Likewise.
-	(bswap_replace): Likewise.
-
-2016-05-13  Martin Liska  <mliska@suse.cz>
-
-	* tree-vect-patterns.c (vect_recog_mask_conversion_pattern):
-	Initialize a variable with default value.
-
-2016-05-13  Martin Liska  <mliska@suse.cz>
-
-	* doc/invoke.texi: Enhance explanation of error recovery
-	of sanitizers.
-
-2016-05-13  Martin Liska  <mliska@suse.cz>
-
-	* tree-ssa-loop-ivopts.c (avg_loop_niter): Fix coding style.
-	(struct cost_pair): Change inv_expr_id (int) to inv_expr
-	(iv_inv_expr_ent *).
-	(struct iv_inv_expr_ent): Comment struct fields.
-	(sort_iv_inv_expr_ent): New function.
-	(struct ivopts_data): Rename inv_expr_id to max_inv_expr_id.
-	(struct iv_ca): Replace used_inv_expr and num_used_inv_expr with
-	a hash_map between iv_inv_expr_ent and number of usages.
-	(niter_for_exit): Fix coding style.
-	(tree_ssa_iv_optimize_init): Use renamed variable.
-	(determine_base_object): Fix coding style.
-	(alloc_iv): Likewise.
-	(find_interesting_uses_outside): Likewise.
-	(add_candidate_1): Likewise.
-	(add_standard_iv_candidates): Likewise.
-	(set_group_iv_cost): Replace inv_expr_id with inv_expr.
-	(prepare_decl_rtl): Fix coding style.
-	(get_address_cost): Likewise.
-	(get_shiftadd_cost): Likewise.
-	(force_expr_to_var_cost): Likewise.
-	(compare_aff_trees): Likewise.
-	(get_expr_id): Restructure the function.
-	(get_loop_invariant_expr_id): Renamed to
-	get_loop_invariant_expr.
-	(get_computation_cost_at): Replace usage of inv_expr_id with
-	inv_expr.
-	(get_computation_cost): Likewise.
-	(determine_group_iv_cost_generic): Likewise.
-	(determine_group_iv_cost_address): Likewise.
-	(iv_period): Fix coding style.
-	(iv_elimination_compare_lt): Likewise.
-	(may_eliminate_iv): Likewise.
-	(determine_group_iv_cost_cond):  Replace usage of inv_expr_id with
-	inv_expr.
-	(determine_group_iv_costs): Dump invariant expressions.
-	(iv_ca_recount_cost): Use the newly added hash_map.
-	(iv_ca_set_remove_invariants): Fix coding style.
-	(iv_ca_set_add_invariants): Fix coding style.
-	(iv_ca_set_no_cp): Utilize the newly added hash_map for used
-	invariants.
-	(iv_ca_set_cp): Likewise.
-	(iv_ca_new): Initialize the newly added hash_map and remove
-	initialization of fields.
-	(iv_ca_free): Delete the hash_map.
-	(iv_ca_dump): Dump invariant expressions.
-	(iv_ca_extend): Fix coding style.
-	(try_add_cand_for): Likewise.
-	(create_new_ivs): Dump information about # of avg iterations and
-	# of used invariant expressions.
-	(rewrite_use_compare): Fix coding style.
-	(free_loop_data): Set default value for max_inv_expr_id.
-
-2016-05-13  Ilya Enkovich  <ilya.enkovich@intel.com>
-
-	* cse.c (rest_of_handle_cse): Use cleanup_cfg
-	returned value cse_cfg_altered computation.
-	(rest_of_handle_cse2): Likewise.
-	(rest_of_handle_cse_after_global_opts): Likewise.
-
-2016-05-13  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
-
-	PR target/53440
-	* config/arm/arm.c (arm32_output_mi_thunk): New.
-	(arm_output_mi_thunk): Rename to arm_thumb1_mi_thunk. Rework
-	to split Thumb1 vs TARGET_32BIT functionality.
-	(arm_thumb1_mi_thunk): New.
-
-2016-05-13  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
-
-	* config/aarch64/aarch64.c (TARGET_OMIT_STRUCT_RETURN_REG): Set
-	to true.
-
-2016-05-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	PR target/71080
-	* config/i386/i386.c (ix86_in_large_data_p): Guard against NULL exp.
-
-2016-05-13  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* builtins.c (expand_builtin_memcmp): Do not emit the call here.
-	(expand_builtin_trap): Emit a regular call.
-	(set_builtin_user_assembler_name): Remove obsolete cases.
-	* dse.c (scan_insn): Adjust.
-	* except.c: Include calls.h.
-	(sjlj_emit_function_enter): If DONT_USE_BUILTIN_SETJMP is defined,
-	emit a regular call to setjmp.
-	* expr.c (emit_block_move_hints): Call emit_block_copy_via_libcall.
-	(block_move_libcall_safe_for_call_parm): Use memcpy builtin.
-	(emit_block_move_via_libcall): Delete.
-	(block_move_fn): Delete.
-	(init_block_move_fn): Likewise.
-	(emit_block_move_libcall_fn): Likewise.
-	(emit_block_op_via_libcall): New function.
-	(set_storage_via_libcall): Tidy up and use memset builtin.
-	(block_clear_fn): Delete.
-	(init_block_clear_fn): Likewise.
-	(clear_storage_libcall_fn): Likewise.
-	(expand_assignment): Call emit_block_move_via_libcall.
-	Do not include gt-expr.h.
-	* expr.h (emit_block_op_via_libcall): Declare.
-	(emit_block_copy_via_libcall): New inline function.
-	(emit_block_move_via_libcall): Likewise.
-	(emit_block_comp_via_libcall): Likewise.
-	(block_clear_fn): Delete.
-	(init_block_move_fn): Likewise.
-	(init_block_clear_fn): Likewise.
-	(emit_block_move_via_libcall): Likewise.
-	(set_storage_via_libcall): Add default parameter value.
-	* libfuncs.h (enum libfunc_index): Remove obsolete values.
-	(abort_libfunc): Delete.
-	(memcpy_libfunc): Likewise.
-	(memmove_libfunc): Likewise.
-	(memcmp_libfunc): Likewise.
-	(memset_libfunc): Likewise.
-	(setbits_libfunc): Likewise.
-	(setjmp_libfunc): Likewise.
-	(longjmp_libfunc): Likewise.
-	(profile_function_entry_libfunc): Likewise.
-	(profile_function_exit_libfunc): Likewise.
-	(gcov_flush_libfunc): Likewise.
-	* optabs-libfuncs.c (build_libfunc_function): Set DECL_ARTIFICIAL
-	and DECL_VISIBILITY on the declaration.
-	(init_optabs): Do not initialize obsolete libfuncs.
-	* optabs.c (prepare_cmp_insn): Call emit_block_comp_via_libcall.
-	* tree-core.h (ECF_RET1): Define.
-	(ECF_TM_PURE): Adjust.
-	(ECF_TM_BUILTIN): Likewise.
-	* tree.c (set_call_expr_flags): Deal with ECF_RET1.
-	(build_common_builtin_nodes): Initialize abort builtin.
-	Add ECF_RET1 on memcpy, memmove and memset builtins.
-	Pass final flags for alloca and alloca_with_align builtins.
-	* config/alpha/alpha.c (alpha_init_libfuncs): Do not initialize
-	obsolete builtins.
-	* config/ia64/ia64.c (ia64_vms_init_libfuncs): Likewise.
-	* config/i386/i386.c (ix86_expand_set_or_movmem): Adjust call to
-	set_storage_via_libcall and call emit_block_copy_via_libcall.
-
-2016-05-12  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*call_got_x32): Change operand 0 to
-	DImode before it is passed to ix86_output_call_operand.
-	(*call_value_got_x32): Ditto for operand 1.
-
-2016-05-12  Jiong Wang  <jiong.wang@arm.com>
-
-	PR rtl-optimization/70904
-	* lra-constraint.c (process_addr_reg): Relax the restriction on subreg
-	reload for wide mode.
-
-2016-05-12  Marek Polacek  <polacek@redhat.com>
-
-	PR c/70756
-	* langhooks-def.h (lhd_incomplete_type_error): Adjust declaration.
-	* langhooks.c (lhd_incomplete_type_error): Add location parameter.
-	* langhooks.h (incomplete_type_error): Likewise.
-	* tree.c (size_in_bytes_loc): Renamed from size_in_bytes.  Add location
-	parameter, pass it down to incomplete_type_error.
-	* tree.h (size_in_bytes): New inline overload.
-	(size_in_bytes_loc): Renamed from size_in_bytes.
-
-2016-05-12  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71059
-	* tree-ssa-pre.c (phi_translate_1): Fully fold translated
-	nary before looking up or entering the expression into the VN
-	hashes.
-	* tree-ssa-sccvn.c (vn_nary_build_or_lookup): Fix comment typo.
-	Make sure to re-use NARYs without result as inserted by
-	phi-translation.
-
-2016-05-12  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71062
-	* tree-ssa-alias.h (struct pt_solution): Add vars_contains_restrict
-	field.
-	* tree-ssa-structalias.c (set_uids_in_ptset): Set
-	vars_contains_restrict if the var is a restrict tag.
-	* tree-ssa-alias.c (ptrs_compare_unequal): If vars_contains_restrict
-	do not disambiguate pointers against it.
-	(dump_points_to_solution): Re-structure and adjust for new
-	vars_contains_restrict flag.
-	* gimple-pretty-print.c (pp_points_to_solution): Likewise.
-
-2016-05-12  Martin Liska  <mliska@suse.cz>
-
-	* doc/invoke.texi: Explain connection between
-	-fsanitize-recover=address and ASAN_OPTIONS="halt_on_error=1".
-
-2016-05-12  Ilya Enkovich  <ilya.enkovich@intel.com>
-
-	PR tree-optimization/71006
-	* tree-vect-loop.c (vect_determine_vectorization_factor): Don't
-	consider COND_EXPR as a mask producer.
-
-2016-05-12  Marek Polacek  <polacek@redhat.com>
-
-	PR driver/71063
-	* opts.c (common_handle_option): Detect missing argument for --help^.
-
-2016-05-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/70830
-	* config/arm/arm.c (arm_output_multireg_pop): Avoid POP instruction
-	when popping the PC and within an interrupt handler routine.
-	Add missing tab to output of "ldmfd".
-	(output_return_instruction): Output LDMFD with SP update rather
-	than POP when returning from interrupt handler.
-
-2016-05-12  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/i386.md (isa): Add x64_avx512dq, enable if
-	TARGET_64BIT && TARGET_AVX512DQ.
-	* config/i386/sse.md (*vec_extract<mode>): Add avx512bw alternatives.
-	(*vec_extract<PEXTR_MODE12:mode>_zext): Add avx512bw alternative.
-	(*vec_extract<ssevecmodelower>_0, *vec_extractv4si_0_zext,
-	*vec_extractv2di_0_sse): Use v constraint instead of x constraint.
-	(*vec_extractv4si): Add avx512dq and avx512bw alternatives.
-	(*vec_extractv4si_zext): Add avx512dq alternative.
-	(*vec_extractv2di_1): Add x64_avx512dq and avx512bw alternatives,
-	use v instead of x constraint in other alternatives where possible.
-
-	* config/i386/sse.md (sse2_loadld): Use v instead of x
-	constraint in alternatives 0,1,4.
-
-	* config/i386/sse.md (pinsr_evex_isa): New mode attr.
-	(<sse2p4_1>_pinsr<ssemodesuffix>): Add 2 alternatives with
-	v constraints instead of x and <pinsr_evex_isa> isa attribute.
-
-	PR target/71019
-	* config/i386/sse.md (<sse2_avx2>_packssdw<mask_name>,
-	<sse4_1_avx2>_packusdw<mask_name>): Make sure EVEX encoded insn
-	is not emitted unless TARGET_AVX512BW.
-	(<sse2_avx2>_packuswb<mask_name>, <sse2_avx2>_packsswb<mask_name>):
-	Likewise.  For TARGET_AVX512BW, use "=v" constraint instead of "=x"
-	for the result operand.
-
-	* config/i386/sse.md (*vec_setv4sf_sse4_1, sse4_1_insertps): Use v
-	constraint instead of x in avx alternatives.  Use maybe_evex instead
-	of vex prefix.
-
-	* config/i386/constraints.md (Yv): New constraint.
-	* config/i386/i386.h (VALID_AVX512VL_128_REG_MODE): Allow
-	TFmode and V1TImode in xmm16+ registers for TARGET_AVX512VL.
-	* config/i386/i386.md (avx512fvecmode): New mode attr.
-	(*pushtf): Use v constraint instead of x.
-	(*movtf_internal): Likewise.  For TARGET_AVX512VL and
-	xmm16+ registers, use vmovdqu64 or vmovdqa64 instructions.
-	(*absneg<mode>2): Use Yv constraint instead of x constraint.
-	(*absnegtf2_sse): Likewise.
-	(copysign<mode>3_const, copysign<mode>3_var): Likewise.
-	* config/i386/sse.md (*andnot<mode>3): Add avx512vl and
-	avx512f alternatives.
-	(*andnottf3, *<code><mode>3, *<code>tf3): Likewise.
-
-2016-05-12  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71060
-	* tree-data-ref.c (initialize_data_dependence_relation): Do not
-	require exact match of DR_BASE_OBJECT but only matching address and
-	type.
-
-2016-05-12  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/70986
-	* cfganal.c: Include cfgloop.h.
-	(dfs_find_deadend): Prefer to take edges exiting loops.
-
-2016-05-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* gcc.target/powerpc/pr70963.c: Require at least power8 at both
-	compile and run time.
-
-2016-05-11  Mikhail Maltsev  <maltsevm@gmail.com>
-
-	PR c/43651
-	* doc/invoke.texi (Wduplicate-decl-specifier): Document new option.
-
-2016-05-11  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (legitimize_pic_address): Use
-	copy_to_suggested_reg instead of gen_movsi.
-
-2016-05-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/predicates.md (quad_memory_operand): Move most of
-	the code into quad_address_p and call it to share code with
-	vsx_quad_dform_memory_operand.
-	(vsx_quad_dform_memory_operand): New predicate for ISA 3.0 vector
-	d-form support.
-	* config/rs6000/rs6000.opt (-mlra): Switch to being an option mask
-	bit instead of being a separate word.  Split -mpower9-dform into
-	two switches, -mpower9-dform-scalar and -mpower9-dform-vector.
-	* config/rs6000/rs6000.c (RELOAD_REG_QUAD_OFFSET): New addr_mask
-	for the register class supporting 128-bit quad word memory offsets.
-	(mode_supports_vsx_dform_quad): Helper function to return if the
-	register class uses quad word memory offsets.
-	(rs6000_debug_addr_mask): Add support for quad word memory offsets.
-	(rs6000_debug_reg_global): Always print if we are using LRA or not.
-	(rs6000_setup_reg_addr_masks): If ISA 3.0 vector d-form
-	instructions are enabled, set up the appropriate addr_masks for
-	128-bit types.
-	(rs6000_init_hard_regno_mode_ok): wb constraint is now based on
-	-mpower9-dform-scalar, instead of -mpower9-dform.
-	(rs6000_option_override_internal): Split -mpower9-dform into two
-	switches, -mpower9-dform-scalar and -mpower9-dform-vector.  The
-	-mpower9-dform switch sets or clears both.  If we are not using
-	the LRA register allocator, do not enable -mpower9-dform-vector by
-	default.  If we are using LRA, enable -mpower9-dform-vector and
-	-mvsx-timode if it is appropriate.  Issue a warning if either
-	-mpower9-dform-vector or -mvsx-timode are explicitly used without
-	enabling LRA.
-	(quad_address_offset_p): New helper function to return if the
-	offset is legal for quad word memory instructions.
-	(quad_address_p): New function to determin if GPR or vector
-	register quad word memory addresses are legal.
-	(mem_operand_gpr): Validate quad word address offsets.
-	(reg_offset_addressing_ok_p): Add support for ISA 3.0 vector
-	d-form (register + offset) instructions.
-	(offsettable_ok_by_alignment): Likewise.
-	(rs6000_legitimate_offset_address_p): Likewise.
-	(legitimate_lo_sum_address_p): Likewise.
-	(rs6000_legitimize_address): Likewise.
-	(rs6000_legitimize_reload_address): Add more debug statements for
-	-mdebug=addr.
-	(rs6000_legitimate_address_p): Add support for ISA 3.0 vector
-	d-form instructions.
-	(rs6000_secondary_reload_memory): Add support for ISA 3.0 vector
-	d-form instructions.  Distinguish different cases in debug
-	output.	(rs6000_secondary_reload_inner): Add support for ISA 3.0 vector
-	d-form instructions.
-	(rs6000_preferred_reload_class): Likewise.
-	(rs6000_output_move_128bit): Add support for ISA 3.0 d-form
-	instructions.  If ISA 3.0 is available, generate lxvx/stxvx instead
-	of the ISA 2.06 indexed memory instructions.
-	(rs6000_emit_prologue): If we have ISA 3.0 d-form instructions,
-	use them to save/restore the saved vector registers instead of
-	using Altivec instructions.
-	(rs6000_emit_epilogue): Likewise.
-	(rs6000_lra_p): Use TARGET_LRA instead of the old option word.
-	(rs6000_opt_masks): Split -mpower9-dform into
-	-mpower9-dform-scalar and -mpower9-dform-vector.
-	(rs6000_print_options_internal): Print -mno-<switch> if <switch>
-	was not selected.
-	* config/rs6000/vsx.md (p9_vecload_<mode>): Delete hack to emit
-	ISA 3.0 vector indexed memory instructions, and fold the code into
-	the normal mov<mode> patterns.
-	(p9_vecstore_<mode>): Likewise.
-	(vsx_mov<mode>): Add support for ISA 3.0 vector d-form
-	instructions.
-	(vsx_movti_64bit): Likewise.
-	(vsx_movti_32bit): Likewise.
-	* config/rs6000/constraints.md (wO constraint): New constraint for
-	ISA 3.0 vector d-form support.
-	* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Use
-	-mpower9-dform-scalar instead of -mpower9-dform.  Add note not to
-	include -mpower9-dform-vector until we switch over to LRA.
-	(POWERPC_MASKS): Add -mlra. Split -mpower9-dform into two.
-	switches, -mpower9-dform-scalar and -mpower9-dform-vector.
-	* config/rs6000/rs6000-protos.h (quad_address_p): Add declaration.
-	* doc/invoke.texi (RS/6000 and PowerPC Options): Add documentation
-	for -mpower9-dform and -mlra.
-	* doc/md.texi (wO constraint): Document wO constraint.
-
-2016-05-11  Alexander Monakov  <amonakov@ispras.ru>
-
-	* genattr.c (main): Change 'rtx' to 'rtx_insn *' in prototypes of
-	'insn_latency', 'maximal_insn_latency', 'min_insn_conflict_delay'.
-	* genautomata.c (output_internal_insn_code_evaluation): Simplify.
-	Move handling of non-insn arguments inline into the sole user:
-	(output_trans_func): ...here.
-	(output_min_insn_conflict_delay_func): Change 'rtx' to 'rtx_insn *'
-	in emitted function prototype.
-	(output_internal_insn_latency_func): Ditto.  Simplify.
-	(output_internal_maximal_insn_latency_func): Ditto.  Delete
-	always-unused argument.
-	(output_insn_latency_func): Ditto.
-	(output_maximal_insn_latency_func): Ditto.
-
-2016-05-11  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71055
-	* tree-ssa-sccvn.c (vn_reference_lookup_3): When native-interpreting
-	sth with precision not equal to access size verify we don't chop
-	off bits.
-
-2016-05-11  Richard Biener  <rguenther@suse.de>
-
-	PR debug/71057
-	* dwarf2out.c (retry_incomplete_types): Set early_dwarf.
-	(dwarf2out_finish): Move retry_incomplete_types call ...
-	(dwarf2out_early_finish): ... here.
-
-2016-05-11  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/71002
-	* alias.c (reference_alias_ptr_type): Preserve alias-set zero
-	if the langhook insists on it.
-	* fold-const.c (make_bit_field_ref): Add arg for the original
-	reference and preserve its alias-set.
-	(decode_field_reference): Take exp by reference and adjust it
-	to the original memory reference.
-	(optimize_bit_field_compare): Adjust callers.
-	(fold_truth_andor_1): Likewise.
-	* gimplify.c (gimplify_expr): Adjust in-SSA form test.
-
-2016-05-11  Ilya Enkovich  <ilya.enkovich@intel.com>
-
-	PR middle-end/70807
-	* cfgrtl.h (delete_insn_and_edges): Now return bool.
-	* cfgrtl.c (delete_insn_and_edges): Likewise.
-	* config/i386/i386.c (convert_scalars_to_vector): Remove
-	redundant code.
-	* cse.c (cse_insn): Compute cse_cfg_altered.
-	(delete_trivially_dead_insns): Likewise.
-	(cse_cc_succs): Likewise.
-	(rest_of_handle_cse): Free dominance info if required.
-	(rest_of_handle_cse2): Likewise.
-	(rest_of_handle_cse_after_global_opts): Likewise.
-
-2016-05-11  Alan Modra  <amodra@gmail.com>
-
-	* config/rs6000/rs6000.c (is_complex_IBM_long_double,
-	abi_v4_pass_in_fpr): New functions.
-	(rs6000_function_arg_boundary): Exclude complex IBM long double
-	from 64-bit alignment when ABI_V4.
-	(rs6000_function_arg, rs6000_function_arg_advance_1,
-	rs6000_gimplify_va_arg): Use abi_v4_pass_in_fpr.
-
-2016-05-10  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/71028
-	* cfgcleanup.c (try_optimize_cfg): Do not flip a conditional
-	jump with just a return in the fallthrough block if the branch
-	block contains just a return as well.
-
-2016-05-10  Marc Glisse  <marc.glisse@inria.fr>
-
-	* fold-const.c (fold_binary_loc) [(X ^ Y) & Y]: Remove and merge with...
-	* match.pd ((X & Y) ^ Y): ... this.
-	((X & Y) & Y, (X | Y) | Y, (X ^ Y) ^ Y, (X & Y) & (X & Z), (X | Y)
-	| (X | Z), (X ^ Y) ^ (X ^ Z)): New transformations.
-
-2016-05-10  David Malcolm  <dmalcolm@redhat.com>
-
-	* read-md.c (require_char_ws): New function.
-	(read_string): Simplify using require_char_ws.
-	(handle_constants): Likewise.
-	(handle_enum): Likewise.
-	(handle_file): Likewise.
-	* read-md.h (require_char_ws): New declaration.
-	* read-rtl.c (read_conditions): Simplify using require_char_ws.
-	(read_mapping): Likewise.
-	(read_rtx_code): Likewise.
-	(read_nested_rtx): Likewise.
-
-2016-05-10  James Norris  <jnorris@codesourcery.com>
-
-	* 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.
-
-2016-05-10  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (legitimize_pic_address): Merge 64-bit and 32-bit
-	gotoff_operand code paths.  Use copy_to_suggested_regs and
-	expand_simple_binop where appropriate.  Cleanup.
-
-2016-05-10  Ilya Enkovich  <ilya.enkovich@intel.com>
-
-	PR target/70799
-	* config/i386/i386.c (dimode_scalar_to_vector_candidate_p): Allow
-	integer constants.
-	(dimode_scalar_chain::vector_const_cost): New.
-	(dimode_scalar_chain::compute_convert_gain): Handle constants.
-	(dimode_scalar_chain::convert_op): Likewise.
-	(dimode_scalar_chain::convert_insn): Likewise.
-
-2016-05-10  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* dwarf2out.c (resolve_args_picking_1): Consider DW_OP_neg as an
-	unary operation, not a binary one.
-
-2016-05-10  Ilya Enkovich  <ilya.enkovich@intel.com>
-
-	PR middle-end/70877
-	* tree-chkp.c (chkp_add_bounds_to_call_stmt): Handle
-	calls with type casted fndecl.
-
-2016-05-10  Ilya Enkovich  <ilya.enkovich@intel.com>
-
-	PR tree-optimization/70786
-	* tree-chkp.c (chkp_find_bounds_1): Support WITH_SIZE_EXPR.
-	* calls.c (initialize_argument_information): Bind bounds
-	with corresponding args passed by reference.
-
-2016-05-10  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/70927
-	* config/i386/sse.md (<sse>_andnot<mode>3<mask_name>),
-	*<code><mode>3<mask_name>): For !TARGET_AVX512DQ and EVEX encoding,
-	use vp*[dq] instead of v*p[sd] instructions and adjust mode attribute
-	accordingly.
-
-2016-05-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR target/70963
-	* config/rs6000/vsx.md (vsx_xvcvdpsxds_scale): Generate correct
-	code for a zero scale factor.
-	(vsx_xvcvdpuxds_scale): Likewise.
-
-2016-05-10  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic-show-locus.c (layout::layout): Call show_ruler
-	if show_ruler_p was set on the context.
-	(layout::show_ruler): New method.
-	* diagnostic.h (struct diagnostic_context): Add field
-	"show_ruler_p".
-
-2016-05-10  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71039
-	* tree-ssa-phiprop.c: Include tree-ssa-loop.h.
-	(chk_uses): New function.
-	(propagate_with_phi): Verify we can safely replicate the lhs of an
-	aggregate assignment on all incoming edges.
-
-2016-05-10  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	* config/rx/rx-protos.h (is_interrupt_func, is_fast_interrupt_func):
-	Forward declare.
-	(rx_atomic_sequence): New class.
-	* config/rx/rx.c (rx_print_operand): Use symbolic names for PSW bits.
-	(is_interrupt_func, is_fast_interrupt_func): Make non-static and
-	non-inline.
-	(rx_atomic_sequence::rx_atomic_sequence,
-	rx_atomic_sequence::~rx_atomic_sequence): New functions.
-	* config/rx/rx.md (CTRLREG_PSW, CTRLREG_USP, CTRLREG_FPSW, CTRLREG_CPEN,
-	CTRLREG_BPSW, CTRLREG_BPC, CTRLREG_ISP, CTRLREG_FINTV,
-	CTRLREG_INTB): New constants.
-	(FETCHOP): New code iterator.
-	(fethcop_name, fetchop_name2): New iterator code attributes.
-	(QIHI): New mode iterator.
-	(atomic_exchange<mode>, atomic_exchangesi, xchg_mem<mode>,
-	atomic_fetch_<fetchop_name>si, atomic_fetch_nandsi,
-	atomic_<fetchop_name>_fetchsi, atomic_nand_fetchsi): New patterns.
-
-2016-05-10  Martin Liska  <mliska@suse.cz>
-
-	* tree-inline.c (remap_dependence_clique): Do not remap
-	debugging statements.
-
-2016-05-10  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.md ("*vec_cmp<insn_cmp>df_cconly")
-	("*fixuns_truncdfdi2_z13")
-	("*fixuns_trunc<FP:mode><GPR:mode>2_z196")
-	("*fix_truncdfdi2_bfp_z13", "*floatunsdidf2_z13")
-	("*extendsfdf2_z13"): Replace TARGET_Z13 with TARGET_VX.
-
-2016-05-10  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/70497
-	PR tree-optimization/28367
-	* tree-ssa-sccvn.c (vn_nary_build_or_lookup): New function
-	split out from ...
-	(visit_reference_op_load): ... here.
-	(vn_reference_lookup_3): Use it to handle subreg-like accesses
-	with simplified BIT_FIELD_REFs.
-	* tree-ssa-pre.c (eliminate_insert): Handle inserting BIT_FIELD_REFs.
-	* tree-complex.c (extract_component): Handle BIT_FIELD_REFs
-	correctly.
-
-2016-05-10  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* dwarf2out.c (add_abstract_origin_attribute): Adjust
-	documentation comment.  For BLOCK nodes, add a
-	DW_AT_abstract_origin attribute that points to the DIE generated
-	for the origin BLOCK.
-	(gen_lexical_block_die): Call add_abstract_origin_attribute for
-	blocks from inlined functions.
-
-2016-05-10  Alan Modra  <amodra@gmail.com>
-
-	PR target/70947
-	* config/rs6000/rs6000.c (rs6000_expand_split_stack_prologue): Stop
-	regrename modifying insns saving lr before __morestack call.
-	* config/rs6000/rs6000.md (split_stack_return): Similarly for
-	insns restoring lr after __morestack call.
-
-2016-05-09  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/i386.md (set_got, set_got_labelled, lwp_llwpcb,
-	lwp_lwpval<mode>3, lwp_lwpins<mode>3): Remove constraints from
-	expanders.
-	* config/i386/sse.md (vec_interleave_high<mode>,
-	vec_interleave_low<mode>, <avx512>_vpermi2var<mode>3_maskz,
-	<avx512>_vpermt2var<mode>3_maskz): Likewise.
-
-2016-05-04  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_reassociation_width): Add
-	function for TARGET_SCHED_REASSOCIATION_WIDTH to enable
-	parallel reassociation for power8 and forward.
-
-2016-05-09  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (absneg splitters with general regs): Use
-	general_reg_operand predicate.
-	(btsq peephole2): Use x86_64_immediate_operand to check if new
-	value is suitable for immediate operand.  Generate emitted insn
-	using RTL expressions.
-	(btcq peephole2): Ditto.
-	(btrq peephole2): Ditto.  Generate correct immediate operand
-	for AND masking.
-
-2016-05-09  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* cfgexpand.c (expand_debug_expr): Fix address offset for negative
-	bitpos.
-
-2016-05-09  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-affine.c (wide_int_constant_multiple_p): Add missing
-	pointer dereference.
-
-2016-05-09  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/70985
-	* match.pd (BIT_FIELD_REF -> (type)): Disable on GIMPLE when
-	op0 isn't a gimple register.
-
-2016-05-09  Prachi Godbole  <prachi.godbole@imgtec.com>
-
-	* config/mips/i6400.md (i6400_fpu_intadd, i6400_fpu_logic)
-	(i6400_fpu_div, i6400_fpu_cmp, i6400_fpu_float,	i6400_fpu_store)
-	(i6400_fpu_long_pipe, i6400_fpu_logic_l, i6400_fpu_float_l)
-	(i6400_fpu_mult): New cpu units.
-	(i6400_msa_add_d, i6400_msa_int_add, i6400_msa_short_logic3)
-	(i6400_msa_short_logic2, i6400_msa_short_logic, i6400_msa_move)
-	(i6400_msa_cmp, i6400_msa_short_float2, i6400_msa_div_d)
-	(i6400_msa_div_w, i6400_msa_div_h, i6400_msa_div_b)
-	(i6400_msa_copy, i6400_msa_branch, i6400_fpu_msa_store)
-	(i6400_fpu_msa_load, i6400_fpu_msa_move, i6400_msa_long_logic1)
-	(i6400_msa_long_logic2, i6400_msa_mult, i6400_msa_long_float2)
-	(i6400_msa_long_float4, i6400_msa_long_float5)
-	(i6400_msa_long_float8, i6400_msa_fdiv_df)
-	(i6400_msa_fdiv_sf): New reservations.
-	* config/mips/p5600.md (p5600_fpu_intadd, p5600_fpu_cmp)
-	(p5600_fpu_float, p5600_fpu_logic_a, p5600_fpu_logic_b)
-	(p5600_fpu_div, p5600_fpu_logic, p5600_fpu_float_a)
-	(p5600_fpu_float_b, p5600_fpu_float_c, p5600_fpu_float_d)
-	(p5600_fpu_mult, p5600_fpu_fdiv, p5600_fpu_load): New cpu units.
-	(msa_short_int_add, msa_short_logic, msa_short_logic_move_v)
-	(msa_short_cmp, msa_short_float2, msa_short_logic3)
-	(msa_short_store4, msa_long_load, msa_short_store)
-	(msa_long_logic, msa_long_float2, msa_long_float4)
-	(msa_long_float5, msa_long_float8, msa_long_mult)
-	(msa_long_fdiv, msa_long_div): New reservations.
-
-2016-05-09  Robert Suchanek  <robert.suchanek@imgtec.com>
-	    Sameera Deshpande  <sameera.deshpande@imgtec.com>
-	    Matthew Fortune  <matthew.fortune@imgtec.com>
-	    Graham Stott  <graham.stott@imgtec.com>
-	    Chao-ying Fu  <chao-ying.fu@imgtec.com>
-
-	* config.gcc: Add MSA header file for mips*-*-* target.
-	* config/mips/constraints.md (YI, YC, YZ, Unv5, Uuv5, Usv5, Uuv6)
-	(Ubv8i, Urv8):	New constraints.
-	* config/mips/mips-ftypes.def: Add function types for MSA
-	builtins.
-	* config/mips/mips-modes.def (V16QI, V8HI, V4SI, V2DI, V4SF)
-	(V2DF, V32QI, V16HI, V8SI, V4DI, V8SF, V4DF): New modes.
-	* config/mips/mips-msa.md: New file.
-	* config/mips/mips-protos.h
-	(mips_split_128bit_const_insns): New prototype.
-	(mips_msa_idiv_insns): Likewise.
-	(mips_split_128bit_move): Likewise.
-	(mips_split_128bit_move_p): Likewise.
-	(mips_split_msa_copy_d): Likewise.
-	(mips_split_msa_insert_d): Likewise.
-	(mips_split_msa_fill_d): Likewise.
-	(mips_expand_msa_branch): Likewise.
-	(mips_const_vector_same_val_p): Likewise.
-	(mips_const_vector_same_bytes_p): Likewise.
-	(mips_const_vector_same_int_p): Likewise.
-	(mips_const_vector_shuffle_set_p): Likewise.
-	(mips_const_vector_bitimm_set_p): Likewise.
-	(mips_const_vector_bitimm_clr_p): Likewise.
-	(mips_msa_vec_parallel_const_half): Likewise.
-	(mips_msa_output_division): Likewise.
-	(mips_ldst_scaled_shift): Likewise.
-	(mips_expand_vec_cond_expr): Likewise.
-	* config/mips/mips.c (enum mips_builtin_type): Add
-	MIPS_BUILTIN_MSA_TEST_BRANCH.
-	(mips_gen_const_int_vector_shuffle): New prototype.
-	(mips_const_vector_bitimm_set_p): New function.
-	(mips_const_vector_bitimm_clr_p): Likewise.
-	(mips_const_vector_same_val_p): Likewise.
-	(mips_const_vector_same_bytes_p): Likewise.
-	(mips_const_vector_same_int_p): Likewise.
-	(mips_const_vector_shuffle_set_p): Likewise.
-	(mips_symbol_insns): Forbid loading symbols via immediate for
-	MSA.
-	(mips_valid_offset_p): Limit offset to 10-bit for MSA loads and
-	stores.
-	(mips_valid_lo_sum_p): Forbid loadings symbols via %lo(base) for
-	MSA.
-	(mips_lx_address_p): Add support load indexed address for MSA.
-	(mips_address_insns): Add calculation of instructions needed for
-	stores and loads for MSA.
-	(mips_const_insns): Move CONST_DOUBLE below CONST_VECTOR.  Handle
-	CONST_VECTOR for MSA and let it fall through.
-	(mips_ldst_scaled_shift): New function.
-	(mips_subword_at_byte): Likewise.
-	(mips_msa_idiv_insns): Likewise.
-	(mips_legitimize_move): Validate MSA moves.
-	(mips_rtx_costs): Add UNGE, UNGT, UNLE, UNLT cases.  Add
-	calculation of costs for MSA division.
-	(mips_split_move_p): Check if MSA moves need splitting.
-	(mips_split_move): Split MSA moves if necessary.
-	(mips_split_128bit_move_p): New function.
-	(mips_split_128bit_move): Likewise.
-	(mips_split_msa_copy_d): Likewise.
-	(mips_split_msa_insert_d): Likewise.
-	(mips_split_msa_fill_d): Likewise.
-	(mips_output_move): Handle MSA moves.
-	(mips_expand_msa_branch): New function.
-	(mips_print_operand): Add 'E', 'B', 'w', 'v' and 'V' modifiers.
-	Reinstate 'y' modifier.
-	(mips_file_start): Add MSA .gnu_attribute.
-	(mips_hard_regno_mode_ok_p): Allow TImode and 128-bit vectors in
-	FPRs.
-	(mips_hard_regno_nregs): Always return 1 for MSA supported mode.
-	(mips_class_max_nregs): Add register size for MSA supported mode.
-	(mips_cannot_change_mode_class): Allow conversion between MSA
-	vector modes and TImode.
-	(mips_mode_ok_for_mov_fmt_p): Allow MSA to use move.v
-	instruction.
-	(mips_secondary_reload_class): Force MSA loads/stores via memory.
-	(mips_preferred_simd_mode): Add preffered modes for MSA.
-	(mips_vector_mode_supported_p): Add MSA supported modes.
-	(mips_autovectorize_vector_sizes): New function.
-	(mips_msa_output_division): Likewise.
-	(MSA_BUILTIN, MIPS_BUILTIN_DIRECT_NO_TARGET)
-	(MSA_NO_TARGET_BUILTIN, MSA_BUILTIN_TEST_BRANCH): New macros.
-	(CODE_FOR_msa_adds_s_b, CODE_FOR_msa_adds_s_h)
-	(CODE_FOR_msa_adds_s_w, CODE_FOR_msa_adds_s_d)
-	(CODE_FOR_msa_adds_u_b, CODE_FOR_msa_adds_u_h)
-	(CODE_FOR_msa_adds_u_w, CODE_FOR_msa_adds_u_du
-	(CODE_FOR_msa_addv_b, CODE_FOR_msa_addv_h, CODE_FOR_msa_addv_w)
-	(CODE_FOR_msa_addv_d, CODE_FOR_msa_and_v, CODE_FOR_msa_bmnz_v)
-	(CODE_FOR_msa_bmnzi_b, CODE_FOR_msa_bmz_v, CODE_FOR_msa_bmzi_b)
-	(CODE_FOR_msa_bnz_v, CODE_FOR_msa_bz_v, CODE_FOR_msa_bsel_v)
-	(CODE_FOR_msa_bseli_b, CODE_FOR_msa_ceqi_h, CODE_FOR_msa_ceqi_w)
-	(CODE_FOR_msa_ceqi_d, CODE_FOR_msa_clti_s_b)
-	(CODE_FOR_msa_clti_s_h, CODE_FOR_msa_clti_s_w)
-	(CODE_FOR_msa_clti_s_d, CODE_FOR_msa_clti_u_b)
-	(CODE_FOR_msa_clti_u_h, CODE_FOR_msa_clti_u_w)
-	(CODE_FOR_msa_clti_u_d, CODE_FOR_msa_clei_s_b)
-	(CODE_FOR_msa_clei_s_h, CODE_FOR_msa_clei_s_w)
-	(CODE_FOR_msa_clei_s_d, CODE_FOR_msa_clei_u_b)
-	(CODE_FOR_msa_clei_u_h, CODE_FOR_msa_clei_u_w)
-	(CODE_FOR_msa_clei_u_d, CODE_FOR_msa_div_s_b)
-	(CODE_FOR_msa_div_s_h, CODE_FOR_msa_div_s_w)
-	(CODE_FOR_msa_div_s_d, CODE_FOR_msa_div_u_b)
-	(CODE_FOR_msa_div_u_h, CODE_FOR_msa_div_u_w)
-	(CODE_FOR_msa_div_u_d, CODE_FOR_msa_fadd_w, CODE_FOR_msa_fadd_d)
-	(CODE_FOR_msa_fexdo_w, CODE_FOR_msa_ftrunc_s_w)
-	(CODE_FOR_msa_ftrunc_s_d, CODE_FOR_msa_ftrunc_u_w)
-	(CODE_FOR_msa_ftrunc_u_d, CODE_FOR_msa_ffint_s_w)
-	(CODE_FOR_msa_ffint_s_d, CODE_FOR_msa_ffint_u_w)
-	(CODE_FOR_msa_ffint_u_d, CODE_FOR_msa_fsub_w)
-	(CODE_FOR_msa_fsub_d, CODE_FOR_msa_fmsub_d, CODE_FOR_msa_fmadd_w)
-	(CODE_FOR_msa_fmadd_d, CODE_FOR_msa_fmsub_w, CODE_FOR_msa_fmul_w)
-	(CODE_FOR_msa_fmul_d, CODE_FOR_msa_fdiv_w, CODE_FOR_msa_fdiv_d)
-	(CODE_FOR_msa_fmax_w, CODE_FOR_msa_fmax_d, CODE_FOR_msa_fmax_a_w)
-	(CODE_FOR_msa_fmax_a_d, CODE_FOR_msa_fmin_w, CODE_FOR_msa_fmin_d)
-	(CODE_FOR_msa_fmin_a_w, CODE_FOR_msa_fmin_a_d)
-	(CODE_FOR_msa_fsqrt_w, CODE_FOR_msa_fsqrt_d)
-	(CODE_FOR_msa_max_s_b, CODE_FOR_msa_max_s_h)
-	(CODE_FOR_msa_max_s_w, CODE_FOR_msa_max_s_d)
-	(CODE_FOR_msa_max_u_b, CODE_FOR_msa_max_u_h)
-	(CODE_FOR_msa_max_u_w, CODE_FOR_msa_max_u_d)
-	(CODE_FOR_msa_min_s_b, CODE_FOR_msa_min_s_h)
-	(CODE_FOR_msa_min_s_w, CODE_FOR_msa_min_s_d)
-	(CODE_FOR_msa_min_u_b, CODE_FOR_msa_min_u_h)
-	(CODE_FOR_msa_min_u_w, CODE_FOR_msa_min_u_d)
-	(CODE_FOR_msa_mod_s_b, CODE_FOR_msa_mod_s_h)
-	(CODE_FOR_msa_mod_s_w, CODE_FOR_msa_mod_s_d)
-	(CODE_FOR_msa_mod_u_b, CODE_FOR_msa_mod_u_h)
-	(CODE_FOR_msa_mod_u_w, CODE_FOR_msa_mod_u_d)
-	(CODE_FOR_msa_mod_s_b, CODE_FOR_msa_mod_s_h)
-	(CODE_FOR_msa_mod_s_w, CODE_FOR_msa_mod_s_d)
-	(CODE_FOR_msa_mod_u_b, CODE_FOR_msa_mod_u_h)
-	(CODE_FOR_msa_mod_u_w, CODE_FOR_msa_mod_u_d)
-	(CODE_FOR_msa_mulv_b, CODE_FOR_msa_mulv_h, CODE_FOR_msa_mulv_w)
-	(CODE_FOR_msa_mulv_d, CODE_FOR_msa_nlzc_b, CODE_FOR_msa_nlzc_h)
-	(CODE_FOR_msa_nlzc_w, CODE_FOR_msa_nlzc_d, CODE_FOR_msa_nor_v)
-	(CODE_FOR_msa_or_v, CODE_FOR_msa_ori_b, CODE_FOR_msa_nori_b)
-	(CODE_FOR_msa_pcnt_b, CODE_FOR_msa_pcnt_h, CODE_FOR_msa_pcnt_w)
-	(CODE_FOR_msa_pcnt_d, CODE_FOR_msa_xor_v, CODE_FOR_msa_xori_b)
-	(CODE_FOR_msa_sll_b, CODE_FOR_msa_sll_h, CODE_FOR_msa_sll_w)
-	(CODE_FOR_msa_sll_d, CODE_FOR_msa_slli_b, CODE_FOR_msa_slli_h)
-	(CODE_FOR_msa_slli_w, CODE_FOR_msa_slli_d, CODE_FOR_msa_sra_b)
-	(CODE_FOR_msa_sra_h, CODE_FOR_msa_sra_w, CODE_FOR_msa_sra_d)
-	(CODE_FOR_msa_srai_b, CODE_FOR_msa_srai_h, CODE_FOR_msa_srai_w)
-	(CODE_FOR_msa_srai_d, CODE_FOR_msa_srl_b, CODE_FOR_msa_srl_h)
-	(CODE_FOR_msa_srl_w, CODE_FOR_msa_srl_d, CODE_FOR_msa_srli_b)
-	(CODE_FOR_msa_srli_h, CODE_FOR_msa_srli_w, CODE_FOR_msa_srli_d)
-	(CODE_FOR_msa_subv_b, CODE_FOR_msa_subv_h, CODE_FOR_msa_subv_w)
-	(CODE_FOR_msa_subv_d, CODE_FOR_msa_subvi_b, CODE_FOR_msa_subvi_h)
-	(CODE_FOR_msa_subvi_w, CODE_FOR_msa_subvi_d, CODE_FOR_msa_move_v)
-	(CODE_FOR_msa_vshf_b, CODE_FOR_msa_vshf_h, CODE_FOR_msa_vshf_w)
-	(CODE_FOR_msa_vshf_d, CODE_FOR_msa_ilvod_d, CODE_FOR_msa_ilvev_d)
-	(CODE_FOR_msa_pckod_d, CODE_FOR_msa_pckdev_d, CODE_FOR_msa_ldi_b)
-	(CODE_FOR_msa_ldi_hi, CODE_FOR_msa_ldi_w)
-	(CODE_FOR_msa_ldi_d): New code_aliasing macros.
-	(mips_builtins): Add MSA sll_b, sll_h, sll_w, sll_d, slli_b,
-	slli_h,	slli_w, slli_d, sra_b, sra_h, sra_w, sra_d, srai_b,
-	srai_h, srai_w,	srai_d, srar_b, srar_h, srar_w, srar_d, srari_b,
-	srari_h, srari_w, srari_d, srl_b, srl_h, srl_w, srl_d, srli_b,
-	srli_h, srli_w, srli_d, srlr_b, srlr_h, srlr_w, srlr_d, srlri_b,
-	srlri_h, srlri_w, srlri_d, bclr_b, bclr_h, bclr_w, bclr_d,
-	bclri_b, bclri_h, bclri_w, bclri_d, bset_b, bset_h, bset_w,
-	bset_d, bseti_b, bseti_h, bseti_w, bseti_d, bneg_b, bneg_h,
-	bneg_w, bneg_d, bnegi_b, bnegi_h, bnegi_w, bnegi_d, binsl_b,
-	binsl_h, binsl_w, binsl_d, binsli_b, binsli_h, binsli_w,
-	binsli_d, binsr_b, binsr_h, binsr_w, binsr_d, binsri_b, binsri_h,
-	binsri_w, binsri_d, addv_b, addv_h, addv_w, addv_d, addvi_b,
-	addvi_h, addvi_w, addvi_d, subv_b, subv_h, subv_w, subv_d,
-	subvi_b, subvi_h, subvi_w, subvi_d, max_s_b, max_s_h, max_s_w,
-	max_s_d, maxi_s_b, maxi_s_h, maxi_s_w, maxi_s_d, max_u_b,
-	max_u_h, max_u_w, max_u_d, maxi_u_b, maxi_u_h, maxi_u_w,
-	maxi_u_d, min_s_b, min_s_h, min_s_w, min_s_d, mini_s_b, mini_s_h,
-	mini_s_w, mini_s_d, min_u_b, min_u_h, min_u_w, min_u_d, mini_u_b,
-	mini_u_h, mini_u_w, mini_u_d, max_a_b, max_a_h, max_a_w, max_a_d,
-	min_a_b, min_a_h, min_a_w, min_a_d, ceq_b, ceq_h, ceq_w, ceq_d,
-	ceqi_b, ceqi_h, ceqi_w, ceqi_d, clt_s_b, clt_s_h, clt_s_w,
-	clt_s_d, clti_s_b, clti_s_h, clti_s_w, clti_s_d, clt_u_b,
-	clt_u_h, clt_u_w, clt_u_d, clti_u_b, clti_u_h, clti_u_w,
-	clti_u_d, cle_s_b, cle_s_h, cle_s_w, cle_s_d, clei_s_b, clei_s_h,
-	clei_s_w, clei_s_d, cle_u_b, cle_u_h, cle_u_w, cle_u_d, clei_u_b,
-	clei_u_h, clei_u_w, clei_u_d, ld_b, ld_h, ld_w, ld_d, st_b, st_h,
-	st_w, st_d, sat_s_b, sat_s_h, sat_s_w, sat_s_d, sat_u_b, sat_u_h,
-	sat_u_w, sat_u_d, add_a_b, add_a_h, add_a_w, add_a_d, adds_a_b,
-	adds_a_h, adds_a_w, adds_a_d, adds_s_b, adds_s_h, adds_s_w,
-	adds_s_d, adds_u_b, adds_u_h, adds_u_w, adds_u_d, ave_s_b,
-	ave_s_h, ave_s_w, ave_s_d, ave_u_b, ave_u_h, ave_u_w, ave_u_d,
-	aver_s_b, aver_s_h, aver_s_w, aver_s_d, aver_u_b, aver_u_h,
-	aver_u_w, aver_u_d, subs_s_b, subs_s_h, subs_s_w, subs_s_d,
-	subs_u_b, subs_u_h, subs_u_w, subs_u_d, subsuu_s_b, subsuu_s_h,
-	subsuu_s_w, subsuu_s_d, subsus_u_b, subsus_u_h, subsus_u_w,
-	subsus_u_d, asub_s_b, asub_s_h, asub_s_w, asub_s_d, asub_u_b,
-	asub_u_h, asub_u_w, asub_u_d, mulv_b, mulv_h, mulv_w, mulv_d,
-	maddv_b, maddv_h, maddv_w, maddv_d, msubv_b, msubv_h, msubv_w,
-	msubv_d, div_s_b, div_s_h, div_s_w, div_s_d, div_u_b, div_u_h,
-	div_u_w, div_u_d, hadd_s_h, hadd_s_w, hadd_s_d, hadd_u_h,
-	hadd_u_w, hadd_u_d, hsub_s_h, hsub_s_w, hsub_s_d, hsub_u_h,
-	hsub_u_w, hsub_u_d, mod_s_b, mod_s_h, mod_s_w, mod_s_d, mod_u_b,
-	mod_u_h, mod_u_w, mod_u_d, dotp_s_h, dotp_s_w, dotp_s_d,
-	dotp_u_h, dotp_u_w, dotp_u_d, dpadd_s_h, dpadd_s_w, dpadd_s_d,
-	dpadd_u_h, dpadd_u_w, dpadd_u_d, dpsub_s_h, dpsub_s_w, dpsub_s_d,
-	dpsub_u_h, dpsub_u_w, dpsub_u_d, sld_b, sld_h, sld_w, sld_d,
-	sldi_b, sldi_h, sldi_w, sldi_d, splat_b, splat_h, splat_w,
-	splat_d, splati_b, splati_h, splati_w, splati_d, pckev_b,
-	pckev_h, pckev_w, pckev_d, pckod_b, pckod_h, pckod_w, pckod_d,
-	ilvl_b, ilvl_h, ilvl_w, ilvl_d, ilvr_b, ilvr_h, ilvr_w, ilvr_d,
-	ilvev_b, ilvev_h, ilvev_w, ilvev_d, ilvod_b, ilvod_h, ilvod_w,
-	ilvod_d, vshf_b, vshf_h, vshf_w, vshf_d, and_v, andi_b, or_v,
-	ori_b, nor_v, nori_b, xor_v, xori_b, bmnz_v, bmnzi_b, bmz_v,
-	bmzi_b, bsel_v, bseli_b, shf_b, shf_h, shf_w, bnz_v, bz_v,
-	fill_b, fill_h, fill_w, fill_d, pcnt_b, pcnt_h, pcnt_w,
-	pcnt_d, nloc_b, nloc_h, nloc_w, nloc_d, nlzc_b, nlzc_h, nlzc_w,
-	nlzc_d, copy_s_b, copy_s_h, copy_s_w, copy_s_d, copy_u_b,
-	copy_u_h, copy_u_w, copy_u_d, insert_b, insert_h, insert_w,
-	insert_d, insve_b, insve_h, insve_w, insve_d, bnz_b, bnz_h,
-	bnz_w, bnz_d, bz_b, bz_h, bz_w, bz_d, ldi_b, ldi_h, ldi_w, ldi_d,
-	fcaf_w, fcaf_d, fcor_w, fcor_d, fcun_w, fcun_d, fcune_w, fcune_d,
-	fcueq_w, fcueq_d, fceq_w, fceq_d, fcne_w, fcne_d, fclt_w, fclt_d,
-	fcult_w, fcult_d, fcle_w, fcle_d, fcule_w, fcule_d, fsaf_w,
-	fsaf_d, fsor_w, fsor_d, fsun_w, fsun_d, fsune_w, fsune_d,
-	fsueq_w, fsueq_d, fseq_w, fseq_d, fsne_w, fsne_d, fslt_w,
-	fslt_d, fsult_w, fsult_d, fsle_w, fsle_d, fsule_w, fsule_d,
-	fadd_w,	fadd_d, fsub_w, fsub_d, fmul_w, fmul_d, fdiv_w, fdiv_d,
-	fmadd_w, fmadd_d, fmsub_w, fmsub_d, fexp2_w, fexp2_d, fexdo_h,
-	fexdo_w, ftq_h, ftq_w, fmin_w, fmin_d, fmin_a_w, fmin_a_d,
-	fmax_w, fmax_d, fmax_a_w, fmax_a_d, mul_q_h, mul_q_w, mulr_q_h,
-	mulr_q_w, madd_q_h, madd_q_w, maddr_q_h, maddr_q_w, msub_q_h,
-	msub_q_w, msubr_q_h, msubr_q_w, fclass_w, fclass_d, fsqrt_w,
-	fsqrt_d, frcp_w, frcp_d, frint_w, frint_d, frsqrt_w, frsqrt_d,
-	flog2_w, flog2_d, fexupl_w, fexupl_d, fexupr_w, fexupr_d, ffql_w,
-	ffql_d, ffqr_w, ffqr_d, ftint_s_w, ftint_s_d, ftint_u_w,
-	ftint_u_d, ftrunc_s_w, ftrunc_s_d, ftrunc_u_w, ftrunc_u_d,
-	ffint_s_w, ffint_s_d, ffint_u_w, ffint_u_d, ctcmsa, cfcmsa,
-	move_v builtins.
-	(mips_get_builtin_decl_index): New array.
-	(MIPS_ATYPE_QI, MIPS_ATYPE_HI, MIPS_ATYPE_V2DI, MIPS_ATYPE_V4SI)
-	(MIPS_ATYPE_V8HI, MIPS_ATYPE_V16QI, MIPS_ATYPE_V2DF)
-	(MIPS_ATYPE_V4SF, MIPS_ATYPE_UV2DI, MIPS_ATYPE_UV4SI)
-	(MIPS_ATYPE_UV8HI, MIPS_ATYPE_UV16QI): New.
-	(mips_init_builtins): Initialize mips_get_builtin_decl_index
-	array.
-	(TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Define target
-	hook.
-	(mips_expand_builtin_insn): Prepare operands for
-	CODE_FOR_msa_addvi_b, CODE_FOR_msa_addvi_h, CODE_FOR_msa_addvi_w,
-	CODE_FOR_msa_addvi_d, CODE_FOR_msa_clti_u_b,
-	CODE_FOR_msa_clti_u_h, CODE_FOR_msa_clti_u_w,
-	CODE_FOR_msa_clti_u_d, CODE_FOR_msa_clei_u_b,
-	CODE_FOR_msa_clei_u_h, CODE_FOR_msa_clei_u_w,
-	CODE_FOR_msa_clei_u_d, CODE_FOR_msa_maxi_u_b,
-	CODE_FOR_msa_maxi_u_h, CODE_FOR_msa_maxi_u_w,
-	CODE_FOR_msa_maxi_u_d, CODE_FOR_msa_mini_u_b,
-	CODE_FOR_msa_mini_u_h, CODE_FOR_msa_mini_u_w,
-	CODE_FOR_msa_mini_u_d, CODE_FOR_msa_subvi_b,
-	CODE_FOR_msa_subvi_h, CODE_FOR_msa_subvi_w, CODE_FOR_msa_subvi_d,
-	CODE_FOR_msa_ceqi_b, CODE_FOR_msa_ceqi_h, CODE_FOR_msa_ceqi_w,
-	CODE_FOR_msa_ceqi_d, CODE_FOR_msa_clti_s_b,
-	CODE_FOR_msa_clti_s_h, CODE_FOR_msa_clti_s_w,
-	CODE_FOR_msa_clti_s_d, CODE_FOR_msa_clei_s_b,
-	CODE_FOR_msa_clei_s_h, CODE_FOR_msa_clei_s_w,
-	CODE_FOR_msa_clei_s_d, CODE_FOR_msa_maxi_s_b,
-	CODE_FOR_msa_maxi_s_h, CODE_FOR_msa_maxi_s_w,
-	CODE_FOR_msa_maxi_s_d, CODE_FOR_msa_mini_s_b,
-	CODE_FOR_msa_mini_s_h, CODE_FOR_msa_mini_s_w,
-	CODE_FOR_msa_mini_s_d, CODE_FOR_msa_andi_b, CODE_FOR_msa_ori_b,
-	CODE_FOR_msa_nori_b, CODE_FOR_msa_xori_b, CODE_FOR_msa_bmzi_b,
-	CODE_FOR_msa_bmnzi_b, CODE_FOR_msa_bseli_b, CODE_FOR_msa_fill_b,
-	CODE_FOR_msa_fill_h, CODE_FOR_msa_fill_w, CODE_FOR_msa_fill_d,
-	CODE_FOR_msa_ilvl_b, CODE_FOR_msa_ilvl_h, CODE_FOR_msa_ilvl_w,
-	CODE_FOR_msa_ilvl_d, CODE_FOR_msa_ilvr_b, CODE_FOR_msa_ilvr_h,
-	CODE_FOR_msa_ilvr_w, CODE_FOR_msa_ilvr_d, CODE_FOR_msa_ilvev_b,
-	CODE_FOR_msa_ilvev_h, CODE_FOR_msa_ilvev_w, CODE_FOR_msa_ilvod_b,
-	CODE_FOR_msa_ilvod_h, CODE_FOR_msa_ilvod_w, CODE_FOR_msa_pckev_b,
-	CODE_FOR_msa_pckev_h, CODE_FOR_msa_pckev_w, CODE_FOR_msa_pckod_b,
-	CODE_FOR_msa_pckod_h, CODE_FOR_msa_pckod_w, CODE_FOR_msa_slli_b,
-	CODE_FOR_msa_slli_h, CODE_FOR_msa_slli_w, CODE_FOR_msa_slli_d,
-	CODE_FOR_msa_srai_b, CODE_FOR_msa_srai_h, CODE_FOR_msa_srai_w,
-	CODE_FOR_msa_srai_d, CODE_FOR_msa_srli_b, CODE_FOR_msa_srli_h,
-	CODE_FOR_msa_srli_w, CODE_FOR_msa_srli_d, CODE_FOR_msa_insert_b,
-	CODE_FOR_msa_insert_h, CODE_FOR_msa_insert_w,
-	CODE_FOR_msa_insert_d, CODE_FOR_msa_insve_b,
-	CODE_FOR_msa_insve_h, CODE_FOR_msa_insve_w, CODE_FOR_msa_insve_d,
-	CODE_FOR_msa_shf_b, CODE_FOR_msa_shf_h, CODE_FOR_msa_shf_w,
-	CODE_FOR_msa_shf_w_f, CODE_FOR_msa_vshf_b, CODE_FOR_msa_vshf_h,
-	CODE_FOR_msa_vshf_w, CODE_FOR_msa_vshf_d.
-	(mips_expand_builtin): Add case for MIPS_BULTIN_MSA_TEST_BRANCH.
-	(mips_set_compression_mode): Disallow MSA with MIPS16 code.
-	(mips_option_override): -mmsa requires -mfp64 and -mhard-float.
-	These are set implicitly and an error is reported if overridden.
-	(mips_expand_builtin_msa_test_branch): New function.
-	(mips_expand_msa_shuffle): Likewise.
-	(MAX_VECT_LEN): Increase maximum length of a vector to 16 bytes.
-	(TARGET_SCHED_REASSOCIATION_WIDTH): Define target hook.
-	(TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Likewise.
-	(mips_expand_vec_unpack): Add support for MSA.
-	(mips_expand_vector_init): Likewise.
-	(mips_expand_vi_constant): Use CONST0_RTX (element_mode)
-	instead of const0_rtx.
-	(mips_msa_vec_parallel_const_half): New function.
-	(mips_gen_const_int_vector): Likewise.
-	(mips_gen_const_int_vector_shuffle): Likewise.
-	(mips_expand_msa_cmp): Likewise.
-	(mips_expand_vec_cond_expr): Likewise.
-	* config/mips/mips.h
-	(TARGET_CPU_CPP_BUILTINS): Add __mips_msa and __mips_msa_width.
-	(OPTION_DEFAULT_SPECS): Ignore --with-fp-32 if -mmsa is
-	specified.
-	(ASM_SPEC): Pass mmsa and mno-msa to the assembler.
-	(ISA_HAS_MSA): New macro.
-	(UNITS_PER_MSA_REG): Likewise.
-	(BITS_PER_MSA_REG): Likewise.
-	(BIGGEST_ALIGNMENT): Redefine using ISA_HAS_MSA.
-	(MSA_REG_FIRST): New macro.
-	(MSA_REG_LAST): Likewise.
-	(MSA_REG_NUM): Likewise.
-	(MSA_REG_P): Likewise.
-	(MSA_REG_RTX_P): Likewise.
-	(MSA_SUPPORTED_MODE_P): Likewise.
-	(HARD_REGNO_CALL_PART_CLOBBERED): Redefine using TARGET_MSA.
-	(ADDITIONAL_REGISTER_NAMES): Add named registers $w0-$w31.
-	* config/mips/mips.md: Include mips-msa.md.
-	(alu_type): Add simd_add.
-	(mode): Add V2DI, V4SI, V8HI, V16QI, V2DF, V4SF.
-	(type): Add simd_div, simd_fclass, simd_flog2, simd_fadd,
-	simd_fcvt, simd_fmul, simd_fmadd, simd_fdiv, simd_bitins,
-	simd_bitmov, simd_insert, simd_sld, simd_mul, simd_fcmp,
-	simd_fexp2, simd_int_arith, simd_bit, simd_shift, simd_splat,
-	simd_fill, simd_permute, simd_shf, simd_sat, simd_pcnt,
-	simd_copy, simd_branch, simd_cmsa, simd_fminmax, simd_logic,
-	simd_move, simd_load, simd_store.  Choose "multi" for moves
-	for "qword_mode".
-	(qword_mode): New attribute.
-	(insn_count): Add instruction count for quad moves.
-	Increase the count for MIPS SIMD division.
-	(UNITMODE): Add UNITMODEs for vector types.
-	(addsub): New code iterator.
-	* config/mips/mips.opt (mmsa): New option.
-	* config/mips/msa.h: New file.
-	* config/mips/mti-elf.h: Don't infer -mfpxx if -mmsa is
-	specified.
-	* config/mips/mti-linux.h: Likewise.
-	* config/mips/predicates.md
-	(const_msa_branch_operand): New constraint.
-	(const_uimm3_operand): Likewise.
-	(const_uimm4_operand): Likewise.
-	(const_uimm5_operand): Likewise.
-	(const_uimm8_operand): Likewise.
-	(const_imm5_operand): Likewise.
-	(aq10b_operand): Likewise.
-	(aq10h_operand): Likewise.
-	(aq10w_operand): Likewise.
-	(aq10d_operand): Likewise.
-	(const_m1_operand): Likewise.
-	(reg_or_m1_operand): Likewise.
-	(const_exp_2_operand): Likewise.
-	(const_exp_4_operand): Likewise.
-	(const_exp_8_operand): Likewise.
-	(const_exp_16_operand): Likewise.
-	(const_vector_same_val_operand): Likewise.
-	(const_vector_same_simm5_operand): Likewise.
-	(const_vector_same_uimm5_operand): Likewise.
-	(const_vector_same_uimm6_operand): Likewise.
-	(const_vector_same_uimm8_operand): Likewise.
-	(par_const_vector_shf_set_operand): Likewise.
-	(reg_or_vector_same_val_operand): Likewise.
-	(reg_or_vector_same_simm5_operand): Likewise.
-	(reg_or_vector_same_uimm6_operand): Likewise.
-	* doc/extend.texi (MIPS SIMD Architecture Functions): New
-	section.
-	* doc/invoke.texi (-mmsa): Document new option.
-
-2016-05-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	* configure.ac (enable_vtable_verify): Handle --enable-vtable-verify.
-	* configure: Regenerate.
-	* config.in: Regenerate.
-	* gcc.c (VTABLE_VERIFICATION_SPEC) [!ENABLE_VTABLE_VERIFY]: Error
-	on -fvtable-verify.
-	* config/sol2.h [!ENABLE_VTABLE_VERIFY] (STARTFILE_VTV_SPEC): Define.
-	(ENDFILE_VTV_SPEC): Define.
-
-2016-05-09  Kaushik Phatak  <kaushik.phatak@kpit.com>
-
-	* config/rl78/rl78.c (rl78_expand_prologue): Save the MDUC related
-	registers in all interrupt handlers if necessary.
-	(rl78_option_override): Add warning.
-	(MUST_SAVE_MDUC_REGISTERS): New macro.
-	(rl78_expand_epilogue): Restore the MDUC registers if necessary.
-	* config/rl78/rl78.c (check_mduc_usage): New function.
-	(mduc_regs): New structure to hold MDUC register data.
-	* config/rl78/rl78.md (is_g13_muldiv_insn): New attribute.
-	(mulsi3_g13): Add is_g13_muldiv_insn attribute.
-	(udivmodsi4_g13): Add is_g13_muldiv_insn attribute.
-	(mulhi3_g13): Add is_g13_muldiv_insn attribute.
-	* config/rl78/rl78.opt (msave-mduc-in-interrupts): New option.
-	* doc/invoke.texi (RL78 Options): Add -msave-mduc-in-interrupts.
-
-2016-05-09  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-if-conv.c (tree-ssa-loop.h): Include header file.
-	(tree-ssa-loop-niter.h): Ditto.
-	(idx_within_array_bound, ref_within_array_bound): New functions.
-	(ifcvt_memrefs_wont_trap): Check if array ref is within bound.
-	Factor out check on writable base object to ...
-	(base_object_writable): ... here.
-
-2016-05-09  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/arm.md (probe_stack): Add modes to set source
-	and destination.
-
-2016-05-09  Bernd Schmidt  <bschmidt@redhat.com>
-
-	* regrename.c (base_reg_class_for_rename): New static function.
-	(scan_rtx_address, scan_rtx): Use it instead of base_reg_class.
-
-2016-05-08  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cgraph.c (thunk_adjust): Export.
-	* cgraphclones.c (cgraph_node::create_clone): Clone thunk info.
-	* cgraphunit.c (thunk_adjust): Export.
-	(cgraph_node::assemble_thunks_and_aliases): Do not assemble inlined
-	thunks.
-	* ipa-inline-analyssi.c (compute_inline_parameters): Thunks are
-	inlinable.
-	* tree-inline.c (expand_call_inline): Expand thunks inline.
-
-2016-05-08  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/70998
-	* config/i386/sse.md (*sse2_vd_cvtsd2ss): New insn pattern.
-	(*sse2_vd_cvtss2sd): Ditto.
-	* config/i386/i386.md
-	(TARGET_SSE_PARTIAL_REG_DEPENDENCY float_truncate df->sf splitter):
-	Generate *sse2_vd_cvtsd2ss pattern.
-	(TARGET_SSE_PARTIAL_REG_DEPENDENCY float_extend sf->df splitter):
-	Generate *sse2_vd_cvtss2sd pattern.
-
-2016-05-08  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	* config/sh/sh.h (GET_SH_ARG_CLASS): Convert macro into ...
-	* config/sh/sh.c (get_sh_arg_class): ... this new function.  Update its
-	users.
-
-2016-05-08  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	* config/sh/sh-protos.h (sh_media_register_for_return): Remove.
-	* config/sh/sh.c: Define and declare variables on first use throughout
-	the file.
-	(current_function_interrupt): Change to bool type.
-	(frame_insn): Rename to emit_frame_insn and update users.
-	(push_regs): Use bool for 'interrupt_handler' argument.
-	(save_schedule_s): Remove.
-	(TARGET_ASM_UNALIGNED_DI_OP, TARGET_ASM_ALIGNED_DI_OP): Remove.
-	(sh_option_override): Don't nullify targetm.asm_out.aligned_op.di and
-	targetm.asm_out.unaligned_op.di.
-	(gen_far_branch): Remove redundant forward declaration.
-	(sh_media_register_for_return, MAX_SAVED_REGS, save_entry_s, save_entry,
-	MAX_TEMPS, save_schedule_ssave_schedule): Remove.
-	(sh_set_return_address, sh_function_ok_for_sibcall,
-	scavenge_reg): Update comments.
-	(sh_builtin_saveregs): Use TRAGET_FPU_ANY condition.
-	(sh2a_get_function_vector_number, sh2a_function_vector_p): Use for loop.
-	(sh_attr_renesas_p): Remove unnecessary parentheses.
-	(branch_dest): Simplify.
-	* config/sh/sh.h (sh_args): Remove byref, byref_regs, stack_regs fields.
-	Change force_mem, prototype_p, outgoing, renesas_abi fields to bool.
-	(CUMULATIVE_ARGS): Change macro to typedef.
-	(current_function_interrupt): Change to bool type.
-	(sh_arg_class, sh_args, CUMULATIVE_ARGS, current_function_interrupt):
-	Surround with __cplusplus ifdef.
-	(sh_compare_op0, sh_compare_op1): Remove.
-	(EPILOGUE_USES): Use TARGET_FPU_ANY condition.
-
-2016-05-07  Jim Wilson  <jim.wilson@linaro.org>
-
-	* config/arm/arm.md (arch): Add neon.
-	(arch_enabled): Return yes for arch neon when TARGET_NEON.
-	* config/arm/vfp.md (movdf_vfp): Add w/G as alternative 3.  Add
-	neon_move as type for alt 3.  Add arch attr enabling alt 3 for neon.
-	Emit vmov.i64 for alt 3.  Renumber alternatives 3 to 8.  Adjust
-	attributes for alt renumbering.  Mark alt 3 as non-predicable.
-	(thumb2_movdf_vfp): Likewise.
-
-2016-05-07  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*addqi_1): Add preferred_for_speed attribute
-	to disparage alternatives 3 and 4 for TARGET_PARTIAL_REG_STALL targets.
-	(*andqi_1): Add preferred_for_speed attribute to disparage
-	alternative 2 for TARGET_PARTIAL_REG_STALL targets.
-	(*<code>qi_1): Ditto.
-	(*one_cmplqi2_1): Add preferred_for_speed attribute to disparage
-	alternative 1 for TARGET_PARTIAL_REG_STALL targets.
-	(*ashlqi3_1): Ditto.
-	(*swap<mode>): Merge from *swap<mode>_1 and *swap<mode>_2 patterns.
-	Add preferred_for_size attribute to disparage alternative 0 and
-	preferred_for_speed attribute to disparage alternative 1 for
-	TARGET_PARTIAL_REG_STALL targets.
-
-2016-05-07  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/70956
-	* graphite-scop-detection.c (build_cross_bb_scalars_def): Handle NULL
-	def.
-
-2016-05-07  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	* config/sh/sh-protos.h (sh_cbranch_distance): Declare new function.
-	* config/sh/sh.c (sh_cbranch_distance): Implement it.
-	* config/sh/sh.md (branch_zero): Remove define_attr.
-	(define_delay): Disable delay slot if branch distance is one insn.
-
-2016-05-06  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (LEAMODE): New mode attribute.
-	(plus to LEA splitter): Rewrite splitter using LEAMODE mode attribute.
-	(ashift to LEA splitter): Rewrte splitter using SWI mode iterator
-	and LEAMODE mode attribute.  Use VOIDmode const_0_to_3_operand as
-	operand 2 predicate.
-	(*lea<mode>_general_2): Use VOIDmode for const248_operand.
-	(*lea<mode>_general_3): Ditto.
-	(*lea<mode>_general_4): Use VOIDmode for const_0_to_3_operand.
-
-2016-05-06  Jakub Jelinek  <jakub@redhat.com>
-
-	* genmddump.c (main): Convert argv from char ** to const char **.
-
-2016-05-06  David Malcolm  <dmalcolm@redhat.com>
-
-	* coretypes.h (OVERRIDE): New macro.
-	(FINAL): New macro.
-
-2016-05-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-ssa-coalesce.c (gimple_can_coalesce_p): In the optimized case,
-	allow coalescing if the types are compatible.
-
-2016-05-06  David Malcolm  <dmalcolm@redhat.com>
-
-	* pass_manager.h (pass_manager::register_pass_name): New method.
-	(pass_manager::get_pass_by_name): New method.
-	(pass_manager::create_pass_tab): New method.
-	(pass_manager::m_name_to_pass_map): New field.
-	* passes.c (name_to_pass_map): Delete global in favor of field
-	"m_name_to_pass_map" of pass_manager.
-	(register_pass_name): Rename from a function to...
-	(pass_manager::register_pass_name): ...this method, updating
-	for renaming of global "name_to_pass_map" to field
-	"m_name_to_pass_map".
-	(create_pass_tab): Rename from a function to...
-	(pass_manager::create_pass_tab): ...this method, updating
-	for renaming of global "name_to_pass_map" to field.
-	(get_pass_by_name): Rename from a function to...
-	(pass_manager::get_pass_by_name): ...this method.
-	(enable_disable_pass): Convert use of get_pass_by_name to
-	a method call, locating the pass_manager singleton.
-
-2016-05-06  David Malcolm  <dmalcolm@redhat.com>
-
-	* genattr-common.c (main): Convert argv from char ** to const char **.
-	* genattr.c (main): Likewise.
-	* genattrtab.c (main): Likewise.
-	* genautomata.c (initiate_automaton_gen): Likewise.
-	(main): Likewise.
-	* gencodes.c (main): Likewise.
-	* genconditions.c (main): Likewise.
-	* genconfig.c (main): Likewise.
-	* genconstants.c (main): Likewise.
-	* genemit.c (main): Likewise.
-	* genenums.c (main): Likewise.
-	* genextract.c (main): Likewise.
-	* genflags.c (main): Likewise.
-	* genmddeps.c (main): Likewise.
-	* genopinit.c (main): Likewise.
-	* genoutput.c (main): Likewise.
-	* genpeep.c (main): Likewise.
-	* genpreds.c (main): Likewise.
-	* genrecog.c (main): Likewise.
-	* gensupport.c (init_rtx_reader_args_cb): Likewise.
-	(init_rtx_reader_args): Likewise.
-	* gensupport.h (init_rtx_reader_args_cb): Likewise.
-	(init_rtx_reader_args): Likewise.
-	* gentarget-def.c (main): Likewise.
-	* read-md.c (read_md_files): Likewise.
-	* read-md.h (read_md_files): Likewise.
-
-2016-05-06  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (int cmove peephole2s): Use general_reg_operand
-	instead of register_and_not_any_fp_reg_operand as operand 0 predicate.
-	* config/i386/predicates.md (register_and_not_any_fp_reg_operand):
-	Remove unused predicate.
-	(register_and_not_fp_reg_operand): Ditto.
-
-2016-05-06  Martin Liska  <mliska@suse.cz>
-
-	* tree-if-conv.c (ifcvt_split_critical_edges): Use auto_vec
-	instead of vec as the vector is local to the function.
-
-2016-05-06  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/sse.md (*<code>v8hi3, *<code>v16qi3): Add
-	avx512bw alternative.
-
-	* config/i386/sse.md (<mask_codefor>ashr<mode>3<mask_name>): Move
-	before the ashr<mode>3 pattern.
-
-	* config/i386/sse.md (*avx2_pmaddwd, *sse2_pmaddwd): Use
-	v instead of x in vex or maybe_vex alternatives, use
-	maybe_evex instead of vex in prefix.
-
-	* config/i386/sse.md (*vec_extractv4sf_0, *sse4_1_extractps,
-	*vec_extractv4sf_mem, vec_extract_lo_v16hi, vec_extract_hi_v16hi,
-	vec_extract_lo_v32qi, vec_extract_hi_v32qi): Use v instead of x
-	in vex or maybe_vex alternatives, use maybe_evex instead of vex
-	in prefix.
-
-	* config/i386/sse.md (*vec_concatv2sf_sse4_1, *vec_concatv4sf): Use
-	v instead of x in vex or maybe_vex alternatives, use
-	maybe_evex instead of vex in prefix.
-
-	* config/i386/sse.md (sse_shufps_<mode>, sse_storehps, sse_loadhps,
-	sse_storelps, sse_movss, avx2_vec_dup<mode>, avx2_vec_dupv8sf_1,
-	sse2_shufpd_<mode>, sse2_storehpd, sse2_storelpd, sse2_loadhpd,
-	sse2_loadlpd, sse2_movsd): Use v instead of x in vex or maybe_vex
-	alternatives, use maybe_evex instead of vex in prefix.
-
-	* config/i386/sse.md (vec_interleave_lowv4sf,
-	*vec_interleave_highv2df, *vec_interleave_lowv2df): Use
-	v instead of x in vex or maybe_vex alternatives, use
-	maybe_evex instead of vex in prefix.
-
-	* config/i386/sse.md (sse_movhlps, sse_movlhps): Use
-	v instead of x in vex or maybe_vex alternatives, use
-	maybe_evex instead of vex in prefix.
-
-	* config/i386/sse.md (*avx_cvtpd2dq256_2, *avx_cvtps2pd256_2): Use
-	v constraint instead of x.
-
-2016-05-06  Nathan Sidwell  <nathan@codesourcery.com>
-
-	* gimple.c (gimple_call_same_target_p): Unique functions are eq.
-	* tree-ssa-tail-merge.c (same_succ::equal): Check pointer eq
-	equality first.
-
-2016-05-06  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/70948
-	* tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
-	Properly clobber all fields of va_list for __builtin_va_start.
-
-2016-05-06  Yuri Rumyantsev  <ysrumyan@gmail.com>
-
-	PR debug/70935
-	* tree-ssa-loop-unswitch.c (find_loop_guard): Reject guard edge with
-	loop latch destination.
-
-2016-05-06  Martin Liska  <mliska@suse.cz>
-
-	* tree-ssa-uninit.c: Apply manual changes
-	to the GNU coding style.
-	(prune_uninit_phi_opnds): Rename from
-	prune_uninit_phi_opnds_in_unrealizable_paths.
-
-2016-05-06  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	* config/sh/sh.opt (madjust-unroll, minvalid-symbols, msoft-atomic,
-	mspace): Remove deprecated options.
-	* doc/invoke.texi (SH options): Remove -mspace.
-
-2016-05-06  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	* config/sh/sh.md (ic_invalidate_line_sh4a): Fix insn length.
-
-2016-05-06  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	* config/sh/sh.md (*cmpeqsi_t): Remove combine insn pattern and similar
-	corresponding combine split pattern.
-
-2016-05-06  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	PR target/58219
-	* config/sh/predicates.md (long_displacement_mem_operand): New.
-	* config/sh/sh.md (movsi_i): Allow for SH2A, disallow for any FPU.
-	Add movi20, movi20s alternatives.  Adjust length attribute for
-	alternatives.
-	(movsi_ie): Allow for any FPU.  Adjust length attribute for
-	alternatives.
-	(movsi_i_lowpart): Add movi20, movi20s alternatives.  Adjust length
-	attribute for alternatives.
-	(*mov<mode>): Use long_displacement_mem_operand for length attribute.
-	(*movdi_i, movdf_k, movdf_i4, movsf_i, movsf_ie, movsf_ie_ra): Adjust
-	length attribute for alternatives.
-
-2016-05-06  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/70960
-	* tree-if-conv.c (ifcvt_walk_pattern_tree): Handle non-SSA ops.
-
-2016-05-06  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	PR target/52933
-	* config/sh/sh.md (*cmp_div0s_7, *cmp_div0s_8): Add div0s variants.
-	* config/sh/sh.c (sh_rtx_costs): Add another div0s case.
-
-2016-05-06  Marek Polacek  <polacek@redhat.com>
-
-	PR sanitizer/70875
-	* ubsan.c (get_ubsan_type_info_for_type): Remove assert.
-
-2016-05-06  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	PR target/54089
-	* config/sh/sh.md (*rotcr): Add another variant.
-
-2016-05-06  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/70931
-	* dwarf2out.c (native_encode_initializer): Skip zero-sized fields.
-
-2016-05-06  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/70941
-	* fold-const.c (split_tree): Always convert to the original type
-	before negating.
-
-2016-05-06  Richard Biener  <rguenther@suse.de>
-
-	* fwprop.c (fwprop): Remove duplicate cleanup_cfg call.
-	(fwprop_addr): Likewise.
-
-2016-05-06  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/70873
-	* config/i386/i386-protos.h (ix86_standard_x87sse_constant_load_p):
-	New prototype.
-	* config/i386/i386.c (ix86_standard_x87sse_constant_load_p): New.
-	* config/i386/i386.md (push mem splitter): Use find_constant_src in
-	the splitter condition.
-	(FP load splitter): Use ix86_standard_x87sse_constant_load_p in
-	the splitter condition.
-	(FP float_extend load splitter): Ditto.
-
-2016-05-05  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (peehole2 patterns): Change true_regnum
-	to REGNO in all peephole2 patterns.
-	(post-reload splitters): Change true_regnum to REGNO in
-	post-reload splitters.
-	(zero_extend splitters): Use general_reg_operand and
-	nonimmediate_gr_operand predicates.
-
-2016-05-05  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/sse.md (<avx512>_fmadd_<mode>_mask3<round_name>): Use
-	v constraint instead of x.
-
-2016-05-05  Alan Modra  <amodra@gmail.com>
-
-	PR target/68662
-	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't
-	set OPTION_MASK_RELOCATABLE when flag_pic == 2.  Set
-	TARGET_NO_FP_IN_TOC for -mrelocatable.
-	(MINIMAL_TOC_SECTION_ASM_OP): Remove redundant
-	TARGET_RELOCATABLE test.
-	(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
-	(ASM_PREFERRED_EH_DATA_FORMAT): Likewise.
-	* config/rs6000/linux64.h (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
-	(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
-	(ASM_PREFERRED_EH_DATA_FORMAT): Likewise.
-	* config/rs6000/freebsd64.h (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
-	(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
-	(ASM_PREFERRED_EH_DATA_FORMAT): Likewise.
-	* config/rs6000/predicates.md (easy_fp_constant): Likewise.
-	* config/rs6000/rs6000.c (rs6000_elf_output_toc_section_asm_op):
-	Likewise.
-	(rs6000_assemble_integer): Update TARGET_RELOCATABLE test.
-	(rs6000_stack_info): Likewise.
-	(rs6000_elf_asm_out_constructor): Likewise.
-	(rs6000_elf_asm_out_destructor): Likewise.
-	(rs6000_elf_declare_function_name): Likewise.
-	* config/rs6000/rs6000.md (load_toc_aix_di): Likewise.
-	* config/rs6000/rs6000.h (MASK_RELOCATABLE, MASK_MINIMAL_TOC):
-	Don't define.
-
-2016-05-05  Alan Modra  <amodra@gmail.com>
-
-	* config/rs6000/rs6000.c (rs6000_frame_related): Rewrite.
-
-2016-05-05  Alan Modra  <amodra@gmail.com>
-
-	* config/rs6000/rs6000.c (rs6000_savres_strategy): Don't use
-	out-of-line gpr restore for one or two regs if that would add
-	a save of lr.
-
-2016-05-04  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/70873
-	* config/i386/i386.md
-	(TARGET_SSE_PARTIAL_REG_DEPENDENCY float_extend sf->df peephole2):
-	Change to post-epilogue_completed late splitter.  Use sse_reg_operand
-	as operand 0 predicate.
-	(TARGET_SSE_PARTIAL_REG_DEPENDENCY float_truncate df->sf peephole2):
-	Ditto.
-	(TARGET_SSE_PARTIAL_REG_DEPENDENCY float {si,di}->{sf,df} peephole2):
-	Ditto.  Emit the pattern using RTX.
-
-	(TARGET_USE_VECTOR_FP_CONVERTS float_extend sf->df splitter):
-	Use sse_reg_opreand as operand 0 predicate.  Do not use true_regnum in
-	the post-reload splitter.  Use lowpart_subreg instead of gen_rtx_REG.
-	(TARGET_USE_VECTOR_FP_CONVERTS float_truncate df->sf splitter):
-	Ditto.
-	(TARGET_USE_VECTOR_CONVERTS float si->{sf,df} splitter): Use
-	sse_reg_operand as operand 0 predicate.
-
-	(TARGET_SPLIT_MEM_OPND_FOR_FP_CONVERTS float_extend sf->df peephole2):
-	Use sse_reg_opreand as operand 0 predicate.  Use lowpart_subreg
-	instead of gen_rtx_REG.
-	(TARGET_SPLIT_MEM_OPND_FOR_FP_CONVERTS float_truncate sf->df peephole2):
-	Ditto.
-
-2016-05-04  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* function.c (emit_use_return_register_into_block): Delete.
-	(gen_return_pattern): Delete.
-	(emit_return_into_block): Delete.
-	(active_insn_between): Delete.
-	(convert_jumps_to_returns): Delete.
-	(emit_return_for_exit): Delete.
-	(thread_prologue_and_epilogue_insns): Delete all code dealing with
-	simple_return for shrink-wrapped blocks.
-	* shrink-wrap.c (try_shrink_wrapping): Insert simple_return at the
-	end of blocks that need one.
-	(get_unconverted_simple_return): Delete.
-	(convert_to_simple_return): Delete.
-	* shrink-wrap.c (get_unconverted_simple_return): Delete declaration.
-	(convert_to_simple_return): Ditto.
-
-2016-05-04  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* cfgcleanup.c (bb_is_just_return): New function.
-	(try_optimize_cfg): Simplify jumps to return, branches to return,
-	and branches around return.
-
-2016-05-04  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* cfgcleanup.c (try_simplify_condjump): Don't try to simplify a
-	branch to a return.
-
-2016-05-04  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/70906
-	PR c++/70933
-	* tree-core.h (enum operand_equal_flag): Add OEP_HASH_CHECK.
-	* tree.c (inchash::add_expr): If !IS_EXPR_CODE_CLASS (tclass),
-	assert flags & OEP_HASH_CHECK, instead of asserting it
-	never happens.  Handle TARGET_EXPR.
-	* fold-const.c (operand_equal_p): For hash verification,
-	or in OEP_HASH_CHECK into flags.
-
-2016-05-04  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-ssa-coalesce.c (gimple_can_coalesce_p): Fix reference in head
-	comment.
-	(compute_samebase_partition_bases): Fix typo.
-
-2016-05-04  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/sse.md (vec_interleave_highv8sf,
-	vec_interleave_lowv8sf, vec_interleave_highv4df,
-	vec_interleave_lowv4df): Remove constraints from expanders.
-
-	* config/i386/sse.md (sse2_movq128): Use v constraint instead of x.
-
-2016-05-04  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-inline.c (expand_call_inline): Fix path dealing with
-	making lhs of call statement undefined.
-
-2016-05-04  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
-	Check availability on NODE, too.
-	* cgraph.h (symtab_node::call_for_symbol_and_aliases): Likewise.
-	(cgraph_node::call_for_symbol_and_aliases): Likewise.
-	(varpool_node::call_for_symbol_and_aliase): Likewise.
-	* ipa-pure-const.c (add_new_function): Analyze all bodies.
-	(propagate_pure_const): Propagate across interposable functions, too.
-	(skip_function_for_local_pure_const): Do not skip interposable bodies
-	with aliases.
-	(pass_local_pure_const::execute): Update.
-
-2016-05-04  Marek Polacek  <polacek@redhat.com>
-
-	* doc/invoke.texi: Document -Wdangling-else.
-
-2016-05-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config.gcc: Error out when conflicting multilib is detected.  Do not
-	loop over multilibs since no combination is legal.
-
-2016-05-04  Alan Modra  <amodra@gmail.com>
-
-	* config/rs6000/rs6000.h (PIC_OFFSET_TABLE_REGNUM): Correct.
-	* config/rs6000/sysv4.h (TARGET_TOC): Simplify.
-	* config/rs6000/rs6000.c (rs6000_elf_output_toc_section_asm_op):
-	Align .toc.
-
-2016-05-04  Matthew Fortune  <matthew.fortune@imgtec.com>
-
-	* config/mips/mips-cpus.def (p5600): Avoid IMADD by default.
-	Clean up p5600 comments.
-
-2016-05-04  Richard Biener  <rguenther@suse.de>
-
-	* match.pd: Add BIT_FIELD_REF canonicalizations and vector
-	constructor simplifications.
-	* fold-const.c (fold_ternary_loc): Remove duplicate functionality here.
-
-2016-05-04  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	* config/sh/predicates (post_inc_mem, pre_dec_mem): New predicates.
-	* config/sh/sh-protos.h (sh_find_set_of_reg): Return null result if
-	result.set_rtx is null instead of aborting.
-	* config/sh/sh.h (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT):
-	Always enable.
-	(USE_LOAD_PRE_DECREMENT, USE_STORE_POST_INCREMENT): Enable for SH2A.
-	* config/sh/sh.md (*extend<mode>si2_predec, *mov<mode>_load_predec,
-	*mov<mode>_store_postinc): New patterns.
-
-2016-05-04  Marc Glisse  <marc.glisse@inria.fr>
-
-	* match.pd ((A | B) & (A | C)): Generalize to BIT_XOR_EXPR.  Mark
-	as commutative.  Check both conversions are NOP.
-	((A & B) OP (C & B)): Remove.
-
-2016-05-04  Alan Modra  <amodra@gmail.com>
-
-	* combine.c (simplify_set): Correct WORD_REGISTER_OPERATIONS test.
-
-2016-05-04  Alan Modra  <amodra@gmail.com>
-
-	PR target/70866
-	* config/rs6000/rs6000.c (rs6000_stack_info): Don't set cr_save_p
-	when cr2,3,4 are all fixed regs.
-
-2016-05-04  Bernd Schmidt  <bschmidt@redhat.com>
-
-	PR rtl-optimization/57193
-	* opts.c (default_options_table): Revert OPT_frename_registers change.
-	* doc/invoke.texi (-frename-registers, -O2): Likewise.
-
-2016-05-03  Martin Sebor  <msebor@redhat.com>
-
-	PR c++/66561
-	* builtins.c (fold_builtin_FILE): New function.
-	(fold_builtin_FUNCTION, fold_builtin_LINE): New functions.
-	(fold_builtin_0): Call them.
-	* gimplify.c (gimplify_call_expr): Remove the handling of
-	BUILT_IN_FILE, BUILT_IN_FUNCTION, and BUILT_IN_LINE.
-
-	PR c++/66561
-	* doc/extend.texi (Other Builtins): Update __builtin_FILE,
-	__builtin_FUNCTION, and __builtin_LINE to reflect they yield
-	constants.
-
-	PR c++/66639
-	* doc/extend.texi (Function Names as Strings): Update __func__,
-	__FUNCTION__, __PRETTY_FUNCTION__ to reflect they evaluate to
-	constants.
-
-2016-05-03  Jakub Jelinek  <jakub@redhat.com>
-	    Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/70916
-	* tree-if-conv.c: Include cfganal.h.
-	(pass_if_conversion::execute): Call connect_infinite_loops_to_exit
-	and remove_fake_exit_edges around the optimization pass.
-
-2016-05-03  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cgraph.c (symbol_table::create_edge): Set inline_failed.
-	(cgraph_edge::make_direct): Likewise.
-	(cgraph_edge::dump_edge_flags): Dump call_stmt_cannot_inline_p.
-	* cgraphclones.c (duplicate_thunk_for_node): Set inline_failed.
-	* cif-code.def (CIF_LTO_MISMATCHED_DECLARATIONS): New code
-	(CIF_THUNK): New code.
-	* ipa-inline-analysis.c (initialize_inline_failed): Preserve
-	CIF_FINAL_ERROR codes; do not deal with call_stmt_cannot_inline_p.
-	(compute_inline_parameters): Set inline_failed for thunks.
-	(inline_analyze_function): Cleanup.
-	* ipa-inline.c (can_inline_edge_p): Do not deal with
-	call_stmt_cannot_inline_p.
-	(can_early_inline_edge_p): Likewise.
-	(early_inliner): Initialize inline_failed.
-	* lto-cgraph.c (lto_output_edge): Sanity check inline_failed.
-
-2016-05-03  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/predicates.md (x87nonimm_ssenomem_operand): Rename
-	from nonimm_ssenomem_operand.
-	(nonimm_ssenomem_operand): New predicate.
-	* config/i386/i386.md (extendsfdf2): Use nonimm_ssenomem_operand
-	as operand 0 predicate.
-	(*extendsfdf2): Merge from *extendsfdf2_mixed and *extendsfdf2_i387.
-	Disable unsupported alternatives using "enabled" attribute.
-	Use register_ssemem_operand as operand 0 predicate.
-	(*fop_<mode>_1): Use x87nonimm_ssenomem_operand as operand 1 predicate.
-
-2016-05-03  Marek Polacek  <polacek@redhat.com>
-
-	PR c/70859
-	* input.c (expansion_point_location): New function.
-	* input.h (expansion_point_location): Declare.
-
-2016-05-03  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* dwarf2out.c (resolve_args_picking_1): Replace the frame_offset
-	occurence with frame_offset_ ones.
-
-2016-05-03  Alan Modra  <amodra@gmail.com>
-
-	PR rtl-optimization/70890
-	* ira.c (combine_and_move_insns): When moving def_insn, remove
-	equivs on use_insn.
-
-2016-05-03  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	* config/s390/s390.md ("*r<noxa>sbg_<mode>_sll")
-	("*r<noxa>sbg_<mode>_srl"): New define_insns.
-	("*r<noxa>sbg_<mode>_srl_bitmask"): Rename by adding "_bitmask".
-	("*r<noxa>sbg_<mode>_sll_bitmask"): Likewise.
-
-2016-05-03  Alan Modra  <amodra@gmail.com>
-
-	* config/rs6000/rs6000.c (rs6000_savres_strategy): Correct condition
-	for SAVE_MULTIPLE/STORE_MULTIPLE.
-
-2016-05-03  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/i386.md (*truncdfsf_mixed, *truncdfsf_i387,
-	*truncxfsf2_mixed, *truncxfdf2_mixed): Use v constraint instead of x.
-
-2016-05-03  Richard Biener  <rguenther@suse.de>
-
-	* gimplify.h (get_initialized_tmp_var): Add allow_ssa parameter
-	default true.
-	(gimplify_arg): Likewise.
-	* gimplify.c (gimplify_expr): Add overload with allow_ssa parameter,
-	re-writing the result to a decl if required.
-	(internal_get_tmp_var): Add allow_ssa parameter
-	and override into_ssa with it.
-	(get_formal_tmp_var): Adjust.
-	(get_initialized_tmp_var): Add allow_ssa parameter.
-	(gimplify_arg): Add allow_ssa parameter and avoid generating
-	SSA names for the result false.
-	(gimplify_call_expr): If the call may return twice do not
-	gimplify parameters into SSA.
-	(prepare_gimple_addressable): Do not allow an SSA name as temporary.
-	(gimplify_modify_expr): Adjust assert.  For noreturn calls
-	with a SSA name LHS adjust its def.
-	(gimplify_save_expr): Do not allow an SSA name as save-expr result.
-	(gimplify_one_sizepos): Do not allow an SSA name as a sizepos.
-	(gimplify_body): Init GIMPLE SSA data structures and gimplify into-SSA.
-	(gimplify_scan_omp_clauses): Make sure OMP_CLAUSE_SIZE is not
-	an SSA name.  Likewise for OMP_CLAUSE_REDUCTION operands.
-	(gimplify_omp_for): Likewise for OMP_CLAUSE_DECL.  Likewise
-	for OMP_FOR_COND,  OMP_FOR_INCR and OMP_CLAUSE_LINEAR_STEP.
-	(optimize_target_teams): Do not allow SSA names for clause operands.
-	(gimplify_expr): Likewise for where we mark the result addressable.
-	* passes.def (pass_init_datastructures): Remove.
-	* tree-into-ssa.c (mark_def_sites): Ignore existing SSA names.
-	(rewrite_stmt): Likewise.
-	* tree-inline.c (initialize_cfun): Properly transfer SSA state.
-	(replace_locals_op): Replace SSA names.
-	(copy_gimple_seq_and_replace_locals): Init src_cfun.
-	* gimple-low.c (lower_builtin_setjmp): Deal with SSA.
-	* cgraph.c (release_function_body): Free CFG annotations only
-	when we have a CFG.  Simplify.
-	* gimple-fold.c (gimplify_and_update_call_from_tree): Use
-	force_gimple_operand instead of get_initialized_tmp_var.
-	* tree-pass.h (make_pass_init_datastructures): Remove.
-	* tree-ssa.c (execute_init_datastructures): Remove.
-	(pass_data_init_datastructures): Likewise.
-	(class pass_init_datastructures): Likewise.
-	(make_pass_init_datastructures): Likewise.
-	* omp-low.c (create_omp_child_function): Init SSA data structures.
-	(grid_expand_target_grid_body): Likewise.
-	* tree-cfg.c (move_block_to_fn): Double-check the DEF is an SSA
-	name before adding it to names_to_release.
-	(remove_bb): Always release SSA defs.
-	* tree-ssa-ccp.c (get_default_value): Check SSA_NAME_VAR
-	before dereferencing it.
-	* cgraphunit.c (init_lowered_empty_function): Always
-	int SSA data structures.
-	* tree-ssanames.c (release_defs): Remove assert that we are in
-	SSA form.
-	* trans-mem.c (diagnose_tm_1): Handle SSA name function.
-
-2016-05-03  Jakub Jelinek  <jakub@redhat.com>
-	    Uros Bizjak  <ubizjak@gmail.com>
-
-	PR rtl-optimization/70467
-	* config/i386/predicates.md (x86_64_hilo_int_operand,
-	x86_64_hilo_general_operand): New predicates.
-	* config/i386/constraints.md (Wd): New constraint.
-	* config/i386/i386.md (mode attr di): Use Wd instead of e.
-	(general_hilo_operand): New mode attr.
-	(add<mode>3, sub<mode>3): Use <general_hilo_operand>
-	instead of <general_operand>.
-	(*add<dwi>3_doubleword, *sub<dwi>3_doubleword): Use
-	x86_64_hilo_general_operand instead of <general_operand>.
-
-2016-05-03  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/70916
-	* tree-if-conv.c (constant_or_ssa_name): Removed.
-	(fold_build_cond_expr): Use is_gimple_val instead of
-	constant_or_ssa_name.
-
-	PR tree-optimization/70916
-	* tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Give up
-	if COND_EXPR rhs1 is neither SSA_NAME nor COMPARISON_CLASS_P.
-
-	PR target/49244
-	* tree-ssa-ccp.c: Include stor-layout.h and optabs-query.h.
-	(optimize_atomic_bit_test_and): New function.
-	(pass_fold_builtins::execute): Use it.
-	* optabs.def (atomic_bit_test_and_set_optab,
-	atomic_bit_test_and_complement_optab,
-	atomic_bit_test_and_reset_optab): New optabs.
-	* internal-fn.def (ATOMIC_BIT_TEST_AND_SET,
-	ATOMIC_BIT_TEST_AND_COMPLEMENT, ATOMIC_BIT_TEST_AND_RESET): New ifns.
-	* builtins.h (expand_ifn_atomic_bit_test_and): New prototype.
-	* builtins.c (expand_ifn_atomic_bit_test_and): New function.
-	* internal-fn.c (expand_ATOMIC_BIT_TEST_AND_SET,
-	expand_ATOMIC_BIT_TEST_AND_COMPLEMENT,
-	expand_ATOMIC_BIT_TEST_AND_RESET): New functions.
-	* doc/md.texi (atomic_bit_test_and_set@var{mode},
-	atomic_bit_test_and_complement@var{mode},
-	atomic_bit_test_and_reset@var{mode}): Document.
-	* config/i386/sync.md (atomic_bit_test_and_set<mode>,
-	atomic_bit_test_and_complement<mode>,
-	atomic_bit_test_and_reset<mode>): New expanders.
-	(atomic_bit_test_and_set<mode>_1,
-	atomic_bit_test_and_complement<mode>_1,
-	atomic_bit_test_and_reset<mode>_1): New insns.
-
-2016-05-03  Richard Sandiford  <richard.sandiford@arm.com>
-
-	PR rtl-optimization/70687
-	* combine.c (change_zero_ext): Check for scalar modes.  Use wide_int
-	instead of unsigned HOST_WIDE_INT.
-
-2016-05-03  Bernd Schmidt  <bschmidt@redhat.com>
-
-	PR rtl-optimization/44281
-	* hard-reg-set.h (struct target_hard_regs): New field
-	x_fixed_nonglobal_reg_set.
-	(fixed_nonglobal_reg_set): New macro.
-	* reginfo.c (init_reg_sets_1): Initialize it.
-	* ira.c (setup_alloc_regs): Use fixed_nonglobal_reg_set instead
-	of fixed_reg_set.
-	* df-scan.c (df_insn_refs_collect): Asms may reference global regs.
-
-2016-05-03  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/56541
-	* doc/invoke.texi (@item max-tree-if-conversion-phi-args): New item.
-	* params.def (PARAM_MAX_TREE_IF_CONVERSION_PHI_ARGS): new param.
-	* tree-if-conv.c (MAX_PHI_ARG_NUM): new macro.
-	(any_complicated_phi): new static variable.
-	(aggressive_if_conv): delete.
-	(if_convertible_phi_p): support phis with more than two arguments.
-	(if_convertible_bb_p): remvoe check on aggressive_if_conv and
-	critical pred edges.
-	(ifcvt_split_critical_edges): support phis with more than two
-	arguments by checking new parameter.  only split critical edges
-	if needed.
-	(tree_if_conversion): handle simd pragma marked loop using new
-	local variable aggressive_if_conv.  check any_complicated_phi.
-
-2016-05-03  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (get_computation_cost_at): Check depends_on
-	before using it.
-
-2016-05-03  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (get_computation_cost_at): Don't clobber
-	cbase.
-
-2016-05-03  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	* config/sh/sh.md (udivsi3, divsi3, mulsi3): Simplify.
-	(mulhisi3, umulhisi3, (smulsi3_highpart, umulsi3_highpart): Convert to
-	define_insn_and_split.
-	(mulsi3_i): New define_insn_and_split.
-	(mulsi3_call): Convert to define_insn.
-	(mulsidi3, mulsidi3_compact, umulsidi3, umulsidi3_compact):
-	Remove constraints.
-
-2016-05-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* machmode.h (mode_complex): Add support to give the complex mode
-	for a given mode.
-	(GET_MODE_COMPLEX_MODE): Likewise.
-	* stor-layout.c (layout_type): For COMPLEX_TYPE, use the mode
-	stored by build_complex_type and gfc_build_complex_type instead of
-	trying to figure out the appropriate mode based on the size. Raise
-	an assertion error, if the type was not set.
-	* genmodes.c (struct mode_data): Add field for the complex type of
-	the given type.
-	(blank_mode): Likewise.
-	(make_complex_modes): Remember the complex mode created in the
-	base type.
-	(emit_mode_complex): Write out the mode_complex array to map a
-	type mode to the complex version.
-	(emit_insn_modes_c): Likewise.
-	* tree.c (build_complex_type): Set the complex type to use before
-	calling layout_type.
-	* config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Add
-	support for __float128 complex datatypes.
-	(rs6000_hard_regno_mode_ok): Likewise.
-	(rs6000_setup_reg_addr_masks): Likewise.
-	(rs6000_complex_function_value): Likewise.
-	* config/rs6000/rs6000.h (FLOAT128_IEEE_P): Likewise.
-	__float128 and __ibm128 complex.
-	(FLOAT128_IBM_P): Likewise.
-	(ALTIVEC_ARG_MAX_RETURN): Likewise.
-	* doc/extend.texi (Additional Floating Types): Document that
-	-mfloat128 must be used to enable __float128.  Document complex
-	__float128 and __ibm128 support.
-
-2016-05-02  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/49244
-	* gimple.c (gimple_builtin_call_types_compatible_p): Allow
-	char/short arguments promoted to int because of promote_prototypes.
-
-2016-05-02  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/predicates.md (register_ssemem_operand): New predicate.
-	* config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>): Merge from
-	*cmpi<FPCMP:unord><MODEF:mode>_mixed and
-	*cmpi<FPCMP:unord><X87MODEF:mode>_i387.  Disable unsupported
-	alternatives using "enabled" attribute.  Use register_ssemem_operand
-	as operand 1 predicate.
-	(*cmpi<unord>xf_i387): Split XFmode pattern from
-	*cmpi<FPCMP:unord><X87MODEF:mode>_i387.
-	(*absneg<mode>2): Merge from *absneg<mode>2_mixed and
-	*absneg<mode>2_i387.  Disable unsupported alternatives using
-	"enabled" attribute.
-	(*absnegxf2_i387): Split XFmode pattern from *absneg<mode>2_i387.
-
-2016-05-02  Nathan Sidwell  <nathan@codesourcery.com>
-
-	* omp-low.c (lower_oacc_head_tail): Assert there is at least one
-	marker.
-	(oacc_loop_process): Check mask for loop termination.
-
-2016-05-02  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cif-code.def (CIF_THUNK): Add.
-	* ipa-inline-analsysis.c (evaluate_conditions_for_known_args): Revert
-	accidental change.
-
-2016-05-02  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline-analysis.c (reset_inline_summary): Clear fp_expressions
-	(dump_inline_summary): Dump it.
-	(fp_expression_p): New predicate.
-	(estimate_function_body_sizes): Use it.
-	(inline_merge_summary): Merge fp_expressions.
-	(inline_read_section): Read fp_expressions.
-	(inline_write_summary): Write fp_expressions.
-	* ipa-inline.c (can_inline_edge_p): Permit inlining across fp math
-	codegen boundary if either caller or callee is !fp_expressions.
-	* ipa-inline.h (inline_summary): Add fp_expressions.
-	* ipa-inline-transform.c (inline_call): When inlining !fp_expressions
-	to fp_expressions be sure the fp generation flags are updated.
-
-2016-05-02  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/70467
-	* cse.c (cse_insn): Handle no-op MEM moves after folding.
-
-	PR rtl-optimization/70467
-	* ipa-pure-const.c (check_call): Handle internal calls even in
-	ipa mode like in local mode.
-
-2016-05-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* doc/install.texi: Document supported in-tree gmp/mpfr/mpc versions.
-
-2016-05-02  Marc Glisse  <marc.glisse@inria.fr>
-
-	* match.pd (X u< X, X u> X): New transformations.
-
-2016-05-02  Marc Glisse  <marc.glisse@inria.fr>
-
-	* flag-types.h (enum warn_strict_overflow_code): Move ...
-	* coretypes.h: ... here.
-	* fold-const.h (fold_overflow_warning): Declare.
-	* fold-const.c (fold_overflow_warning): Make non-static.
-	(fold_comparison): Move the transformation of X +- C1 CMP C2
-	into X CMP C2 -+ C1 ...
-	* match.pd: ... here.
-	* gimple-fold.c (fold_stmt_1): Protect with
-	fold_defer_overflow_warnings.
-
-2016-05-02  Nathan Sidwell  <nathan@codesourcery.com>
-
-	* omp-low.c (struct oacc_loop): Add 'inner' field.
-	(new_oacc_loop_raw): Initialize it to zero.
-	(oacc_loop_fixed_partitions): Initialize it.
-	(oacc_loop_auto_partitions): Partition outermost loop to outermost
-	available partitioning.
-
-2016-05-02  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.md (mulsidi3): Change operand 0 predicate to
-	register_operand.
-	(umulsidi3): Likewise.
-	(indirect_jump): Fix jump instruction assembly patterns.
-
-2016-05-02  Thomas Schwinge  <thomas@codesourcery.com>
-
-	PR target/70860
-	* config/nvptx/nvptx.c (nvptx_libcall_value): Handle NULL cfun.
-	(nvptx_function_value): Assert non-NULL cfun.
-
-2016-05-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR rtl-optimization/70886
-	* sched-deps.c (estimate_dep_weak): Canonicalize cselib values.
-
-	* cselib.h (rtx_equal_for_cselib_1): Declare.
-	(rtx_equal_for_cselib_p: New inline function.
-	* cselib.c (rtx_equal_for_cselib_p): Delete.
-	(rtx_equal_for_cselib_1): Make public.
-
-2016-05-02  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/predicates.md (nonimm_ssenomem_operand): New predicate.
-	(register_mixssei387nonimm_operand): Remove predicate.
-	* config/i386/i386.md (*fop_<mode>_comm): Merge from
-	*fop_<mode>_comm_mixed and *fop_<mode>_comm_i387.  Disable unsupported
-	alternatives using "enabled" attribute.  Also check X87_ENABLE_ARITH
-	for TARGET_MIX_SSE_I387 alternatives.
-	(*fop_<mode>_1): Merge from *fop_<mode>_1_mixed and *fop_<mode>_1_i387.
-	Disable unsupported alternatives using "enabled" attribute.  Use
-	nonimm_ssenomem_operand as operand 1 predicate.  Also check
-	X87_ENABLE_ARITH for TARGET_MIX_SSE_I387 alternatives.
-
-2016-05-02  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree.c (cst_and_fits_in_hwi): Simplify.
-
-2016-05-02  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree.h (wi::to_wide): New function.
-	* expr.c (expand_expr_real_1): Use wi::to_wide.
-	* fold-const.c (int_const_binop_1): Likewise.
-	(extract_muldiv_1): Likewise.
-
-2016-05-02  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* wide-int.h: Update offset_int and widest_int documentation.
-	(WI_SIGNED_SHIFT_RESULT): New macro.
-	(wi::binary_shift): Define signed_shift_result_type for
-	shifts on offset_int- and widest_int-like types.
-	(generic_wide_int): Support <<= and >>= if << and >> are supported.
-	* tree.h (int_bit_position): Use shift operators instead of wi::
-	 shifts.
-	* alias.c (adjust_offset_for_component_ref): Likewise.
-	* expr.c (get_inner_reference): Likewise.
-	* fold-const.c (fold_comparison): Likewise.
-	* gimple-fold.c (fold_nonarray_ctor_reference): Likewise.
-	* gimple-ssa-strength-reduction.c (restructure_reference): Likewise.
-	* tree-dfa.c (get_ref_base_and_extent): Likewise.
-	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise.
-	(stmt_kills_ref_p): Likewise.
-	* tree-ssa-ccp.c (bit_value_binop_1): Likewise.
-	* tree-ssa-math-opts.c (find_bswap_or_nop_load): Likewise.
-	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
-	(ao_ref_init_from_vn_reference): Likewise.
-
-2016-05-02  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* wide-int.h: Update offset_int and widest_int documentation.
-	(WI_SIGNED_BINARY_PREDICATE_RESULT): New macro.
-	(wi::binary_traits): Allow ordered comparisons between offset_int and
-	offset_int, between widest_int and widest_int, and between either
-	of these types and basic C types.
-	(operator <, <=, >, >=): Define for the same combinations.
-	* tree.h (tree_int_cst_lt): Use comparison operators instead
-	of wi:: comparisons.
-	(tree_int_cst_le): Likewise.
-	* gimple-fold.c (fold_array_ctor_reference): Likewise.
-	(fold_nonarray_ctor_reference): Likewise.
-	* gimple-ssa-strength-reduction.c (record_increment): Likewise.
-	* tree-affine.c (aff_comb_cannot_overlap_p): Likewise.
-	* tree-parloops.c (try_transform_to_exit_first_loop_alt): Likewise.
-	* tree-sra.c (completely_scalarize): Likewise.
-	* tree-ssa-alias.c (stmt_kills_ref_p): Likewise.
-	* tree-ssa-reassoc.c (extract_bit_test_mask): Likewise.
-	* tree-vrp.c (extract_range_from_binary_expr_1): Likewise.
-	(check_for_binary_op_overflow): Likewise.
-	(search_for_addr_array): Likewise.
-	* ubsan.c (ubsan_expand_objsize_ifn): Likewise.
-
-2016-05-02  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (arc_preferred_simd_mode): Remove enum keyword.
-	(arc_save_restore): Likewise.
-	(arc_dwarf_register_span): Likewise.
-	(arc_output_pic_addr_const): Initialize suffix variable.
-
-2016-05-02  Martin Liska  <mliska@suse.cz>
-
-	* symbol-summary.h (function_summary::function_summary):
-	Remove checking assert for all cgraph nodes.
-	(function_summary::get): Check summary_uid.
-	(symtab_insertion): Check summary_uid.
-
-2016-05-02  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc-protos.h (compact_memory_operand_p): Declare.
-	* config/arc/arc.c (arc_output_commutative_cond_exec): Consider
-	bmaskn instruction.
-	(arc_dwarf_register_span): Remove enum keyword.
-	(compact_memory_operand_p): New function.
-	* config/arc/arc.h (reg_class): Add code density register classes.
-	(REG_CLASS_NAMES): Likewise.
-	(REG_CLASS_CONTENTS): Likewise.
-	* config/arc/arc.md (*movqi_insn): Add code density instructions.
-	(*movhi_insn, *movsi_insn, *movsf_insn): Likewise.
-	(*extendhisi2_i, andsi3_i, cmpsi_cc_insn_mixed): Likewise.
-	(*cmpsi_cc_c_insn, *movsi_ne): Likewise.
-	* config/arc/constraints.md (C2p, Uts, Cm1, Cm3, Ucd): New
-	constraints.
-	(h, Rcd, Rsd, Rzd): New register constraints.
-	(T): Use compact_memory_operand_p function.
-	* config/arc/predicates.md (compact_load_memory_operand): Remove.
-
-2016-05-02  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	* config/sh/sh.md (*negnegt, *movtt): Remove.
-
-2016-05-02  Marek Polacek  <polacek@redhat.com>
-	    Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/70700
-	* tree-ssa-structalias.c (dump_pred_graph): Fix getting varinfo for ids
-	bigger than FIRST_REF_NODE.
-
-2016-05-02  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	PR target/52898
-	* config/sh/sh.c (sh_option_override): Remove TARGET_CBRANCHDI4,
-	TARGET_CMPEQDI_T.
-	(prepare_cbranch_operands): Don't use scratch register.  Assume that
-	function is used when pseudos can be created.
-	(expand_cbranchdi4): Likewise.  Remove unused TARGET_CMPEQDI_T paths.
-	* config/sh/sh.md (cbranchsi4): Allow only when pseudos can be created.
-	(cbranchdi4, cbranchdi4_i): Simplify to single cbranchdi4
-	define_expand.  Allow it only when pseudos can be created.
-	* config/sh/sh.opt (mcbranchdi, mcmpeqdi): Delete.
-
-2016-05-01  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/constraints.md (BC): Only allow -1 operands.
-	* config/i386/sse.md (mov<mode>_internal): Add (v,C) alternative.
-	Add "enabled" attribute.  Update XI mode attribute calculation.
-	* config/i386/i386.md (*movxi_internal_avx512f): Add (v,C) alternative.
-	(*movoi_internal_avx): Update XI mode attribute calculation.
-	(*movti_internal): Ditto.
-
-2016-05-01  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	* config/sh/sh.md (push, pop, ic_invalidate_line, cstoresi4, cstoredi4,
-	cstoresf4, cstoredf4, fix_truncsfsi2): Remove constraints.
-
-2016-05-01  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/rs6000/rs6000.c (altivec_expand_lv_builtin): Do not use switch
-	statement on instruction code.  Remove trailing spaces.
-	(altivec_expand_stv_builtin): Likewise.
-
-2016-05-01  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	* config/sh/sh.h (TARGET_SH4): Remove and use default implementation.
-	(TARGET_FPU_DOUBLE): Simplify.
-	(BASE_ARG_REG, DOUBLE_TYPE_SIZE, OPTIMIZE_MODE_SWITCHING): Replace
-	'TARGET_SH4 || TARGET_SH2A_DOUBLE' conditions with 'TARGET_FPU_DOUBLE'.
-	* config/sh/sh.c: Replace 'TARGET_SH4 || TARGET_SH2A_DOUBLE' conditions
-	with 'TARGET_FPU_DOUBLE'.
-	* config/sh/sh.md: Likewise.
-
-2016-05-01  Yoshinori Sato  <ysato@users.sourceforge.jp>
-
-	* config/sh/linux.h (SH_DIV_STRATEGY_DEFAULT,
-	SH_DIV_STR_FOR_SIZE): Remove.
-	* config/sh/netbsd-elf.h (SH_DIV_STRATEGY_DEFAULT,
-	SH_DIV_STR_FOR_SIZE): Remove.
-
-2016-05-01  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	* config/sh/predicates.md (any_register_operand, zero_extend_operand,
-	logical_reg_operand): Delete.
-	(arith_operand, arith_reg_dest, arith_or_int_operand, cmpsi_operand,
-	arith_reg_or_0_operand, arith_reg_or_0_or_1_operand, logical_operand,
-	logical_and_operand, movsrc_no_disp_mem_operand): Rewrite using
-	match_operand and match_test.
-	(sh_const_vec, sh_1el_vec): Remove redundant checks.  Declare local
-	variables on their first use.  Return bool values.
-	* config/sh/sh.h (LOAD_EXTEND_OP): Update comment.
-	* config/sh/sh.md (andsi3, iorsi3): Use arith_reg_dest for result and
-	arith_reg_operand for input operand.  Remove empty constraints.
-	(xorsi3): Delete.
-	(*xorsi3_compact): Rename to xorsi3.
-	(zero_extend<mode>si2): Use arith_reg_operand for input operand.
-	(*zero_extend<mode>si2_disp_mem): Update comment.
-	(mov_nop): Delete.
-
-2016-04-30  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	* config/sh/t-sh: Remove SH5 support.
-	* config.gcc: Likewise.
-	* configure: Likewise.
-
-2016-04-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	* config/darwin.h (LINK_COMMAND_SPEC_A): Handle -fcilkplus.
-
-2016-04-30  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	* config/sh/sh.c (register_sh_passes, sh_option_override,
-	sh_print_operand, prepare_move_operands,
-	sh_can_follow_jump): Remove TARGET_SH1 checks.
-	* config/sh/sh.h (TARGET_VARARGS_PRETEND_ARGS, VALID_REGISTER_P,
-	PROMOTE_MODE): Likewise.
-	* config/sh/sh.md (adddi3, addsi3, subdi3, subsi3, andsi3,
-	movdi): Likewise.
-
-2016-04-30  Alan Modra  <amodra@gmail.com>
-
-	* config/rs6000/rs6000.c (rs6000_savres_strategy): Force inline
-	restoring when fixed_reg_p, but allow out-of-line or stmw save.
-	Check for user regs later to avoid unnecessary looping over regs.
-	Merge user reg check with non-saved reg check.  Don't force
-	inline VR restore when static chain used.
-	(rs6000_frame_related): Omit eh_frame info for user regs when
-	saving.
-	(fixed_regs_p): Delete.
-
-2016-04-30  Alan Modra  <amodra@gmail.com>
-
-	* config/rs6000/rs6000.c (SAVRES_MULTIPLE): Replace with..
-	(SAVE_STRATEGY, REST_STRATEGY): ..this.  Renumber and sort enum.
-	Update all uses.
-
-2016-04-30  Alan Modra  <amodra@gmail.com>
-
-	PR target/69645
-	* config/rs6000/rs6000.c (fixed_reg_p): New function.
-	(fixed_regs_p): Rename from global_regs_p.  Call fixed_reg_p.
-	Update all uses.
-
-2016-04-30  Alan Modra  <amodra@gmail.com>
-
-	* config/rs6000/rs6000.c (rs6000_conditional_register_usage):
-	Remove redundant PIC_OFFSET_TABLE_REGNUM test.  Replace with
-	flag_pic test for Darwin.
-
-2016-04-30  Alan Modra  <amodra@gmail.com>
-
-	* regs.h (struct reg_info_t): Delete freq_calls_crossed and
-	throw_calls_crossed.
-	(REG_FREQ_CALLS_CROSSED): Delete.
-	(REG_N_THROWING_CALLS_CROSSED): Delete.
-	* regstat.c (regstat_bb_compute_ri): Don't calculate
-	REG_FREQ_CALLS_CROSSED and REG_N_THROWING_CALLS_CROSSED.
-	(dump_reg_info): Don't print call cross frequency.
-	* ira.c (combine_and_move_insns): Don't set REG_FREQ_CALLS_CROSSED
-	and REG_N_THROWING_CALLS_CROSSED.
-
-2016-04-30  Alan Modra  <amodra@gmail.com>
-
-	* regs.h (struct reg_info_t): Delete live_length.
-	(REG_LIVE_LENGTH): Delete macro.
-	* regstat.c (regstat_bb_compute_ri): Delete artificial_uses,
-	local_live, local_processed and local_live_last_luid params.
-	Replace bb_index param with bb.  Don't set REG_LIVE_LENGTH.
-	Formatting fixes.
-	(regstat_compute_ri): Adjust for above.  Don't set
-	REG_LIVE_LENGTH.
-	(dump_reg_info): Don't print live length.
-	* ira.c (update_equiv_regs): Replace test of REG_LIVE_LENGTH
-	with test of setjmp_crosses.  Don't set REG_LIVE_LENGTH.
-	Localize loop_depth var.
-
-2016-04-30  Alan Modra  <amodra@gmail.com>
-
-	* ira.c (enum valid_equiv): New.
-	(validate_equiv_mem): Return enum.
-	(update_equiv_mem): Create replacement in more cases.
-	(add_store_equivs): Update validate_equiv_mem call.
-
-2016-04-30  Alan Modra  <amodra@gmail.com>
-
-	* ira.c (combine_and_move_insns): Rather than scanning insns,
-	use DF infrastucture to find use and def insns.
-
-2016-04-30  Alan Modra  <amodra@gmail.com>
-
-	ira.c (combine_and_move_insns): Move invariant conditions..
-	(ira.c): ..to here.  Call combine_and_move_insns before
-	add_store_equivs.  Call grow_reg_equivs later.  Allocate
-	req_equiv later using max_reg_num() rather than global max_regno.
-	(contains_replace_regs): Delete.
-	(add_store_equivs): Remove contains_replace_regs test.
-
-2016-04-30  Alan Modra  <amodra@gmail.com>
-
-	* ira.c (struct equiv_mem_data): New.
-	(equiv_mem, equiv_mem_modified): Delete static vars.
-	(validate_equiv_mem_from_store): Use "data" param to communicate..
-	(validate_equiv_mem): ..from here.
-
-2016-04-30  Alan Modra  <amodra@gmail.com>
-
-	* ira.c (add_store_equivs, combine_and_move_insns): New functions,
-	split out from..
-	(update_reg_equivs): ..here.  Move allocation and freeing of
-	reg_equiv, and calls to grow_reg_equivs, init_alias_analysis,
-	end_alias_analysis to..
-	(ira): ..here.
-
-2016-04-30  Alan Modra  <amodra@gmail.com>
-
-	* ira.c (pdx_subregs): Delete.
-	(struct equivalence): Add pdx_subregs field.
-	(set_paradoxical_subreg): Remove pdx_subregs param.  Update
-	pdx_subregs access.
-	(update_equiv_regs): Don't create or free pdx_subregs.  Update
-	pdx_subregs access.
-
-2016-04-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/altivec.h: Change definitions of vec_xl and
-	vec_xst.
-	* config/rs6000/rs6000-builtin.def (LD_ELEMREV_V2DF): New.
-	(LD_ELEMREV_V2DI): New.
-	(LD_ELEMREV_V4SF): New.
-	(LD_ELEMREV_V4SI): New.
-	(LD_ELEMREV_V8HI): New.
-	(LD_ELEMREV_V16QI): New.
-	(ST_ELEMREV_V2DF): New.
-	(ST_ELEMREV_V2DI): New.
-	(ST_ELEMREV_V4SF): New.
-	(ST_ELEMREV_V4SI): New.
-	(ST_ELEMREV_V8HI): New.
-	(ST_ELEMREV_V16QI): New.
-	(XL): New.
-	(XST): New.
-	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
-	descriptions for VSX_BUILTIN_VEC_XL and VSX_BUILTIN_VEC_XST.
-	* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Map from
-	TARGET_P9_VECTOR to RS6000_BTM_P9_VECTOR.
-	(altivec_expand_builtin): Add handling for
-	VSX_BUILTIN_ST_ELEMREV_<MODE> and VSX_BUILTIN_LD_ELEMREV_<MODE>.
-	(rs6000_invalid_builtin): Add error-checking for
-	RS6000_BTM_P9_VECTOR.
-	(altivec_init_builtins): Define builtins used to implement vec_xl
-	and vec_xst.
-	(rs6000_builtin_mask_names): Define power9-vector.
-	* config/rs6000/rs6000.h (MASK_P9_VECTOR): Define.
-	(RS6000_BTM_P9_VECTOR): Define.
-	(RS6000_BTM_COMMON): Include RS6000_BTM_P9_VECTOR.
-	* config/rs6000/vsx.md (vsx_ld_elemrev_v2di): New define_insn.
-	(vsx_ld_elemrev_v2df): Likewise.
-	(vsx_ld_elemrev_v4sf): Likewise.
-	(vsx_ld_elemrev_v4si): Likewise.
-	(vsx_ld_elemrev_v8hi): Likewise.
-	(vsx_ld_elemrev_v16qi): Likewise.
-	(vsx_st_elemrev_v2df): Likewise.
-	(vsx_st_elemrev_v2di): Likewise.
-	(vsx_st_elemrev_v4sf): Likewise.
-	(vsx_st_elemrev_v4si): Likewise.
-	(vsx_st_elemrev_v8hi): Likewise.
-	(vsx_st_elemrev_v16qi): Likewise.
-	* doc/extend.texi: Add prototypes for vec_xl and vec_xst.  Correct
-	grammar.
-
-2016-04-29  Patrick Palka  <ppalka@gcc.gnu.org>
-
-	* tree-ssa-threadedge.c (simplify_control_stmt_condition): Split
-	out into ...
-	(simplify_control_stmt_condition_1): ... here.  Recurse into
-	BIT_AND_EXPRs and BIT_IOR_EXPRs.
-
-2016-04-29  David Edelsohn  <dje.gcc@gmail.com>
-
-	PR target/69810
-	* config/rs6000/rs6000.md (EXTQI): Don't allow extension to HImode.
-	(zero_extendqi<mode>2_dot): Revert earlier conversion from
-	define_insn_and_split to define_insn.
-	(zero_extendqi<mode>2_dot2): Same.
-	(extendqi<mode>2_dot): Same.
-	(extendqi<mode>2_dot2): Same.
-
-2016-04-29  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (unspec): Add UNSPEC_PROBE_STACK.
-	(probe_stack): New expander.
-	(probe_stack_<mode>): New insn pattern.
-
-2016-04-29  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md
-	(operations with memory inputs setting flags peephole2):
-	Remove uneeded REG_P checks.  Cleanup pattern generation.
-
-2016-04-29  Ilya Enkovich  <ilya.enkovich@intel.com>
-
-	* tree-vect-loop.c (vect_transform_loop): Fix
-	nb_iterations_upper_bound computation for vectorized loop.
-
-2016-04-29  Marek Polacek  <polacek@redhat.com>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/70342
-	* fold-const.c (tree_single_nonzero_warnv_p): For TARGET_EXPR, use
-	TARGET_EXPR_SLOT as a base.
-
-2016-04-29  Andrew Burgess  <andrew.burgess@embecosm.com>
-
-	* config/arc/arc.md (*loadqi_update): Replace use of 'rI' constraint
-	with 'rCm2' constraints to limit possible immediate size.
-	(*load_zeroextendqisi_update): Likewise.
-	(*load_signextendqisi_update): Likewise.
-	(*loadhi_update): Likewise.
-	(*load_zeroextendhisi_update): Likewise.
-	(*load_signextendhisi_update): Likewise.
-	(*loadsi_update): Likewise.
-	(*loadsf_update): Likewise.
-
-2016-04-29  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/predicates.md (constm1_operand): Fix comparison.
-
-2016-04-29  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* testsuite/gcc.target/arc/ieee_eq.c: New test.
-
-2016-04-29  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	* common/config/sh/sh-common.c (sh_option_optimization_table): Remove
-	remaining SH5 related settings.
-	* config/sh/sh-protos.h (shmedia_cleanup_truncate,
-	shmedia_prepare_call_address): Delete.
-	* config/sh/sh.c (sh_print_operand, output_stack_adjust,
-	DWARF_CIE_DATA_ALIGNMENT, LOCAL_ALIGNMENT): Update comments.
-	* config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC,
-	UNSUPPORTED_SH2A): Remove m5 checks.
-	(sh_divide_strategy_e): Remove SH5 division strategies.
-	(TARGET_PTRMEMFUNC_VBIT_LOCATION): Remove and use default.
-	* config/sh/sh.md (divsf3): Reinstate define_expand pattern.
-
-2016-04-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	* config/s390/s390.c (s390_rtx_costs): Update documentation.
-
-2016-04-29  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/2964.md ("z13_unit_fxu", "z13_0"): Remove lder.
-	* config/s390/s390.md ("movsi_larl", "*movsi_esa", "mov<mode>"):
-	Change lder to ldr.
-	* config/s390/vector.md ("mov<mode>"): Likewise.
-
-2016-04-29  Ulrich Weigand  <uweigand@de.ibm.com>
-
-	* config/s390/constraints.md ("U", "W"): Invoke
-	s390_mem_constraint with "ZR" and "ZT".
-	* config/s390/s390.c (s390_check_qrst_address): Reject invalid
-	addresses when using LRA.  Accept also short displacements for S
-	and T constraints.  Do not check for long displacement target for
-	S and T constraints.
-	(s390_mem_constraint): Remove handling of U and W constraints.
-	* config/s390/s390.md (various patterns): Remove the short
-	displacement constraints (Q and R) if a long displacement
-	constraint is present.  Add longdisp as required CPU capability.
-	* config/s390/vector.md: Likewise.
-	* config/s390/vx-builtins.md: Likewise.
-
-2016-04-29  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
-
-	PR target/60040
-	* reload1.c (reload): Call finish_spills before
-	restarting reload loop. Skip select_reload_regs
-	if update_eliminables_and_spill returns true.
-
-2016-04-29  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.h (UNSIGNED_INT12, UNSIGNED_INT16): Define.
-	* config/arc/arc.md (umulhisi3): Use arc_short_operand predicate.
-	(umulhisi3_imm): Update predicates and constraint letters.
-	(umulhisi3_reg): Declare instruction as commutative.
-	* config/arc/constraints.md (J12, J16): New constraints.
-	* config/arc/predicates.md (short_unsigned_const_operand): New
-	predicate.
-	(arc_short_operand): Likewise.
-	* testsuite/gcc.target/arc/umulsihi3_z.c: New file.
-
-2016-04-29  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/13962
-	PR tree-optimization/65686
-	* tree-ssa-alias.h (ptrs_compare_unequal): Declare.
-	* tree-ssa-alias.c (ptrs_compare_unequal): New function
-	using PTA to compare pointers.
-	* match.pd: Add pattern for pointer equality compare simplification
-	using ptrs_compare_unequal.
-
-2016-04-29  Richard Biener  <rguenther@suse.de>
-
-	* stor-layout.c (layout_type): Do not build a pointer-to-element
-	type for arrays.
-
-2016-04-29  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (Load+RegOp to Mov+MemOp peephole2):
-	Use SWI mode iterator.  Use general_reg_operand predicate.
-	(Load+RegOp to Mov+MemOp peephole2 with vector regs): Split
-	peephole to MMX and SSE part.  Use mmx_reg_operand and sse_reg_operand
-	predicates.
-
-2016-04-29  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/70843
-	* fold-const.c (operand_equal_p): Don't verify hash value equality
-	if arg0 == arg1.
-	* tree.c (inchash::add_expr): Handle STATEMENT_LIST.  Ignore BLOCK
-	and OMP_CLAUSE.
-
-2016-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/70858
-	* config/i386/i386.c (bdesc_special_args): Add | OPTION_MASK_ISA_64BIT
-	to __builtin_ia32_lwpval64 and __builtin_ia32_lwpins64.
-	(bdesc_args): Add | OPTION_MASK_ISA_64BIT to __builtin_ia32_bextr_u64,
-	__builtin_ia32_bextri_u64, __builtin_ia32_bzhi_di,
-	__builtin_ia32_pdep_di and __builtin_ia32_pext_di.
-
-2016-04-28  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.c (compute_save_world_info): Rename info_ptr
-	to info.  Don't initialize separate fields to 0.  Clean up
-	formatting a bit.
-
-2016-04-28  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (peephole2s for operations with memory inputs):
-	Use SWI mode iterator.
-	(peephole2s for operations with memory outputs): Ditto.
-	Do not check for stack checking probe.
-
-	(probe_stack): Remove expander.
-
-2016-04-28  Joern Rennecke  <joern.rennecke@embecosm.com>
-	    Andrew Burgess  <andrew.burgess@embecosm.com>
-
-	* config/arc/arc.c (arc_print_operand): Print integer 'H' / 'L'
-	operands as 32-bits.
-
-2016-04-28  Jason Merrill  <jason@redhat.com>
-
-	* gdbinit.in: Skip line-map.h.
-
-2016-04-28  Joern Rennecke  <joern.rennecke@embecosm.com>
-	    Andrew Burgess  <andrew.burgess@embecosm.com>
-
-	* config/arc/arc.c (arc_conditional_register_usage): Take
-	TARGET_RRQ_CLASS into account.
-	(arc_print_operand): Support printing 'p' and 's' operands.
-	* config/arc/arc.h (TARGET_NPS_BITOPS_DEFAULT): Provide default
-	as 0.
-	(TARGET_RRQ_CLASS): Define.
-	(IS_POWEROF2_OR_0_P): Define.
-	* config/arc/arc.md (*movsi_insn): Add w/Clo, w/Chi, and w/Cbi
-	alternatives.
-	(*tst_movb): New define_insn.
-	(*tst): Avoid recognition if it could prevent '*tst_movb'
-	combination; replace c/CnL with c/Chs alternative.
-	(*tst_bitfield_tst): New define_insn.
-	(*tst_bitfield_asr): New define_insn.
-	(*tst_bitfield): New define_insn.
-	(andsi3_i): Add Rrq variant.
-	(extzv): New define_expand.
-	(insv): New define_expand.
-	(*insv_i): New define_insn.
-	(*movb): New define_insn.
-	(*movb_signed): New define_insn.
-	(*movb_high): New define_insn.
-	(*movb_high_signed): New define_insn.
-	(*movb_high_signed + 1): New define_split pattern.
-	(*mrgb): New define_insn.
-	(*mrgb + 1): New define_peephole2 pattern.
-	(*mrgb + 2): New define_peephole2 pattern.
-	* config/arc/arc.opt (mbitops): New option for nps400, uses
-	TARGET_NPS_BITOPS_DEFAULT.
-	* config/arc/constraints.md (q): Make register class conditional.
-	(Rrq): New register constraint.
-	(Chs): New constraint.
-	(Clo): New constraint.
-	(Chi): New constraint.
-	(Cbf): New constraint.
-	(Cbn): New constraint.
-	(C18): New constraint.
-	(Cbi): New constraint.
-
-2016-04-28  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* cfganal.c (bitmap_intersection_of_succs): Delete assert checking
-	dst->popcount.
-	(bitmap_intersection_of_preds): Ditto.
-	(bitmap_union_of_succs): Ditto.
-	(bitmap_union_of_preds): Ditto.
-	* sbitmap.c (do_popcount): Delete.
-	(BITMAP_DEBUGGING): Delete.
-	(sbitmap_verify_popcount): Delete.
-	(sbitmap_alloc): Don't initialize the popcount field.
-	(sbitmap_alloc_with_popcount): Delete.
-	(sbitmap_resize): Don't resize the popcount array.
-	(sbitmap_vector_alloc): Don't initialize the popcount field.
-	(bitmap_copy): Don't copy the popcount array.
-	(bitmap_clear): Don't clear the popcount array.
-	(bitmap_clear): Delete the popcount array handling.
-	(bitmap_ior_and_compl): Delete the popcount assert.
-	(bitmap_not): Ditto.
-	(bitmap_and_compl): Ditto.
-	(bitmap_and): Delete the popcount array handling.
-	(bitmap_xor): Ditto.
-	(bitmap_ior): Ditto.
-	(bitmap_or_and): Delete the popcount assert.
-	(bitmap_and_or): Ditto.
-	(popcount_table): Delete.
-	(sbitmap_elt_popcount): Delete.
-	* sbitmap.h (simple_bitmap_def): Delete the popcount field.
-	(bitmap_set_bit): Delete the popcount assert.
-	(bitmap_clear_bit): Ditto.
-	(sbitmap_free): Don't free the popcount array.
-	(sbitmap_alloc_with_popcount): Delete declaration.
-	(sbitmap_popcount): Ditto.
-
-2016-04-28  Joern Rennecke  <joern.rennecke@embecosm.com>
-	    Andrew Burgess  <andrew.burgess@embecosm.com>
-
-	* config/arc/arc.h (SYMBOL_FLAG_CMEM): Define.
-	(TARGET_NPS_CMEM_DEFAULT): Provide default definition.
-	* config/arc/arc.c (arc_address_cost): Return 0 for cmem_address.
-	(arc_encode_section_info): Set SYMBOL_FLAG_CMEM where indicated.
-	* config/arc/arc.opt (mcmem): New option.
-	* config/arc/arc.md (*extendqihi2_i): Add r/Uex alternative,
-	supply length for r/m alternative.
-	(*extendqisi2_ac): Likewise.
-	(*extendhisi2_i): Add r/Uex alternative, supply length for r/m and
-	r/Uex alternative.
-	(movqi_insn): Add r/Ucm and Ucm/?Rac alternatives.
-	(movhi_insn): Likewise.
-	(movsi_insn): Add r/Ucm,Ucm/w alternatives.
-	(*zero_extendqihi2_i): Add r/Ucm alternative.
-	(*zero_extendqisi2_ac): Likewise.
-	(*zero_extendhisi2_i): Likewise.
-	* config/arc/constraints.md (Uex): New memory constraint.
-	(Ucm): New define_constraint.
-	* config/arc/predicates.md (long_immediate_loadstore_operand):
-	Return 0 for MEM with cmem_address address.
-	(cmem_address_0): New predicates.
-	(cmem_address_1): Likewise.
-	(cmem_address_2): Likewise.
-	(cmem_address): Likewise.
-
-2016-04-28  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.c (machine_function): Rename
-	insn_chain_scanned_p to spe_insn_chain_scanned_p.
-	(rs6000_stack_info): Adjust.
-
-2016-04-28  Joern Rennecke  <joern.rennecke@embecosm.com>
-	    Andrew Burgess  <andrew.burgess@embecosm.com>
-
-	* config/arc/constraints.md (Usd): Convert to define_constraint.
-	(Us<): Likewise.
-	(Us>): Likewise.
-
-2016-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/70821
-	* config/i386/sync.md (define_peephole2 *atomic_fetch_add_cmp<mode>):
-	Add new peephole2 where the first insn is *mov<mode>_or instead of
-	*mov<mode>_internal.
-
-2016-04-28  Segher Boesssenkool  <segher@kernel.crashing.org>
-
-	* tracer.c (bb_seen): Make static.
-
-2016-04-28  Andrew Burgess  <andrew.burgess@embecosm.com>
-
-	* common/config/arc/arc-common.c (arc_handle_option): Add NPS400
-	support, setup defaults.
-	* config/arc/arc-opts.h (enum processor_type): Add NPS400.
-	* config/arc/arc.c (arc_init): Add NPS400 support.
-	* config/arc/arc.h (CPP_SPEC): Add NPS400 defines.
-	(TARGET_ARC700): NPS400 is also an ARC700.
-	* config/arc/arc.opt: Add NPS400 options to -mcpu=.
-
-2016-04-28  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/70668
-	* config/nds32/nds32.md (casesi): Don't access the operands array
-	out of bounds.
-
-2016-04-28  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (zeroing peephole2): Use general_reg_operand.
-	(or $-1,reg peephole2): Ditto.
-	(strict_low_part zeroing peephole2): Use SWI12 mode iterator.
-
-2016-04-28  Markus Trippelsdorf  <markus@trippelsdorf.de>
-
-	* doc/extend.texi (Common Function Attributes) [optimize]:
-	Discourage use of the optimize attribute.
-
-2016-04-28  Bill Seurer  <seurer@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000-builtin.def (vec_adde): Change vec_adde to a
-	special case builtin.
-	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
-	ALTIVEC_BUILTIN_VEC_ADDE.
-	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add
-	support for ALTIVEC_BUILTIN_VEC_ADDE.
-	* config/rs6000/rs6000.c (altivec_init_builtins): Add definition
-	for __builtin_vec_adde.
-
-2016-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/i386.md (sse4_1_round<mode>2): Add avx512f alternative.
-	* config/i386/sse.md (sse4_1_round<ssescalarmodesuffix>): Likewise.
-
-2016-04-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	PR testsuite/70595
-	* doc/sourcebuild.texi (Effective-Target Keywords, Other
-	attributes): Document cilkplus_runtime.
-
-2016-04-28  Martin Jambor  <mjambor@suse.cz>
-
-	* tree-cfg.c (verify_expr): Verify that local declarations belong to
-	this function.  Call verify_expr on MEM_REFs and bases of other
-	handled_components.
-
-2016-04-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* internal-fn.c (expand_arith_overflow): Convert preprocessor check
-	for WORD_REGISTER_OPERATIONS to runtime check.
-
-2016-04-28  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.h (ASM_SPEC): Pass mfpuda to assembler.
-
-2016-04-28  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (arc_process_double_reg_moves): Fix for
-	big-endian compilation.
-	* config/arc/arc.md (addf3): Likewise.
-	(subdf3): Likewise.
-	(muldf3): Likewise.
-
-2016-04-28  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/70840
-	* match.pd: powi(-x, y) and powi(|x|,y) -> powi(x,y) if y is even;
-	Fix pow(copysign(x, y), z) -> pow(x, z) and add powi variant;
-	Mark x * pow(x,c) -> pow(x,c+1) commutative.
-	Add powi(x,y) * powi(z,y) -> powi(x*z,y).
-
-2015-04-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64.h (WORD_REGISTER_OPERATIONS): Define to 0
-	and explain why in a comment.
-
-2016-04-28  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.md (cpu_facility): Add fpx variant.
-	(subdf3): Prohibit use reverse sub when assist operations option
-	is enabled.
-	* config/arc/fpx.md (subdf3_insn, *dsubh_peep2_insn): Allow drsub
-	instructions only when FPX is enabled.
-	* testsuite/gcc.target/arc/trsub.c: New test.
-
-2016-04-28  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*fop_<mode>_1_mixed): Do not check for
-	mult_operator when calculating "type" attribute.
-	(*fop_<mode>_1_i387): Ditto.
-	(*fop_xf_1_i387): Ditto.
-	(x87 stack loads peephole2): Add "reg = op (mem, reg)" peephole2.
-	Use std::swap to swap operands.  Use RTL expressions to generate
-	converted pattern.
-
-2016-04-28  Claudiu Zissulescu  <claziss@synopsys.com>
-	    Joern Rennecke  <joern.rennecke@embecosm.com>
-
-	* config/arc/arc-protos.h (arc_legitimize_pic_address): Remove
-	declaration.
-	(emit_pic_move): Remove.
-	(arc_eh_uses, insn_is_tls_gd_dispatch): Declare.
-	* config/arc/arc.c (emit_pic_move): Removed.
-	(TARGET_HAVE_TLS): Define.
-	(arc_conditional_register_usage): Test for arc_tp_regno.
-	(arc_print_operand, arc_print_operand_address): Handle TLS
-	unspecs.
-	(arc_needs_pcl_p): New function.
-	(arc_legitimate_pc_offset_p): Use arc_needs_pcl_p.
-	(arc_legitimate_pic_addr_p): Handle TLS unspecs.
-	(arc_raw_symbolic_reference_mentioned_p): Likewise.
-	(arc_get_tp, arc_emit_call_tls_get_addr): New function.
-	(arc_legitimize_tls_address): Likewise.
-	(DTPOFF_ZERO_SYM): Define.
-	(arc_legitimize_pic_address): Make it static, handle TLS cases.
-	(arc_output_pic_addr_const): Print TLS unspecs.
-	(prepare_pic_move): New function, replaces emit_pic_move.
-	(arc_legitimate_constant_p): Handle TLS unspecs.
-	(arc_legitimate_address_p): Likewise.
-	(arc_rewrite_small_data_p): Use assert for TLS constants.
-	(prepare_move_operands): Use prepare_pic_move.
-	(arc_legitimize_address): Legitimize tls addresses.
-	(arc_epilogue_uses): Check for arc_tp_regno.
-	(arc_eh_uses, insn_is_tls_gd_dispatch): New function.
-	* config/arc/arc.h [DEFAULT_LIBC != LIBC_UCLIBC] (EXTRA_SPECS):
-	Define.
-	[DEFAULT_LIBC != LIBC_UCLIBC] (ARC_TLS_EXTRA_START_SPEC):
-	Likewise.
-	[DEFAULT_LIBC != LIBC_UCLIBC] (STARTFILE_SPEC): Add
-	%(arc_tls_extra_start_spec).
-	(TARGET_CPU_CPP_BUILTINS): Define __ARC_TLS_REGNO__.
-	(REGNO_OK_FOR_BASE_P): Check for arc_tp_regno.
-	(EH_USES): Define.
-	(INSN_REFERENCES_ARE_DELAYED): Use insn_is_tls_gd_dispatch.
-	* config/arc/arc.md (UNSPEC_TLS_GD, UNSPEC_TLS_LD, UNSPEC_TLS_IE)
-	(UNSPEC_TLS_OFF): Add.
-	(R10_REG): Define.
-	(tls_load_tp_soft, tls_gd_load, tls_gd_get_addr, tls_gd_dispatch)
-	(get_thread_pointersi): New patterns.
-	* config/arc/arc.opt (mtp-regno): New option.
-	* config/arc/predicates.md (move_src_operand): Handle TLS symbols.
-	(move_dest_operand): Likewise.
-	* configure: Regenerate.
-	* configure.ac: Add arc*-*-* case to test for tls.
-	* doc/invoke.texi (ARC options): Document mtp-regno.
-
-2016-04-28  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (arc_vector_mode_supported_p): Add support for
-	the new ARC HS SIMD instructions.
-	(arc_preferred_simd_mode): New function.
-	(arc_autovectorize_vector_sizes): Likewise.
-	(TARGET_VECTORIZE_PREFERRED_SIMD_MODE)
-	(TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
-	(arc_init_reg_tables): Accept new ARC HS SIMD modes.
-	(arc_init_builtins): Add new SIMD builtin types.
-	(arc_split_move): Handle 64 bit vector moves.
-	* config/arc/arc.h (TARGET_PLUS_DMPY, TARGET_PLUS_MACD)
-	(TARGET_PLUS_QMACW): Define.
-	* config/arc/builtins.def (QMACH, QMACHU, QMPYH, QMPYHU, DMACH)
-	(DMACHU, DMPYH, DMPYHU, DMACWH, DMACWHU, VMAC2H, VMAC2HU, VMPY2H)
-	(VMPY2HU, VADDSUB2H, VSUBADD2H, VADDSUB, VSUBADD, VADDSUB4H)
-	(VSUBADD4H): New builtins.
-	* config/arc/simdext.md: Add new ARC HS SIMD instructions.
-	* testsuite/gcc.target/arc/builtin_simdarc.c: New file.
-
-2016-04-28  Eduard Sanou  <dhole@openmailbox.org>
-	    Matthias Klose  <doko@debian.org>
-
-	* doc/cppenv.texi: Document SOURCE_DATE_EPOCH environment variable.
-
-2016-04-28  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/70777
-	* fold-const.c (fold_binary_loc): Remove x*x to pow(x,2.0)
-	canonicalization.
-
-2016-04-28  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	* common/config/sh/sh-common.c: Remove SH5 support.
-	* config/sh/constraints.md: Likewise.
-	* config/sh/config/sh/elf.h: Likewise.
-	* config/sh/linux.h: Likewise.
-	* config/sh/netbsd-elf.h: Likewise.
-	* config/sh/predicates.md: Likewise.
-	* config/sh/sh-c.c: Likewise.
-	* config/sh/sh-protos.h: Likewise.
-	* config/sh/sh.c: Likewise.
-	* config/sh/sh.h: Likewise.
-	* config/sh/sh.md: Likewise.
-	* config/sh/sh.opt: Likewise.
-	* config/sh/sync.md: Likewise.
-	* config/sh/sh64.h: Delete.
-	* config/sh/shmedia.h: Likewise.
-	* config/sh/shmedia.md: Likewise.
-	* config/sh/sshmedia.h: Likewise.
-	* config/sh/t-netbsd-sh5-64: Likewise.
-	* config/sh/t-sh64: Likewise.
-	* config/sh/ushmedia.h: Likewise.
-
-2016-04-28  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (sign_extend to memory peephole2s): Use
-	general_reg_operand instead of register_operand predicate.
-
-2016-04-27  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	* params.def (MIN_PARTITION_SIZE): Set default value to 10000.
-
-2016-04-27  Marc Glisse  <marc.glisse@inria.fr>
-
-	* match.pd (A - B > A, A + B < A): New transformations.
-
-2016-04-27  Patrick Palka  <ppalka@gcc.gnu.org>
-
-	* genattrtab.c (write_test_expr): New parameter EMIT_PARENS
-	which defaults to true.  Emit an outer pair of parentheses only if
-	EMIT_PARENS.  When continuing a chain of && or || (or & or |),
-	don't emit parentheses for the right-hand operand.
-
-2016-04-27  Jeff Law  <law@redhat.com>
-
-	* tree-ssa-dom.c (record_temporary_equivalences): Fix typo in comment.
-
-2016-04-27  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/altivec.md (altivec_lvx_<mode>): Remove.
-	(altivec_lvx_<mode>_internal): Document.
-	(altivec_lvx_<mode>_2op): New define_insn.
-	(altivec_lvx_<mode>_1op): Likewise.
-	(altivec_lvx_<mode>_2op_si): Likewise.
-	(altivec_lvx_<mode>_1op_si): Likewise.
-	(altivec_stvx_<mode>): Remove.
-	(altivec_stvx_<mode>_internal): Document.
-	(altivec_stvx_<mode>_2op): New define_insn.
-	(altivec_stvx_<mode>_1op): Likewise.
-	(altivec_stvx_<mode>_2op_si): Likewise.
-	(altivec_stvx_<mode>_1op_si): Likewise.
-	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
-	Expand vec_ld and vec_st during parsing.
-	* config/rs6000/rs6000.c (altivec_expand_lvx_be): Commentary
-	changes.
-	(altivec_expand_stvx_be): Likewise.
-	(altivec_expand_lv_builtin): Expand lvx built-ins to expose the
-	address-masking behavior in RTL.
-	(altivec_expand_stv_builtin): Expand stvx built-ins to expose the
-	address-masking behavior in RTL.
-	(altivec_expand_builtin): Change builtin code arguments for calls
-	to altivec_expand_stv_builtin and altivec_expand_lv_builtin.
-	(insn_is_swappable_p): Avoid incorrect swap optimization in the
-	presence of lvx/stvx patterns.
-	(alignment_with_canonical_addr): New function.
-	(alignment_mask): Likewise.
-	(find_alignment_op): Likewise.
-	(recombine_lvx_pattern): Likewise.
-	(recombine_stvx_pattern): Likewise.
-	(recombine_lvx_stvx_patterns): Likewise.
-	(rs6000_analyze_swaps): Perform a pre-pass to recognize lvx and
-	stvx patterns from expand.
-	* config/rs6000/vector.md (vector_altivec_load_<mode>): Use new
-	expansions.
-	(vector_altivec_store_<mode>): Likewise.
-
-2016-04-26  Evandro Menezes  <e.menezes@samsung.com>
-
-	* config/aarch64/aarch64.md
-	(*movhf_aarch64): Add "movi %0, #0" to zero up register and
-	remove the "fp" attributes.
-	(*movsf_aarch64): Add "movi %0, #0" to zero up register and
-	add the "simd" attributes.
-	(*movdf_aarch64): Likewise.
-	(*movtf_aarch64): Remove the "fp" attributes.
-	* testsuite/gcc.target/aarch64/fmovf-zero-reg.c: Update accordingly.
-	* testsuite/gcc.target/aarch64/fmovd-zero-reg.c: Likewise.
-
-2016-04-27  David Malcolm  <dmalcolm@redhat.com>
-
-	* emit-rtl.c (maybe_set_first_label_num): Strengthen param from
-	rtx to rtx_code_label *.
-	* rtl.h (maybe_set_first_label_num): Likewise.
-
-2016-04-27  David Malcolm  <dmalcolm@redhat.com>
-
-	* df-core.c (df_add_problem): Make the problem param be const.
-	(df_remove_problem): Make local "problem" be const.
-	* df-problems.c (problem_RD): Make const.
-	(problem_LR): Likewise.
-	(problem_LIVE): Likewise.
-	(problem_MIR): Likewise.
-	(problem_CHAIN): Likewise.
-	(problem_WORD_LR): Likewise.
-	(problem_NOTE): Likewise.
-	(problem_MD): Likewise.
-	* df-scan.c (problem_SCAN): Likewise.
-	* df.h (struct df_problem): Make field "dependent_problem" be
-	const.
-	(struct dataflow): Likewise for field "problem".
-	(df_add_problem): Make param const.
-
-2016-04-27  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (ix86_spill_class): Enable for TARGET_SSE2 when
-	inter-unit moves to/from vector registers are enabled.  Do not disable
-	for TARGET_MMX.
-
-2016-04-27  David Malcolm  <dmalcolm@redhat.com>
-
-	* df.h (DF_SCAN, DF_LR, DF_LIVE, DF_RD, DF_CHAIN, DF_WORD_LR,
-	DF_NOTE, DF_MD, DF_MIR, DF_LAST_PROBLEM_PLUS1): Convert from
-	#define to...
-	(enum df_problem_id): ...this new enum.
-	(struct df_problem): Convert field "id" from "int" to
-	enum df_problem_id.
-
-2016-04-27  David Malcolm  <dmalcolm@redhat.com>
-
-	* rtl.def: Update comment for "things in the instruction chain" to
-	reflect the removal of the leading "i" field for INSN_UID in
-	r210360.  Fix bogus apostrophe.
-
-2016-04-27  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md
-	(lea arith with mem operand + setcc peephole2): Set operator mode.
-
-2016-04-27  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/70155
-	* config/i386/i386.c (scalar_to_vector_candidate_p): Renamed to ...
-	(dimode_scalar_to_vector_candidate_p): This.
-	(timode_scalar_to_vector_candidate_p): New function.
-	(scalar_to_vector_candidate_p): Likewise.
-	(timode_check_non_convertible_regs): Likewise.
-	(timode_remove_non_convertible_regs): Likewise.
-	(remove_non_convertible_regs): Likewise.
-	(remove_non_convertible_regs): Renamed to ...
-	(dimode_remove_non_convertible_regs): This.
-	(scalar_chain::~scalar_chain): Make it virtual.
-	(scalar_chain::compute_convert_gain): Make it pure virtual.
-	(scalar_chain::mark_dual_mode_def): Likewise.
-	(scalar_chain::convert_insn): Likewise.
-	(scalar_chain::convert_registers): Likewise.
-	(scalar_chain::add_to_queue): Make it protected.
-	(scalar_chain::emit_conversion_insns): Likewise.
-	(scalar_chain::replace_with_subreg): Likewise.
-	(scalar_chain::replace_with_subreg_in_insn): Likewise.
-	(scalar_chain::convert_op): Likewise.
-	(scalar_chain::convert_reg): Likewise.
-	(scalar_chain::make_vector_copies): Likewise.
-	(scalar_chain::convert_registers): New pure virtual function.
-	(class dimode_scalar_chain): New class.
-	(class timode_scalar_chain): Likewise.
-	(scalar_chain::mark_dual_mode_def): Renamed to ...
-	(dimode_scalar_chain::mark_dual_mode_def): This.
-	(timode_scalar_chain::mark_dual_mode_def): New function.
-	(timode_scalar_chain::convert_insn): Likewise.
-	(dimode_scalar_chain::convert_registers): Likewise.
-	(scalar_chain::compute_convert_gain): Renamed to ...
-	(dimode_scalar_chain::compute_convert_gain): This.
-	(scalar_chain::replace_with_subreg): Renamed to ...
-	(dimode_scalar_chain::replace_with_subreg): This.
-	(scalar_chain::replace_with_subreg_in_insn): Renamed to ...
-	(dimode_scalar_chain::replace_with_subreg_in_insn): This.
-	(scalar_chain::make_vector_copies): Renamed to ...
-	(dimode_scalar_chain::make_vector_copies): This.
-	(scalar_chain::convert_reg): Renamed to ...
-	(dimode_scalar_chain::convert_reg ): This.
-	(scalar_chain::convert_op): Renamed to ...
-	(dimode_scalar_chain::convert_op): This.
-	(scalar_chain::convert_insn): Renamed to ...
-	(dimode_scalar_chain::convert_insn): This.
-	(scalar_chain::convert): Call convert_registers.
-	(convert_scalars_to_vector): Change to scalar_chain pointer to
-	use timode_scalar_chain in 64-bit mode and dimode_scalar_chain
-	in 32-bit mode.  Delete scalar_chain pointer.  Call
-	free_dominance_info in 64-bit mode.
-	(pass_stv::gate): Remove TARGET_64BIT check.
-	(ix86_option_override): Put the 64-bit STV pass before the CSE
-	pass.
-
-2016-04-27  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* dwarf2out.h (struct dw_loc_descr_node): Remove the
-	dw_loc_frame_offset field.
-	* dwarf2out.c (new_loc_descr): Likewise.
-	(resolve_args_picking_1): Turn the VISITED hash set into a
-	FRAME_OFFSET hash map. Use it to associate a frame offset to
-	visited nodes. Remove uses of the CHECKING_P macro.
-	(resolve_args_picking): Update call to resolve_args_picking_1.
-
-2016-04-27  Martin Liska  <mliska@suse.cz>
-
-	* tree-ssa-loop-ivopts.c (iv_ca_dump): Fix level of indentation.
-	(free_loop_data): Release vuses of groups.
-
-2016-04-27  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (struct iv): Use pointer to struct iv_use
-	instead of redundant use_id and boolean have_use_for.
-	(struct iv_use): Change sub_id into group_id.  Remove field next.
-	Move fields: related_cands, n_map_members, cost_map and selected
-	to ...
-	(struct iv_group): ... here.  New structure.
-	(struct iv_common_cand): Use structure declaration directly.
-	(struct ivopts_data, iv_ca, iv_ca_delta): Rename fields.
-	(MAX_CONSIDERED_USES): Rename macro to ...
-	(MAX_CONSIDERED_GROUPS): ... here.
-	(n_iv_uses, iv_use, n_iv_cands, iv_cand): Delete.
-	(dump_iv, dump_use, dump_cand): Refactor format of dump information.
-	(dump_uses): Rename to ...
-	(dump_groups): ... here.  Update all uses.
-	(tree_ssa_iv_optimize_init, alloc_iv): Update all uses.
-	(find_induction_variables): Refactor format of dump information.
-	(record_sub_use): Delete.
-	(record_use): Update all uses.
-	(record_group): New function.
-	(record_group_use, find_interesting_uses_op): Call above functions.
-	Update all uses.
-	(find_interesting_uses_cond): Ditto.
-	(group_compare_offset): New function.
-	(split_all_small_groups): Rename to ...
-	(split_small_address_groups_p): ... here.  Update all uses.
-	(split_address_groups):  Update all uses.
-	(find_interesting_uses): Refactor format of dump information.
-	(add_candidate_1): Update all uses.  Remove redundant check on iv,
-	base and step.
-	(add_candidate, record_common_cand): Remove redundant assert.
-	(add_iv_candidate_for_biv): Update use.
-	(add_iv_candidate_derived_from_uses): Update all uses.
-	(add_iv_candidate_for_groups, record_important_candidates): Ditto.
-	(alloc_use_cost_map): Ditto.
-	(set_use_iv_cost, get_use_iv_cost): Rename to ...
-	(set_group_iv_cost, get_group_iv_cost): ... here.  Update all uses.
-	(determine_use_iv_cost_generic): Ditto.
-	(determine_group_iv_cost_generic): Ditto.
-	(determine_use_iv_cost_address): Ditto.
-	(determine_group_iv_cost_address): Ditto.
-	(determine_use_iv_cost_condition): Ditto.
-	(determine_group_iv_cost_cond): Ditto.
-	(determine_use_iv_cost): Ditto.
-	(determine_group_iv_cost): Ditto.
-	(set_autoinc_for_original_candidates): Update all uses.
-	(find_iv_candidates): Update all uses.  Refactor dump information.
-	(determine_use_iv_costs): Ditto.
-	(determine_iv_costs): Ditto.
-	(iv_ca_cand_for_use): Rename to ...
-	(iv_ca_cand_for_group): ... here.  Update all uses.
-	(iv_ca_add_use, iv_ca_add_group): Ditto.
-	(iv_ca_set_cp, iv_ca_cost, iv_ca_delta_add): Update all uses.
-	(iv_ca_delta_join, iv_ca_delta_reverse, iv_ca_delta_free): Ditto.
-	(iv_ca_new, iv_ca_dump, iv_ca_extend, iv_ca_narrow): Ditto.
-	(iv_ca_prune, cheaper_cost_with_cand, iv_ca_replace): Ditto.
-	(try_add_cand_for, try_improve_iv_set, find_optimal_iv_set): Ditto.
-	(create_new_iv, adjust_iv_update_pos): Ditto.
-	(rewrite_use_address): Delete.
-	(rewrite_use_address_1): Rename to ...
-	(rewrite_use_address): ... here.
-	(rewrite_use_compare): Update all uses.
-	(rewrite_use): Delete.
-	(rewrite_uses): Rename to ...
-	(rewrite_groups): ... here.  Update all uses.
-	(remove_unused_ivs, free_loop_data): Update all uses.
-	(tree_ssa_iv_optimize_finalize, tree_ssa_iv_optimize_loop): Ditto.
-
-2016-04-27  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* rtlanal.c (nonzero_bits1): Convert preprocessor check
-	for WORD_REGISTER_OPERATIONS to runtime check.
-
-2016-04-27  Richard Biener  <rguenther@suse.de>
-
-	PR ipa/70760
-	* tree-ssa-structalias.c (find_func_aliases_for_call): Use
-	aggregate_value_p to determine if a function result is
-	returned by reference.
-	(ipa_pta_execute): Functions having their address taken are
-	not automatically nonlocal.
-
-2016-04-27  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/70683
-	* tree-core.h (enum operand_equal_flag): Add OEP_NO_HASH_CHECK.
-	* fold-const.c (operand_equal_p): If flag_checking and
-	OEP_NO_HASH_CHECK is not set in flag, recurse with OEP_NO_HASH_CHECK
-	and if it returns non-zero, assert iterative_hash_expr on both
-	args is the same.
-
-2016-04-27  Bernd Schmidt  <bschmidt@redhat.com>
-
-	* doc/invoke.texi (-frename-registers): Also enabled at -Os.
-
-2016-04-27  Nick Clifton  <nickc@redhat.com>
-
-	PR middle-end/49889
-	* varasm.c (merge_weak): Generate an error if an attempt is made
-	to convert a non-weak static function into a weak, public function.
-
-2016-04-27  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	* params.def (MAX_PARTITION_SIZE): New param.
-	* doc/invoke.texi: Document lto-max-partition.
-
-2016-04-27  Richard Biener  <rguenther@suse.de>
-
-	PR ipa/70785
-	* tree-ssa-structalias.c (refered_from_nonlocal_fn): New
-	function cummulating used_from_other_partition, externally_visible
-	and force_output from aliases.
-	(refered_from_nonlocal_var): Likewise.
-	(ipa_pta_execute): Use call_for_symbol_and_aliases to cummulate
-	node flags properly.
-
-2016-04-27  Bernd Schmidt  <bschmidt@redhat.com>
-
-	* doc/invoke.texi (Warning Options): Add -Wmemset-elt-size.
-	(-Wmemset-elt-size): New item.
-
-2016-04-27  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/70759
-	* stor-layout.h (internal_reference_types): Delete.
-	* stor-layout.c (reference_types_internal): Likewise.
-	(internal_reference_types): Likewise.
-	(layout_type) <REFERENCE_TYPE>: Adjust.
-
-2016-04-27  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/70683
-	* tree.h (inchash::add_expr): Add FLAGS argument.
-	* tree.c (inchash::add_expr): Likewise.  If not OEP_ADDRESS_OF,
-	use STRIP_NOPS first.  For INTEGER_CST assert not OEP_ADDRESS_OF.
-	For REAL_CST and !HONOR_SIGNED_ZEROS (t) hash +/- 0 the same.
-	Formatting fix.  Adjust recursive calls.  For tcc_comparison,
-	if swap_tree_comparison (code) is smaller than code, hash that
-	and arguments in the other order.  Hash CONVERT_EXPR the same
-	as NOP_EXPR.  For OEP_ADDRESS_OF hash MEM_REF with 0 offset
-	of ADDR_EXPR of decl as the decl itself.  Add or remove
-	OEP_ADDRESS_OF from recursive flags as needed.  For
-	FMA_EXPR, WIDEN_MULT_{PLUS,MINUS}_EXPR hash the first two
-	operands commutatively and only the third one normally.
-	For internal CALL_EXPR hash in CALL_EXPR_IFN.
-
-2016-04-27  Sebastian Huber  <sebastian.huber@embedded-brains.de>
-
-	* config/rtems.h (LIB_SPEC): Add -latomic.
-
-2016-04-27  Joel Sherrill  <joel@rtems.org>
-
-	* config/microblaze/rtems.h: Redefine LINK_SPEC to avoid
-	xilink.ld and flags not relevant to RTEMS.
-
-2016-04-26  Zhouyi Zhou  <yizhouzhou@ict.ac.cn>
-
-	* toplev.c (backend_init_target): Avoid calling init_reload when using
-	LRA.
-
-2016-04-26  Jakub Jelinek  <jakub@redhat.com>
-
-	* reorg.c (try_merge_delay_insns): Declare i and j inside the
-	for loops rather than one for the whole function.
-
-2016-04-26  Marc Glisse  <marc.glisse@inria.fr>
-
-	* match.pd (X + CST CMP X): New transformation.
-
-2016-04-26  Marc Glisse  <marc.glisse@inria.fr>
-
-	* genmatch.c (write_predicate): Add ATTRIBUTE_UNUSED.
-	* fold-const.c (fold_binary_loc): Remove 2 transformations
-	superseded by match.pd.
-	* match.pd (x+x -> x*2): Generalize to integers.
-
-2016-04-26  Bernd Schmidt  <bschmidt@redhat.com>
-
-	* config/i386/i386.md (operation on memory peephole): Duplicate an
-	existing peephole and adapt it to match lea rather than an operation
-	that clobbers CC.
-
-	PR rtl-optimization/57193
-	* opts.c (default_options_table): Add OPT_frename_registers at -O2
-	and above.
-	* doc/invoke.texi (-frename-registers, -O2): Update documentation.
-
-2016-04-26  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-if-conv.c (any_pred_load_store): New static variable.
-	(if_convertible_gimple_assign_stmt_p): Remove parameter.  Use
-	any_pred_load_store instead of and_mask_load_store.
-	(if_convertible_stmt_p, if_convertible_loop_p_1): Ditto.
-	(if_convertible_loop_p, insert_gimplified_predicates): Ditto.
-	(combine_blocks, tree_if_conversion): Ditto.
-
-2016-04-26  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/70771
-	PR tree-optimization/70775
-	* tree-if-conv.c (if_convertible_phi_p): Remove check on special
-	virtual PHI nodes.  Delete parameter.
-	(if_convertible_loop_p_1): Delete argument to above function.
-	(predicate_all_scalar_phis): Delete code handling single-argument
-	PHIs.
-	(tree_if_conversion): Mark and update virtual SSA.
-
-2016-04-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	PR target/61821
-	* config/i386/i386.c (LARGECOMM_SECTION_ASM_OP): Define default.
-	(x86_elf_aligned_common): Rename to ...
-	(x86_elf_aligned_decl_common): ... this.
-	Add decl arg.  Switch to .lbss for largecomm object.  Use
-	LARGECOMM_SECTION_ASM_OP.
-	* config/i386/i386-protos.h (x86_elf_aligned_common): Reflect
-	renaming.
-	* config/i386/x86-64.h (ASM_OUTPUT_ALIGNED_COMMON): Rename to ...
-	(ASM_OUTPUT_ALIGNED_DECL_COMMON): ... this.
-	Pass new decl arg.
-	* config/i386/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
-	[!USE_GAS] (LARGECOMM_SECTION_ASM_OP): Define.
-
-2016-04-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	PR target/59407
-	* config/i386/i386.c (SECTION_LARGE): Define.
-	(x86_64_elf_select_section): Set it for large data/bss sections.
-	Only clear SECTION_WRITE for .lrodata.
-	(x86_64_elf_section_type_flags): Set SECTION_LARGE for large
-	data/bss sections.
-	* config/i386/sol2.h (MACH_DEP_SECTION_ASM_FLAG): Define.
-	* varasm.c (default_elf_asm_named_section): Grow flagchars.
-	[MACH_DEP_SECTION_ASM_FLAG] Emit MACH_DEP_SECTION_ASM_FLAG for
-	SECTION_MACH_DEP.
-	* doc/tm.texi.in (Sections, MACH_DEP_SECTION_ASM_FLAG): Describe.
-	* doc/tm.texi: Regenerate.
-
-2016-04-26  Jakub Jelinek  <jakub@redhat.com>
-
-	PR bootstrap/70704
-	* configure.ac (--enable-checking): Document extra flag, for
-	non-release builds default to --enable-checking=yes,extra.
-	If misc checking and extra checking, define CHECKING_P to 2 instead
-	of 1.
-	* common.opt (fchecking=): Add.
-	* doc/invoke.texi (-fchecking=): Document.
-	* doc/install.texi: Document --enable-checking changes.
-	* configure: Regenerated.
-	* config.in: Regenerated.
-
-2016-04-25  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*movxi_internal_avx512f): Use insn type
-	attribute instead of which_alternative.
-	* config/i386/sse.md (*mov<mode>_internal): Ditto.
-	Use EXT_REX_SSE_REG_P where appropriate.
-
-2016-04-25  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/predicates.md (const0_operand): Do not match
-	const_wide_int code.
-	(const1_operand): Ditto.
-
-2016-04-25  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*movoi_internal_avx): Set mode attribute to XI
-	for SSE constm1 operands and TARGET_AVX512VL.
-	(*movti_internal): Ditto.
-	(*mov<mode>_or): Use constm1_operand predicate.
-	* config/i386/sse.md (*mov<mode>_internal): Set mode attribute to XI
-	for SSE vector_all_ones operands and TARGET_AVX512VL.
-	* config/i386/predicates.md (constm1_operand): New predicate.
-	* config/i386/i386.c (standard_sse_constant_opcode): Simplify
-	emission of constant -1 load.
-
-2016-04-25  Jason Merrill  <jason@redhat.com>
-
-	* gdbinit.in: Skip is-a.h.
-
-	* attribs.c (register_scoped_attributes): Fix logic.
-	* attribs.h: Declare register_scoped_attributes.
-
-2016-04-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000-builtin.def: Correct pasto error for
-	stxvd2x and stxvw4x built-in functions.
-
-2016-04-25  DJ Delorie  <dj@redhat.com>
-
-	* config/msp430/msp430.md (ashlhi3): Optimize one bit shifts.
-	(ashrhi3): Likewise.
-	(lshrhi3): Likewise.
-
-2016-04-25  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/70780
-	* tree-ssa-pre.c (compute_antic_aux): Also return true if the block
-	wasn't visited yet.
-	(compute_antic): Mark blocks with abnormal preds as visited as
-	they have a final empty antic-in solution already.
-
-2016-04-25  Michael Collison  <michael.collison@linaro.org>
-
-	* ChangeLog(2016-04-25): Fix ChangeLog formatting.
-
-2016-04-25  Michael Collison  <michael.collison@linaro.org>
-
-	* config/arm/neon.md (widen_<us>sum<mode>): New patterns where
-	mode is VQI to improve mixed mode vectorization.
-	* config/arm/neon.md (vec_sel_widen_ssum_lo<VQI:mode><VW:mode>3): New
-	define_insn to match low half of signed vaddw.
-	* config/arm/neon.md (vec_sel_widen_ssum_hi<VQI:mode><VW:mode>3): New
-	define_insn to match high half of signed vaddw.
-	* config/arm/neon.md (vec_sel_widen_usum_lo<VQI:mode><VW:mode>3): New
-	define_insn to match low half of unsigned vaddw.
-	* config/arm/neon.md (vec_sel_widen_usum_hi<VQI:mode><VW:mode>3): New
-	define_insn to match high half of unsigned vaddw.
-	* config/arm/arm.c (arm_simd_vect_par_cnst_half): New function.
-	(arm_simd_check_vect_par_cnst_half_p): Likewise.
-	* config/arm/arm-protos.h (arm_simd_vect_par_cnst_half): Prototype
-	for new function.
-	(arm_simd_check_vect_par_cnst_half_p): Likewise.
-	* config/arm/predicates.md (vect_par_constant_high): Support
-	big endian and simplify by calling
-	arm_simd_check_vect_par_cnst_half
-	(vect_par_constant_low): Likewise.
-
-2016-04-25  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*lea<mode>_general_4): Use const_0_to_3_operand
-	predicate for operand 2.
-
-2016-04-24  Uros Bizjak  <ubizjak@gmail.com>
-	    H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/i386/i386-protos.h (standard_sse_constant_p): Add
-	machine_mode argument.
-	* config/i386/i386.c (standard_sse_constant_p): Return 2 for
-	constm1_rtx operands.  For VOIDmode constants, get mode from
-	pred_mode.  Check mode size if the mode is supported by ABI.
-	(standard_sse_constant_opcode): Do not use standard_constant_p.
-	Strictly check ABI support for all-ones operands.
-	(ix86_legitimate_constant_p): Handle TImode, OImode and XImode
-	immediates. Update calls to standard_sse_constant_p.
-	(ix86_expand_vector_move): Update calls to standard_sse_constant_p.
-	(ix86_rtx_costs): Ditto.
-	* config/i386/i386.md (*movxi_internal_avx512f): Use
-	nonimmediate_or_sse_const_operand instead of vector_move_operand.
-	Use (v,BC) alternative instead of (v,C). Use register_operand
-	checks instead of MEM_P.
-	(*movoi_internal_avx): Use nonimmediate_or_sse_const_operand instead
-	of vector_move_operand.  Add (v,BC) alternative and corresponding avx2
-	isa attribute.  Use register_operand checks instead of MEM_P.
-	(*movti_internal): Use nonimmediate_or_sse_const_operand for
-	TARGET_SSE.  Improve TARGET_SSE insn constraint.  Add (v,BC)
-	alternative and corresponding sse2 isa attribute.
-	(*movtf_internal, *movdf_internal, *movsf_interal): Update calls
-	to standard_sse_constant_p.
-	(FP constant splitters): Ditto.
-	* config/i386/constraints.md (BC): Do not use standard_sse_constant_p.
-	(C): Ditto.
-	* config/i386/predicates.md (constm1_operand): Remove.
-	(nonimmediate_or_sse_const_operand): Rewrite using RTX.
-	* config/i386/sse.md (*<avx512>_cvtmask2<ssemodesuffix><mode>): Use
-	vector_all_ones_operand instead of constm1_operand.
-
-2016-04-24  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* print-rtl.c (print_rtx_insn_vec): New function.
-	* print-rtl.h: New prototype.
-	* store-motion.c (struct st_expr): Make avail_stores a vector.
-	(st_expr_entry): Adjust.
-	(free_st_expr_entry): Likewise.
-	(print_store_motion_mems): Likewise.
-	(find_moveable_store): Likewise.
-	(compute_store_table): Likewise.
-	(delete_store): Likewise.
-	(build_store_vectors): Likewise.
-
-2016-04-24  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* reorg.c (try_merge_delay_insns): Make merged_insns a vector.
-
-2016-04-24  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* vec.h (vec_safe_contains): New function.
-	(vec::contains): Likewise.
-	(vec::begin): Likewise.
-	(vec::end): Likewise.
-
-2016-04-23  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/70712
-	* cfgexpand.c (expand_stack_vars): Fix typo.
-
-2016-04-22  Szabolcs Nagy  <szabolcs.nagy@arm.com>
-
-	* system.h (list, map, set, vector): Include conditionally.
-	* auto-profile.c (INCLUDE_MAP, INCLUDE_SET): Define.
-	* graphite-isl-ast-to-gimple.c (INCLUDE_MAP): Define.
-	* ipa-icf.c (INCLUDE_LIST): Define.
-	* config/aarch64/cortex-a57-fma-steering.c (INCLUDE_LIST): Define.
-	* config/sh/sh.c (INCLUDE_VECTOR): Define.
-	* config/sh/sh_treg_combine.cc (INCLUDE_ALGORITHM): Define.
-	(INCLUDE_LIST, INCLUDE_VECTOR): Define.
-	* cp/logic.cc (INCLUDE_LIST): Define.
-	* fortran/trans-common.c (INCLUDE_MAP): Define.
-
-2016-04-22  Szabolcs Nagy  <szabolcs.nagy@arm.com>
-
-	* auto-profile.c: Remove <string.h> include.
-	* ipa-icf-gimple.c: Remove <list> include.
-	* diagnostic.c: Remove <new> include.
-	* genmatch.c: Likewise.
-	* pretty-print.c: Likewise.
-	* toplev.c: Likewise
-	* c/c-objc-common.c: Likewise.
-	* cp/error.c: Likewise.
-	* fortran/error.c: Likewise.
-
-2016-04-22  Richard Biener  <rguenther@suse.de>
-
-	* lto-streamer-in.c (input_ssa_names): Do not allocate
-	GIMPLE_NOP for all SSA names.
-	* lto-streamer-out.c (output_ssa_names): Do not output
-	SSA names that should have been released.
-
-2016-04-22  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/70740
-	* tree-ssa-phiprop.c (propagate_with_phi): Handle inserted
-	VDEF.
-
-2016-04-21  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/70750
-	* config/i386/predicates.md (call_insn_operand): Replace
-	sibcall_memory_operand with memory_operand.
-
-2016-04-21  Patrick Palka  <ppalka@gcc.gnu.org>
-
-	* tree-vrp.c (register_edge_assert_for_2): Remove redundant
-	has_single_use() tests.
-	(register_edge_assert_for_1): Likewise.
-	(find_assert_locations_1): Check the liveness bitmap instead of
-	checking has_single_use().
-
-2016-04-21  Kirill Yukhin  <kirill.yukhin@intel.com>
-
-	PR target/70728
-	* config/i386/sse.md (define_insn "<shift_insn><mode>3<mask_name>"):
-	Extract AVX-512BW constraint from AVX.
-
-2016-04-21  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/70725
-	* tree-if-conv.c (if_convertible_phi_p): Adjust guard
-	for phi_convertible_by_degenerating_args.
-	(predicate_all_scalar_phis): Handle single-argument PHIs.
-
-2016-04-21  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/70747
-	* fold-const.c (fold_comparison): Return properly typed
-	constant boolean.
-
-2016-04-21  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/70715
-	* tree-ssa-loop-niter.c (loop_exits_before_overflow): Check equality
-	after expanding BASE using expand_simple_operations.
-
-2016-04-21  Marc Glisse  <marc.glisse@inria.fr>
-
-	* match.pd (min(-x, -y), max(-x, -y), min(~x, ~y), max(~x, ~y)):
-	New transformations.
-
-2016-04-21  Marc Glisse  <marc.glisse@inria.fr>
-
-	* match.pd (min(int_max, x), max(int_min, x)): New transformations.
-
-2016-04-20  Jan Hubicka  <jh@suse.cz>
-
-	* ipa-inline.c (can_inline_edge_p): Pass caller info to
-	ultiimate_alias_target.
-	(update_callee_keys): Likewise.
-	(lookup_recursive_calls): Likewise.
-	(speculation_useful_p): Likewise.
-
-2016-04-20  Jan Hubicka  <jh@suse.cz>
-
-	PR ipa/70018
-	* cgraph.c (cgraph_set_nothrow_flag_1): Rename to ...
-	(set_nothrow_flag_1): ... this; handle interposition correctly;
-	recurse on aliases and thunks.
-	(cgraph_node::set_nothrow_flag): New.
-	* ipa-pure-const.c (ignore_edge_for_nothrow): Ignore calls to
-	functions compiled with non-call exceptions that binds to current
-	def.
-	(propagate_nothrow): Be safe WRT interposition.
-	* cgraph.h (set_nothrow_flag): Update prototype.
-
-2016-04-18  Jan Hubicka  <jh@suse.cz>
-
-	* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
-	max_loop_iterations_int.
-	(tree_unswitch_outer_loop): Likewise.
-
-2016-04-20  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/69489
-	* tree-if-conv.c (phi_convertible_by_degenerating_args): New.
-	(if_convertible_phi_p): Call phi_convertible_by_degenerating_args.
-	Revise dump message.
-	(if_convertible_bb_p): Remove check on edge count of basic block's
-	predecessors.
-
-2016-04-20  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/56625
-	PR tree-optimization/69489
-	* tree-data-ref.h (DR_INNERMOST): New macro.
-	* tree-if-conv.c (innermost_loop_behavior_hash): New class for
-	hashing struct innermost_loop_behavior.
-	(ref_DR_map): Remove.
-	(innermost_DR_map): New map.
-	(baseref_DR_map): Revise comment.
-	(hash_memrefs_baserefs_and_store_DRs_read_written_info): Store DR
-	to innermost_DR_map accroding to its innermost loop behavior.
-	(ifcvt_memrefs_wont_trap): Get DR from innermost_DR_map according
-	to its innermost loop behavior.
-	(if_convertible_loop_p_1): Remove intialization for ref_DR_map.
-	Add initialization for innermost_DR_map.  Record memory reference
-	in DR_BASE_ADDRESS if the reference is compound one or it doesn't
-	have innermost loop behavior.
-	(if_convertible_loop_p): Remove release for ref_DR_map.  Release
-	innermost_DR_map.
-
-2016-04-20  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*lea<mode>_general_1): Rename from
-	*lea_general_1.  Use explicit SWI12 mode interator.
-	(*lea<mode>_general_2): Rename from *lea_general_2.
-	Use explicit SWI12 mode interator.
-	(*lea<mode>_general_3): Rename from *lea_general_3.
-	Use explicit SWI12 mode interator.
-	(*lea<SWI12:mode>_general_4): Split from *lea_general_4.
-	Use explicit SWI12 mode interator.
-	(*lea<SWI48:mode>_general_4): Split from *lea_general_4.
-	Use explicit SWI48 mode interator.
-
-2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/i386/i386.c (ix86_avx256_split_vector_move_misalign):
-	Short-cut unaligned load and store cases.  Handle all integer
-	vector modes.
-	(ix86_expand_vector_move_misalign): Short-cut unaligned load
-	and store cases.  Call ix86_avx256_split_vector_move_misalign
-	directly without checking mode class.
-
-2016-04-20  Andrew Pinski  <apinski@cavium.com>
-	    Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/64971
-	* config/aarch64/aarch64.md (sibcall): Force call
-	address to be DImode for ILP32.
-	(sibcall_value): Likewise.
-
-2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* doc/invoke.texi: Replace -skip-rax-setup with -mskip-rax-setup.
-
-2016-04-20  Richard Biener  <rguenther@suse.de>
-
-	* gimple-match.h (maybe_build_generic_op): Adjust prototype.
-	* gimple-match-head.c (maybe_build_generic_op): Pass all ops
-	by reference, clear op1 and op2 when GENERICizing BIT_FIELD_REF.
-	(maybe_push_res_to_seq): Adjust.
-	* gimple-fold.c (maybe_build_generic_op): Likewise.
-
-2016-04-20  Marek Polacek  <polacek@redhat.com>
-
-	* tree-if-conv.c (is_false_predicate): For NULL_TREE return false
-	rather than true.
-
-2016-04-20  Ilya Enkovich  <ilya.enkovich@intel.com>
-
-	* config/i386/sse.md (vec_unpacks_lo_hi): Always
-	use kmovw to support AVX512F target.
-
-2016-04-20  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-scalar-evolution.c (interpret_rhs_expr): Handle BIT_AND_EXPR.
-
-2016-04-20  Marek Polacek  <polacek@redhat.com>
-
-	PR tree-optimization/70725
-	* tree-if-conv.c (is_false_predicate): New function.
-	(predicate_mem_writes): Use it.
-
-2016-04-20  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/70726
-	* tree-vect-stmts.c (vectorizable_shift): Do not use scalar
-	shift amounts from a pattern stmt operand.
-
-2016-04-20  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	PR target/70674
-	* config/s390/s390.c (s390_restore_gprs_from_fprs): Pick the new
-	stack_restore_from_fpr pattern when restoring r15.
-	(s390_optimize_prologue): Strip away the memory barrier in the
-	parallel when trying to get rid of restore insns.
-	* config/s390/s390.md ("stack_restore_from_fpr"): New insn
-	definition for loading the stack pointer from an FPR.  Compared to
-	the normal move insn this pattern includes a full memory barrier.
-
-2016-04-19  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/70680
-	* gimplify.c (gimplify_omp_for): Call omp_notice_variable for
-	implicitly linear or lastprivate iterator on the outer context.
-
-2016-04-19  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/i386/i386.c (ix86_legitimate_combined_insn): Remove
-	alignment check.
-	* config/i386/i386.md (ssememalign): Removed.
-	* config/i386/sse.md: Remove ssememalign attribute from patterns.
-
-2016-04-19  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/69201
-	* config/i386/avx512bwintrin.h (_mm512_mask_loadu_epi16): Pass
-	const short * to __builtin_ia32_loaddquhi512_mask.
-	(_mm512_maskz_loadu_epi16): Likewise.
-	(_mm512_mask_storeu_epi16): Pass short * to
-	__builtin_ia32_storedquhi512_mask.
-	(_mm512_mask_loadu_epi8): Pass const char * to
-	__builtin_ia32_loaddquqi512_mask.
-	(_mm512_maskz_loadu_epi8): Likewise.
-	(_mm512_mask_storeu_epi8): Pass char * to
-	__builtin_ia32_storedquqi512_mask.
-	* config/i386/avx512fintrin.h (_mm512_loadu_pd): Pass
-	const double * to __builtin_ia32_loadupd512_mask.
-	(_mm512_mask_loadu_pd): Likewise.
-	(_mm512_maskz_loadu_pd): Likewise.
-	(_mm512_storeu_pd): Pass double * to
-	__builtin_ia32_storeupd512_mask.
-	(_mm512_mask_storeu_pd): Likewise.
-	(_mm512_loadu_ps): Pass const float * to
-	__builtin_ia32_loadups512_mask.
-	(_mm512_mask_loadu_ps): Likewise.
-	(_mm512_maskz_loadu_ps): Likewise.
-	(_mm512_storeu_ps): Pass float * to
-	__builtin_ia32_storeups512_mask.
-	(_mm512_mask_storeu_ps): Likewise.
-	(_mm512_mask_loadu_epi64): Pass const long long * to
-	__builtin_ia32_loaddqudi512_mask.
-	(_mm512_maskz_loadu_epi64): Likewise.
-	(_mm512_mask_storeu_epi64): Pass long long *
-	to __builtin_ia32_storedqudi512_mask.
-	(_mm512_loadu_si512): Pass const int * to
-	__builtin_ia32_loaddqusi512_mask.
-	(_mm512_mask_loadu_epi32): Likewise.
-	(_mm512_maskz_loadu_epi32): Likewise.
-	(_mm512_storeu_si512): Pass int * to
-	__builtin_ia32_storedqusi512_mask.
-	(_mm512_mask_storeu_epi32): Likewise.
-	* config/i386/avx512vlbwintrin.h (_mm256_mask_storeu_epi8): Pass
-	char * to __builtin_ia32_storedquqi256_mask.
-	(_mm_mask_storeu_epi8): Likewise.
-	(_mm256_mask_loadu_epi16): Pass const short * to
-	__builtin_ia32_loaddquhi256_mask.
-	(_mm256_maskz_loadu_epi16): Likewise.
-	(_mm_mask_loadu_epi16): Pass const short * to
-	__builtin_ia32_loaddquhi128_mask.
-	(_mm_maskz_loadu_epi16): Likewise.
-	(_mm256_mask_loadu_epi8): Pass const char * to
-	__builtin_ia32_loaddquqi256_mask.
-	(_mm256_maskz_loadu_epi8): Likewise.
-	(_mm_mask_loadu_epi8): Pass const char * to
-	__builtin_ia32_loaddquqi128_mask.
-	(_mm_maskz_loadu_epi8): Likewise.
-	(_mm256_mask_storeu_epi16): Pass short * to.
-	__builtin_ia32_storedquhi256_mask.
-	(_mm_mask_storeu_epi16): Pass short * to.
-	__builtin_ia32_storedquhi128_mask.
-	* config/i386/avx512vlintrin.h (_mm256_mask_loadu_pd): Pass
-	const double * to __builtin_ia32_loadupd256_mask.
-	(_mm256_maskz_loadu_pd): Likewise.
-	(_mm_mask_loadu_pd): Pass onst double * to
-	__builtin_ia32_loadupd128_mask.
-	(_mm_maskz_loadu_pd): Likewise.
-	(_mm256_mask_storeu_pd): Pass double * to
-	__builtin_ia32_storeupd256_mask.
-	(_mm_mask_storeu_pd): Pass double * to
-	__builtin_ia32_storeupd128_mask.
-	(_mm256_mask_loadu_ps): Pass const float * to
-	__builtin_ia32_loadups256_mask.
-	(_mm256_maskz_loadu_ps): Likewise.
-	(_mm_mask_loadu_ps): Pass const float * to
-	__builtin_ia32_loadups128_mask.
-	(_mm_maskz_loadu_ps): Likewise.
-	(_mm256_mask_storeu_ps): Pass float * to
-	__builtin_ia32_storeups256_mask.
-	(_mm_mask_storeu_ps): ass float * to
-	__builtin_ia32_storeups128_mask.
-	(_mm256_mask_loadu_epi64): Pass const long long * to
-	__builtin_ia32_loaddqudi256_mask.
-	(_mm256_maskz_loadu_epi64): Likewise.
-	(_mm_mask_loadu_epi64): Pass const long long * to
-	__builtin_ia32_loaddqudi128_mask.
-	(_mm_maskz_loadu_epi64): Likewise.
-	(_mm256_mask_storeu_epi64): Pass long long * to
-	__builtin_ia32_storedqudi256_mask.
-	(_mm_mask_storeu_epi64): Pass long long * to
-	__builtin_ia32_storedqudi128_mask.
-	(_mm256_mask_loadu_epi32): Pass const int * to
-	__builtin_ia32_loaddqusi256_mask.
-	(_mm256_maskz_loadu_epi32): Likewise.
-	(_mm_mask_loadu_epi32): Pass const int * to
-	__builtin_ia32_loaddqusi128_mask.
-	(_mm_maskz_loadu_epi32): Likewise.
-	(_mm256_mask_storeu_epi32): Pass int * to
-	__builtin_ia32_storedqusi256_mask.
-	(_mm_mask_storeu_epi32): Pass int * to
-	__builtin_ia32_storedqusi128_mask.
-	* config/i386/i386-builtin-types.def (PCSHORT): New.
-	(PINT64): Likewise.
-	(V64QI_FTYPE_PCCHAR_V64QI_UDI): Likewise.
-	(V32HI_FTYPE_PCSHORT_V32HI_USI): Likewise.
-	(V32QI_FTYPE_PCCHAR_V32QI_USI): Likewise.
-	(V16SF_FTYPE_PCFLOAT_V16SF_UHI): Likewise.
-	(V8DF_FTYPE_PCDOUBLE_V8DF_UQI): Likewise.
-	(V16SI_FTYPE_PCINT_V16SI_UHI): Likewise.
-	(V16HI_FTYPE_PCSHORT_V16HI_UHI): Likewise.
-	(V16QI_FTYPE_PCCHAR_V16QI_UHI): Likewise.
-	(V8SF_FTYPE_PCFLOAT_V8SF_UQI): Likewise.
-	(V8DI_FTYPE_PCINT64_V8DI_UQI): Likewise.
-	(V8SI_FTYPE_PCINT_V8SI_UQI): Likewise.
-	(V8HI_FTYPE_PCSHORT_V8HI_UQI): Likewise.
-	(V4DF_FTYPE_PCDOUBLE_V4DF_UQI): Likewise.
-	(V4SF_FTYPE_PCFLOAT_V4SF_UQI): Likewise.
-	(V4DI_FTYPE_PCINT64_V4DI_UQI): Likewise.
-	(V4SI_FTYPE_PCINT_V4SI_UQI): Likewise.
-	(V2DF_FTYPE_PCDOUBLE_V2DF_UQI): Likewise.
-	(V2DI_FTYPE_PCINT64_V2DI_UQI): Likewise.
-	(VOID_FTYPE_PDOUBLE_V8DF_UQI): Likewise.
-	(VOID_FTYPE_PDOUBLE_V4DF_UQI): Likewise.
-	(VOID_FTYPE_PDOUBLE_V2DF_UQI): Likewise.
-	(VOID_FTYPE_PFLOAT_V16SF_UHI): Likewise.
-	(VOID_FTYPE_PFLOAT_V8SF_UQI): Likewise.
-	(VOID_FTYPE_PFLOAT_V4SF_UQI): Likewise.
-	(VOID_FTYPE_PINT64_V8DI_UQI): Likewise.
-	(VOID_FTYPE_PINT64_V4DI_UQI): Likewise.
-	(VOID_FTYPE_PINT64_V2DI_UQI): Likewise.
-	(VOID_FTYPE_PINT_V16SI_UHI): Likewise.
-	(VOID_FTYPE_PINT_V8SI_UHI): Likewise.
-	(VOID_FTYPE_PINT_V4SI_UHI): Likewise.
-	(VOID_FTYPE_PSHORT_V32HI_USI): Likewise.
-	(VOID_FTYPE_PSHORT_V16HI_UHI): Likewise.
-	(VOID_FTYPE_PSHORT_V8HI_UQI): Likewise.
-	(VOID_FTYPE_PCHAR_V64QI_UDI): Likewise.
-	(VOID_FTYPE_PCHAR_V32QI_USI): Likewise.
-	(VOID_FTYPE_PCHAR_V16QI_UHI): Likewise.
-	(V64QI_FTYPE_PCV64QI_V64QI_UDI): Removed.
-	(V32HI_FTYPE_PCV32HI_V32HI_USI): Likewise.
-	(V32QI_FTYPE_PCV32QI_V32QI_USI): Likewise.
-	(V16HI_FTYPE_PCV16HI_V16HI_UHI): Likewise.
-	(V16QI_FTYPE_PCV16QI_V16QI_UHI): Likewise.
-	(V8HI_FTYPE_PCV8HI_V8HI_UQI): Likewise.
-	(VOID_FTYPE_PV32HI_V32HI_USI): Likewise.
-	(VOID_FTYPE_PV16HI_V16HI_UHI): Likewise.
-	(VOID_FTYPE_PV8HI_V8HI_UQI): Likewise.
-	(VOID_FTYPE_PV64QI_V64QI_UDI): Likewise.
-	(VOID_FTYPE_PV32QI_V32QI_USI): Likewise.
-	(VOID_FTYPE_PV16QI_V16QI_UHI): Likewise.
-	* config/i386/i386.c (ix86_emit_save_reg_using_mov): Don't
-	use UNSPEC_STOREU.
-	(ix86_emit_restore_sse_regs_using_mov): Don't use UNSPEC_LOADU.
-	(ix86_avx256_split_vector_move_misalign): Don't use unaligned
-	load nor store.
-	(ix86_expand_vector_move_misalign): Likewise.
-	(bdesc_special_args): Use CODE_FOR_movvNXY_internal and pointer
-	to scalar function prototype for unaligned load/store builtins.
-	(ix86_expand_special_args_builtin): Updated.
-	* config/i386/sse.md (UNSPEC_LOADU): Removed.
-	(UNSPEC_STOREU): Likewise.
-	(VI_ULOADSTORE_BW_AVX512VL): Likewise.
-	(VI_ULOADSTORE_F_AVX512VL): Likewise.
-	(ssescalarsize): Handle V4TI, V2TI and V1TI.
-	(<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>): Likewise.
-	(*<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>): Likewise.
-	(<sse>_storeu<ssemodesuffix><avxsizesuffix>): Likewise.
-	(<avx512>_storeu<ssemodesuffix><avxsizesuffix>_mask): Likewise.
-	(<sse2_avx_avx512f>_loaddqu<mode><mask_name>): Likewise.
-	(*<sse2_avx_avx512f>_loaddqu<mode><mask_name>"): Likewise.
-	(sse2_avx_avx512f>_storedqu<mode>): Likewise.
-	(<avx512>_storedqu<mode>_mask): Likewise.
-	(*sse4_2_pcmpestr_unaligned): Likewise.
-	(*sse4_2_pcmpistr_unaligned): Likewise.
-	(*mov<mode>_internal): Renamed to ...
-	(mov<mode>_internal): This.  Remove check of AVX and IAMCU on
-	misaligned operand.  Replace vmovdqu64 with vmovdqu<ssescalarsize>.
-	(movsd/movhpd to movupd peephole): Don't use UNSPEC_LOADU.
-	(movlpd/movhpd to movupd peephole): Don't use UNSPEC_STOREU.
-
-2016-04-19  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/70171
-	* tree-ssa-phiprop.c: Include stor-layout.h.
-	(phiprop_insert_phi): Handle the aggregate copy case.
-	(propagate_with_phi): Likewise.
-
-2016-04-19  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (ix86_decompose_address): Use lowpart_subreg
-	instead of simplify_gen_subreg (... , 0).
-	(ix86_delegitimize_address): Ditto.
-	(ix86_split_divmod): Ditto.
-	(ix86_split_copysign_const): Ditto.
-	(ix86_split_copysign_var): Ditto.
-	(ix86_expand_args_builtin): Ditto.
-	(ix86_expand_round_builtin): Ditto.
-	(ix86_expand_special_args_builtin): Ditto.
-	* config/i386/i386.md (TARGET_USE_VECTOR_FP_CONVERTS splitters): Ditto.
-	(TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters and peephole2s): Ditto.
-	(udivmodqi4): Ditto.
-	(absneg splitters): Ditto.
-	(*jcc_bt<mode>_1): Ditto.
-
-2016-04-19  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/70724
-	* tree-ssa-sccvn.c (scc_vn_restore_ssa_info): Split SSA info
-	restoring out from ...
-	(free_scc_vn): ... here.
-	* tree-ssa-sccvn.h (scc_vn_restore_ssa_info): Declare.
-	* tres-ssa-pre.c (pass_pre::execute): Restore SSA info before
-	tail merging.
-	(pass_fre::execute): Restore SSA info.
-
-2016-04-19  Richard Biener  <rguenther@suse.de>
-
-	* gimple-walk.h (struct walk_stmt_info): Add stmt member.
-	* gimple-walk.c (walk_gimple_op): Initialize it.
-	(walk_gimple_asm): Set wi->is_lhs before each callback invocation.
-	* tree-inline.c (remap_gimple_op_r): Set SSA_NAME_DEF_STMT when
-	remapping SSA names of defs.
-	(copy_bb): Remove walk over all SSA defs and SSA_NAME_DEF_STMT
-	adjustment.
-
-2016-04-18  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR middle-end/70689
-	* lra-constraints.c (equiv_substition_p): New.
-	(process_alt_operands): Use it.
-	(swap_operands): Swap it.
-	(curr_insn_transform): Update it.
-
-2016-04-18  Michael Matz  <matz@suse.de>
-
-	* tree.h (TYPE_ALIGN, DECL_ALIGN): Return shifted amount.
-	(SET_TYPE_ALIGN, SET_DECL_ALIGN): New.
-	* tree-core.h (tree_type_common.align): Use bit-field.
-	(tree_type_common.spare): New.
-	(tree_decl_common.off_align): Make smaller.
-	(tree_decl_common.align): Use bit-field.
-
-	* expr.c (expand_expr_addr_expr_1): Use SET_TYPE_ALIGN.
-	* omp-low.c (install_var_field): Use SET_DECL_ALIGN.
-	(scan_sharing_clauses): Ditto.
-	(finish_taskreg_scan): Use SET_DECL_ALIGN and SET_TYPE_ALIGN.
-	(omp_finish_file): Ditto.
-	* stor-layout.c (do_type_align): Use SET_DECL_ALIGN.
-	(layout_decl): Ditto.
-	(relayout_decl): Ditto.
-	(finalize_record_size): Use SET_TYPE_ALIGN.
-	(finalize_type_size): Ditto.
-	(finish_builtin_struct): Ditto.
-	(layout_type): Ditto.
-	(initialize_sizetypes): Ditto.
-	* targhooks.c (std_gimplify_va_arg_expr): Use SET_TYPE_ALIGN.
-	* tree-nested.c (insert_field_into_struct): Use SET_TYPE_ALIGN.
-	(lookup_field_for_decl): Use SET_DECL_ALIGN.
-	(get_chain_field): Ditto.
-	(get_trampoline_type): Ditto.
-	(get_nl_goto_field): Ditto.
-	* tree-streamer-in.c (unpack_ts_decl_common_value_fields): Use
-	SET_DECL_ALIGN.
-	(unpack_ts_type_common_value_fields): Use SET_TYPE_ALIGN.
-	* gimple-expr.c (copy_var_decl): Use SET_DECL_ALIGN.
-	* tree.c (make_node_stat): Use SET_DECL_ALIGN and SET_TYPE_ALIGN.
-	(build_qualified_type): Use SET_TYPE_ALIGN.
-	(build_aligned_type, build_range_type_1): Ditto.
-	(build_atomic_base): Ditto.
-	(build_common_tree_nodes): Ditto.
-	* cfgexpand.c (align_local_variable): Use SET_DECL_ALIGN.
-	(expand_one_stack_var_at): Ditto.
-	* coverage.c (build_var): Use SET_DECL_ALIGN.
-	* except.c (init_eh): Ditto.
-	* function.c (assign_parm_setup_block): Ditto.
-	* symtab.c (increase_alignment_1): Ditto.
-	* tree-ssa-ccp.c (fold_builtin_alloca_with_align): Ditto.
-	* tree-vect-stmts.c (ensure_base_align): Ditto.
-	* varasm.c (align_variable): Ditto.
-	(assemble_variable): Ditto.
-	(build_constant_desc): Ditto.
-	(output_constant_def_contents): Ditto.
-
-	* config/arm/arm.c (arm_relayout_function): Use SET_DECL_ALIGN.
-	* config/avr/avr.c (avr_adjust_type_node): Use SET_TYPE_ALIGN.
-	* config/mips/mips.c (mips_std_gimplify_va_arg_expr): Ditto.
-	* config/msp430/msp430.c (msp430_gimplify_va_arg_expr): Ditto.
-	* config/spu/spu.c (spu_build_builtin_va_list): Use SET_DECL_ALIGN.
-
-2016-04-18  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/70708
-	* config/i386/sse.md (sse2_loadlpd): Accept load from "xm" and
-	replace %vmovsd with "%vmovq".
-	(vec_concatv2df): Likewise.
-
-2016-04-18  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/mmx.md (*vec_extractv2sf_0): Use gen_lowpart.
-	(*vec_extractv2si_0): Ditto.
-	* config/i386/sse.md (*vec_extractv4sf_0): Ditto.
-	(zero_extended_scalar_load_operand splitters): Ditto.
-	(vec_extract splitters): Ditto.
-	(*vec_extractv4si_0_zext): Ditto.
-	(avx_<castmode><avxsizesuffix>_<castmode>): Use gen_lowpart
-	and lowpart_subreg.
-	(avx512f_<castmode><avxsizesuffix>_<castmode>): Ditto.
-	(avx512f_<castmode><avxsizesuffix>_256<castmode>): Ditto.
-	(*sse4_1_extractps): Use lowpart_subreg.
-	* config/i386/i386.md (x87 floatsplitter): Use gen_lowpart.
-
-2016-04-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	* doc/install.texi (Specific, i?86-*-solaris2.10): Update gas and
-	gld requirements.
-	(Specific, *-*-solaris2*): Update Solaris 11 bundled gcc versions.
-	Mention Solaris 11 packaging changes.
-	Update gas and gld requirements.
-	Remove reference to pre-Solaris 10 bug.
-	(Specific, sparc-sun-solaris2*): Remove reference to pre-Solaris 10
-	systems and bugs.
-	(Specific, sparc64-*-solaris2*): Remove reference to bootstrap
-	with cc.
-
-2016-04-17  Jan Hubicka  <jh@suse.cz>
-
-	* tree-ssa-loop-ivopts.c (avg_loop_niter): Use also
-	max_loop_iterations_int.
-
-2016-04-18  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/43434
-	* tree-ssa-structalias.c (struct vls_data): New.
-	(visit_loadstore): Handle all pointer-based accesses.
-	(compute_dependence_clique): Compute a bitmap of restrict tags
-	assigned bases and pass it to visit_loadstore.
-
-2016-04-18  Matthew Wahab  <matthew.wahab@arm.com>
-
-	PR target/70711
-	* config/arm/bpabi.h (BE8_LINK_SPEC): Add entries for armv8+crc,
-	armv8.1-a and armv8.1-a+crc.
-
-2016-04-18  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/70701
-	* tree-ssa-sccvn.c (vn_reference_lookup_3): Resolve fully constant
-	references after translating through a memcpy.
-
-2016-04-18  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-pre.c (postorder, postorder_num): Make locals ...
-	(compute_antic): ... here.  For partial antic use regular
-	postorder and scrap iteration.
-	(compute_partial_antic_aux): Remove unused return value.
-	(init_pre): Do not allocate postorder.
-	(fini_pre): Do not free postorder.
-
-2016-04-18  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/37870
-	* expmed.c (extract_bit_field_1): Remove broken case
-	using a wider MODE_INT mode.
-
-2016-04-18  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* has-brig.c (lendian16): Don't try to use __builtin_bswap16
-	unless compiling with at least GCC-4.8.
-
-2016-04-17  Jan Hubicka  <jh@suse.cz>
-
-	PR bootstrap/70706
-	* graphite.c (graphite_finalize): Update call to
-	tree_estimate_probability.
-	* predict.h (tree_estimate_probability): Update prototype.
-
-2016-04-17  Jan Hubicka  <jh@suse.cz>
-
-	* predict.c (combine_predictions_for_bb): Add dry_run parmaeter.
-	(tree_estimate_probability): Likewise.
-	(pass_profile::execute): Update.
-	(report_predictor_hitrates): New function.
-	* profile.c (compute_branch_probabilities): Use it.
-	* predict.h (report_predictor_hitrates): Declare.
-
-2016-04-17  Jan Hubicka  <jh@suse.cz>
-
-	PR ipa/70018
-	* cgraph.h (cgraph_node::set_const_flag,
-	cgraph_node::set_pure_flag): Update prototype to return bool;
-	update comment.
-	* cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases): Thunks
-	of interposable symbol are interposable, too.
-	(cgraph_set_const_flag_1): Rename to ...
-	(set_const_flag_1): ... this one; change to self recursive function
-	instead of call_for_symbol_thunks_and_aliases. Handle correctly
-	clearnig the flag in all variants and also virtual thunks of const
-	functions are pure; track if any change was done.
-	(cgraph_node::set_const_flag): Update.
-	(struct set_pure_flag_info): New struct.
-	(cgraph_set_pure_flag_1): Rename to ...
-	(set_pure_flag_1): ... this one; take set_pure_flag_info parameter
-	rather than pointer encoded flags; track if any changes was done;
-	handle correctly clearning flag and setting flag of aliases already
-	declared const.
-	(cgraph_node::set_pure_flag): Update.
-	(cgraph_node::set_nothrow_flag): Handle correctly clearning the flag.
-
-2016-04-17  Tom de Vries  <tom@codesourcery.com>
-
-	PR other/70433
-	* pretty-print.c (pp_write_text_as_dot_label_to_stream): Escape
-	backslash in label.
-
-2016-04-17  Tom de Vries  <tom@codesourcery.com>
-
-	* pretty-print.c (pp_write_text_as_dot_label_to_stream): Classify chars
-	'{}<> ' as escape-for-record.
-
-2016-04-17  Tom de Vries  <tom@codesourcery.com>
-
-	* pretty-print.c (pp_write_text_as_dot_label_to_stream): Simplify loop
-	structure.
-
-2016-04-17  Tom de Vries  <tom@codesourcery.com>
-
-	PR other/70185
-	* tree-pass.h (class opt_pass): Remove graph_dump_initialized member.
-	* dumpfile.h (struct dump_file_info): Add graph_dump_initialized field.
-	* dumpfile.c (dump_files): Initialize graph_dump_initialized field.
-	* passes.c (finish_optimization_passes): Only call
-	finish_graph_dump_file if dfi->graph_dump_initialized.
-	(execute_function_dump, pass_init_dump_file): Use
-	dfi->graph_dump_initialized instead of pass->graph_dump_initialized.
-
-2016-04-17  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/70256
-	* tree-ssa-structalias.c (dump_varinfo, debug_varinfo, dump_varmap)
-	(debug_varmap): New function.
-
-2016-04-17  Tom de Vries  <tom@codesourcery.com>
-
-	PR other/70183
-	* passes.c (pass_manager::register_pass): Propagate pflags.
-
-2016-04-17  Tom de Vries  <tom@codesourcery.com>
-
-	PR other/68875
-	* pass_manager.h (TERMINATE_PASS_LIST): Add pass argument.
-	* passes.c (pass_manager::pass_manager): Declare and init p_start in
-	INSERT_PASSES_AFTER.  Add pass parameter to TERMINATE_PASS_LIST, and
-	check if it's equal to p_start.
-	* passes.def: Add arguments to TERMINATE_PASS_LISTs.
-
-2016-04-15  Jan Hubicka  <jh@suse.cz>
-
-	PR ipa/70018
-	* cgraph.c (cgraph_set_const_flag_1): Only set as pure if
-	function does not bind to current def.
-	* ipa-pure-const.c (worse_state): Add FROM and TO parameters;
-	handle conservatively calls to functions that does not need to bind
-	to current def.
-	(check_call): Update call of worse_state.
-	(ignore_edge_for_nothrow): Update.
-	(ignore_edge_for_pure_const): Likewise.
-	(propagate_pure_const): Update calls to worse_state.
-	(skip_function_for_local_pure_const): Reformat comments.
-
-2016-04-15  Jan Hubicka  <jh@suse.cz>
-
-	PR ipa/70018
-	* cgraph.c (cgraph_node::get_availability): Add REF parameter.
-	(cgraph_node::function_symbol): Likewise.
-	(cgraph_node::function_or_virtual_thunk_symbol): Likewise.
-	* cgraph.h (symtab_node::get_availabbility): Add REF parameter.
-	(symtab_node::ultimate_alias_target): Add REF parameter.
-	(symtab_node::binds_to_current_def_p): Declare.
-	(symtab_node;:ultimate_alias_target_1): Add REF parameter.
-	(cgraph_node::function_symbol): Likewise.
-	(cgraph_node::function_or_virtual_thunk_symbol): Likewise.
-	(cgraph_node::get_availability): Likewise.
-	(cgraph_edge::binds_to_current_def_p): New inline function.
-	(varpool_node::get_availability): Add REF parameter.
-	(varpool_node::ultimate_alias_target): Likewise.
-	* symtab.c (symtab_node::ultimate_alias_target_1): Likewise.
-	(symtab_node::binds_to_current_def_p): Likewise.
-	* varpool.c (varpool_node::get_availability): Likewise.
-
-2016-04-15  Kirill Yukhin  <kirill.yukhin@intel.com>
-
-	PR target/70662
-	* config/i386/sse.md(define_insn "<avx512>_vec_dup<mode><mask_name>"):
-	Fix mode size check.
-
-2016-04-15  Jakub Jelinek  <jakub@redhat.com>
-
-	* BASE-VER: Set to 7.0.0.
-
-2016-04-15  Alexander Monakov  <amonakov@ispras.ru>
-
-	* config/nvptx/nvptx.opt (moptimize): Add a period at end of help text.
-
-2016-04-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* doc/invoke.texi (ARM Options): Add note on deprecation of pre-ARMv4T
-	architecture revisions.
-
-2016-04-15  Bernd Schmidt  <bschmidt@redhat.com>
-
-	* 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 ().
-
-2016-04-15  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/70675
-	* tree-pretty-print.c (do_niy): Add FLAGS argument, pass it down
-	to dump_generic_node.
-	(NIY): Pass also flags to do_niy.
-
-2016-04-15  Thomas Schwinge  <thomas@codesourcery.com>
-
-	* omp-low.c (simd_clone_struct_alloc, simd_clone_struct_copy)
-	(simd_clone_vector_of_formal_parm_types)
-	(simd_clone_clauses_extract, simd_clone_compute_base_data_type)
-	(simd_clone_mangle, simd_clone_create)
-	(simd_clone_adjust_return_type, create_tmp_simd_array)
-	(simd_clone_adjust_argument_types, simd_clone_init_simd_arrays)
-	(struct modify_stmt_info, ipa_simd_modify_stmt_ops)
-	(ipa_simd_modify_function_body, simd_clone_linear_addend)
-	(simd_clone_adjust, expand_simd_clones, ipa_omp_simd_clone)
-	(pass_data_omp_simd_clone, class pass_omp_simd_clone)
-	(pass_omp_simd_clone::gate, make_pass_omp_simd_clone): Move into...
-	* omp-simd-clone.c: ... this new file.
-	(simd_clone_vector_of_formal_parm_types): Make it static.
-	* Makefile.in (OBJS): Add omp-simd-clone.o.
-
-2016-04-15  Kirill Yukhin  <kirill.yukhin@intel.com>
-
-	PR target/70662
-	* config/i386/sse.md: Use proper memory operand modifiers.
-
-
-2016-04-15  Richard Biener  <rguenther@suse.de>
-	Alan Modra  <amodra@gmail.com>
-
-	PR tree-optimization/70130
-	* tree-vect-data-refs.c (vect_supportable_dr_alignment): Detect
-	when alignment stays not the same and no not use the realign
-	scheme then.
-
-2016-04-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/70669
-	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add
-	direct move handlers for KFmode. Change TFmode handlers test from
-	FLOAT128_IEEE_P to FLOAT128_VECTOR_P.
-
-2016-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/70594
-	* ipa-utils.h (polymorphic_ctor_dtor_p): New prototype.
-	* ipa-polymorphic-call.c (polymorphic_ctor_dtor_p): New function.
-	(inlined_polymorphic_ctor_dtor_block_p): Use it.
-	* tree-ssa-live.c (remove_unused_scope_block_p): When
-	in_ctor_dtor_block, avoid discarding not just BLOCKs with
-	BLOCK_ABSTRACT_ORIGIN being FUNCTION_DECL, but even when
-	block_ultimate_origin is FUNCTION_DECL.
-	(remove_unused_locals): If current_function_decl is
-	polymorphic_ctor_dtor_p, pass initial true to
-	remove_unused_scope_block_p' is_ctor_dtor_block.
-
-2016-04-14  Martin Sebor  <msebor@redhat.com>
-
-	PR c++/69517
-	PR c++/70019
-	PR c++/70588
-	* doc/extend.texi (Variable Length): Revert.
-
-2016-04-14  Marek Polacek  <polacek@redhat.com>
-	    Jan Hubicka  <hubicka@ucw.cz>
-
-	PR c++/70029
-	* tree.c (verify_type): Disable the canonical type of main variant
-	check.
-
-2016-04-14  Jason Merrill  <jason@redhat.com>
-
-	* cfgexpand.c, expr.c: Revert previous change.
-
-2016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
-
-	PR middle-end/70643
-	* omp-low.c (lower_oacc_reductions): Check for TREE_CONSTANT
-	when building a mem ref for the incoming reduction variable.
-
-2016-04-14  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/70614
-	* tree-scalar-evolution.c (analyze_evolution_in_loop): Terminate
-	loop if the evolution dropped to chrec_dont_know.
-	(interpret_condition_phi): Likewise.
-
-2016-04-14  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/70623
-	* tree-ssa-pre.c (changed_blocks): Make global ...
-	(compute_antic): ... local here.  Move and fix worklist
-	handling here.  Do not clear EDGE_DFS_BACK or call mark_dfs_back_edges.
-	(compute_antic_aux): Add dumping for MAX assumed succs.  Remove
-	worklist handling, dump when ANTIC_IN changed.
-	(compute_partial_antic_aux): Remove worklist handling.
-	(init_pre): Do not compute post dominators.  Add a comment about
-	the CFG order chosen.
-	(fini_pre): Do not free post dominators.
-
-2016-04-13  Martin Sebor  <msebor@redhat.com>
-
-	PR c++/69517
-	PR c++/70019
-	PR c++/70588
-	* doc/extend.texi (Variable Length): Document C++ specifics.
-
-2016-04-13  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/70641
-	* ipa-pure-const.c (pass_nothrow::execute): Call maybe_clean_eh_stmt
-	on all recursive call stmts.  Return TODO_cleanup_cfg if any dead
-	eh edges have been purged.
-
-	PR c++/70594
-	* tree-sra.c (create_access_replacement,
-	get_replaced_param_substitute): Set DECL_NAMELESS on repl if it
-	gets fancy name.
-	* tree-pretty-print.c (dump_fancy_name): New function.
-	(dump_decl_name, dump_generic_node): Use it.
-
-2016-04-13  Jason Merrill  <jason@redhat.com>
-
-	* cfgexpand.c (pass_expand::execute): Handle attribute "abi warning".
-	* expr.c (expand_expr_real_1): Likewise.
-
-2016-04-13  Ilya Enkovich  <ilya.enkovich@intel.com>
-
-	* config/i386/i386.md (kunpckhi): Swap operands.
-	(kunpcksi): Likewise.
-	(kunpckdi): Likewise.
-	* config/i386/sse.md (vec_pack_trunc_qi): Likewise.
-	(vec_pack_trunc_<mode>): Likewise.
-
-2016-04-13  Jakub Jelinek  <jakub@redhat.com>
-
-	PR debug/70628
-	* explow.c (convert_memory_address_addr_space_1): Formatting fix.
-
-	PR middle-end/70633
-	* gimplify.c (gimplify_init_constructor): Clear TREE_STATIC if
-	gimplification turns some element into non-constant.
-
-	PR debug/70628
-	* rtl.h (convert_memory_address_addr_space_1): New prototype.
-	* explow.c (convert_memory_address_addr_space_1): No longer static,
-	add NO_EMIT argument and don't call convert_modes if true, pass
-	it down recursively, remove break after return.
-	(convert_memory_address_addr_space): Adjust caller.
-	* simplify-rtx.c (simplify_unary_operation_1): Call
-	convert_memory_address_addr_space_1 instead of convert_memory_address,
-	if it returns NULL, don't simplify.
-
-2016-04-12  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR target/70630
-	* config/sparc/sparc.c (sparc_compute_frame_size): Add parentheses.
-
-2016-04-12  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
-	Bump the upper SIMDLEN limits, so that if the return type or
-	characteristic type if the return type is void can be passed in
-	all available SSE2/AVX/AVX2/AVX512-F registers, the SIMDLEN is
-	allowed.
-
-2016-04-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/70640
-	* config/rs6000/rs6000.md (ieee_128bit_vsx_neg<mode>2_internal):
-	Do not use "=" constraint on an input constraint.
-	(ieee_128bit_vsx_abs<mode>2_internal): Likewise.
-	(ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
-	(ieee_128bit_vsx_nabs<mode>2): Correct splitter so that it
-	generates (neg (abs ...)) instead of (abs ...).
-
-2016-04-12  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/70596
-	* lra-spills.c (spill_pseudos): Don't delete debug insns, instead
-	just invalidate LRA data and reset them.  Adjust dump wording.
-
-2016-04-12  Martin Liska  <mliska@suse.cz>
-
-	Revert
-	2016-03-30  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic
-	estimates here.
-	* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
-	max_loop_iterations_int.
-	(tree_unswitch_outer_loop): Likewise.
-	* tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
-	* tree-vect-loop.c (vect_analyze_loop_2): Likewise.
-
-2016-04-12  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/68756
-	* graphite-isl-ast-to-gimple.c (copy_cond_phi_args): Use new_expr
-	instead of new_name.
-
-2016-04-12  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/70602
-	* tree-sra.c (generate_subtree_copies): Don't write anything into
-	constant pool decls.
-
-	* omp-low.c (lower_omp_target): Use GOMP_MAP_FIRSTPRIVATE_INT
-	regardless whether there are depend clauses or not.
-
-2016-04-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/70381
-	* config/rs6000/rs6000.c (rs6000_opt_masks): Disable using the
-	target attribute and pragma from changing the -mfloat128
-	and -mfloat128-hardware options.
-
-	* doc/extend.texi (Additional Floating Types): Document PowerPC
-	__float128 restrictions.
-
-2016-04-11  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	PR target/70133
-	* config/aarch64/driver-aarch64.c
-	(aarch64_get_extension_string_for_isa_flags): New.
-	(arch_extension): Rename to...
-	(aarch64_arch_extension): ...This.
-	(ext_to_feat_string): Rename to...
-	(aarch64_extensions): ...This.
-	(aarch64_core_data): Keep track of architecture extension flags.
-	(cpu_data): Rename to...
-	(aarch64_cpu_data): ...This.
-	(aarch64_arch_driver_info): Keep track of architecture extension
-	flags.
-	(get_arch_name_from_id): Rename to...
-	(get_arch_from_id): ...This, change return type.
-	(host_detect_local_cpu): Update and reformat for renames, handle
-	extensions through common infrastructure.
-
-2016-04-11  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	PR target/70133
-	* config/aarch64/aarch64-common.c (aarch64_option_extension): Keep
-	track of a canonical flag name.
-	(all_extensions): Likewise.
-	(arch_to_arch_name): Also track extension flags enabled by the arch.
-	(all_architectures): Likewise.
-	(aarch64_parse_extension): Move to here.
-	(aarch64_get_extension_string_for_isa_flags): Take a new argument,
-	rework.
-	(aarch64_rewrite_selected_cpu): Update for above change.
-	* config/aarch64/aarch64-option-extensions.def: Rework the way flags
-	are handled, such that the single explicit value enabled by an
-	extension is kept seperate from the implicit values it also enables.
-	* config/aarch64/aarch64-protos.h (aarch64_parse_opt_result): Move
-	to here.
-	(aarch64_parse_extension): New.
-	* config/aarch64/aarch64.c (aarch64_parse_opt_result): Move from
-	here to config/aarch64/aarch64-protos.h.
-	(aarch64_parse_extension): Move from here to
-	common/config/aarch64/aarch64-common.c.
-	(aarch64_option_print): Update.
-	(aarch64_declare_function_name): Likewise.
-	(aarch64_start_file): Likewise.
-	* config/aarch64/driver-aarch64.c (arch_extension): Keep track of
-	the canonical flag for extensions.
-	* config.gcc (aarch64*-*-*): Extend regex for capturing extension
-	flags.
-
-2016-04-11  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8_1): Also add
-	AARCH64_FL_CRC.
-
-2016-04-09  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/68953
-	* graphite-sese-to-poly.c (pdr_add_memory_accesses): Order accesses from
-	first to last subscript.
-
-2016-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/70586
-	* tree-ssa-ifcombine.c (bb_no_side_effects_p): Return false
-	for any calls.
-
-2016-04-08  Cesar Philippidis  <cesar@codesourcery.com>
-
-	PR lto/70289
-	PR ipa/70348
-	PR tree-optimization/70373
-	PR middle-end/70533
-	PR middle-end/70534
-	PR middle-end/70535
-	* gimplify.c (gimplify_adjust_omp_clauses): Add or adjust data
-	clauses for acc parallel reductions as necessary.  Error on those
-	that are private.
-	* omp-low.c (scan_sharing_clauses): Don't install variables which
-	are used in acc parallel reductions.
-	(lower_rec_input_clauses): Remove dead code.
-	(lower_oacc_reductions): Add support for reference reductions.
-	(lower_reduction_clauses): Remove dead code.
-	(lower_omp_target): Don't remap variables appearing in acc parallel
-	reductions.
-	* tree.h (OMP_CLAUSE_MAP_IN_REDUCTION): New macro.
-
-2016-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/70593
-	* tree-ssa-coalesce.c (build_ssa_conflict_graph): For stmt
-	with multiple SSA_NAME defs, force the outputs other than first
-	to be live before calling live_track_process_def on each output.
-
-	PR rtl-optimization/70574
-	* fwprop.c (forward_propagate_and_simplify): Don't add
-	REG_EQUAL note if DF_REF_REG (use) is a paradoxical subreg.
-	(try_fwprop_subst): Don't add REG_EQUAL note if there are any
-	paradoxical subregs within *loc.
-
-2016-04-08  Thomas Schwinge  <thomas@codesourcery.com>
-
-	* config/arc/arc.h (LINK_COMMAND_SPEC): Use gt to ignore
-	-ftree-parallelize-loops={0,1}.
-	* config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
-	* config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
-	* config/ia64/hpux.h (LIB_SPEC): Likewise.
-	* config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
-	* config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
-
-2016-04-08  Maxim Ostapenko  <m.ostapenko@samsung.com>
-
-	PR sanitizer/70541
-	* asan.c (instrument_derefs): If we get unknown location, extract it
-	with EXPR_LOCATION.
-	(maybe_instrument_call): Instrument gimple_call's arguments if needed.
-
-2016-04-08  Tom de Vries  <tom@codesourcery.com>
-
-	* omp-low.c (lower_omp_target): Set TREE_NO_WARNING for oacc
-	implicit firstprivate clause.
-
-2016-04-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/70566
-	* config/arm/thumb2.md (tst + branch-> lsls + branch
-	peephole below *orsi_not_shiftsi_si): Require that condition
-	register is dead after the peephole.
-	(second peephole after the above): Likewise.
-
-2016-04-08  Alan Modra  <amodra@gmail.com>
-
-	PR target/70117
-	* builtins.c (fold_builtin_classify): For IBM extended precision,
-	look at just the high-order double to test for NaN.
-	(fold_builtin_interclass_mathfn): Similarly for Inf.  For isnormal
-	test just the high double for Inf but both doubles for subnormal
-	limit.
-
-2016-04-07  Jakub Jelinek  <jakub@redhat.com>
-
-	* cgraph.h (struct cgraph_simd_clone): Add mask_mode field.
-	* omp-low.c (simd_clone_init_simd_arrays, simd_clone_adjust): Handle
-	node->simdclone->mask_mode != VOIDmode masks.
-	(simd_clone_adjust_argument_types): Likewise.  Move sc var definition
-	earlier, use it instead of node->simdclone.
-	* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
-	Set clonei->mask_mode.
-
-2016-04-06  Patrick Palka  <ppalka@gcc.gnu.org>
-
-	PR c/70436
-	* parser.c (cp_parser_iteration_statement): New parameter IF_P.
-	Pass it through to cp_parser_already_scoped_statement.
-	(cp_parser_already_scoped_statement): New parameter IF_P.  Pass
-	it through to cp_parser_statement.
-	(cp_parser_statement): Pass IF_P through to
-	cp_parser_iteration_statement.
-	(cp_parser_pragma): Adjust call to
-	cp_parser_iteration_statement.
-
-2016-04-06  Patrick Palka  <ppalka@gcc.gnu.org>
-
-	PR c/70436
-	* gimplify.c (gimplify_omp_ordered): Add explicit braces to
-	resolve a future -Wparentheses warning.
-	* omp-low.c (scan_sharing_clauses): Likewise.
-	* tree-parloops.c (eliminate_local_variables): Likewise.
-
-2016-04-06  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/70398
-	* lra-constraints.c (process_address_1): Check zero scale and code
-	for reloading with zero scale.
-
-2016-04-06  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/sse.md (shuffletype): Add V32HI and V4TI modes.
-	(ssescalarsize): Add V8SF, V4SF, V4DF and V2DF modes.
-
-2016-04-06  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
-	Add support for AVX512F clones, include them by default for
-	exported OpenMP declare simd functions.  For AVX2 allow simdlen 32
-	and use it if charasteric type is 8-bit, for AVX512F allow simdlen
-	up to 128.
-
-	PR middle-end/70550
-	* tree.h (OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT): Define.
-	* gimplify.c (gimplify_adjust_omp_clauses_1): Set it for implicit
-	firstprivate clauses.
-	* omp-low.c (lower_send_clauses): Set TREE_NO_WARNING for
-	OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT !by_ref vars in task contexts.
-	(lower_omp_target): Set TREE_NO_WARNING for
-	non-addressable possibly uninitialized vars which are copied into
-	addressable temporaries or copied for GOMP_MAP_FIRSTPRIVATE_INT.
-
-2016-04-05  John David Anglin  <danglin@gcc.gnu.org>
-
-	* config/pa/predicates.md (integer_store_memory_operand): Accept
-	REG+D operands with a large offset when reload_in_progress is true.
-	(floating_point_store_memory_operand): Likewise.
-
-2016-04-05  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/70336
-	* match.pd (nested int casts): Limit to GIMPLE.
-
-2016-04-05  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR ipa/66223
-	* ipa-devirt.c (maybe_record_node): Fix comment; use
-	SANITIZE_UNREACHABLE instead of SANITIZE_UNDEFINED.
-
-2016-04-05  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/70542
-	* ree.c (add_removable_extension): For VECTOR_MODE_P punt
-	if there are any uses other than insn or debug insns.
-
-2016-04-05  Marc Glisse  <marc.glisse@inria.fr>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/70509
-	* simplify-rtx.c (simplify_binary_operation_1) <case VEC_SELECT>:
-	Shift HOST_WIDE_INT_1U instead of 1.
-
-2016-04-05  Zdenek Sojka  <zsojka@seznam.cz>
-
-	PR tree-optimization/70509
-	* tree-ssa-forwprop.c (simplify_bitfield_ref): Use bitsize_int instead
-	of the vector base type for index.
-
-2016-04-05  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/70510
-	* config/i386/sse.md (iptr): Add V64QI, V32HI, V16SI and V8DI modes.
-
-2016-04-05  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/70526
-	* tree-sra.c (build_ref_for_offset): Use prev_base to
-	extract the alias pointer type.
-
-2016-04-05  Richard Biener  <rguenther@suse.de>
-
-	* dse.c (struct store_info): Remove alias_set member.
-	(struct read_info_type): Likewise.
-	(clear_alias_group, clear_alias_mode_table, clear_alias_mode_holder,
-	spill_deleted, clear_alias_set_lookup): Remove.
-	(get_group_info): Remove dead base == NULL_RTX case.
-	(dse_step0): Remove initialization of removed variables.
-	(delete_dead_store_insn): Reomve alias set dumping.
-	(free_read_records): Remove alias_set handling.
-	(canon_address): Remove alias_set_out parameter.
-	(record_store): Remove spill_alias_set, it's always zero.
-	(check_mem_read_rtx): Likewise.
-	(dse_step2): Rename from ...
-	(dse_step2_nospill): ... this.  Adjust.
-	(scan_stores): Rename from ...
-	(scan_stores_nospill): ... this.
-	(scan_reads): Rename from ...
-	(scan_reads_nospill): ... this.
-	(scan_stores_spill, scan_reads_spill): Remove.
-	(dse_step3_scan): Remove for_spills argument which is always false.
-	(dse_step3): Likewise.
-	(dse_step5): Rename from ...
-	(dse_step5_nospill): ... this.  Remove alias_set handling.
-	(rest_of_handle_dse): Adjust.
-
-2016-04-05  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/70525
-	* config/i386/sse.md (*andnot<mode>3): Simplify assertions.
-	Use vpandn<ssemodesuffix> for V16SI/V8DImode, vpandnq for
-	V32HI/V64QImode, don't use <mask_operand3_1>, fix up formatting.
-	(*andnot<mode>3_mask): Remove insn with VI12_AVX512VL iterator.
-
-2016-04-05  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/70499
-	* gimplify-me.c (gimple_regimplify_operands): Do not rewrite
-	non-register type temporaries into SSA.
-
-2016-04-04  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR ipa/66223
-	* ipa-devirt.c (maybe_record_node): Do not optimize cxa_pure_virtual
-	calls when sanitizing.
-	(possible_polymorphic_call_target_p): Fix formatting.
-
-2016-04-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/70457
-	* tree-inline.c (estimate_num_insn): Use gimple_call_builtin_p
-	to ensure a call statement is compatible with a built-in's
-	prototype.
-	* tree-ssa-math-opts.c (pass_optimize_windening_mul::execute):
-	Likewise.
-
-2016-04-04  Richard Biener  <rguenther@suse.de>
-
-	PR rtl-optimization/70484
-	* rtl.h (canon_output_dependence): Declare.
-	* alias.c (canon_output_dependence): New function.
-	* dse.c (record_store): Use canon_output_dependence rather
-	than canon_true_dependence.
-
-2016-03-30  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR ipa/68881
-	* cgraph.h (symtab_node::copy_visibility_from): New function.
-	* symtab.c (symtab_node::copy_visibility_from): New function.
-	* ipa-visibility.c (optimize_weakref): New function.
-	(function_and_variable_visibility): Use it.
-
-2016-04-04  Martin Liska  <mliska@suse.cz>
-
-	PR hsa/70402
-	* hsa-gen.c (gen_hsa_insns_for_switch_stmt): Guard index
-	value that is really in range handled by SBR instruction.
-	* hsa-brig.c (emit_switch_insn): Do not emit unconditional jump.
-	* hsa-dump.c (dump_hsa_insn_1): Do not dump default BB.
-	* hsa.h (hsa_insn_sbr::m_default_bb): Remove field.
-
-2016-04-03  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	PR target/70416
-	PR target/67391
-	* config/sh/sh.md (*addsi3): Allow pattern when reload_in_progress is
-	set, but not for SP_REG operands.
-
-2016-04-02  Martin Sebor  <msebor@redhat.com>
-
-	PR c++/67376
-	* fold-const.c (maybe_nonzero_address): New function.
-	(fold_comparison): Call it.  Fold equality and relational
-	expressions involving null pointers.
-	(tree_single_nonzero_warnv_p): Call maybe_nonzero_address.
-
-2016-03-31  Evandro Menezes  <e.menezes@samsung.com>
-
-	Fix the predicate "aarch64_simd_reg_or_zero" to correctly validate
-	the "Y" constraint (scalar FP 0.0 immediate).
-
-	* config/aarch64/predicates.md (aarch64_simd_reg_or_zero):
-	Add the "const_double" to the list of operand constraints.
-
-2016-04-01  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/70467
-	* config/i386/i386.md (*add<dwi>3_doubleword, *sub<dwi>3_doubleword):
-	If low word of the last operand is 0, just emit addition/subtraction
-	for the high word.
-
-2016-04-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	PR target/70404
-	* config/s390/s390.c (s390_expand_insv): Check for everything
-	constant instead of just VOIDmode stuff.
-
-2016-04-01  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
-
-	PR target/70496
-	* config/arm/arm.h (ASM_APP_OFF): Handle TARGET_ARM and TARGET_THUMB.
-
-2016-04-01  Nathan Sidwell  <nathan@acm.org>
-
-	* tree.def (TRY_CATCH_EXPR): Correct documentation.
-
-2016-03-31  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/70461
-	* ira-color.c (allocno_copy_cost_saving): Use allocno class if it
-	is necessary.
-
-2016-03-31  Martin Liska  <mliska@suse.cz>
-
-	PR hsa/70399
-	* hsa-brig.c (hsa_op_immed::emit_to_buffer): Emit either
-	a tree value or an immediate integer value to a buffer
-	that is eventually copied to a BRIG section.
-	(emit_immediate_operand): Call the function here.
-	* hsa-dump.c (dump_hsa_immed): Remove checking assert.
-	* hsa-gen.c (hsa_op_immed::hsa_op_immed): Remove initialization
-	of class' fields that are removed.
-	(hsa_op_immed::~hsa_op_immed): Remove deinitialization.
-	* hsa.h (class hsa_op_immed): Remove m_brig_repr and
-	m_brig_repr_size fields.
-
-2016-03-31  Martin Liska  <mliska@suse.cz>
-
-	PR hsa/70391
-	* hsa-gen.c (hsa_function_representation::update_dominance): New
-	function.
-	(convert_addr_to_flat_segment): Likewise.
-	(gen_hsa_memory_set): New alignment argument.
-	(gen_hsa_ctor_assignment): Likewise.
-	(gen_hsa_insns_for_single_assignment): Provide alignment
-	to gen_hsa_ctor_assignment.
-	(gen_hsa_insns_for_direct_call): Add new argument.
-	(expand_lhs_of_string_op): New function.
-	(expand_string_operation_builtin): Likewise.
-	(expand_memory_copy): New function.
-	(expand_memory_set): New function.
-	(gen_hsa_insns_for_call): Use HOST_WIDE_INT.
-	(convert_switch_statements): Change signature.
-	(generate_hsa): Use a return value of the function.
-	(pass_gen_hsail::execute): Do not call
-	convert_switch_statements here.
-	* hsa-regalloc.c (hsa_regalloc): Call update_dominance.
-	* hsa.h (hsa_function_representation::m_modified_cfg): New flag.
-	(hsa_function_representation::update_dominance): New function.
-
-2016-03-31  Martin Liska  <mliska@suse.cz>
-
-	PR hsa/70391
-	* hsa-brig.c (emit_directive_variable): Emit alignment
-	according to hsa_symbol::m_align.
-	* hsa-dump.c (hsa_byte_alignment): Move the function to	another file.
-	(dump_hsa_symbol): Dump alignment of HSA symbols.
-	* hsa-gen.c (get_symbol_for_decl): Set-up alignment of a symbol.
-	(gen_hsa_addr_with_align): New function.
-	(hsa_bitmemref_alignment): Use newly added function.
-	(gen_hsa_insns_for_load): Likewise.
-	(gen_hsa_insns_for_store): Likewise.
-	(gen_hsa_memory_copy): New argument added.
-	(gen_hsa_insns_for_single_assignment): Respect
-	alignment for assignments processed via gen_hsa_memory_copy.
-	(gen_hsa_insns_for_direct_call): Likewise.
-	(gen_hsa_insns_for_return): Likewise.
-	(gen_function_def_parameters): Set default alignment.
-	* hsa.c (hsa_object_alignment): New function.
-	(hsa_byte_alignment): Pasted function.
-	* hsa.h (hsa_symbol::m_align): New field.
-
-2016-03-31  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (get_computation_cost_at): Initialize
-	scratch field for goto case.
-
-2016-03-31  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/arm/linux-elf.h (ASM_OUTPUT_DEF): Delete.
-
-2016-03-31  Ilya Enkovich  <enkovich.gnu@gmail.com>
-
-	PR target/70442
-	* config/i386/i386.c (scalar_chain::convert_op): Fix description.
-	(scalar_chain::convert_insn): Call convert_op for reg
-	moves to handle undefined registers.
-
-2016-03-31  Nathan Sidwell  <nathan@acm.org>
-
-	PR c++/70393
-	* varasm.c (output_constructor_regular_field): Flush bitfield earlier.
-	Assert we don't want to move backwards.
-
-2016-03-31  Kirill Yukhin  <kirill.yukhin@intel.com>
-
-	PR target/70453
-	* config/i386/sse.md (define_mode_attr shuffletype): Fix typo.
-
-2016-03-31  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/70460
-	* ira.c (indirect_jump_optimize): Don't substitute LABEL_REF
-	with operand from REG_LABEL_OPERAND, instead substitute
-	SET_SRC or REG_EQUAL note content if it is a LABEL_REF.
-	Don't do anything for REG_NON_LOCAL_GOTO jumps.
-
-2016-03-31  Martin Liska  <mliska@suse.cz>
-
-	* passes.c (execute_one_pass): Do not call
-	todo_after for a discarded function.
-
-2016-03-31  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (struct comp_cost): New scrach field.
-	(no_cost, infinite_cost): Initialize the new field.
-	(get_computation_cost_at): Record setup cost.
-	(determine_use_iv_cost_address): Skip cost computation for sub
-	uses if we can estimate it without losing accuracy.
-
-2016-03-30  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic
-	estimates here.
-	* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
-	max_loop_iterations_int.
-	(tree_unswitch_outer_loop): Likewise.
-	* tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
-	* tree-vect-loop.c (vect_analyze_loop_2): Likewise.
-
-2016-03-30  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/70450
-	* fold-const.c (extract_muldiv_1): Fix thinko in wide_int::from usage.
-
-2016-03-30  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/70421
-	* config/i386/i386.c (ix86_expand_vector_set): Fix up argument order
-	in gen_blendm expander.
-
-2016-03-30  Nick Clifton  <nickc@redhat.com>
-
-	PR target/62254
-	* config/arm/arm.c (arm_reload_out_hi): Add code to handle the
-	case where we are already provided with an SImode SUBREG.
-
-2016-03-30  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/70439
-	* config/i386/i386.c (ix86_expand_epilogue): Properly check
-	conflict between DRAP register and __builtin_eh_return.
-
-2016-03-30  Michael Matz  <matz@suse.de>
-	    Richard Biener  <rguenther@suse.de>
-
-	PR ipa/12392
-	* ipa-polymorphic-call.c (struct type_change_info): Change
-	speculative to an unsigned allowing to limit the work we do.
-	(csftc_abort_walking_p): New inline function..
-	(check_stmt_for_type_change): Limit the number of may-defs
-	skipped for speculative devirtualization to
-	max-speculative-devirt-maydefs.
-	* params.def (max-speculative-devirt-maydefs): New param.
-	* doc/invoke.texi (--param max-speculative-devirt-maydefs): Document.
-
-2016-03-30  Mike Stump  <mrs@gcc.gnu.org>
-
-	PR target/63890
-	* config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Use when profiling
-	and TARGET_MACHO.
-
-2016-03-30  Patrick Palka  <ppalka@gcc.gnu.org>
-
-	PR tree-optimization/59124
-	* tree-vrp.c (register_edge_assert_for_2): For NAME != CST1
-	where NAME = A +- CST2 add the assertion A != (CST1 -+ CST2).
-
-2016-03-29  Jeff Law  <law@redhat.com>
-
-	* tree-ssa-coalesce.c (struct ssa_conflicts): Fix typo in comment.
-
-2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-ssa-loop-ivcanon.c (try_peel_loop): Change type of peel
-	to HOST_WIDE_INT.
-
-2016-03-29  Thomas Schwinge  <thomas@codesourcery.com>
-
-	* config/gnu.h (CPP_SPEC, LIB_SPEC): Don't override.
-	* config/i386/gnu.h (STARTFILE_SPEC): Use gcrt1.o instead of
-	gcrt0.o if linking dynamically.
-
-2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR ipa/70283
-	* ipa-devirt.c (methods_equal_p): New function.
-	(compare_virtual_tables): Use it.
-	* cgraph.h (symbol_table::symbol_suffix_separator): Declare.
-	* cgraphclones.c (clone_function_name_1): Use
-	symbol_table::symbol_suffix_separator.
-	* coverage.c (build_var): Likewise.
-	* symtab.c (symbol_table::symbol_suffix_separator): New.
-
-2016-03-29  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/70429
-	* combine.c (simplify_shift_const_1): For ASHIFTRT don't optimize
-	(cst1 >> count) >> cst2 into (cst1 >> cst2) >> count if
-	mode != result_mode.
-
-	PR c++/70353
-	* tree-inline.c (remap_decls): Don't add_local_decl if cfun is null.
-
-	PR tree-optimization/70405
-	* ssa-iterators.h (num_imm_uses): Add missing braces.
-
-2016-03-29  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/68695
-	* ira-color.c (allocno_copy_cost_saving): New.
-	(improve_allocation): Use it.
-
-2016-03-29  Richard Henderson  <rth@redhat.com>
-
-	PR middle-end/70355
-	* lower-subreg.c (simplify_subreg_concatn): Reject paradoxical subregs.
-
-2016-03-29  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/70424
-	* ipa-prop.c (ipa_compute_jump_functions_for_edge): Always
-	use alignment returned by get_pointer_alignment_1 if it is
-	bigger than BITS_PER_UNIT.
-	* builtins.c (get_pointer_alignment_1): Do not return true
-	for alignment extracted from SSA info.
-
-2016-03-28  James Bowman  <james.bowman@ftdichip.com>
-
-	* config/ft32/ft32.opt (mnodiv): New.
-	* config/ft32/ft32.md (*divsi3, *modsi3): Qualify with TARGET_NODIV.
-	* doc/invoke.texi (FT32 Options -mnodiv): New.
-
-2016-03-28  Kirill Yukhin  <kirill.yukhin@intel.com>
-
-	PR target/70406
-	* config/i386/i386.md (define_split, andn): Fix modes.
-
-2016-03-26  Richard Biener  <rguenther@suse.de>
-	    Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	PR ipa/70366
-	* ipa-inline-transform.c (inline_call): Pass opts_for_fn (to->decl)
-	instead of
-	TREE_OPTIMIZATION (DECL_FUNCTION_SPECIFIC_OPTIMIZATION (to->decl))
-	as 2nd argument to cl_optimization_restore().
-
-2016-03-25  Richard Henderson  <rth@redhat.com>
-
-	PR target/70120
-	* config/aarch64/aarch64.c (aarch64_asm_output_pool_epilogue): New.
-	* config/aarch64/aarch64-protos.h: Declare it.
-	* config/aarch64/aarch64.h (ASM_OUTPUT_POOL_EPILOGUE): New.
-
-2016-03-25  Alan Modra  <amodra@gmail.com>
-
-	PR target/70052
-	* config/rs6000/constraints.md (j): Simplify.
-	* config/rs6000/predicates.md (easy_fp_constant): Exclude
-	decimal float 0.D.
-	* config/rs6000/rs6000.md (zero_fp): New mode_attr.
-	(mov<mode>_hardfloat, mov<mode>_hardfloat32, mov<mode>_hardfloat64,
-	 mov<mode>_64bit_dm, mov<mode>_32bit): Use zero_fp in place of j
-	in all constraint alternatives.
-	(movtd_64bit_nodm): Delete "j" constraint alternative.
-
-2016-03-24  Aldy Hernandez  <aldyh@redhat.com>
-
-	* tree-ssa-propagate.c: Enhance docs for
-	SSA_PROP_NOT_INTERESTING.
-
-2016-03-24  Aldy Hernandez  <aldyh@redhat.com>
-
-	* doc/extend.texi: Fix typo in documentation to pure attribute.
-
-2016-03-24  John David Anglin  <danglin@gcc.gnu.org>
-
-	PR target/70319
-	* config/pa/pa.md (bswapdi2): Use a scratch register.
-
-2016-03-24  Richard Henderson  <rth@redhat.com>
-
-	PR middle-end/69845
-	* fold-const.c (extract_muldiv_1): Correct test for multiplication
-	overflow.
-
-2016-03-24  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*anddi3_doubleword): Generate AND insn
-	using ix86_expand_binary_operator instead of gen_andsi3.
-
-2016-03-24  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/70396
-	* tree-vect-stmts.c (vectorizable_comparison): Use
-	get_vectype_for_scalar_type.
-
-2016-03-24  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/70370
-	* gimplify.c (gimplify_asm_expr): Handle !allows_mem outputs
-	with register bases.
-
-2016-03-24  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/70372
-	* tree-ssa-reassoc.c (eliminate_plus_minus_pair): Use
-	build_all_ones_cst to also handle vector types correctly.
-
-2016-03-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/70381
-	* config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Do not set
-	-mfloat128 here.
-
-2016-03-23  Marek Polacek  <polacek@redhat.com>
-
-	PR c++/69884
-	* doc/invoke.texi: Document -Wignored-attributes.
-
-2016-03-23  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/69042
-	* params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND): Increase the
-	parameter from 30 to 40.
-
-2016-03-23  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/69042
-	* tree-ssa-loop-ivopts.c (add_iv_candidate_for_use): Add IV cand
-	for use with constant offset stripped in base.
-
-2016-03-23  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/70251
-	* match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Adjust
-	mode compatibility check.
-	(A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
-
-2016-03-23  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/64058
-	* tree-ssa-coalesce.c (struct coalesce_pair): Add new field
-	CONFLICT_COUNT.
-	(struct ssa_conflicts): Move up earlier in the file.
-	(conflicts_, var_map_): New static variables.
-	(initialize_conflict_count): New function to initialize the
-	CONFLICT_COUNT field for each conflict pair.
-	(compare_pairs): Lazily initialize the conflict count and use it
-	as the first tie-breaker.
-	(sort_coalesce_list): Add new arguments conflicts, map.  Initialize
-	and wipe conflicts_ and map_ around the call to qsort.  Remove
-	special case for 2 coalesce pairs.
-	* bitmap.c (bitmap_count_unique_bits): New function.
-	(bitmap_count_bits_in_word): New function, extracted from
-	bitmap_count_bits.
-	(bitmap_count_bits): Use bitmap_count_bits_in_word.
-	* bitmap.h (bitmap_count_unique_bits): Declare it.
-
-2016-03-23  Ilya Enkovich  <enkovich.gnu@gmail.com>
-
-	PR target/69917
-	* config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Follow
-	transparent alias chain for decl assembler name.
-	* config/sol2.c (solaris_assemble_visibility): Likewise.
-
-2016-03-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/arm1020e.md (1020call_op): Reduce reservation
-	duration.
-	(v10_fdivs): Likewise.
-	(v10_fdivd): Likewise.
-
-2016-03-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR driver/70132
-	* config/arm/driver-arm.c (host_detect_local_cpu): Reorder exit logic
-	to not call fclose twice on file.
-
-2016-03-23  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/70354
-	* tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
-	oprnd0 is wider than oprnd1 and there is a cast from the wider
-	type to oprnd1, mask it with the mask of the narrower type.
-
-	PR target/70321
-	* config/i386/i386.md (*anddi3_doubleword, *<code>di3_doubleword):
-	Optimize TARGET_STV splitters, if high or low word of last argument
-	is 0 or -1.
-
-2016-03-22  Jeff Law  <law@redhat.com>
-
-	PR target/70232
-	tree-ssa-threadbackward.c
-	(fsm_find_control_statement_thread_paths): Correctly distinguish
-	between old style jump threads vs FSM jump threads.
-
-2016-03-22  Ilya Enkovich  <enkovich.gnu@gmail.com>
-
-	PR target/70302
-	* config/i386/i386.c (scalar_chain::convert_op): Support
-	uninitialized register usage case.
-
-2016-03-22  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/70251
-	* genmatch.c (gen_transform): Adjust last parameter to a three-state
-	int...
-	(capture::gen_transform): ... to change behavior when substituting
-	a condition into cond or not-cond expr context.
-	(dt_simplify::gen_1): Adjust.
-	* gimple-match-head.c: Include gimplify.h for unshare_expr.
-	* match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Revert
-	last change and instead change to
-	A + (B vcmp C ? 1 : 0) -> A - (B vcmp C ? -1 : 0).
-	(A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
-
-2016-03-22  Anthony Green  <green@moxielogic.com>
-
-	* config/moxie/moxiebox.h (CC1_SPEC): Define.  Fix endianness
-	issue for moxiebox targets.
-	(CC1PLUS_SPEC): Ditto.
-
-2016-03-22  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/70333
-	* fold-const.c (extract_muldiv_1): Properly perform multiplication
-	in the wide type.
-
-2016-03-22  Kirill Yukhin  <kirill.yukhin@intel.com>
-
-	* config/i386/i386.c (def_builtin): Remove duplicated functionality.
-
-2016-03-22  Kirill Yukhin  <kirill.yukhin@intel.com>
-
-	PR target/70325
-	* config/i386/i386.c (def_builtin): Handle
-	OPTION_MASK_ISA_AVX512VL to be and-ed with other
-	bits.
-	(const struct builtin_description bdesc_special_args[]):
-	Remove duplicate ISA bits.
-
-2016-03-22  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/70329
-	* config/i386/i386.c (ix86_expand_vecop_qihi): Don't bother computing
-	d.perm[i] for i >= d.nelt.  If not full_interleave, compute d.perm[i]
-	in a way that works also for AVX512BW.
-
-	PR target/70300
-	* config/i386/i386.md (cvtsd2ss splitter): Unpack in destination
-	instead of source if operands[1] is xmm16 and above and
-	!TARGET_AVX512VL.  Use avx512f_vec_dupv16sf_1 instead of
-	vec_interleave_lowv4sf if we need to unpack xmm16 and above.
-
-	PR c++/70295
-	* gimplify.c (gimplify_modify_expr): Call gimple_set_no_warning
-	on assign if (*from_p) is a comparison, set it to
-	TREE_NO_WARNING (*from_p).
-
-2016-03-21  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/70326
-	* lra.c (restore_scratches): Ignore deleted insns.
-
-2016-03-21  Marc Glisse  <marc.glisse@inria.fr>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/70317
-	* match.pd (cmp @0 @0): Pass @0 instead of TYPE_MODE (TREE_TYPE (@0))
-	to HONOR_NANS.
-
-2016-03-21  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/70327
-	* config/i386/i386.md (movxi): Use ix86_expand_vector_move instead
-	of ix86_expand_move.
-	(movoi): Ditto.
-	(movti): Use general_operand for operand 1 predicate.
-
-2016-03-21  Martin Liska  <mliska@suse.cz>
-
-	* hsa-dump.c (dump_hsa_insn_1): dump default branch of SBR
-	insns.
-	(dump_hsa_symbol): Dump BRIG offset of hsa_symbols.
-
-2016-03-21  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/70306
-	* ipa-icf.c (sem_function::parse): Skip static
-	constructors and destructors.
-
-2016-03-21  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/70296
-	* config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If IDENT is
-	function-like macro, peek following token(s) if it is followed
-	by CPP_OPEN_PAREN token with optional padding in between, and
-	if not, don't treat it like a macro.
-
-2016-03-21  Thomas Schwinge  <thomas@codesourcery.com>
-	    Alexander Monakov  <amonakov@ispras.ru>
-
-	* config/nvptx/nvptx.c (nvptx_option_override): Don't emit sorry
-	for the stabs debug format.
-
-2016-03-21  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/70310
-	* tree-vect-generic.c (expand_vector_condition): Fold the built
-	condition.
-
-2016-03-21  Kirill Yukhin  <kirill.yukhin@intel.com>
-
-	PR target/70293
-	* config/i386/sse.md (define_insn "*vec_dup<mode>"/AVX2):
-	Block third alternative for AVX-512VL target,
-
-2016-03-21  Martin Liska  <mliska@suse.cz>
-
-	PR hsa/70234
-	* hsa-brig.c (emit_function_directives): Mark unemitted
-	global variables for emission.
-	* hsa-gen.c (hsa_symbol::hsa_symbol): Initialize a new flag.
-	(get_symbol_for_decl): Likewise.
-	* hsa.h (struct hsa_symbol): New flag.
-
-2016-03-21  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/70288
-	* tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Make sure
-	we do not estimate unsimplified all-constant conditionals or
-	switches as optimized away.
-
-2016-03-21  Andrey Belevantsev  <abel@ispras.ru>
-
-	PR rtl-optimization/69102
-	* sched-deps.c (sched_analyze_insn): Do not set last_args_size field
-	when we have a readonly dependency context.
-
-2016-03-18  Jeff Law  <law@redhat.com>
-
-	PR rtl-optimization/70263
-	* ira.c (memref_used_between_p): Assert we found END in the insn chain.
-	(update_equiv_regs): When trying to move a store to after the insn
-	that sets the source of the store, make sure the store occurs after
-	the insn that sets the source of the store.  When successful note
-	the REG_EQUIV note created in the dump file.
-
-2016-03-16  David Wohlferd  <dw@LimeGreenSocks.com>
-	    Bernd Schmidt  <bschmidt@redhat.com>
-
-	* doc/extend.texi: Document more potential problems with basic asms.
-
-2016-03-18  Bernd Schmidt  <bschmidt@redhat.com>
-
-	PR rtl-optimization/70278
-	* lra-constraints.c (split_reg): Handle the case where biggest_mode is
-	VOIDmode.
-
-2016-03-18  Jason Merrill  <jason@redhat.com>
-
-	* calls.c (load_register_parameters): Fix zero size sibcall logic.
-
-2016-03-18  Kirill Yukhin  <kirill.yukhin@intel.com>
-
-	* config/i386/sse.md: Use vpbroadcastq for broadcasting DF
-	values to 128b regs.
-
-2016-03-18  Ilya Enkovich  <enkovich.gnu@gmail.com>
-
-	PR tree-optimization/70252
-	* tree-vect-stmts.c (supportable_widening_operation): Check resulting
-	boolean vector has a proper number of elements.
-	(supportable_narrowing_operation): Likewise.
-
-2016-03-18  Tom de Vries  <tom@codesourcery.com>
-
-	PR ipa/70269
-	* cgraph.c (cgraph_node::get_body): Set dump_file to NULL after save.
-
-2016-03-18  Jakub Jelinek  <jakub@redhat.com>
-
-	* reload1.c (emit_input_reload_insns): Use simplify_replace_rtx
-	instead of replace_rtx for DEBUG_INSNs.
-
-2016-03-18  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
-
-	* config/i386/znver1.md : Fix latencies of FP/SSE/AVX
-	load type reservations.
-
-2016-03-17  John David Anglin  <danglin@gcc.gnu.org>
-
-	PR target/70188
-	* config/pa/constraints.md: Revert 2015-02-13 change.  Use
-	define_constraint for "Q" and "T" constraints.
-
-2016-03-17  Evandro Menezes  <e.menezes@samsung.com>
-
-	Tweak the pipeline model for Exynos M1
-
-	* config/aarch64/aarch64.c (exynosm1_tunings):	Enable weak prefetching
-	model.
-
-2016-03-17  David Malcolm  <dmalcolm@redhat.com>
-
-	PR c/70264
-	* diagnostic-show-locus.c (compatible_locations_p): Handle the case
-	where one or both locations aren't within a line_map.
-
-2016-03-17  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR driver/70192
-	* opts.c (finish_options): Don't set flag_pie to the default if
-	-fpic, -fPIC, -fno-pic or -fno-PIC is used.  Set flag_pic to 0
-	if it is -1.
-
-2016-03-17  Joern Rennecke  <joern.rennecke@embecosm.com>
-
-	* config/i386/i386.md (*movv4qicc_insn+1..36): Pass
-	true as ALL_REGS argument to replace_rtx.
-
-2016-03-17  Richard Biener  <rguenther@suse.de>
-
-	PR debug/70271
-	* dwarf2out.c (dwarf2out_early_finish): Process deferred_asm_name
-	last.
-
-2016-03-17  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/70245
-	* rtl.h (replace_rtx): Add ALL_REGS argument.
-	* rtlanal.c (replace_rtx): Likewise.  If true, use REGNO
-	equality and assert mode is the same, instead of just rtx pointer
-	equality.
-	* config/i386/i386.md (mov + arithmetics with load peephole): Pass
-	true as ALL_REGS argument to replace_rtx.
-
-2016-03-17  Ilya Enkovich  <enkovich.gnu@gmail.com>
-
-	* match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Apply
-	for boolean vector with vector mode only.
-	(A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
-
-2016-03-17  Nick Clifton  <nickc@redhat.com>
-
-	PR target/70162
-	* config/rx/rx.c (rx_print_integer): Print negative constants in
-	decimal.
-
-2016-03-17  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/70261
-	* rtlanal.c (replace_rtx): Revert 2016-03-16 change.
-
-2016-03-16  Richard Henderson  <rth@redhat.com>
-	    Richard Biener  <rguenth@suse.de>
-
-	PR middle-end/70240
-	PR middle-end/68215
-	PR tree-opt/68714
-	* gimplify.c (gimplify_expr) [VEC_COND_EXPR]: Gimplify the
-	first operand as is_gimple_condexpr.
-
-	PR middle-end/70240
-	PR middle-end/68215
-	Revert r231575
-	2015-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-	* tree-vect-generic.c (tree_vec_extract): Remove GSI parameter.
-	Do not gimplify the result.
-	(do_unop): Adjust call to tree_vec_extract.
-	(do_binop): Likewise.
-	(do_compare): Likewise.
-	(do_plus_minus): Likewise.
-	(do_negate): Likewise.
-	(expand_vector_condition): Likewise.
-	(do_cond): Likewise.
-
-2016-03-16  Richard Henderson  <rth@redhat.com>
-
-	PR target/70048
-	* config/aarch64/aarch64.c (virt_or_elim_regno_p): New.
-	(aarch64_classify_address): Use it.
-	(aarch64_legitimize_address): Force all subexpressions of PLUS
-	into registers.  Simplify as (sfp+const)+reg or (reg+reg)+const.
-
-2016-03-16  Jakub Jelinek  <jakub@redhat.com>
-	    Richard Biener  <rguenth@suse.de>
-
-	PR target/70245
-	* rtlanal.c (replace_rtx): For REG, if from is a REG,
-	return to even if only REGNO is equal, and assert
-	mode is the same.
-
-2016-03-11  Jeff Law  <law@redhat.com>
-
-	PR rtl-optimization/70224
-	* reorg.c (relax_delay_slots): Pass right argument to CROSSING_JUMP_P.
-
-2016-03-16  Richard Henderson  <rth@redhat.com>
-
-	PR middle-end/70199
-	* function.h (struct function): Add has_forced_label_in_static.
-	* gimplify.c (force_labels_r): Set it.
-	* lto-streamer-in.c (input_struct_function_base): Read it.
-	* lto-streamer-out.c (output_struct_function_base): Write it.
-	* tree-inline.c (has_label_address_in_static_1): Remove.
-	(copy_forbidden): Remove fndecl parameter; test
-	has_forced_label_in_static.
-	(inline_forbidden_p): Update call to copy_forbidden.
-	(tree_versionable_function_p): Likewise.
-	* ipa-chkp.c (chkp_instrumentable_p): Likewise.
-	(chkp_versioning): Likewise.
-	* tree-inline.h (copy_forbidden): Update decl.
-
-2016-03-16  Marek Polacek  <polacek@redhat.com>
-
-	PR c/70093
-	* cgraphunit.c (cgraph_node::expand_thunk): Also build call to the
-	function being thunked if the result type doesn't have fixed size.
-	* gimplify.c (gimplify_modify_expr): Also set LHS if the result type
-	doesn't have fixed size.
-
-2016-03-16  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-vect-loop.c (vect_analyze_loop_2): Fix wrong dump info by
-	reporting malformed loop nest.
-
-2016-03-16  Tom de Vries  <tom@codesourcery.com>
-
-	PR lto/70187
-	* ipa-devirt.c (possible_polymorphic_call_targets): Move
-	nodes.length () == 1 test to before first nodes[0] access.
-
-2016-03-16  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/68715
-	* graphite-scop-detection.c (scop_detection::merge_sese): Add missing
-	single_pred_p test.
-
-2016-03-16  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/68809
-	* graphite-scop-detection.c (same_close_phi_node): Test if result types
-	are the same.
-
-2016-03-16  Carlos O'Donell  <carlos@redhat.com>
-	    Sandra Loosemore  <sandra@codesourcery.com>
-
-	* doc/extend.texi (Common Function Attributes): Describe ifunc impact
-	on leaf attribute. Mention ELF interposition problems.
-
-2016-03-16  Alan Modra  <amodra@gmail.com>
-
-	PR rtl-optimization/69195
-	PR rtl-optimization/47992
-	* ira.c (indirect_jump_optimize): Ignore artificial defs.
-	Add comments.
-
-2016-03-15  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR bootstrap/69513
-	* dwarf2out.c (flush_limbo_die_list): Really flush the limbo list.
-
-2016-03-15  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
-
-	* config/avr/avr.md (rotl<mode>3): Set mode for operand 2.
-
-2016-03-15  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/70222
-	* combine.c (simplify_shift_const_1): For A >> B >> C LSHIFTRT
-	optimization if mode is different from result_mode, queue up masking
-	of the result in outer_op.  Formatting fix.
-
-	PR middle-end/70239
-	* tree-ssa-sccvn.c (VN_INFO_GET): Use safe_grow_cleared instead
-	of safe_grow.
-
-2016-03-15  Andrey Belevantsev  <abel@ispras.ru>
-
-	PR rtl-optimization/69032
-	* sel-sched-ir.c (get_seqno_by_preds): Include both insn and head when
-	looping backwards over basic block insns.
-
-2016-03-15  Andrey Belevantsev  <abel@ispras.ru>
-
-	PR target/66660
-	* sel-sched-ir.c (merge_expr): Avoid changing the speculative pattern
-	to non-speculative when propagating trap bits.
-
-2016-03-15  Andrey Belevantsev  <abel@ispras.ru>
-
-	PR rtl-optimization/63384
-	* sel-sched.c (invoke_aftermath_hooks): Do not decrease issue_more on
-	DEBUG_INSN_P insns.
-
-2016-03-15  Andrey Belevantsev  <abel@ispras.ru>
-
-	PR target/64411
-	* sched-deps.c (get_implicit_reg_pending_clobbers): New function,
-	factored out from ...
-	(sched_analyze_insn): ... here.
-	* sched-int.h (get_implicit_reg_pending_clobbers): Declare it.
-	* sel-sched-ir.c (setup_id_implicit_regs): New function, use
-	get_implicit_reg_pending_clobbers in it.
-	(setup_id_reg_sets): Use setup_id_implicit_regs.
-	(deps_init_id): Ditto.
-
-2016-03-15  Tom de Vries  <tom@codesourcery.com>
-
-	PR ipa/70161
-	* cgraph.c (cgraph_node::get_body): Save, reset and restore
-	dump_file_name.
-	* passes.c (execute_one_ipa_transform_pass): Add missing argument to
-	execute_function_dump.
-	(execute_one_pass): Don't dump function if it will be dumped after ipa
-	transform.
-
-2016-03-15  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* genrecog.c (match_pattern_2): If pred is NULL don't call
-	safe_predicate_mode on it.
-
-2016-03-14  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/70219
-	* lra-constraints.c (delete_move_and_clobber): Change assertion
-	to also allow dregno == 0.
-
-2016-03-14  Richard Henderson  <rth@redhat.com>
-
-	PR tree-opt/68714
-	* tree-ssa-reassoc.c (ovce_extract_ops, optimize_vec_cond_expr): New.
-	(can_reassociate_p): Allow ANY_INTEGRAL_TYPE_P.
-	(reassociate_bb): Use optimize_vec_cond_expr; avoid
-	optimize_range_tests, attempt_builtin_copysign and attempt_builtin_powi
-	on vectors.
-
-2016-03-14  Bernd Schmidt  <bschmidt@redhat.com>
-
-	PR target/70083
-	* lra-lives.c (process_bb_lives): Also update biggest mode for hard
-	regs.
-	(lra_create_live_ranges_1): initialize hard register biggest_mode to
-	VOIDmode.
-	* lra-constraints.c (split_reg): For hard regs, try to find the
-	biggest single-register mode used in the function.
-
-2016-03-14  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/56365
-	* tree-ssa-phiopt.c (minmax_replacement): Handle alternate
-	constants to compare against.
-
-2016-03-14  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/70098
-	* config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
-	*ctr<mode>_internal5, *ctr<mode>_internal6): Also allow "d" as output.
-	(define_split for the GPR case): Use int_reg_operand instead of
-	gpc_reg_operand for the output.
-
-2016-03-14  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/70045
-	* graphite-isl-ast-to-gimple.c (graphite_create_new_loop_guard): Unshare
-	create_empty_if_region_on_edge argument.
-
-2016-03-13  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/arm/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Define.
-	(STACK_CHECK_PROTECT): Likewise.
-	* config/i386/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise
-	(STACK_CHECK_PROTECT): Likewise.
-	* config/rs6000/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise
-	(STACK_CHECK_PROTECT): Likewise.
-	* config/rs6000/vxworksae.h (STACK_CHECK_PROTECT): Likewise.
-	* config/sparc/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
-	(STACK_CHECK_PROTECT): Likewise.
-
-2016-03-12  Andrey Belevantsev  <abel@ispras.ru>
-
-	PR rtl-optimization/69307
-	* sel-sched.c (choose_best_pseudo_reg): Properly check for hard
-	registers in modes that span more than one register.
-
-2016-03-12  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR target/69614
-	* lra-constraints.c (delete_move_and_clobber): New.
-	(remove_inheritance_pseudos): Use it.
-
-2016-03-12  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/70017
-	* calls.c (emit_library_call_value_1): Clear the ECF_NOTHROW flag if
-	the libcall is LCT_THROW.
-	* explow.c (probe_stack_range): Pass LCT_THROW to emit_library_call
-	for the checking routine.
-
-2016-03-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/70131
-	* config/rs6000/rs6000.md (round32<mode>2_fprs): Do not do the
-	optimization if we have direct move.
-	(roundu32<mode>2_fprs): Likewise.
-
-2016-03-11  Bernd Schmidt  <bschmidt@redhat.com>
-
-	PR target/70123
-	* lra-remat.c (operand_to_remat): Disallow hard regs in the value t
-	be rematerialized.
-	(reg_overlap_for_remat_p): Renamed from input_regno_present_p.
-	Arguments swapped.  All callers changed.  Take reg_renumber into
-	account, and Calculate and compare register ranges for hard regs.
-
-2016-03-11  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/70190
-	* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
-	Handle cases where we can not extract the taken edge, even though we
-	found a constant value.
-
-	PR tree-optimization/64058
-	* tree-ssa-coalesce.c (struct coalesce_pair): Add new field INDEX.
-	(num_coalesce_pairs): Move up earlier in file.
-	(find_coalesce_pair): Initialize the INDEX field for each pair
-	discovered.
-	(compare_pairs): No longer sort on the elements in each pair.
-	Instead break ties with the index of the coalesce pair.
-
-2016-03-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/70002
-	* config/aarch64/aarch64-protos.h
-	(aarch64_save_restore_target_globals): New prototype.
-	* config/aarch64/aarch64-c.c (aarch64_pragma_target_parse):
-	Call the above when popping pragma.
-	* config/aarch64/aarch64.c (aarch64_save_restore_target_globals):
-	New function.
-	(aarch64_set_current_function): Rewrite using the above.
-
-2016-03-11  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/70177
-	* gimple-expr.h (extract_ops_from_tree_1): Renamed to ...
-	(extract_ops_from_tree): ... this.  In the 2 argument
-	overload remove _1 suffix.
-	* gimple-expr.c (extract_ops_from_tree_1): Renamed to ...
-	(extract_ops_from_tree): ... this.
-	* gimple.c (gimple_build_assign, gimple_assign_set_rhs_from_tree):
-	Adjust callers.
-	* tree-ssa-loop-niter.c (derive_constant_upper_bound): Likewise.
-	* tree-ssa-forwprop.c (defcodefor_name): Call 3 operand
-	extract_ops_from_tree instead of 2 operand one.
-
-2016-03-11  Alan Lawrence  <alan.lawrence@arm.com>
-
-	PR tree-optimization/70013
-	* tree-sra.c (analyze_access_subtree): Also set grp_unscalarized_data
-	for constant-pool entries.
-
-2016-03-11  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/70174
-	* expmed.c (store_bit_field_using_insv): Use gen_lowpart_if_possible
-	followed by gen_lowpart on force_reg instead of just gen_lowpart.
-
-	PR tree-optimization/70169
-	* tree-ssa-loop.c (gen_lsm_tmp_name): Handle FUNCTION_DECL and
-	LABEL_DECL like VAR_DECL.  Emit nothing instead of gcc_unreachable
-	for unknown codes.
-
-2016-03-11  Ilya Enkovich  <enkovich.gnu@gmail.com>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/70160
-	* config/i386/i386.c (scalar_chain::convert_reg): Skip uses
-	of uninitialized values.
-
-2016-03-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.md ("trunctddd2"): Turn former define_insn into
-	define_expand.
-	("*trunctddd2"): New pattern definition.
-	("trunctdsd2"): Set prep_for_short_prec rounding mode for the
-	TD->DD truncation.
-
-2016-03-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.md (BFP_RND_*, DFP_RND_*): Add new constant
-	definitions for BFP and DFP rounding modes.
-	("fixuns_truncdddi2", "fixuns_trunctddi2")
-	("fixuns_trunc<BFP:mode><GPR:mode>2", "fixuns_trunc<mode>si2")
-	("fix_trunc<DSF:mode><GPR:mode>2", "fix_trunc<mode>di2")
-	("fix_trunctf<mode>2"): Use the new constants instead of magic
-	numbers.
-
-2016-03-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/constraints.md: Adjust comment.
-	("Y"): Adjust comment.  Rename s390_decompose_shift_count to
-	s390_decompose_addrstyle_without_index.
-	* config/s390/predicates.md (shift_count_or_setmem_operand):
-	Rename to setmem_operand.
-	* config/s390/s390-protos.h
-	(s390_decompose_shift_count): Rename to
-	s390_decompose_addrstyle_without_index.
-	* config/s390/s390.c (s390_decompose_shift_count)
-	(s390_mem_constraint, print_shift_count_operand)
-	(print_operand_address, print_operand): Rename
-	s390_decompose_shift_count to
-	s390_decompose_addrstyle_without_index and rename
-	print_shift_count_operand to print_addrstyle_operand troughout the
-	file.
-	* config/s390/s390.md ("setmem_long_<P:mode>", "*setmem_long")
-	("*setmem_long_and", "*setmem_long_31z", "*setmem_long_and_31z"):
-	Rename shift_count_or_setmem_operand to setmem_operand.
-	* config/s390/vx-builtins.md ("vec_insert<mode>")
-	("vec_promote<mode>"): Replace shift_count_or_setmem_operand with
-	nonmemory_operand.
-
-2016-03-10  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
-
-	PR target/70168
-	* config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
-	Handle overlapping retval and newval.
-
-2016-03-10  Nick Clifton  <nickc@redhat.com>
-
-	PR target/7044
-	* config/aarch64/aarch64.c
-	(aarch64_override_options_after_change_1): When forcing
-	flag_omit_frame_pointer to be true, use a special value that can
-	be detected if this function is called again, thus preventing
-	flag_omit_leaf_frame_pointer from being forced to be false.
-
-2016-03-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* common/config/aarch64/aarch64-common.c (aarch64_handle_option):
-	Set x_flag_omit_leaf_frame_pointer when handling
-	-momit-leaf-frame-pointer.
-
-2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR lto/69589
-	* cgraph.c (cgraph_node::dump): Dump split_part and
-	indirect_call_target.
-	* cgraph.h (cgraph_node): Add indirect_call_target flag.
-	* ipa.c (has_addr_references_p): Cleanup.
-	(is_indirect_call_target_p): New.
-	(walk_polymorphic_call_targets): Do not mark virtuals that may be
-	called indirectly as local.
-	(symbol_table::remove_unreachable_nodes): Compute indirect_call_target.
-
-2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR ipa/69630
-	* ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
-	on cxa_pure_virtual.
-
-2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR lto/69589
-	* tree.c (free_lang_data_in_decl): Clear visibility of TYPE_DECL.
-
-2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR lto/69589
-	* tree.c (need_assembler_name_p): Only record main variant type names.
-
-2016-03-10  Christophe Lyon  <christophe.lyon@linaro.org>
-
-	PR target/70113.
-	* config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_843419_DEFAULT):
-	Always define to 0 or 1.
-	(TARGET_FIX_ERR_A53_843419): New macro.
-	* config/aarch64/aarch64-elf-raw.h
-	(TARGET_FIX_ERR_A53_843419_DEFAULT): Update for above changes.
-	* config/aarch64/aarch64-linux.h: Likewise.
-	* config/aarch64/aarch64.c
-	(aarch64_override_options_after_change_1): Do not default
-	aarch64_nopcrelative_literal_loads to true if Cortex-A53 erratum
-	843419 is on.
-	(aarch64_attributes): Handle fix-cortex-a53-843419.
-	(aarch64_can_inline_p): Likewise.
-	* config/aarch64/aarch64.opt (aarch64_fix_a53_err843419): Save.
-
-2016-03-10  Alan Lawrence  <alan.lawrence@arm.com>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	* common.opt (funconstrained-commons, flag_unconstrained_commons): New.
-	* tree.c (array_at_struct_end_p): Do not limit to size of decl for
-	DECL_COMMONS if flag_unconstrained_commons is set.
-	* tree-dfa.c (get_ref_base_and_extent): Likewise.
-	* doc/invoke.texi (Optimize Options): Add -funconstrained-commons.
-	(funconstrained-commons): Document.
-
-2016-03-10  Christophe Lyon  <christophe.lyon@linaro.org>
-
-	* config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add
-	aarch64-fusion-pairs.def and aarch64-tuning-flags.def
-
-2016-03-10  Ilya Enkovich  <enkovich.gnu@gmail.com>
-
-	* tree-vect-stmts.c (vectorizable_mask_load_store): Check mask
-	has a proper number of elements.
-
-2016-03-10  Alan Modra  <amodra@gmail.com>
-
-	PR rtl-optimization/69195
-	PR rtl-optimization/47992
-	* ira.c (recorded_label_ref): Delete.
-	(update_equiv_regs): Return void.
-	(indirect_jump_optimize): New function.
-	(ira): Call indirect_jump_optimize and delete_trivially_dead_insns
-	before regstat_compute_ri.  Don't rebuild_jump_labels here.
-	Delete update_regstat.
-
-2016-03-10  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/70128
-	* tree-ssa-structalias.c (set_uids_in_ptset): Set
-	vars_contains_nonlocal for any FUNCTION_DECL or LABEL_DECL.
-
-2016-03-09  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/70152
-	* tree-sra.c (replace_removed_params_ssa_names): Copy over
-	SSA_NAME_OCCURS_IN_ABNORMAL_PHI from old_name to new_name.
-
-	PR target/70086
-	* config/i386/i386.md (truncdfsf2 splitter): Use gen_vec_concatv2df
-	instead of gen_sse2_loadlpd.
-	* config/i386/sse.md (*vec_concatv2df): Rename to...
-	(vec_concatv2df): ... this.
-
-	PR tree-optimization/70127
-	* fold-const.c (operand_equal_p): Revert the 2015-10-28 change.
-
-2016-03-09  David Malcolm  <dmalcolm@redhat.com>
-
-	PR c/68473
-	PR c++/70105
-	* diagnostic-show-locus.c (compatible_locations_p): New function.
-	(layout::layout): Sanitize ranges using compatible_locations_p.
-
-2016-03-09  David Malcolm  <dmalcolm@redhat.com>
-
-	PR c/68473
-	PR c++/70105
-	* diagnostic-show-locus.c (layout_range::layout_range): Replace
-	location_range param with three const expanded_locations * and a
-	bool.
-	(layout::layout): Replace call to
-	rich_location::lazily_expand_location with get_expanded_location.
-	Extract the range and perform location expansion here, passing
-	the results to the layout_range ctor.
-	* diagnostic.c (source_range::debug): Delete.
-	* diagnostic.h (diagnostic_expand_location): Reimplement in terms
-	of rich_location::get_expanded_location.
-	* gcc-rich-location.c (get_range_for_expr): Delete.
-	(gcc_rich_location::add_expr): Reimplement to avoid the
-	rich_location::add_range overload that took a location_range,
-	passing a location_t instead.
-
-2016-03-09  Richard Biener  <rguenther@suse.de>
-	Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/70138
-	* tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
-	Also skip vect_double_reduction_def.
-
-2016-03-09  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/70049
-	* config/i386/sse.md (*vec_extract<mode>): Use %0 instead of %k0
-	if the operand is "m".
-
-2016-03-09  Nathan Sidwell  <nathan@acm.org>
-
-	* config/nvptx/nvptx.c (nvptx_option_override): Don't kill debug level.
-
-2016-03-09  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
-
-	* config/i386/i386.c (processor_target_table): Fix cost table
-	intialization order for znver1.
-
-2016-03-08  Jakub Jelinek  <jakub@redhat.com>
-
-	* ipa-polymorphic-call.c (walk_ssa_copies): Fix spelling
-	- becuase -> because.
-	* ipa-reference.c (ignore_module_statics): Likewise.
-	* cgraph.c (cgraph_node::get_body): Likewise.
-	* ipa-inline.c (early_inliner): Likewise.
-	* ipa-devirt.c (types_same_for_odr): Likewise.
-	* tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise.
-	* config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Likewise.
-
-2016-03-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* tree-ssa-math-opts.c: Fix typo in comment.
-
-2016-03-08  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/70110
-	* config/i386/i386.c (scalar_chain::make_vector_copies,
-	scalar_chain::convert_reg): Call end_sequence in between
-	get_insns and emit_conversion_insns rather than after both
-	calls.
-
-2016-03-07  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/70064
-	* config/i386/i386.h (machine_function): Add
-	pc_thunk_call_expanded flag.
-	(ix86_pc_thunk_call_expanded): New define.
-	* config/i386/i386.md (set_got, set_got_labelled): New expanders.
-	(*set_got): Rename insn pattern from set_got.
-	(*set_got_labelled): Rename inst pattern from set_got_labelled.
-	* config/i386/i386.c (ix86_compute_frame_layout): Use
-	ix86_pc_thunk_call_expanded to prevent red-zone.
-
-2016-03-07  Martin Jambor  <mjambor@suse.cz>
-
-	* hsa.h (hsa_get_ctor_statements): Declare.
-	(hsa_get_dtor_statements): Likewise.
-	(hsa_get_kernel_dispatch_type): Likewise.
-	* hsa.c (hsa_get_ctor_statements): New function.
-	(hsa_get_dtor_statements): Likewise.
-	(hsa_get_kernel_dispatch_type): Likewise.
-	* hsa-brig.c (hsa_cdtor_statements): Removed.
-	(hsa_output_libgomp_mapping): Use hsa_get_ctor_statements and
-	hsa_get_dtor_statements.
-	* hsa-gen.c (hsa_kernel_dispatch_type): Removed.
-	(get_hsa_kernel_dispatch_offset): Use hsa_get_kernel_dispatch_type.
-
-2016-03-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-
-	* config/arm/arm-cores.def (cortex-r8): New.
-	* config/arm/arm-tables.opt (cortex-r8): Regenerate.
-	* config/arm/arm-tune.md: Likewise.
-	* doc/invoke.texi: Add cortex-r8 to list of cpu values.
-
-2016-03-07  Martin Sebor  <msebor@redhat.com>
-
-	PR rtl-optimization/19705
-	* doc/invoke.texi (Options That Control Optimization): Clarify
-	-fno-branch-count-reg.
-
-2016-02-26  Richard Biener  <rguenther@suse.de>
-	    Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/69740
-	* cfghooks.c (remove_edge): Request loop fixups if we delete
-	an edge that might turn an irreducible loop into a natural
-	loop.
-	* cfgloop.h (check_verify_loop_structure): Clear LOOPS_NEED_FIXUP.
-	Move after definition of loops_state_clear.
-
-2016-03-07  Bin Cheng  <bin.cheng@arm.com>
-
-	PR rtl-optimization/69052
-	* rtlanal.c (commutative_operand_precedence): Set higher precedence
-	to CONST_WIDE_INT.
-
-2016-03-07  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/70116
-	* tree-ssa-tail-merge.c	(merge_stmts_p): New function, handling
-	is_tm_ending stmts and ubsan/asan internal functions.
-	(find_duplicate): Use it.  Don't test is_tm_ending here.
-
-2016-03-07  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/70115
-	* tree-ssa-loop-ivcanon.c (propagate_into_all_uses): Remove.
-	(propagate_constants_for_unrolling): Use replace_uses_by.
-
-2016-03-07  Nathan Sidwell  <nathan@codesourcery.com>
-
-	PR middle-end/69916
-	* omp-low.c (struct oacc_loop): Add ifns.
-	(new_oacc_loop_raw): Initialize it.
-	(finish_oacc_loop): Clear mask & flags if no ifns.
-	(oacc_loop_discover_walk): Count IFN_GOACC_LOOP calls.
-	(oacc_loop_xform_loop): Add ifns arg & adjust.
-	(oacc_loop_process): Adjust oacc_loop_xform_loop call.
-
-2016-03-07  Richard Henderson  <rth@redhat.com>
-
-	PR rtl-opt/70061
-	* tree-outofssa.c (emit_partition_copy): Flush pending stack adjust.
-	(insert_value_copy_on_edge): Likewise.
-
-2016-03-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/arm_neon.h: Show error if using with soft-float ABI.
-
-2016-03-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	PR target/62281
-	* config/i386/sol2.h (STACK_REALIGN_DEFAULT): Define.
-
-2016-03-05  Venkataramanan Kumar  <Venkataramanan.kumar@amd.com>
-
-	* config/i386/i386.c (znver1_cost): Fix Multiply cost.
-
-2016-03-05  Venkataramanan Kumar  <Venkataramanan.kumar@amd.com>
-
-	Fix sseimul type attribute.
-	* config/i386/znver1.md
-	(znver1_sseimul, znver1_sseimul_avx256, znver1_sseimul_load,
-	znver1_sseimul_avx256_load) : Fix the type attribute.
-	(znver1_sseimul_di, znver1_sseimul_load_di): Fix type attribute,
-	pipe usage and latency.
-
-2016-03-05  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/70084
-	* tree-inline.c (copy_tree_body_r): When cancelling ADDR_EXPR
-	of INDIRECT_REF and ADDR_EXPR changed type, fold_convert it
-	to the right type.
-
-2016-03-04  Bernd Schmidt  <bschmidt@redhat.com>
-
-	PR c/69973
-	* targhooks.c (default_vector_alignment): Limit to MAX_OFILE_ALIGNMENT.
-
-	PR rtl-optimization/69941
-	* postreload.c (reload_combine_recognize_pattern): Ensure all uses of
-	the reg share its mode.
-
-2016-03-04  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/69196
-	* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
-	If the both SSA_NAMEs are anonymous, then consider them unassociated
-	and include the PHI in the statement count.
-
-2016-03-05  Tom de Vries  <tom@codesourcery.com>
-
-	* omp-low.c (check_omp_nesting_restrictions): Check for non-oacc
-	construct in oacc routine.  Check for oacc region in oacc routine.
-
-2016-03-04  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/70062
-	* config/i386/i386.c (decide_alg): Add RECUR argument.  Revert
-	2016-02-22 changes, instead don't recurse if RECUR is already true.
-	Don't change *dynamic_check if RECUR.  Adjust recursive caller
-	to pass true to the new argument.
-	(ix86_expand_set_or_movmem): Adjust decide_alg caller.
-
-	PR target/70059
-	* config/i386/sse.md (vec_set_lo_<mode><mask_name>,
-	<extract_type_2>_vinsert<shuffletype><extract_suf_2>_mask): Formatting
-	fixes.
-	(vec_set_hi_<mode><mask_name>): Likewise.  Swap VEC_CONCAT operands.
-
-2016-03-04  Bernd Schmidt  <bschmidt@redhat.com>
-
-	PR rtl-optimization/57676
-	* lra-assigns.c (lra_assign): Guard test for maximum iterations
-	with flag_checking.
-
-2016-03-04  Ilya Enkovich  <enkovich.gnu@gmail.com>
-
-	* tree-vect-patterns.c (search_type_for_mask): Handle
-	comparison of booleans.
-
-2016-03-04  Jakub Jelinek  <jakub@redhat.com>
-
-	* doc/extend.texi (__builtin_alloca, __builtin_alloca_with_align):
-	Fix @xref usage.
-
-	PR debug/69947
-	* dwarf2out.c (prune_unused_types_walk_loc_descr): Handle
-	all other ops that have dw_val_class_die_ref operands,
-	and DW_OP_GNU_entry_value.
-
-2016-03-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR rtl-optimization/69904
-	* config/arm/arm.c (arm_cannot_copy_insn_p):
-	Return true for load-exclusive instructions.
-
-2016-03-03  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/70021
-	* tree-vect-stmts.c (vect_mark_relevant): Remove USED_IN_PATTERN
-	argument, if STMT_VINFO_IN_PATTERN_P (stmt_info), always mark
-	the pattern no matter if it is used just by non-pattern, pattern
-	or mix thereof.
-	(process_use, vect_mark_stmts_to_be_vectorized): Adjust callers.
-	* tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
-	oprnd1 def_stmt is in pattern, don't look through it.
-
-2016-03-03  Marek Polacek  <polacek@redhat.com>
-
-	PR middle-end/70050
-	* match.pd (X % -Y): Add INTEGRAL_TYPE_P check.
-
-2016-03-03  Martin Liska  <mliska@suse.cz>
-
-	PR tree-optimization/70043
-	* tree-vect-loop.c (optimize_mask_stores): Move iterator to
-	previous statement if we see a debug statement.
-
-2016-03-03  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/55936
-	* tree-vrp.c (compare_name_with_value): Add use_equiv_p
-	parameter and guard unsafe equivalence use.
-	(vrp_evaluate_conditional_warnv_with_ops): Always use
-	safe equivalences but not via the quadratic compare_names
-	helper.
-
-2016-03-03  Michael Collison  <michael.collison@linaro.org>
-
-	PR target/70014
-	* config/arm/arm.md (*subsi3_carryin_const): Change predicate
-	for operand 1 to s_register_operand. Change predicate for operand
-	2 to arm_not_immediate_operand.
-
-2016-03-02  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* doc/tm.texi: Regenerated.
-
-2016-03-02  Richard Henderson  <rth@redhat.com>
-
-	PR rtl-opt/67145
-	* simplify-rtx.c (simplify_plus_minus): Allow reassoc without
-	simplification when all args are positive non-fixed registers.
-
-2016-03-02  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	* target.def (lra_p): Specify that new ports should use LRA.
-
-2016-03-02  Jakub Jelinek  <jakub@redhat.com>
-
-	PR libgomp/69555
-	* gimplify.c (gimplify_decl_expr): For decls with REFERENCE_TYPE, also
-	gimplify_type_sizes the type they refer to.
-	(omp_notice_variable): Handle reference vars to VLAs.
-	* omp-low.c (lower_omp_target): Emit setup of OMP_CLAUSE_PRIVATE
-	reference to VLA decls in the second pass instead of first pass.
-
-2016-03-02  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/68659
-	* graphite-isl-ast-to-gimple.c (collect_all_ssa_names): Handle
-	new_expr == NULL_TREE.
-	(get_new_name): Handle ADDR_EXPR.
-
-2016-03-02  Bin Cheng  <bin.cheng@arm.com>
-
-	PR rtl-optimization/69052
-	* loop-invariant.c (canonicalize_address): New function.
-	(inv_can_prop_to_addr_use): Check validity of address expression
-	which is canonicalized by above function.
-
-2016-03-02  Alan Modra  <amodra@gmail.com>
-
-	PR ipa/69990
-	* ipa-icf.c (sem_variable::merge): Do not merge an alias with
-	larger alignment.
-
-2016-03-02  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/70028
-	* config/i386/i386.md (kmovw): Move m constraint to 2nd alternative.
-	(*movhi_internal): Put mask moves from and to memory separately
-	from moves from/to GPRs.
-
-2016-03-02  Richard Biener  <rguenther@suse.de>
-
-	* genmatch.c (dt_node::gen_kids): Fix match code-gen for embedded
-	GENERIC expressions in GIMPLE.
-
-2016-03-02  Richard Biener  <rguenther@suse.de>
-
-	* config/i386/i386.c (type_natural_mode): Fix typo.
-
-2016-03-02  Nick Clifton  <nickc@redhat.com>
-
-	* config.gcc (mep-*-elf): Add newlib-stdint.h to tm_file.
-
-2016-03-02  Richard Biener  <rguenther@suse.de>
-	    Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/67278
-	* config/i386/i386.c (type_natural_mode): Handle XFmode vectors.
-
-2016-03-02  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/67278
-	* tree-cfg.c (verify_expr): Adjust BIT_FIELD_REF case.
-
-2016-03-02  Marek Polacek  <polacek@redhat.com>
-
-	PR c/67854
-	* gimplify.c (gimplify_va_arg_expr): Use expanded location for the
-	"is promoted to" warning.
-
-2016-03-01  DJ Delorie  <dj@redhat.com>
-
-	* config.gcc: Deprecate mep-*.
-
-2016-03-01  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR middle-end/70025
-	* lra-constraints.c (regno_val_use_in): New.
-	(match_reload): Use it instead of regno_use_in.
-
-2016-03-01  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR rtl-optimization/70007
-	* gcse.c (compute_ld_motion_mems): Tidy up and also invalidate memory
-	references present in REG_EQUAL notes attached to non-SET patterns.
-
-2016-03-01  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/69196
-	* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
-	Appropriately clamp the number of statements to copy when the
-	thread path does not traverse a loop backedge.
-
-	PR tree-optimization/69196
-	* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
-	Do count some PHIs in the thread path against the insn count.  Decrease
-	final statement count by one as the control statement in the last
-	block will get removed.  Remove special cased code for handling PHIs
-	in the last block.
-
-2016-03-01  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/70027
-	* config/i386/i386.c (ix86_output_call_insn): Add -masm=intel
-	asm dialect alternatives to explicit GOTPCREL calls.
-
-2016-03-01  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/70017
-	* ira.c (do_reload): Issue warning for generic stack checking here...
-	* reload1.c (reload): ...instead of here and streamline it.
-
-2016-03-01  Nick Clifton  <nickc@redhat.com>
-
-	* config.gcc (cr16-*-elf): Add newlib-stdint.h to tm_file.
-
-2016-03-01  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69983
-	* tree-chrec.c (eq_evolutions_p): Handle conversions, compare
-	types and fall back to operand_equal_p.
-
-2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	Revert
-	2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/constraints.md ("jm8"): New constraint.
-	* config/s390/predicates.md ("const_int_8bitset_operand"): New
-	predicate.
-	* config/s390/s390.md ("*setmem_long", "*setmem_long_and"): Merge
-	into ...
-	("*setmem_long<setmem_and>"): New pattern.
-	("*setmem_long_31z", "*setmem_long_and_31z"): Merge
-	into ...
-	("*setmem_long_31z<setmem_and>"): New pattern.
-	* config/s390/subst.md ("setmem_31z_subst", "setmem_and_subst"):
-	New substitution rules with the required attributes.
-
-
-2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	Revert
-	2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* gensupport.c (process_substs_on_one_elem): Split loop to
-	complete mark_operands_used_in_match_dup on all expressions in the
-	vector first.
-	(adjust_operands_numbers): Inline into process_substs_on_one_elem
-	and remove function.
-
-2016-03-01  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/70022
-	* fold-const.c (fold_indirect_ref_1): Fix range checking for
-	vector BIT_FIELD_REF extract.
-
-2016-03-01  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69994
-	* tree-ssa-reassoc.c (ops_equal_values_p): Handle missing case.
-
-2016-03-01  Ilya Enkovich  <enkovich.gnu@gmail.com>
-
-	PR tree-optimization/69956
-	* tree-vect-stmts.c (supportable_widening_operation): Support
-	multi-step conversion of boolean vectors.
-	(supportable_narrowing_operation): Likewise.
-
-2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.c (s390_decompose_address): Don't accept SImode
-	anymore.
-
-2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/subst.md (DSI_VI): New mode iterator.
-	("addr_style_op_subst"): Use DSI_VI instead of DSI.
-	* config/s390/vector.md ("vec_set<mode>"): Move expander before
-	the insn definition.
-	("*vec_set<mode>"): Change predicate and add alternative to
-	support only either register or const_int operands as element
-	selector.
-	("*vec_set<mode>_plus"): New pattern to support reg + const_int
-	operands.
-	("vec_extract<mode>"): New expander.
-	("*vec_extract<mode>"): New insn definition supporting reg and
-	const_int element selectors.
-	("*vec_extract<mode>_plus"): New insn definition supporting
-	reg+const_int element selectors.
-	("rotl<mode>3", "ashl<mode>3", "ashr<mode>3"): Merge into the
-	following expander+insn definition.
-	("<vec_shifts_name><mode>3"): New expander.
-	("*<vec_shifts_name><mode>3<addr_style_op>"): New insn definition.
-
-2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.md ("*tabort_1"): Change predicate to
-	nonmemory_operand.  Add a second alternative to cover
-	register as well as const int operands.
-	("*tabort_1_plus"): New pattern definition.
-
-2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.md ("*ashrdi3_cc_31")
-	("*ashrdi3_cconly_31""*ashrdi3_cc_31_and")
-	("*ashrdi3_cconly_31_and", "*ashrdi3_31_and", "*ashrdi3_31"):
-	Merge insn definitions into ...
-	("*ashrdi3_31<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
-	New pattern definition.
-	("*ashr<mode>3_cc", "*ashr<mode>3_cconly", "ashr<mode>3", )
-	("*ashr<mode>3_cc_and", "*ashr<mode>3_cconly_and")
-	("*ashr<mode>3_and"): Merge insn definitions into ...
-	("*ashr<mode>3<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
-	New pattern definition.
-	* config/s390/subst.md ("addr_style_op_cc_subst")
-	("masked_op_cc_subst", "setcc_subst", "cconly_subst"): New
-	substitutions patterns plus attributes.
-	Add ashiftrt to SUBST iterator.
-
-2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.md ("<shift><mode>3"): Change predicate of
-	op2 to nonmemory_operand.
-	("*<shift>di3_31", "*<shift>di3_31_and"):
-	Merge into single pattern definition ...
-	("*<shift>di3_31<addr_style_op><masked_op>"): New pattern.
-	("*<shift><mode>3", "*<shift><mode>3_and"): Merge into single
-	pattern definition ...
-	("*<shift><mode>3<addr_style_op><masked_op>"): New pattern.
-	* config/s390/subst.md: Add ashift and lshiftrt to SUBST
-	iterator.
-
-2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/predicates.md (const_int_6bitset_operand): New
-	predicate.
-	* config/s390/s390.md: Include subst.md.
-	("rotl<mode>3"): New expander.
-	("rotl<mode>3", "*rotl<mode>3_and"): Merge insn definitions into
-	...
-	("*rotl<mode>3<addr_style_op><masked_op>"): New insn definition.
-	* config/s390/subst.md: New file.
-
-2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.md ("op_type", "atype", "length" attributes):
-	Remove RRR type.  It doesn't really exist.
-	("RRer", "f0", "v0", "vf", "vd", "op1", "Rf"): Remove mode
-	attributes.
-	("BFP", "DFP", "nDSF", "nDFDI"): Add mode attributes.
-	("*cmp<mode>_ccs", "floatdi<mode>2", "add<mode>3")
-	("*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3")
-	("*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3")
-	("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2")
-	("*abs<mode>2", "*negabs<mode>2", "sqrt<mode>2"): Override
-	`enabled' attribute.
-
-2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* gensupport.c (process_substs_on_one_elem): Split loop to
-	complete mark_operands_used_in_match_dup on all expressions in the
-	vector first.
-	(adjust_operands_numbers): Inline into process_substs_on_one_elem
-	and remove function.
-
-2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR target/69706
-	* config/sparc/sparc.c (NWORDS_UP): Rename to...
-	(CEIL_NWORDS): ...this.  Use CEIL macro.
-	(compute_fp_layout): Adjust to above renaming.
-	(function_arg_union_value): Likewise.
-	(sparc_arg_partial_bytes): Likewise.
-	(sparc_function_arg_advance): Likewise.
-
-2016-02-29  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/70005
-	* tree-ssa-uncprop.c (associate_equivalences_with_edges): Handle case
-	where an object with a boolean range is compared against a value
-	outside [0..1].
-
-	PR tree-optimization/69999
-	* gimple-ssa-split-paths.c (split_paths): When duplicating a block
-	with an outgoing edge marked with EDGE_IRREDUCIBLE_LOOP, schedule
-	loop cleanups.
-
-2016-02-29  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69994
-	* tree-ssa-reassoc.c (gimple_nop_conversion_p): New function.
-	(get_unary_op): Look through nop conversions.
-	(ops_equal_values_p): New function, look for equality diregarding
-	nop conversions.
-	(eliminate_plus_minus_pair): Use ops_equal_values_p
-	(repropagate_negates): Do not use get_unary_op here.
-
-2016-02-29  Martin Liska  <mliska@suse.cz>
-
-	* system.h: Poison ENABLE_CHECKING macro.
-
-2016-02-29  Martin Liska  <mliska@suse.cz>
-
-	* hsa-gen.c (gen_body_from_gimple): Dump only if TDF_DETAILS
-	is presented in dump flags.
-	* hsa-regalloc.c (linear_scan_regalloc): Likewise.
-	(hsa_regalloc): Likewise.
-
-2016-02-19  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69980
-	* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Update
-	permutation of those we need to keep.
-
-2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR target/69706
-	* config/sparc/sparc.c (ROUND_ADVANCE): Rename to...
-	(NWORDS_UP): ...this
-	(init_cumulative_args): Minor tweaks.
-	(sparc_promote_function_mode): Likewise.
-	(scan_record_type): Delete.
-	(traverse_record_type): New function template.
-	(classify_data_t): New structure type.
-	(classify_registers): New inline function.
-	(function_arg_slotno): In 64-bit mode, bail out early if FP slots are
-	exhausted.  Instantiate traverse_record_type on classify_registers and
-	deal with the case of a structure passed in slot #15 with no FP field
-	in the first word.
-	(assign_data_t): New structure type.
-	(compute_int_layout): New static function.
-	(compute_fp_layout): Likewise.
-	(count_registers): New inline function.
-	(assign_int_registers): New static function.
-	(assign_fp_registers): Likewise.
-	(assign_registers): New inline function.
-	(function_arg_record_value_1): Delete.
-	(function_arg_record_value_2): Likewise.
-	(function_arg_record_value_3): Likewise.
-	(function_arg_record_value): Adjust to above changes.  Instantiate
-	traverse_record_type on count_registers to first count the number of
-	registers to be used and then on assign_registers to assign them.
-	(function_arg_union_value): Adjust to above renaming.
-	(sparc_function_arg_1); Minor tweaks.  Remove commented out code.
-	(sparc_arg_partial_bytes): Adjust to above renaming.  Deal with the
-	case of a structure passed in slot #15
-	(sparc_function_arg_advance): Likewise.
-	(function_arg_padding): Minor tweak.
-
-2016-02-29  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69720
-	* tree-vect-loop.c (get_initial_def_for_reduction): Avoid
-	the adjustment_def path for possibly vectorized defs.
-	(vect_create_epilog_for_reduction): Handle vectorized initial
-	defs properly.
-
-2016-02-28  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/i386/cygming.h (STACK_REALIGN_DEFAULT): Define.
-
-2016-02-27  Jeff Law  <law@redhat.com>
-
-	Revert
-	2016-02-26  Richard Biener  <rguenther@suse.de>
-		    Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/69740
-	* cfghooks.c (remove_edge): Request loop fixups if we delete
-	an edge that might turn an irreducible loop into a natural
-	loop.
-
-2016-02-27  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/69896
-	* tree-vect-generic.c (get_compute_type): Avoid single element
-	vector types.
-
-2016-02-26  Evandro Menezes  <e.menezes@samsung.com>
-
-	Rename the AArch64 tuning option and related functions to enable the
-	Newton series for the reciprocal square root to reflect its
-	approximative characteristic.
-
-	* config/aarch64/aarch64-protos.h (aarch64_emit_swrsqrt): Rename
-	function to "aarch64_emit_approx_rsqrt".
-	* config/aarch64/aarch64-tuning-flags.def: Rename tuning flag to
-	AARCH64_EXTRA_TUNE_APPROX_RSQRT.
-	* config/aarch64/aarch64.c (exynosm1_tunigs): Use new flag name.
-	(xgene1_tunings): Likewise.
-	(use_rsqrt_p): Likewise.
-	(aarch64_emit_swrsqrt): Use new function name.
-	* config/aarch64/aarch64-simd.md (aarch64_rsqrts_*): Likewise.
-	* config/aarch64/aarch64.opt (mlow-precision-recip-sqrt): Reword the
-	text explaining this option.
-	* doc/invoke.texi (-mlow-precision-recip-sqrt): Likewise.
-
-2016-02-26  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/69969
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
-	complain about -mallow-movmisalign without -mvsx if
-	TARGET_ALLOW_MOVMISALIGN was not set explicitly.
-
-2016-02-26  Joel Sherrill  <joel@rtems.org>
-
-	* config.gcc: Add x86_64-*-rtems*.
-	* config/i386/rtems-64.h: New file.
-
-2016-02-26  Joel Sherrill  <joel@rtems.org>
-
-	* config.gcc: Add aarch64-*-rtems*.
-	* config/aarch64/rtems.h: New file.
-
-2016-02-26  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/69946
-	* config/rs6000/rs6000.c (rs6000_insn_for_shift_mask): Print rlwinm
-	shift amount using %h.  Add comment.
-
-2016-02-26  Richard Biener  <rguenther@suse.de>
-	    Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/69740
-	* cfghooks.c (remove_edge): Request loop fixups if we delete
-	an edge that might turn an irreducible loop into a natural
-	loop.
-
-2016-02-26  Martin Jambor  <mjambor@suse.cz>
-
-	PR middle-end/69920
-	* tree-sra.c (sra_modify_assign): Do not remove loads of
-	uninitialized aggregates to SSA_NAMEs.
-
-2016-02-26  Richard Henderson  <rth@redhat.com>
-
-	PR target/69709
-	* config/s390/s390.md (risbg and risbgn splitters): Allocate new
-	pseudo in case the target rtx matches the source of the left
-	shift.
-
-2016-02-26  Martin Jambor  <mjambor@suse.cz>
-
-	PR hsa/69568
-	* hsa.h (hsa_type_packed_p): Declare.
-	* hsa.c (hsa_type_packed_p): New function.
-	* hsa-gen.c (mem_type_for_type): Use unsigned type for packed
-	loads.
-	(gen_hsa_insns_for_store): Use hsa_type_packed_p.
-	* hsa-brig.c (emit_basic_insn): Likewise.
-
-2016-02-26  Martin Jambor  <mjambor@suse.cz>
-
-	pr hsa/69674
-	* hsa-gen.c (gen_hsa_phi_from_gimple_phi): Use proper hsa type for
-	pointers.
-	(gen_hsa_addr): Allow integer constants in TMR_INDEX2.
-
-2016-02-26  Martin Jambor  <mjambor@suse.cz>
-
-	* hsa.h (is_a_helper): New overload for hsa_op_immed for
-	hsa_op_with_type operands.
-	(hsa_unsigned_type_for_type): Declare.
-	* hsa.c (hsa_unsigned_type_for_type): New function.
-	* hsa-gen.c (gen_hsa_binary_operation): Use hsa_unsigned_type_for_type.
-	(gen_hsa_insns_for_operation_assignment): Satisfy constrains of
-	the finalizer.  Do not emit extra move.
-
-2016-02-26  Martin Jambor  <mjambor@suse.cz>
-
-	* hsa-gen.c (gen_hsa_ternary_atomic_for_builtin): Fail in presence of
-	atomic operations in private segment.
-
-2016-02-26  Martin Jambor  <mjambor@suse.cz>
-
-	* omp-low.c (grid_find_ungridifiable_statement): Store problematic
-	statements to wi->info.  Also disallow omp simd constructs.
-	(grid_target_follows_gridifiable_pattern): Use wi.info to dump reason
-	for not gridifying.  Dump special string for omp_for.
-
-2016-02-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/69245
-	* config/aarch64/aarch64.c (aarch64_set_current_function):
-	Save/restore target globals when switching to
-	target_option_default_node.
-
-2016-02-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/69613
-	* config/aarch64/aarch64.c (aarch64_shift_truncation_mask):
-	Return 0 if !SHIFT_COUNT_TRUNCATED.
-
-2016-02-26  Jakub Jelinek  <jakub@redhat.com>
-	    Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR rtl-optimization/69891
-	* dse.c (scan_insn): If we can't figure out memset arguments
-	or they are non-constant, call clear_rhs_from_active_local_stores.
-
-2016-02-26  Martin Liska  <mliska@suse.cz>
-
-	* doc/extend.texi: Mention clog10, clog10f an clog10l
-	in Builtins section.
-
-2016-02-26  Martin Liska  <mliska@suse.cz>
-
-	* dwarf2out.c (new_loc_descr): Replace ENABLE_CHECKING with
-	CHECKING_P.
-	(resolve_args_picking_1): Likewise.
-	* dwarf2out.h (struct GTY): Likewise.
-
-2016-02-26  Martin Liska  <mliska@suse.cz>
-
-	* hsa-gen.c (generate_hsa): Replace ENABLE_CHECKING macro
-	with flag_checking.
-	* hsa-regalloc.c (linear_scan_regalloc): Likewise.
-
-2016-02-26  Markus Trippelsdorf  <markus@trippelsdorf.de>
-	    Martin Liska  <mliska@suse.cz>
-
-	* doc/install.texi: Mention --enable-valgrind-annotations.
-
-2016-02-26  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69551
-	* tree-ssa-structalias.c (get_constraint_for_ssa_var): When
-	looking through aliases adjust DECL_PT_UID to refer to the
-	ultimate alias target.
-
-2016-02-25  Martin Liska  <mliska@suse.cz>
-
-	PR middle-end/69919
-	* alloc-pool.c (after_memory_report): New variable.
-	* alloc-pool.h (base_pool_allocator ::release): Do not use
-	the infrastructure if after_memory_report.
-	* toplev.c (toplev::main): Mark after memory report.
-
-2016-02-25  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/48795
-	* tree-vrp.c (check_array_ref): Use array_at_struct_end_p.
-
-2016-02-25  Ilya Verbin  <ilya.verbin@intel.com>
-
-	PR driver/68463
-	* config/gnu-user.h (CRTOFFLOADBEGIN): Define.  Add crtoffloadbegin.o if
-	offloading is enabled and -fopenacc or -fopenmp is specified.
-	(CRTOFFLOADEND): Likewise.
-	(GNU_USER_TARGET_STARTFILE_SPEC): Add CRTOFFLOADBEGIN.
-	(GNU_USER_TARGET_ENDFILE_SPEC): Add CRTOFFLOADEND.
-	* lto-wrapper.c (offloadbegin, offloadend): Remove static vars.
-	(offload_objects_file_name): New static var.
-	(tool_cleanup): Remove offload_objects_file_name file.
-	(find_offloadbeginend): Replace with ...
-	(find_crtoffloadtable): ... this.
-	(run_gcc): Remove offload_argc and offload_argv.
-	Get offload_objects_file_name from -foffload-objects=... option.
-	Read names of object files with offload from this file, pass them to
-	compile_images_for_offload_targets.  Don't call find_offloadbeginend and
-	don't pass offloadbegin and offloadend to the linker.  Don't pass
-	offload non-LTO files to the linker, because now they're not claimed.
-
-2016-02-25  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR ipa/69630
-	* ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
-	on builtin_unreachable.
-
-2016-02-25  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/69896
-	* regcprop.c: Include cfgrtl.h.
-	(copyprop_hardreg_forward_1): If noop_p insn uses narrower
-	than remembered mode, either delete it (if noop_move_p), or
-	treat like copy_p but not noop_p instruction.
-
-2016-02-24  Jakub Jelinek  <jakub@redhat.com>
-
-	PR debug/69705
-	* dwarf2out.c (gen_variable_die): Work around buggy LTO
-	- allow NULL decl for Fortran DW_TAG_common_block variables.
-
-2016-02-24  Jason Merrill  <jason@redhat.com>
-
-	* common.opt (flifetime-dse): Add -flifetime-dse=1.
-
-2016-02-24  Richard Biener  <rguenther@suse.de>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/69760
-	* tree-scalar-evolution.c (interpret_rhs_expr): Re-write
-	conditionally executed ops to well-defined overflow behavior.
-
-2016-02-24  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/69915
-	* tree.c (build_vector_from_ctor): Fix handling of VECTOR_CST
-	elements.
-
-2016-02-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR rtl-optimization/69886
-	* gcse.c (can_assign_to_reg_without_clobbers_p): Accept mode
-	argument.  Use it when checking validity of set instructions.
-	(want_to_gcse_p): Pass mode to can_assign_to_reg_without_clobbers_p.
-	(compute_ld_motion_mems): Update can_assign_to_reg_without_clobbers_p
-	callsite.
-	* rtl.h (can_assign_to_reg_without_clobbers_p): Update prototype.
-	* store-motion.c (find_moveable_store): Update
-	can_assign_to_reg_without_clobbers_p callsite.
-
-2016-02-24  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/68963
-	* tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Fix
-	bogus check.
-	(record_nonwrapping_iv): Do not fall back to the low/high bound
-	for non-constant IV bases if the stmt is not always executed.
-
-2016-02-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/arm-cores.def (cortex-a32): New entry.
-	* config/arm/arm-tables.opt: Regenerate.
-	* config/arm/arm-tune.md: Regenerate.
-	* config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a32.
-	* config/arm/t-aprofile: Handle mcpu=cortex-a32.
-	* doc/invoke.texi (ARM Options): Document cortex-a32 as value
-	for -mcpu and -mtune.
-
-2016-02-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/69875
-	* config/arm/arm.h (TARGET_HAVE_LPAE): Define.
-	* config/arm/unspecs.md (VUNSPEC_LDRD_ATOMIC): New value.
-	* config/arm/sync.md (arm_atomic_loaddi2_ldrd): New pattern.
-	(atomic_loaddi_1): Delete.
-	(atomic_loaddi): Rewrite expander using the above changes.
-
-2016-02-24  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c/69918
-	* params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): Bump default from
-	2 to 3.
-
-2016-02-24  Jakub Jelinek  <jakub@redhat.com>
-	    Richard Biener  <rguenth@suse.de>
-
-	PR middle-end/69909
-	* expr.c (expand_expr_real_1) <normal_inner_ref>: Avoid
-	set_mem_attributes if tem is SSA_NAME which got expanded
-	as a MEM.
-
-2016-02-24  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69907
-	* tree-vect-stmts.c (vectorizable_load): Check for gaps at the
-	end of permutations for BB vectorization.
-
-2016-02-24  Christian Bruel  <christian.bruel@st.com>
-
-	* config/arm/arm-c.c (arm_option_override): Initialize
-	target_option_current_node.
-	* config/arm/arm.c (arm_pragma_target_parse): Replace
-	build_target_option_node call by target_option_current_node.
-	Set target_option_current_node.
-	Fix comments.
-
-2016-02-23  David Edelsohn  <dje.gcc@gmail.com>
-
-	PR target/69810
-	* config/rs6000/rs6000.md (zero_extendqi<mode>2_dot): Convert from
-	define_insn_and_split to define_insn.
-	(zero_extendqi<mode>2_dot2): Same.
-	(extendqi<mode>2_dot): Same.
-	(extendqi<mode>2_dot2): Same.
-
-2016-02-23  Evandro Menezes  <e.menezes@samsung.com>
-
-	* config/arm/exynos-m1.md: Change cost of STP, fix bypass for stores
-	and add bypass for AES{D,E} and AESMC pairs.
-	* config/aarch64/aarch64.c (exynosm1_tunings): Enable fusion of AES{D,E}
-	and AESMC pairs.
-
-2016-02-23  Evandro Menezes  <e.menezes@samsung.com>
-
-	* config/aarch64/aarch64.c (exynosm1_tunings): Enable the Newton
-	series for reciprocal square root in Exynos M1.
-
-2016-02-23  Martin Sebor  <msebor@redhat.com>
-
-	PR c/69759
-	* doc/extend.texi (Other Builtins): Document __builtin_alloca and
-	__builtin_alloca_with_align.
-
-2016-02-23  Richard Henderson  <rth@redhat.com>
-
-	* config/i386/i386-c.c (ix86_target_macros): Remove __SEG_TLS.
-	(ix86_register_pragmas): Remove __seg_tls.
-	* config/i386/i386-protos.h (ADDR_SPACE_SEG_TLS): Remove.
-	* config/i386/i386.c (ix86_print_operand_address_as): Don't handle it.
-	(ix86_addr_space_subset_p, TARGET_ADDR_SPACE_SUBSET_P): Remove.
-	(ix86_addr_space_convert, TARGET_ADDR_SPACE_CONVERT): Remove.
-	(ix86_addr_space_debug, TARGET_ADDR_SPACE_DEBUG): Remove.
-	* doc/extend.texi (__seg_tls): Remove item.
-
-2016-02-23  Richard Biener  <rguenther@suse.de>
-
-	* alloc-pool.h (struct allocation_object): Make id member
-	conditional on CHECKING_P again.
-	(get_instance): Adjust.
-	(base_pool_allocator): Likewise.
-
-2016-02-23  Thomas Schwinge  <thomas@codesourcery.com>
-
-	* tree-parloops.c (create_parallel_loop, gen_parallel_loop)
-	(parallelize_loops): In OpenACC kernels mode, set n_threads to
-	zero.
-	(pass_parallelize_loops::gate): In OpenACC kernels mode, gate on
-	flag_openacc.
-	* tree-ssa-loop.c (gate_oacc_kernels): Likewise.
-
-2016-02-23  Richard Biener  <rguenther@suse.de>
-
-	* mem-stats.h (struct mem_usage): Use PRIu64 for printing size_t.
-	* bitmap.h (struct bitmap_usage): Likewise.
-	(bitmap_move): Declare.
-	* bitmap.c (register_overhead): Take size_t argument.
-	(bitmap_move): New function.
-	* df-problems.c (df_rd_transfer_function): Use bitmap_move
-	to properly account overhead.
-	* tree.c (free_node): Use tree_size.
-
-2016-02-23  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/69902
-	* fold-const.c (fold_truth_not_expr): Propagate TREE_NO_WARNING
-	when inverting comparison.
-
-	PR c/69900
-	* common.opt (Wunreachable-code): Add Warning flag.
-
-2016-02-23  Mark Wielaard  <mjw@redhat.com>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	PR c/69911
-	* cgraphunit.c (check_global_declaration): Check main_input_filename
-	and DECL_SOURCE_FILE are not NULL.
-
-2016-02-23  Martin Jambor  <mjambor@suse.cz>
-
-	PR tree-optimization/69666
-	* tree-sra.c (sra_modify_assign): Do not attempt to create
-	default_def replacements for unscalarizable regions.
-
-2016-02-20  Mark Wielaard  <mjw@redhat.com>
-
-	PR c/28901
-	* cgraphunit.c (check_global_declaration): Check level of
-	warn_unused_const_variable and main_input_filename.
-	* doc/invoke.texi (Warning Options): Add -Wunused-const-variable=.
-	(-Wunused-variable): For C implies -Wunused-const-variable=1.
-	(-Wunused-const-variable): Explain levels 1 and 2.
-
-2016-02-22  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/69888
-	* config/i386/i386.c (decide_alg): Ensure we don't recurse with
-	identical arguments.  Formatting and spelling fixes.
-
-	PR target/69885
-	* doc/md.texi (ashl@var{m}3): Document that mode of operand 2 must
-	be specified.
-
-	PR target/69894
-	PR target/69895
-	* config/m68k/t-opts (OPTIONS_H_EXTRA): Add m68k-microarchs.def
-	and m68k-devices.def.
-	* config/c6x/t-c6x (OPTIONS_H_EXTRA): Add c6x-isas.def.
-	* config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add aarch64-arches.def.
-
-2016-02-22  Cesar Philippidis  <cesar@codesourcery.com>
-
-	* config/nvptx/nvptx.c (nvptx_gen_shuffle): Add support for QImode
-	and HImode registers.
-
-2016-02-22  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69882
-	* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Properly
-	preserve permutations present because of gaps.
-	(vect_supported_load_permutation_p): Always continue checking
-	permutations after vect_attempt_slp_rearrange_stmts.
-
-2016-02-22  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-vect-loop.c (vect_estimate_min_profitable_iters): Dump
-	min_profitable_estimate, rather than min_profitable_iters.
-
-2016-02-22  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/69885
-	* config/m68k/m68k.md (ashldi3, ashrdi3, lshrdi3): Use
-	SImode for last match_operand.
-
-2016-02-22  Martin Liska  <mliska@suse.cz>
-
-	* hsa-gen.c (gen_hsa_clrsb): In case of zero value,
-	return bitsize - 1 as the return value.
-
-2016-02-22  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	PR target/69806
-	PR target/54089
-	* config/sh/sh.c (sh_lshrsi_clobbers_t_reg_p, sh_dynamicalize_shift_p):
-	Handle negative shift counts.
-	* config/sh/sh.md (ashlsi3, lshrsi3_n, lshrsi3_n_clobbers_t): Don't use
-	force_reg on the shift constant.
-	(lshrsi3): Likewise.  Expand into lshrsi3_n* instead of lshrsi3_d.
-	(lshrsi3_d): Handle negative shift counts.
-
-2016-02-22  Richard Biener  <rguenther@suse.de>
-	    Tom de Vries  <tom@codesourcery.com>
-
-	* graph.c: Include dumpfile.h.
-	(print_graph_cfg): Split into three overloads.
-	* gdbhooks.py (class DotFn): Add and instantiate, adding command dot-fn.
-
-2016-02-22  Tom de Vries  <tom@codesourcery.com>
-
-	* gdbhooks.py (class DumpFn): Add and instantiate, adding command
-	dump-fn.
-
-2016-02-22  Richard Biener  <rguenther@suse.de>
-
-	PR ipa/37448
-	* ipa-inline-transform.c (inline_call): When not updating
-	overall summaries adjust self size by the growth estimate.
-	* ipa-inline.c (inline_to_all_callers_1): Add to the callers
-	hash-set, do not update overall summaries here.  Renamed from ...
-	(inline_to_all_callers): ... this which is now wrapping the
-	above and performing delayed overall summary update.
-	(early_inline_small_functions): Delay updating of the overall
-	summary.
-
-2016-02-21  Markus Trippelsdorf  <markus@trippelsdorf.de>
-
-	* tree-chkp.c (chkp_mark_invalid_bounds_walker): Initialize
-	variable.
-
-2016-02-19  Jakub Jelinek  <jakub@redhat.com>
-
-	PR driver/69805
-	* gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use
-	:%* in %:gt() argument.
-	(greater_than_spec_func): Adjust for expecting only numbers,
-	if there are more than two numbers, compare the last two.
-
-2016-02-19  Jonathan Wakely  <jwakely@redhat.com>
-
-	* doc/invoke.texi (C++ Dialect Options): Clarify interaction of
-	-Wnarrowing with -std.
-
-2016-02-19  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/69851
-	* expr.c (store_field): Don't use bit-field path if exp is
-	COMPONENT_REF with TREE_ADDRESSABLE type, where TYPE_SIZE is
-	different from bitsize, but DECL_SIZE of FIELD_DECL is bitsize
-	and the assignment can be performed by bitwise copy.  Formatting
-	fix.
-
-	PR middle-end/69838
-	* lra.c (lra_process_new_insns): If non-call exceptions are enabled,
-	call copy_reg_eh_region_note_forward on before and/or after sequences
-	and remove note from insn if it no longer can throw.
-
-	PR target/69820
-	* config/i386/sse.md (VI_512): Only include V64QImode and V32HImode
-	if TARGET_AVX512BW.
-
-2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/vector.md: Add missing commutative operand markers
-	to the patterns which qualify for one.
-	* config/s390/vx-builtins.md: Likewise.
-
-2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/vector.md (VI, VI_QHS): Add single element vector
-	types to mode iterators.
-	(vec_double): ... and mode attribute.
-	* config/s390/vx-builtins.md (non_vec_int): Likewise.
-
-2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/vector.md ("<ti*>add<mode>3", "<ti*>sub<mode>3"):
-	Change the predicate of op2 from nonimmediate to general and let
-	reload fix it if necessary.
-
-2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/vecintrin.h (vec_sub_u128): Define missing macro.
-
-2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.c (s390_expand_vcond): Use the compare operand
-	mode.
-
-2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390-protos.h: Add s390_expand_vec_movstr prototype.
-	* config/s390/s390.c (s390_expand_vec_movstr): New function.
-	* config/s390/s390.md ("movstr<P:mode>"): Call
-	s390_expand_vec_movstr.
-
-2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.md: Add missing output modifier for operand 1
-	to print it as address properly.
-
-2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/2827.md: Rename ooo_* insn attributes to zEC12_*.
-	* config/s390/2964.md: New file.
-	* config/s390/s390.c (s390_get_sched_attrmask): Use the right set
-	of insn grouping attributes depending on the CPU level.
-	(s390_get_unit_mask): New function.
-	(s390_sched_score): Remove the OOO from the scheduling macros.
-	Add loop to calculate a score for the instruction mix.
-	(s390_sched_reorder): Likewise plus improve debug output.
-	(s390_sched_variable_issue): Rename macros as above.  Calculate
-	the unit distances after actually scheduling an insn.  Improve
-	debug output.
-	(s390_sched_init): Clear last_scheduled_unit_distance array.
-	* config/s390/s390.md: Include 2964.md.
-
-2016-02-18  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/69671
-	* config/i386/sse.md (*<floatsuffix>floatv2div2sf2_mask_1,
-	*avx512vl_<code>v2div2qi2_mask_1, *avx512vl_<code><mode>v4qi2_mask_1,
-	*avx512vl_<code><mode>v8qi2_mask_1, *avx512vl_<code><mode>v4hi2_mask_1,
-	*avx512vl_<code>v2div2hi2_mask_1, *avx512vl_<code>v2div2si2_mask_1,
-	*avx512f_<code>v8div16qi2_mask_1): New insns.
-
-2016-02-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/68404
-	* config/rs6000/predicates.md (fusion_gpr_addis): Revert
-	2016-02-09 change.
-
-	* config/rs6000/rs6000.md (fusion_gpr_load_<mode>): Remove
-	earlyclobber from target.  Use wF constraint for fused memory
-	address.
-	(fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise.
-
-2016-02-18  Jakub Jelinek  <jakub@redhat.com>
-	    Martin Liska  <mliska@suse.cz>
-
-	PR sanitizer/69863
-	* cfgexpand.c (asan_sanitize_stack_p): New function.
-	(partition_stack_vars): Use the function.
-	(expand_stack_vars): Likewise.
-	(defer_stack_allocation): Likewise.
-	(expand_used_vars): Likewise.
-
-2016-02-18  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/69553
-	* fold-const.c (operand_equal_p): Properly compare offsets for
-	IMAGPART_EXPR and ARRAY_REF.
-
-2016-02-18  Nick Clifton  <nickc@redhat.com>
-
-	PR target/62254
-	PR target/69610
-	* config/arm/arm.c (arm_option_override_internal): Disable
-	interworking if the target does not support thumb instructions.
-	(arm_reload_in_hi): Handle the case where a register to register
-	move needs reloading because there is no simple pattern to handle
-	it.
-	(arm_reload_out_hi): Likewise.
-
-2016-02-18  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/69854
-	* match.pd: Don't use fold_binary or fold_unary for folding
-	constants.
-
-2016-02-17  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/69850
-	* gimplify.c (gimplify_cond_expr): Call gimple_set_no_warning
-	on the cond_stmt from TREE_NO_WARNING on COND_EXPR_COND.
-	* gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Don't
-	warn on gimple_no_warning_p statements.
-
-2016-02-17  Jonathan Wakely  <jwakely@redhat.com>
-
-	* doc/extend.texi (C++ Attributes): Correct description of
-	warn_unused type attribute.
-
-2016-02-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/altivec.md (*altivec_lvxl_<mode>_internal): Output
-	correct instruction.
-
-2016-02-17  Richard Biener  <rguenther@suse.de>
-
-	PR rtl-optimization/69609
-	* bb-reorder.c (struct bbro_basic_block_data): Add priority member.
-	(find_traces_1_round): When ending a trace update cached priority
-	of successors.
-	(bb_to_key): Use cached priority when available.
-	(copy_bb): Initialize cached priority.
-	(reorder_basic_blocks_software_trace_cache): Likewise.
-
-2016-02-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/69161
-	* config/aarch64/predicates.md (aarch64_comparison_operator_mode):
-	New predicate.
-	(aarch64_comparison_operator): Break overly long line into two.
-	(aarch64_comparison_operation): Likewise.
-	* config/aarch64/aarch64.md (cstorecc4): Use
-	aarch64_comparison_operator_mode instead of
-	aarch64_comparison_operator.
-	(cstore<mode>4): Likewise.
-	(aarch64_cstore<mode>): Likewise.
-	(*cstoresi_insn_uxtw): Likewise.
-	(cstore<mode>_neg): Likewise.
-	(*cstoresi_neg_uxtw): Likewise.
-
-2016-02-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/69161
-	* config/arm/predicates.md (arm_comparison_operator_mode):
-	New predicate.
-	* config/arm/arm.md (*mov_scc): Use arm_comparison_operator_mode
-	instead of arm_comparison_operator.
-	(*mov_negscc): Likewise.
-	(*mov_notscc): Likewise.
-	* config/arm/thumb2.md (*thumb2_mov_scc): Likewise.
-	(*thumb2_mov_negscc): Likewise.
-	(*thumb2_mov_negscc_strict_it): Likewise.
-	(*thumb2_mov_notscc): Likewise.
-	(*thumb2_mov_notscc_strict_it): Likewise.
-
-2016-02-17  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_internal_mov_immediate):
-	Add missing return.
-
-2016-02-17  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/visium/visium.c (machine_libfunc_index): New enum.
-	(machine_libfuncs): New structure.
-	(visium_libfuncs): New static variable.
-	(TARGET_INIT_LIBFUNCS): Define to...
-	(visium_init_libfuncs): ...this.  New function.
-	(expand_block_move_4): Use the appropriate libfunc.
-	(expand_block_move_2): Likewise.
-	(expand_block_move_1): Likewise.
-	(expand_block_set_4): Likewise.
-	(expand_block_set_2): Likewise.
-	(expand_block_set_1): Likewise.
-	(visium_trampoline_init): Likewise.
-
-2016-02-17  Nick Clifton  <nickc@redhat.com>
-
-	* config/msp430/msp430.c (msp430_mcu_data): Sync with data from
-	TI's devices.csv file as of March 2016.
-
-2016-02-16  Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	PR Target/48344
-	* opts-global.c (handle_common_deferred_options): Introduce and
-	initialize two global variables to remember command-line options
-	specifying a stack-limiting register.
-	* opts.h: Add extern declarations of the two new global variables.
-	* emit-rtl.c (init_emit_once): Initialize the stack_limit_rtx
-	variable based on the values of the two new global variables.
-
-2016-02-16  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c/69835
-	* common.opt (Wnonnull-compare): New warning.
-	* doc/invoke.texi (-Wnonnull): Remove text about comparison
-	of arguments against NULL.
-	(-Wnonnull-compare): Document.
-	* Makefile.in (OBJS): Add gimple-ssa-nonnull-compare.o.
-	* tree-pass.h (make_pass_warn_nonnull_compare): Declare.
-	* passes.def (pass_warn_nonnull_compare): Add.
-	* gimple-ssa-nonnull-compare.c: New file.
-
-2016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/aarch64/aarch64.c (cortexa57_tunings): Remove
-	AARCH64_EXTRA_TUNE_RECIP_SQRT.
-
-2016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/aarch64/aarch64.c (use_rsqrt_p): Always use software
-	reciprocal sqrt for -mlow-precision-recip-sqrt.
-
-2016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
-	    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_expand_vector_init): Refactor,
-	always use lane loads to construct non-constant vectors.
-
-2016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/aarch64/aarch64.md
-	(arch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): Fix register
-	constraints for	operand 3.
-	(aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): Likewise.
-
-2016-02-16  Jakub Jelinek  <jakub@redhat.com>
-	    Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69820
-	* tree-vect-patterns.c (type_conversion_p): Return false if
-	*orig_type is unsigned single precision or boolean.
-	(vect_recog_dot_prod_pattern, vect_recog_widen_mult_pattern):
-	Formatting fix.
-
-2016-02-16  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/69764
-	PR rtl-optimization/69771
-	* optabs.c (expand_binop): Ensure for shift optabs invalid CONST_INT
-	op1 is valid for GET_MODE_INNER (mode) and force it into a reg.
-
-2016-02-16  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69776
-	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Get alias
-	sets from caller.
-	(indirect_refs_may_alias_p): Likewise.
-	(refs_may_alias_p_1): Pass alias sets as from ao_ref.
-	* tree-ssa-sccvn.c (vn_reference_lookup): Also adjust vr alias-set
-	according to tbaa_p.
-	* tree-ssa-dom.c (lookup_avail_expr): Add tbaa_p flag.
-	(optimize_stmt): For redundant store discovery do not allow tbaa.
-
-2016-02-16  Bernd Schmidt  <bschmidt@redhat.com>
-
-	PR tree-optimization/69714
-	* tree-ssa-math-opts.c (find_bswap_or_nop): Revert previous change.
-	Return NULL if we have irrelevant high bytes on BIG_ENDIAN.
-
-2016-02-16  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc-modes.def (CC_FPU, CC_FPU_UNEQ): New modes.
-	* config/arc/arc-opts.h (FPU_SP, FPU_SF, FPU_SC, FPU_SD, FPU_DP)
-	(FPU_DF, FPU_DC, FPU_DD, FXP_DP): Define.
-	* config/arc/arc.c (arc_init): Check FPU options.
-	(get_arc_condition_code): Handle new CC_FPU* modes.
-	(arc_select_cc_mode): Likewise.
-	(arc_conditional_register_usage): Allow 64 bit datum into even-odd
-	register pair only. Allow access for ARCv2 accumulator.
-	(gen_compare_reg): Whenever we have FPU support use FPU compare
-	instructions.
-	(arc_reorg): Don't generate brcc insns when FPU compare
-	instructions are involved.
-	* config/arc/arc.h (TARGET_DPFP): Add TARGET_FP_DPAX condition.
-	(TARGET_OPTFPE): Add condition when ARC EM can use optimized
-	floating point emulation.
-	(ACC_REG_FIRST, ACC_REG_LAST, ACCL_REGNO, ACCH_REGNO): Define.
-	(REVERSE_CONDITION): Add new CC_FPU* modes.
-	(TARGET_FP_SP_BASE): Define.
-	(TARGET_FP_DP_BASE): Likewise.
-	(TARGET_FP_SP_FUSED): Likewise.
-	(TARGET_FP_DP_FUSED): Likewise.
-	(TARGET_FP_SP_CONV): Likewise.
-	(TARGET_FP_DP_CONV): Likewise.
-	(TARGET_FP_SP_SQRT): Likewise.
-	(TARGET_FP_DP_SQRT): Likewise.
-	(TARGET_FP_DP_AX): Likewise.
-	* config/arc/arc.md (ARCV2_ACC): New constant.
-	(type): New fpu type attribute.
-	(SDF): Conditional iterator.
-	(cstore<mode>, cbranch<mode>): Change expand condition.
-	(addsf3, subsf3, mulsf3, adddf3, subdf3, muldf3): New expands,
-	handles FPU/FPX cases as well.
-	* config/arc/arc.opt (mfpu): New option.
-	* config/arc/fpx.md (addsf3_fpx, subsf3_fpx, mulsf3_fpx):
-	Renamed.
-	(adddf3, muldf3, subdf3): Removed.
-	* config/arc/predicates.md (proper_comparison_operator): Recognize
-	CC_FPU* modes.
-	* config/arc/fpu.md: New file.
-	* doc/invoke.texi (ARC Options): Document mfpu option.
-
-2016-02-16  Richard Biener  <rguenther@suse.de>
-
-	PR rtl-optimization/69291
-	* ifcvt.c (noce_try_store_flag_constants): Re-instantiate
-	noce_operand_ok check.
-
-2016-02-16  Tom de Vries  <tom@codesourcery.com>
-
-	PR lto/67709
-	* omp-low.c (simd_clone_create): Remove call to
-	symtab->call_cgraph_insertion_hooks.
-
-2016-02-16  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/69802
-	* tree-ssa-reassoc.c (update_range_test): If op is
-	SSA_NAME_IS_DEFAULT_DEF, give up unless tem is a positive
-	op == 1 test of precision 1 integral op, otherwise handle
-	that case as op itself.  Fix up formatting.
-	(optimize_range_tests_to_bit_test, optimize_range_tests): Fix
-	up formatting.
-
-2016-02-16  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69586
-	* tree-vrp.c (register_edge_assert_for_2): Handle all integral
-	types for conversion sources.
-
-2016-02-16  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/69801
-	* fold-const.c (operand_equal_p): For COND_EXPR zero operand
-	mask OEP_ADDRESS_OF.
-
-2016-02-16  Alan Modra  <amodra@gmail.com>
-
-	PR target/68973
-	* config/rs6000/rs6000.md (reload_vsx_from_gprsf): Rewrite splitter.
-	(p8_mtvsrd_df, p8_mtvsrd_sf): New.
-	(p8_mtvsrd_1, p8_mtvsrd_2): Delete.
-	(p8_mtvsrwz): New.
-	(p8_mtvsrwz_1, p8_mtvsrwz_2): Delete.
-	(p8_xxpermdi_<mode>): Take two DF inputs rather than one TF.
-	(p8_fmrgow_<mode>): Likewise.
-	(reload_vsx_from_gpr<mode>): Make clobber IF.  Adjust for above
-	changes.
-	(reload_fpr_from_gpr<mode>): Similarly. Use "d" for op0 constraint.
-	(reload_vsx_from_gprsf): Use p8_mtvsrd_sf rather than attempting
-	to use movdi_internal64.  Remove op0_di.
-	* config/rs6000/vsx.md (vsx_xscvspdpn_directmove): Make op1 SFmode.
-
-2016-02-15  Evandro Menezes  <e.menezes@samsung.com>
-
-	Add support for the FCCMP insn types
-
-	* config/aarch64/aarch64.md (fccmp): Change insn type.
-	(fccmpe): Likewise.
-	* config/aarch64/thunderx.md (thunderx_fcmp): Add "fccmp{s,d}" types.
-	* config/arm/cortex-a53.md (cortex_a53_fpalu): Likewise.
-	* config/arm/cortex-a57.md (cortex_a57_fp_cmp): Likewise.
-	* config/arm/xgene1.md (xgene1_fcmp): Likewise.
-	* config/arm/exynos-m1.md (exynos_m1_fp_ccmp): New insn reservation.
-	* config/arm/types.md (fccmps): Add new insn type.
-	(fccmpd): Likewise.
-
-2016-02-15  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* alias.c (get_alias_set): Fix a typo in comment.
-
-2016-02-15  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69595
-	* match.pd: Complete range test simplification to true.
-
-2016-02-15  Bernd Schmidt  <bschmidt@redhat.com>
-
-	PR rtl-optimization/69648
-	* lra-constraints.c (update_ebb_live_info): Don't remove sets of
-	pic_offset_table_rtx.
-
-	PR rtl-optimization/69752
-	* ira.c (update_equiv_regs): When looking for more than a single SET,
-	also take other side effects into account.
-
-2016-02-15  Marcin Kościelnicki  <koriakin@0x04.net>
-
-	* config/s390/s390.c (s390_function_profiler): Add a new sequence
-	for z900+ CPUs in 31-bit mode.
-
-2016-02-15  Marcin Kościelnicki  <koriakin@0x04.net>
-
-	* common/config/s390/s390-common.c (s390_supports_split_stack):
-	New function.
-	(TARGET_SUPPORTS_SPLIT_STACK): New macro.
-	* config/s390/s390-protos.h: Add s390_expand_split_stack_prologue.
-	* config/s390/s390.c (struct machine_function): New field
-	split_stack_varargs_pointer.
-	(s390_register_info): Mark r12 as clobbered if it'll be used as temp
-	in s390_emit_prologue.
-	(s390_emit_prologue): Use r12 as temp if r1 is taken by split-stack
-	vararg pointer.
-	(morestack_ref): New global.
-	(SPLIT_STACK_AVAILABLE): New macro.
-	(s390_expand_split_stack_prologue): New function.
-	(s390_live_on_entry): New function.
-	(s390_va_start): Use split-stack vararg pointer if appropriate.
-	(s390_asm_file_end): Emit the split-stack note sections.
-	(TARGET_EXTRA_LIVE_ON_ENTRY): New macro.
-	* config/s390/s390.md (UNSPEC_STACK_CHECK): New unspec.
-	(UNSPECV_SPLIT_STACK_CALL): New unspec.
-	(UNSPECV_SPLIT_STACK_DATA): New unspec.
-	(split_stack_prologue): New expand.
-	(split_stack_space_check): New expand.
-	(split_stack_data): New insn.
-	(split_stack_call): New expand.
-	(split_stack_call_*): New insn.
-	(split_stack_cond_call): New expand.
-	(split_stack_cond_call_*): New insn.
-
-2016-02-15  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69783
-	* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
-	Add trivially correct cases.
-
-2016-02-15  Tom de Vries  <tom@codesourcery.com>
-
-	PR lto/69655
-	* lto-cgraph.c (input_offload_tables): Add and handle bool parameter
-	do_force_output.
-	* lto-streamer.h (input_offload_tables): Add and handle bool parameter.
-
-2016-02-15  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69776
-	* tree-ssa-sccvn.h (vn_reference_lookup): Adjust prototype.
-	* tree-ssa-sccvn.c (vn_reference_lookup): Add parameter to
-	indicate whether we can use TBAA to disambiguate against stores.
-	Use alias-set zero if not.
-	(visit_reference_op_store): Do not use TBAA when looking up
-	redundant stores.
-	* tree-ssa-pre.c (compute_avail): Use TBAA here.
-	(eliminate_dom_walker::before_dom_children): But not when looking
-	up redundant stores.
-
-2016-02-14  John David Anglin  <danglin@gcc.gnu.org>
-
-	* config/pa/pa.md (absqi2, absghi2, bswaphi2, bswapsi2, bswapdi2): New.
-
-2016-02-14  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
-
-	*  config/i386/znver1.md
-	(znver1_pop, znver1_pop_mem,
-	znver1_load_imov_double_store,
-	znver1_load_imov_direct_store,
-	znver1_load_imov_direct_load,
-	znver1_load_imov_double_load): Add new.
-	(znver1_insn, znver1_insn_load): Add icmov type.
-	(znver1_sseavx_fma,
-	znver1_sseavx_fma_load,
-	znver1_avx256_fma,
-	znver1_avx256_fma_load): Fix pipe usage.
-
-2016-02-14  Alan Modra  <amodra@gmail.com>
-
-	PR target/68973
-	* reload.c (find_reloads_address_1): For pre/post-inc/dec
-	with an invalid hard reg, reload just the reg not the entire
-	pre/post-inc/dec address expression.
-
-2016-02-13  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	PR target/67260
-	* config/sh/sh.md (sibcall_value_pcrel): Replace =&k scratch reg with
-	fixed R1_REG scratch reg.
-	(sibcall_value_pcrel_fdpic): Likewise.
-
-2016-02-13  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	PR target/67636
-	PR target/64345
-	* config/sh/sh.md (*zero_extract_3): New insn_and_split pattern.
-
-2016-02-12  Walter Lee  <walt@tilera.com>
-
-	* config/tilepro/t-tilepro: Replace CC_FOR_BUILD with CXX_FOR_BUILD.
-	* config/tilegx/t-tilegx: Likewise.
-
-2016-02-12  David Malcolm  <dmalcolm@redhat.com>
-
-	PR other/69554
-	* diagnostic-show-locus.c (struct line_span): New struct.
-	(layout::get_first_line): Delete.
-	(layout::get_last_line): Delete.
-	(layout::get_num_line_spans): New member function.
-	(layout::get_line_span): Likewise.
-	(layout::print_heading_for_line_span_index_p): Likewise.
-	(layout::get_expanded_location): Likewise.
-	(layout::calculate_line_spans): Likewise.
-	(layout::m_first_line): Delete.
-	(layout::m_last_line): Delete.
-	(layout::m_line_spans): New field.
-	(layout::layout): Update comment.  Replace m_first_line and
-	m_last_line with m_line_spans, replacing their initialization
-	with a call to calculate_line_spans.
-	(diagnostic_show_locus): When printing source lines and
-	annotations, rather than looping over a single span
-	of lines, instead loop over each line_span within
-	the layout, with an inner loop over the lines within them.
-	Call the context's start_span callback when changing line spans.
-	* diagnostic.c (diagnostic_initialize): Initialize start_span.
-	(diagnostic_build_prefix): Break out the building of the location
-	part of the string into...
-	(diagnostic_get_location_text): ...this new function, rewriting
-	it from nested ternary expressions to a sequence of "if"
-	statements.
-	(default_diagnostic_start_span_fn): New function.
-	* diagnostic.h (diagnostic_start_span_fn): New typedef.
-	(diagnostic_context::start_span): New field.
-	(default_diagnostic_start_span_fn): New prototype.
-
-2016-02-12  David Malcolm  <dmalcolm@redhat.com>
-
-	PR driver/69779
-	* gcc.c (driver::finalize): Fix cleanup of "specs".
-
-2016-02-12  David Malcolm  <dmalcolm@redhat.com>
-
-	PR driver/69265
-	PR driver/69453
-	* gcc.c (driver::driver): Initialize m_option_suggestions.
-	(driver::~driver): Clean up m_option_suggestions.
-	(suggest_option): Convert to...
-	(driver::suggest_option): ...this, and split out into
-	driver::build_option_suggestions and find_closest_string.
-	(driver::build_option_suggestions): New function, from
-	first half of suggest_option.  Special-case
-	OPT_fsanitize_ and OPT_fsanitize_recover_, making use of
-	the sanitizer_opts array.  For options of enum types, add the
-	various enum values to the candidate strings.
-	(driver::handle_unrecognized_options): Remove "const".
-	* gcc.h (driver::handle_unrecognized_options): Likewise.
-	(driver::build_option_suggestions): New decl.
-	(driver::suggest_option): New decl.
-	(driver::m_option_suggestions): New field.
-	* opts-common.c (add_misspelling_candidates): New function.
-	* opts.c (sanitizer_opts): Remove decl of struct sanitizer_opts_s
-	and make non-static.
-	* opts.h (sanitizer_opts): New array decl.
-	(add_misspelling_candidates): New function decl.
-	* spellcheck.c (find_closest_string): New function.
-	* spellcheck.h (find_closest_string): New function decl.
-
-2016-02-12  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/69764
-	PR rtl-optimization/69771
-	* optabs.c (expand_binop_directly): For shift_optab_p, force
-	convert_modes with VOIDmode if xop1 has VOIDmode.
-
-2016-02-12  Ilya Enkovich  <enkovich.gnu@gmail.com>
-
-	PR target/69729
-	* lto-streamer-out.c (lto_output): Use thunk.add_pointer_bounds_args
-	to correctly determine instrumentation thunks.
-
-2016-02-12  Jakub Jelinek  <jakub@redhat.com>
-
-	PR ipa/69241
-	* ipa-split.c (split_function): If split part returns TREE_ADDRESSABLE
-	type by reference, force lhs on the call.
-
-	PR ipa/68672
-	* ipa-split.c (split_function): Don't compute/use main_part_return_p.
-	Compute retval and retbnd early in all cases if split_part_return_p
-	and return_bb is not EXIT.  Remove all clobber stmts and reset
-	all debug stmts that refer to SSA_NAMEs defined in split part,
-	except if it is retval, in that case replace the old retval with the
-	lhs of the call to the split part.
-
-2016-02-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	revert:
-	2016-02-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	PR middle-end/66726
-	* tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
-	whose result is used in PHI.
-	(maybe_optimize_range_tests): Likewise.
-	(final_range_test_p): Likweise.
-
-2016-02-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	PR middle-end/66726
-	* tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
-	whose result is used in PHI.
-	(maybe_optimize_range_tests): Likewise.
-	(final_range_test_p): Likweise.
-
-2016-02-12  Jakub Jelinek  <jakub@redhat.com>
-
-	* cgraph.c: Spelling fixes - behaviour -> behavior and
-	neighbour -> neighbor.
-	* target.def: Likewise.
-	* sel-sched.c: Likewise.
-	* config/mips/mips.c: Likewise.
-	* config/arc/arc.md: Likewise.
-	* config/arm/cortex-a57.md: Likewise.
-	* config/arm/arm.c: Likewise.
-	* config/arm/neon.md: Likewise.
-	* config/arm/arm-c.c: Likewise.
-	* config/vms/vms-c.c: Likewise.
-	* config/s390/s390.c: Likewise.
-	* config/i386/znver1.md: Likewise.
-	* config/i386/i386.c: Likewise.
-	* config/ia64/hpux-unix2003.h: Likewise.
-	* config/msp430/msp430.md: Likewise.
-	* config/rx/rx.c: Likewise.
-	* config/rx/rx.md: Likewise.
-	* config/aarch64/aarch64-simd.md: Likewise.
-	* config/aarch64/aarch64.c: Likewise.
-	* config/nvptx/nvptx.c: Likewise.
-	* config/bfin/bfin.c: Likewise.
-	* config/cris/cris.opt: Likewise.
-	* config/rs6000/rs6000.c: Likewise.
-	* target.h: Likewise.
-	* spellcheck.c: Likewise.
-	* ira-build.c: Likewise.
-	* tree-inline.c: Likewise.
-	* builtins.c: Likewise.
-	* lra-constraints.c: Likewise.
-	* explow.c: Likewise.
-	* hwint.h: Likewise.
-	* targhooks.c: Likewise.
-	* tree-vect-data-refs.c: Likewise.
-	* expr.c: Likewise.
-	* doc/tm.texi: Likewise.
-	* doc/extend.texi: Likewise.
-	* doc/install.texi: Likewise.
-	* doc/md.texi: Likewise.
-	* tree-ssa-tail-merge.c: Likewise.
-	* sched-int.h: Likewise.
-	* match.pd: Likewise.
-	* sched-ebb.c: Likewise.
-	* target.def (omit_struct_return_reg): Likewise.
-	* gimple-ssa-isolate-paths.c: Likewise.
-	(find_implicit_erroneous_behaviour): Renamed to...
-	(find_implicit_erroneous_behavior): ... this.
-	(find_explicit_erroneous_behaviour): Renamed to...
-	(find_explicit_erroneous_behavior): ... this.
-	(gimple_ssa_isolate_erroneous_paths): Adjust caller.
-
-2016-02-11  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/64682
-	PR rtl-optimization/69567
-	PR rtl-optimization/69737
-	* combine.c (distribute_notes) <REG_DEAD>: If the register is set
-	in I2 as well, just lose it.
-
-2016-02-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_last_printed_arch_string):
-	New variable.
-	(aarch64_last_printed_tune_string): Likewise.
-	(aarch64_declare_function_name): Only output .arch assembler
-	directive if it will be different from the previously output
-	directive.  Same for .tune comment but only if -dA is set.
-	(aarch64_start_file): New function.
-	(TARGET_ASM_FILE_START): Define.
-
-2016-02-11  David Malcolm  <dmalcolm@redhat.com>
-
-	PR plugins/69758
-	* Makefile.in (PLUGIN_HEADERS): Add params.list.
-
-2016-02-11  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/65313
-	* tree-vect-slp.c (vect_schedule_slp_instance): Avoid
-	-Wmaybe-uninitialized warning.
-
-2016-02-11  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	PR target/69713
-	* config/sh/sh.md (casesi_worker_0): Add T_REG use.
-
-2016-02-11  Richard Biener  <rguenther@suse.de>
-
-	PR rtl-optimization/69291
-	* ifcvt.c (noce_try_store_flag_constants): Do not allow
-	subexpressions affected by changing the result.
-
-2016-02-10  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR target/69148
-	* lra-constraints.c (curr_insn_transform): Find in/out operands
-	for secondary memory moves.  Update dups.
-
-2016-02-10  Yuri Rumyantsev  <ysrumyan@gmail.com>
-
-	PR tree-optimization/69652
-	* tree-vect-loop.c (optimize_mask_stores): Move declaration of STMT1
-	to nested loop, did source re-formatting, skip debug statements,
-	add check on statement with volatile operand, remove dead scalar
-	statements.
-
-2016-02-10  Jakub Jelinek  <jakub@redhat.com>
-	    Patrick Palka  <ppalka@gcc.gnu.org>
-
-	PR ipa/69241
-	PR c++/69649
-	* gimplify.c (gimplify_modify_expr): Set lhs even for noreturn
-	calls if the return type is TREE_ADDRESSABLE.
-	* cgraphunit.c (cgraph_node::expand_thunk): Likewise.
-	* ipa-split.c (split_function): Fix doubled "we" in comment.
-	Use void return type for the split part even if
-	!split_point->split_part_set_retval.
-
-2016-02-10  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/68021
-	* tree-ssa-loop-ivopts.c (get_computation_aff): Set ratio to 1 if
-	when computing the value of biv cand by itself.
-
-2016-02-10  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (cortexa53_tunings): Enable AES fusion.
-	(cortexa57_tunings): Likewise.
-	(cortexa72_tunings): Likewise.
-	(arch_macro_fusion_pair_p): Add support for AES fusion.
-	* config/aarch64/aarch64-fusion-pairs.def: Add AES_AESMC entry.
-	* config/arm/aarch-common.c (aarch_crypto_can_dual_issue):
-	Allow virtual registers before reload so early scheduling works.
-	* config/arm/cortex-a57.md (cortex_a57_crypto_simple): Use
-	correct latency and pipeline.
-	(cortex_a57_crypto_complex): Likewise.
-	(cortex_a57_crypto_xor): Likewise.
-	(define_bypass): Add AES bypass.
-
-2016-02-10  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69726
-	* passes.def: Add DCE pass before late uninit.
-	* match.pd: Add A ? B : (!A ? C : X) -> A ? B : C patterns to
-	really fixup if-conversions job.
-
-2016-02-10  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/arm/arm.c (arm_cortex_a53_tune): Enable AES fusion.
-	(arm_cortex_a57_tune): Likewise.
-	(aarch_macro_fusion_pair_p): Add support for AES fusion.
-	* config/arm/arm-protos.h (fuse_ops): Add FUSE_AES_AESMC.
-
-2016-02-10  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* timevar.def (TV_PHASE_DBGINFO): Delete.
-	(TV_PHASE_CHECK_DBGINFO): Likewise.
-	* varpool.c (varpool_node::assemble_decl): Do not change timevar.
-
-2016-02-10  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69719
-	* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
-	Adjust previous fix by ensuring that dr_a1 is left of dr_a2.
-
-2016-02-09  Andrew Pinski  <apinski@cavium.com>
-
-	PR tree-opt/69282
-	* optabs-tree.c (expand_vec_cond_expr_p): Don't early return if
-	get_vcond_mask_icode returns false.
-
-2016-02-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/68404
-	* config/rs6000/predicates.md (fusion_gpr_addis): Prevent fusing
-	an ADDIS that adds a pointer to a large constant that sets the
-	upper16 bits with a load operation.
-
-2016-02-09  Charles Baylis  <charles.baylis@linaro.org>
-
-	PR target/68532
-	* config/arm/arm.c (arm_evpc_neon_vzip): Allow for big endian lane
-	order.
-	* config/arm/arm_neon.h (vzipq_s8): Adjust shuffle patterns for big
-	endian.
-	(vzipq_s16): Likewise.
-	(vzipq_s32): Likewise.
-	(vzipq_f32): Likewise.
-	(vzipq_u8): Likewise.
-	(vzipq_u16): Likewise.
-	(vzipq_u32): Likewise.
-	(vzipq_p8): Likewise.
-	(vzipq_p16): Likewise.
-
-2016-02-09  Charles Baylis  <charles.baylis@linaro.org>
-
-	PR target/68532
-	* config/arm/arm.c (neon_endian_lane_map): New function.
-	(neon_vector_pair_endian_lane_map): New function.
-	(arm_evpc_neon_vuzp): Allow for big endian lane order.
-	* config/arm/arm_neon.h (vuzpq_s8): Adjust shuffle patterns for big
-	endian.
-	(vuzpq_s16): Likewise.
-	(vuzpq_s32): Likewise.
-	(vuzpq_f32): Likewise.
-	(vuzpq_u8): Likewise.
-	(vuzpq_u16): Likewise.
-	(vuzpq_u32): Likewise.
-	(vuzpq_p8): Likewise.
-	(vuzpq_p16): Likewise.
-
-2016-02-11  Alexandre Oliva  <aoliva@redhat.com>
-
-	PR target/69634
-	* regstat.c (regstat_bb_compute_calls_crossed): Disregard
-	debug insns.
-
-2016-02-09  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (insv<mode>_1): Use gen_int_mode to
-	truncate const_int operand 1 to QImode.
-
-2016-02-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gimple-ssa-backprop.c (optimize_phi): Do not replace an argument
-	corresponding to an abnormal edge.
-
-2016-02-09  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/69599
-	* tree-ssa-structalias.c (fndecl_maybe_in_other_partition): New
-	function.
-	(find_func_aliases_for_builtin_call, find_func_clobbers)
-	(ipa_pta_execute):  Handle case that foo and foo._0 are not in same lto
-	partition.
-
-2016-02-09  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69715
-	* tree-ssa.c (execute_update_addresses_taken): Mark non-decl
-	LHS on calls as non-rewritable.
-
-2016-02-09  Tom de Vries  <tom@codesourcery.com>
-
-	PR lto/69707
-	* lto-wrapper.c (append_diag_options): New function.
-	(compile_offload_image): Call append_diag_options.
-
-2016-02-08  Sandra Loosemore  <sandra@codesourcery.com>
-
-	PR other/69722
-	* doc/extend.texi (Flag Output Operands): Correct sectioning.
-	Minor copy-edit to fix verb tenses.
-
-2016-02-08  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/69209
-	* ipa-split.c (split_function): If split part is not
-	returning retval, retval has gimple type but is not
-	gimple value, force it into a SSA_NAME first.
-
-2016-02-08  Nicklas Bo Jensen  <nbjensen@gmail.com>
-
-	* doc/tree-ssa.texi (Preserving the virtual SSA form): Remove
-	outdated section.
-
-2016-02-08  Jason Merrill  <jason@redhat.com>
-
-	PR c++/69631
-	* convert.c (convert_to_integer_1): Check dofold on truncation
-	distribution.
-	(convert_to_pointer_maybe_fold, convert_to_real_maybe_fold)
-	(convert_to_integer_maybe_fold, convert_to_complex_maybe_fold):
-	Rename from *_nofold.
-	* convert.h (convert_to_pointer_nofold, convert_to_integer_nofold)
-	(convert_to_real_nofold, convert_to_complex_nofold): New inlines.
-
-2016-02-08  Bernd Schmidt  <bschmidt@redhat.com>
-
-	PR target/60410
-	* tree.c (build_common_tree_nodes): Remove short_double argument.
-	All callers changed.
-	* tree.h (build_common_tree_nodes): Adjust declaration.
-	* doc/invoke.texi (-fshort-double): Remove documentation.
-	* config/mips/t-img-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
-	MULTILIB_EXCEPTIONS): Remove -fshort-double variant.
-	* lto-wrapper.c (merge_and_complain, append_compiler_options)
-	(append_linker_options): Don't handle OPT_fshort_double.
-
-	PR rtl-optimization/68730
-	* lra-remat.c (insn_to_cand_activation): New static variable.
-	(lra_remat): Allocate and free it.
-	(create_cand): New arg activation. Initialize a field in
-	insn_to_cand_activation if it is nonnull.
-	(create_cands): Pass the activation insn to create_cand when making
-	a candidate involving an output reload.  Reorganize code a little.
-	(do_remat): Keep track of active status of candidates in a separate
-	bitmap.
-
-2016-02-08  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69719
-	* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
-	Properly use absolute of the difference of the two offsets to
-	compare or adjust the segment length.
-
-2016-02-08  Richard Biener  <rguenther@suse.de>
-	    Jeff Law  <law@redhat.com>
-
-	PR target/68273
-	* tree-ssanames.c (make_ssa_name_fn): Always use unqualified
-	types for anonymous SSA names.
-
-2016-02-08   Richard Biener  <rguenther@suse.de>
-
-	PR rtl-optimization/69274
-	* ira.c (ira_setup_alts): Do not change recog_data.operand order.
-
-2016-02-08  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/65917
-	* tree-ssa-dom.c (record_temporary_equivalences): Record both
-	equivalences from if (x == y) style conditionals.
-	(loop_depth_of_name): Remove.
-	(record_equality): Remove loop depth check.
-	* tree-ssa-scopedtables.h (const_and_copies): Refine comments.
-	(const_and_copies::record_const_or_copy_raw): New member function.
-	* tree-ssa-scopedtables.c
-	(const_and_copies::record_const_or_copy_raw): New, factored out of
-	(const_and_copies::record_const_or_copy): Call new member function.
-
-2016-02-05  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/68541
-	* gimple-ssa-split-paths.c: Include tree-cfg.h and params.h.
-	(count_stmts_in_block): New function.
-	(poor_ifcvt_candidate_code): Likewise.
-	(is_feasible_trace): Add some heuristics to determine when path
-	splitting is profitable.
-	(find_block_to_duplicate_for_splitting_paths): Make sure the graph
-	is a diamond with a single exit.
-
-2016-02-05  Martin Sebor  <msebor@redhat.com>
-
-	PR c++/69662
-	* doc/invoke.texi: Update -Wplacement-new to take an optional
-	argument.
-
-2016-02-06  Richard Henderson  <rth@redhat.com>
-
-	PR c/69643
-	* tree.c (tree_nop_conversion_p): Do not strip casts into or
-	out of non-standard address spaces.
-
-2016-02-05  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/69691
-	* lra-eliminations.c (move_plus_up): Don't add the addend twice.
-
-2016-02-05  Pat Haugen  <pthaugen@us.ibm.com>
-
-	* config/rs6000/crypto.md (crypto_vpermxor_<mode>): Correct insn type.
-	* config/rs6000/rs6000.md (mov<mode>_hardfloat): Likewise.
-	(*ieee128_mfvsrd_64bit): Likewise.
-	(*ieee128_mfvsrd_32bit): Likewise.
-
-2016-02-05  Ilya Enkovich  <enkovich.gnu@gmail.com>
-
-	PR target/69369
-	Revert r232560:
-	2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cgraphunit.c (cgraph_node::reset): Clear thunk info and
-	instrumented_version.
-
-2016-01-05  Jeremy Bennett  <jeremy.bennett@embecosm.com>
-
-	* doc/invoke.texi (Optimize Options): In table of --param options
-	rename second occurrence of tracer-min-branch-ratio to
-	tracer-min-branch-probability, rename
-	tracer-min-branch-ratio-feedback to
-	tracer-min-branch-probability-feedback and clarify description,
-	rename sched-spec-state-edge-prob-cutoff to
-	sched-state-edge-prob-cutoff, rename selsched-max-insns-to-rename
-	to selsched-insns-to-rename, rename lto-minpartition to
-	lto-min-partition, delete reorder-blocks-duplicate and
-	reorder-blocks-duplicate-feedback.
-
-2016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.c (s390_register_info_set_ranges): Remove
-	superfluous loops.
-
-2016-02-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	* doc/extend.texi: S/390: Correct some typos.
-
-2016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.c (s390_emit_call): Add missing 64 bit check.
-
-2016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	PR target/69625
-	* config/s390/s390.c (SAVE_SLOT_NONE, SAVE_SLOT_STACK): New defines.
-	(s390_register_info_gprtofpr): Use new macros above.
-	(s390_register_info_stdarg_fpr): Adjust max_fpr to better match
-	its name.
-	(s390_register_info_stdarg_gpr): Adjust max_gpr to better match
-	its name.  Adjust restore and save gpr ranges.
-	(s390_register_info_set_ranges): New function.
-	(s390_register_info): Use new macros above.  Call
-	s390_register_info_set_ranges.
-	(s390_optimize_register_info): Likewise.
-	(s390_hard_regno_rename_ok): Use new macros.
-	(s390_hard_regno_scratch_ok): Likewise.
-	(s390_emit_epilogue): Likewise.
-	(s390_can_use_return_insn): Likewise.
-	(s390_optimize_prologue): Likewise.
-	* config/s390/s390.md (GPR2_REGNUM, GPR6_REGNUM): New constants.
-
-2016-02-05  Jakub Jelinek  <jakub@redhat.com>
-
-	PR bootstrap/69677
-	* config/i386/i386.c (convert_scalars_to_vector): Readd stack
-	alignment fixes.
-	(ix86_option_override_internal): Disable TARGET_STV even for
-	-m{incoming,preferred}-stack-boundary=3.
-
-2016-02-03  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* config.gcc: Mark deprecated rtems targets as obsolete.
-
-2016-02-04  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/64682
-	PR rtl-optimization/69567
-	* combine.c (distribute_notes) <REG_DEAD>: Place the death note
-	before I2 only if the register is both used and set in I2.
-
-2016-02-04  DJ Delorie  <dj@redhat.com>
-
-	* config/msp430/msp430.c (msp430_start_function): Add function type.
-
-2016-02-04  Jakub Jelinek  <jakub@redhat.com>
-
-	PR fortran/69368
-	* tree-dfa.c (get_ref_base_and_extent): Remove unreachable code.
-
-2016-02-04  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR rtl-optimization/69577
-	Revert:
-	2015-10-29  Richard Henderson  <rth@redhat.com>
-
-	PR target/68124
-	PR rtl-opt/67609
-	* config/i386/i386.c (ix86_cannot_change_mode_class): Tighten
-	sse check to the exact conditions of PR 67609.
-
-2016-02-04  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/69667
-	* config/rs6000/rs6000.md (mov<mode>_64bit_dm): Use 'd' constraint
-	instead of 'ws', and 'wh' instead of 'wm' since TFmode/IFmode are
-	not allowed into the traditional Altivec registers.
-	(movtd_64bit_nodm): Likewise.
-	(mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.
-
-2016-02-04  David Malcolm  <dmalcolm@redhat.com>
-
-	* config/aarch64/cortex-a57-fma-steering.c
-	(aarch64_register_fma_steering): Remove "static" from arguments
-	to register_pass.
-
-2016-02-04  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	PR target/69619
-	* ccmp.c (expand_ccmp_expr_1): Avoid evaluating gs0/gs1
-	twice when complex.
-
-2016-02-04  Mike Frysinger  <vapier@gentoo.org>
-
-	* doc/invoke.texi: Delete -mno-fma4.
-
-2016-02-04  Richard Sandiford  <richard.sandiford@arm.com>
-
-	PR rtl-optimization/69577
-	* reginfo.c (record_subregs_of_mode): Add a partial_def parameter.
-	(find_subregs_of_mode): Update accordingly.  Iterate over partial
-	definitions.
-
-2016-02-04  Alan Lawrence  <alan.lawrence@arm.com>
-
-	* config/arm/arm-protos.h (neon_reinterpret): Remove.
-	* config/arm/arm.c (neon_reinterpret): Remove.
-	* config/arm/arm_neon_builtins.def (vreinterpretv8qi, vreinterpretv4hi,
-	vreinterpretv2si, vreinterpretv2sf, vreinterpretdi, vreinterpretv16qi,
-	vreinterpretv8hi, vreinterpretv4si, vreinterpretv4sf, vreinterpretv2di,
-	vreinterpretti): Remove.
-	* config/arm/neon.md (neon_vreinterpretv8qi<mode>,
-	neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>,
-	neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>,
-	neon_vreinterpretti<mode>, neon_vreinterpretv16qi<mode>,
-	neon_vreinterpretv8hi<mode>, neon_vreinterpretv4si<mode>,
-	neon_vreinterpretv4sf<mode>, neon_vreinterpretv2di<mode>): Remove.
-	* config/arm/arm_neon.h (vreinterpret_p8_p16, vreinterpret_p8_f32,
-	vreinterpret_p8_p64, vreinterpret_p8_s64, vreinterpret_p8_u64,
-	vreinterpret_p8_s8, vreinterpret_p8_s16, vreinterpret_p8_s32,
-	vreinterpret_p8_u8, vreinterpret_p8_u16, vreinterpret_p8_u32,
-	vreinterpret_p16_p8, vreinterpret_p16_f32, vreinterpret_p16_p64,
-	vreinterpret_p16_s64, vreinterpret_p16_u64, vreinterpret_p16_s8,
-	vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_u8,
-	vreinterpret_p16_u16, vreinterpret_p16_u32, vreinterpret_f32_p8,
-	vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpret_f32_s64,
-	vreinterpret_f32_u64, vreinterpret_f32_s8, vreinterpret_f32_s16,
-	vreinterpret_f32_s32, vreinterpret_f32_u8, vreinterpret_f32_u16,
-	vreinterpret_f32_u32, vreinterpret_p64_p8, vreinterpret_p64_p16,
-	vreinterpret_p64_f32, vreinterpret_p64_s64, vreinterpret_p64_u64,
-	vreinterpret_p64_s8, vreinterpret_p64_s16, vreinterpret_p64_s32,
-	vreinterpret_p64_u8, vreinterpret_p64_u16, vreinterpret_p64_u32,
-	vreinterpret_s64_p8, vreinterpret_s64_p16, vreinterpret_s64_f32,
-	vreinterpret_s64_p64, vreinterpret_s64_u64, vreinterpret_s64_s8,
-	vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_u8,
-	vreinterpret_s64_u16, vreinterpret_s64_u32, vreinterpret_u64_p8,
-	vreinterpret_u64_p16, vreinterpret_u64_f32, vreinterpret_u64_p64,
-	vreinterpret_u64_s64, vreinterpret_u64_s8, vreinterpret_u64_s16,
-	vreinterpret_u64_s32, vreinterpret_u64_u8, vreinterpret_u64_u16,
-	vreinterpret_u64_u32, vreinterpret_s8_p8, vreinterpret_s8_p16,
-	vreinterpret_s8_f32, vreinterpret_s8_p64, vreinterpret_s8_s64,
-	vreinterpret_s8_u64, vreinterpret_s8_s16, vreinterpret_s8_s32,
-	vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32,
-	vreinterpret_s16_p8, vreinterpret_s16_p16, vreinterpret_s16_f32,
-	vreinterpret_s16_p64, vreinterpret_s16_s64, vreinterpret_s16_u64,
-	vreinterpret_s16_s8, vreinterpret_s16_s32, vreinterpret_s16_u8,
-	vreinterpret_s16_u16, vreinterpret_s16_u32, vreinterpret_s32_p8,
-	vreinterpret_s32_p16, vreinterpret_s32_f32, vreinterpret_s32_p64,
-	vreinterpret_s32_s64, vreinterpret_s32_u64, vreinterpret_s32_s8,
-	vreinterpret_s32_s16, vreinterpret_s32_u8, vreinterpret_s32_u16,
-	vreinterpret_s32_u32, vreinterpret_u8_p8, vreinterpret_u8_p16,
-	vreinterpret_u8_f32, vreinterpret_u8_p64, vreinterpret_u8_s64,
-	vreinterpret_u8_u64, vreinterpret_u8_s8, vreinterpret_u8_s16,
-	vreinterpret_u8_s32, vreinterpret_u8_u16, vreinterpret_u8_u32,
-	vreinterpret_u16_p8, vreinterpret_u16_p16, vreinterpret_u16_f32,
-	vreinterpret_u16_p64, vreinterpret_u16_s64, vreinterpret_u16_u64,
-	vreinterpret_u16_s8, vreinterpret_u16_s16, vreinterpret_u16_s32,
-	vreinterpret_u16_u8, vreinterpret_u16_u32, vreinterpret_u32_p8,
-	vreinterpret_u32_p16, vreinterpret_u32_f32, vreinterpret_u32_p64,
-	vreinterpret_u32_s64, vreinterpret_u32_u64, vreinterpret_u32_s8,
-	vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_u8,
-	vreinterpret_u32_u16, vreinterpretq_p8_p16, vreinterpretq_p8_f32,
-	vreinterpretq_p8_p64, vreinterpretq_p8_p128, vreinterpretq_p8_s64,
-	vreinterpretq_p8_u64, vreinterpretq_p8_s8, vreinterpretq_p8_s16,
-	vreinterpretq_p8_s32, vreinterpretq_p8_u8, vreinterpretq_p8_u16,
-	vreinterpretq_p8_u32, vreinterpretq_p16_p8, vreinterpretq_p16_f32,
-	vreinterpretq_p16_p64, vreinterpretq_p16_p128, vreinterpretq_p16_s64,
-	vreinterpretq_p16_u64, vreinterpretq_p16_s8, vreinterpretq_p16_s16,
-	vreinterpretq_p16_s32, vreinterpretq_p16_u8, vreinterpretq_p16_u16,
-	vreinterpretq_p16_u32, vreinterpretq_f32_p8, vreinterpretq_f32_p16,
-	vreinterpretq_f32_p64, vreinterpretq_f32_p128, vreinterpretq_f32_s64,
-	vreinterpretq_f32_u64, vreinterpretq_f32_s8, vreinterpretq_f32_s16,
-	vreinterpretq_f32_s32, vreinterpretq_f32_u8, vreinterpretq_f32_u16,
-	vreinterpretq_f32_u32, vreinterpretq_p64_p8, vreinterpretq_p64_p16,
-	vreinterpretq_p64_f32, vreinterpretq_p64_p128, vreinterpretq_p64_s64,
-	vreinterpretq_p64_u64, vreinterpretq_p64_s8, vreinterpretq_p64_s16,
-	vreinterpretq_p64_s32, vreinterpretq_p64_u8, vreinterpretq_p64_u16,
-	vreinterpretq_p64_u32, vreinterpretq_p128_p8, vreinterpretq_p128_p16,
-	vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64,
-	vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16,
-	vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16,
-	vreinterpretq_p128_u32, vreinterpretq_s64_p8, vreinterpretq_s64_p16,
-	vreinterpretq_s64_f32, vreinterpretq_s64_p64, vreinterpretq_s64_p128,
-	vreinterpretq_s64_u64, vreinterpretq_s64_s8, vreinterpretq_s64_s16,
-	vreinterpretq_s64_s32, vreinterpretq_s64_u8, vreinterpretq_s64_u16,
-	vreinterpretq_s64_u32, vreinterpretq_u64_p8, vreinterpretq_u64_p16,
-	vreinterpretq_u64_f32, vreinterpretq_u64_p64, vreinterpretq_u64_p128,
-	vreinterpretq_u64_s64, vreinterpretq_u64_s8, vreinterpretq_u64_s16,
-	vreinterpretq_u64_s32, vreinterpretq_u64_u8, vreinterpretq_u64_u16,
-	vreinterpretq_u64_u32, vreinterpretq_s8_p8, vreinterpretq_s8_p16,
-	vreinterpretq_s8_f32, vreinterpretq_s8_p64, vreinterpretq_s8_p128,
-	vreinterpretq_s8_s64, vreinterpretq_s8_u64, vreinterpretq_s8_s16,
-	vreinterpretq_s8_s32, vreinterpretq_s8_u8, vreinterpretq_s8_u16,
-	vreinterpretq_s8_u32, vreinterpretq_s16_p8, vreinterpretq_s16_p16,
-	vreinterpretq_s16_f32, vreinterpretq_s16_p64, vreinterpretq_s16_p128,
-	vreinterpretq_s16_s64, vreinterpretq_s16_u64, vreinterpretq_s16_s8,
-	vreinterpretq_s16_s32, vreinterpretq_s16_u8, vreinterpretq_s16_u16,
-	vreinterpretq_s16_u32, vreinterpretq_s32_p8, vreinterpretq_s32_p16,
-	vreinterpretq_s32_f16, vreinterpretq_s32_f32, vreinterpretq_s32_p64,
-	vreinterpretq_s32_p128, vreinterpretq_s32_s64, vreinterpretq_s32_u64,
-	vreinterpretq_s32_s8, vreinterpretq_s32_s16, vreinterpretq_s32_u8,
-	vreinterpretq_s32_u16, vreinterpretq_s32_u32, vreinterpretq_u8_p8,
-	vreinterpretq_u8_p16, vreinterpretq_u8_f32, vreinterpretq_u8_p64,
-	vreinterpretq_u8_p128, vreinterpretq_u8_s64, vreinterpretq_u8_u64,
-	vreinterpretq_u8_s8, vreinterpretq_u8_s16, vreinterpretq_u8_s32,
-	vreinterpretq_u8_u16, vreinterpretq_u8_u32, vreinterpretq_u16_p8,
-	vreinterpretq_u16_p16, vreinterpretq_u16_f32, vreinterpretq_u16_p64,
-	vreinterpretq_u16_p128, vreinterpretq_u16_s64, vreinterpretq_u16_u64,
-	vreinterpretq_u16_s8, vreinterpretq_u16_s16, vreinterpretq_u16_s32,
-	vreinterpretq_u16_u8, vreinterpretq_u16_u32, vreinterpretq_u32_p8,
-	vreinterpretq_u32_p16, vreinterpretq_u32_f32, vreinterpretq_u32_p64,
-	vreinterpretq_u32_p128, vreinterpretq_u32_s64, vreinterpretq_u32_u64,
-	vreinterpretq_u32_s8, vreinterpretq_u32_s16, vreinterpretq_u32_s32,
-	vreinterpretq_u32_u8, vreinterpretq_u32_u16): Rewrite using casts.
-
-2016-02-04  Martin Liska  <mliska@suse.cz>
-
-	PR sanitizer/69276
-	* asan.c (has_stmt_been_instrumented_p): Instrument gimple calls
-	that are gimple_store_p.
-	(maybe_instrument_call): Likewise.
-
-2016-02-04  Bin Cheng  <bin.cheng@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_legitimize_address): Force
-	register scaling out of memory reference and comment why.
-
-2016-02-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/65932
-	PR target/67714
-	* cse.c (cse_insn): Pass NULL to fold_rtx when initially
-	folding the source of a SET.
-
-2016-02-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/65932
-	PR target/67714
-	* config/arm/arm.c (arm_new_rtx_costs, MULT case): Properly extract
-	the operands of the SIGN_EXTENDs from a SMUL[TB][TB] rtx.
-
-2016-02-04  Jim Wilson  <jim.wilson@linaro.org>
-
-	PR target/65932
-	PR target/67714
-	* config/arm/arm.h (PROMOTE_MODE): Don't set UNSIGNEDP for QImode and
-	HImode.
-
-2016-02-04  Christian Bruel  <christian.bruel@st.com>
-
-	* config/arm/arm-c.c (arm_reset_previous_fndecl): Style fix and typo.
-	* config/arm/arm.c (arm_set_current_function): Likewise.
-
-2016-02-04  Jakub Jelinek  <jakub@redhat.com>
-	    Ilya Enkovich  <enkovich.gnu@gmail.com>
-	    H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/69454
-	* config/i386/i386.c (convert_scalars_to_vector): Remove
-	stack alignment fixes.
-	(ix86_option_override_internal): Disable TARGET_STV if stack
-	might not be aligned enough.
-	(ix86_minimum_alignment): Assert that TARGET_STV is false.
-
-2016-02-04  Victoria Stepanyan  <victoria.stepanyan@amd.com>
-
-	* config/i386/x86-tune.def: Disable default prefetching
-	for -march=znver1.
-
-2016-02-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
-	    Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR target/69461
-	* config/rs6000/rs6000.c (rs6000_legitimate_address_p): Fix thinko
-	in validating fused toc addresses.
-
-2016-02-03  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c/69627
-	* diagnostic-show-locus.c (layout::get_state_at_point): Don't read
-	range->m_caret fields if range->m_show_caret_p is false.
-
-	PR target/69644
-	* config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
-	Force oldval into register if it does not satisfy reg_or_short_operand
-	predicate.  Fix up formatting.
-
-2016-02-03  Vladimir Makarov  <vmakarov@redhat.com>
-	    Alexandre Oliva  <aoliva@redhat.com>
-
-	PR target/69461
-	* lra-constraints.c (simplify_operand_subreg): Check additionally
-	address validity after potential reloading.
-	(process_address_1): Check insns validity.  In case of failure do
-	nothing.
-
-2016-02-03  Kirill Yukhin  <kirill.yukhin@intel.com>
-
-	PR target/69118
-	* config/i386/sse.md (define_insn "avx512f_maskcmp<mode>3"):
-	Fix target.
-
-2016-02-02  Jakub Jelinek  <jakub@redhat.com>
-
-	* wide-int.cc (canonize_uhwi): New function.
-	(wi::divmod_internal): Use it.
-
-2016-02-02  James Norris  <jnorris@codesourcery.com>
-
-	* gimplify.c (omp_notice_variable): Add usage check.
-
-2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
-
-	* config/nvptx/nvptx.c (nvptx_print_operand): Treat LEU, GEU, LTU, GTU
-	like LE, GE, LT, GT when emitting relational operator.
-
-2016-02-02  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* ira-costs.c (find_costs_and_classes): Add extra argument.
-	* target.def (ira_change_pseudo_allocno_class): Add parameter.
-	* targhooks.h (ira_change_pseudo_allocno_class): Likewise.
-	* targhooks.c (ira_change_pseudo_allocno_class): Likewise.
-	* config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class)
-	Add best_class parameter, and return it if not ALL_REGS.
-	* config/mips/mips.c (mips_ira_change_pseudo_allocno_class):
-	Add parameter.
-	* doc/tm.texi (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS):
-	Update target hook.
-
-2016-02-02  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c
-	(TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): New define.
-	(aarch64_ira_change_pseudo_allocno_class): New function.
-
-2016-02-02  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/67032
-	* config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves.
-
-2016-02-02  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
-
-	* config/avr/avr.c (avr_option_override): Set
-	PARAM_ALLOW_STORE_DATA_RACES to 1.
-
-2016-02-02  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69595
-	* match.pd: Add range test simplifications to true/false.
-
-2016-02-02  Thomas Schwinge  <thomas@codesourcery.com>
-
-	* omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): Remove.
-	* omp-low.c (expand_omp_target): Use BUILT_IN_GOACC_DATA_START
-	instead.
-
-2016-02-02  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69606
-	* tree-ssa-math-opts.c (bswap_replace): Clear flow sensitive
-	info on the result before moving a stmt.
-
-2016-02-02  Yuri Rumyantsev  <ysrumyan@gmail.com>
-
-	PR middle-end/68542
-	* config/i386/i386.c (ix86_expand_branch): Add support for conditional
-	branch with vector comparison.
-	* config/i386/sse.md (VI48_AVX): New mode iterator.
-	(define_expand "cbranch<mode>4): Add support for conditional branch
-	with vector comparison.
-	* tree-vect-loop.c (optimize_mask_stores): New function.
-	* tree-vect-stmts.c (vectorizable_mask_load_store): Initialize
-	has_mask_store field of vect_info.
-	* tree-vectorizer.c (vectorize_loops): Invoke optimaze_mask_stores for
-	vectorized loops having masked stores after vec_info destroy.
-	* tree-vectorizer.h (loop_vec_info): Add new has_mask_store field and
-	correspondent macros.
-	(optimize_mask_stores): Add prototype.
-
-2016-02-02  Alan Modra  <amodra@gmail.com>
-
-	PR target/69548
-	* config/rs6000/predicates.md (quad_int_reg_operand): Don't
-	allow subregs.
-
-2016-02-02  Alan Modra  <amodra@gmail.com>
-
-	PR target/68662
-	* config/rs6000/rs6000.c (need_toc_init): New var, set it
-	whenever toc_label_name used.
-	(rs6000_file_start): Don't set up toc section here,
-	(rs6000_output_function_epilogue): do so here instead,
-	(rs6000_xcoff_file_start): and here.
-	* config/rs6000/rs6000.md (load_toc_aix_si): Set need_toc_init.
-	(load_toc_aix_di): Likewise.
-
-2016-02-01  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/69592
-	* rtlanal.c (nonzero_bits_binary_arith_p): New inline function.
-	(cached_nonzero_bits): Use it instead of ARITHMETIC_P.
-	(num_sign_bit_copies_binary_arith_p): New inline function.
-	(cached_num_sign_bit_copies): Use it instead of ARITHMETIC_P.
-
-2016-02-01  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/69580
-	* params.def (FSM_MAXIMUM_PHI_ARGUMENTS): New param.
-	* tree-ssa-threadbackward.c
-	(fsm_find_control_statement_thread_paths): Do not try to walk
-	through large PHI nodes.
-
-2016-02-01  Jakub Jelinek  <jakub@redhat.com>
-
-	* ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false
-	when count is incremented above limit, don't analyze further
-	insns afterwards.
-
-	* omp-low.c (oacc_parse_default_dims): Avoid
-	-Wsign-compare warning, make sure value fits into int
-	rather than just unsigned int.
-
-2016-02-01  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/67921
-	* fold-const.c (split_tree): New parameters.  Convert pointer
-	type variable part to proper type before negating.
-	(fold_binary_loc): Pass new arguments to split_tree.
-
-2016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
-
-	* config/nvptx/nvptx.c (PTX_GANG_DEFAULT): New.
-	(nvptx_goacc_validate_dims): Extend to handle global defaults.
-	* target.def (OACC_VALIDATE_DIMS): Extend documentation.
-	* doc/tm.texti: Rebuilt.
-	* doc/invoke.texi (fopenacc-dim): Document.
-	* lto-wrapper.c (merge_and_complain): Add OPT_fopenacc_dim_ case.
-	(append_compiler_options): Likewise.
-	* omp-low.c (oacc_default_dims, oacc_min_dims): New.
-	(oacc_parse_default_dims): New.
-	(oacc_validate_dims): Add USED arg.  Select non-unity default when
-	possible.
-	(oacc_loop_fixed_partitions): Return mask of used partitions.
-	(oacc_loop_auto_partitions): Emit dump info.
-	(oacc_loop_partition): Return mask of used partitions.
-	(execute_oacc_device_lower): Parse default dimension arg.  Adjust
-	loop partitioning and validation calls.
-
-2016-02-01  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/69556
-	* match.pd: Guard (C1/X)*C2 -> (C1*C2)/X with single_use.
-
-2016-02-01  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69574
-	* tree-chrec.c (hide_evolution_in_other_loops_than_loop): Instead
-	of asserting return chrec_dont_know.
-
-2016-02-01  Martin Liska  <mliska@suse.cz>
-
-	* mem-stats-traits.h: Add copyright header.
-	* mem-stats.h: Likewise.
-
-2016-02-01  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69579
-	* tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling):
-	Do not propagate through abnormal PHI results.
-
-2016-02-01  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* postreload.c (reload_cse_simplify): Remove dead code.
-
-2016-02-01  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/69570
-	* ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return true only
-	if there is more than one set, not if there is a single set.
-
-2016-02-01  Richard Henderson  <rth@redhat.com>
-
-	PR rtl-opt/69535
-	* combine.c (make_compound_operation): When looking through a
-	subreg, make sure to re-extend to the width of the outer mode.
-
-2016-01-30  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/69546
-	* wide-int.cc (wi::divmod_internal): For unsigned division
-	where both operands fit into uhwi, if o1 is 1 and o0 has
-	msb set, if divident_prec is larger than bits per hwi,
-	clear another quotient word and return 2 instead of 1.
-	Similarly for remainder with msb in HWI set, if dividend_prec
-	is larger than bits per hwi.
-
-2016-01-29  Martin Jambor  <mjambor@suse.cz>
-
-	* hsa-gen.c (get_memory_order_name): Mask with MEMMODEL_BASE_MASK.
-	Use short lowercase names.
-	(get_memory_order): Mask with MEMMODEL_BASE_MASK.  Support
-	MEMMODEL_CONSUME with acquire semantics and MEMMODEL_SEQ_CST with
-	acq_rel one.  Protect warning agains segfaults if
-	get_memory_order_name returns NULL.
-	(gen_hsa_ternary_atomic_for_builtin): Support with MEMMODEL_SEQ_CST
-	with release semantics.  Do not warn if get_memory_order already did.
-	(gen_hsa_insns_for_call): Support with MEMMODEL_SEQ_CST with acquire
-	semantics.  Fix check for relaxed or acquire semantics.  Do not warn
-	if get_memory_order already did.
-
-2016-01-29  Sebastian Pop  <s.pop@samsung.com>
-
-	* doc/install.texi: Document that isl-0.16 is supported.
-
-2016-01-29  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR target/69299
-	* config/i386/constraints.md (Bm): Describe as special memory
-	constraint.
-	* doc/md.texi (DEFINE_SPECIAL_MEMORY_CONSTRAINT): Describe it.
-	* genoutput.c (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
-	* genpreds.c (struct constraint_data): Add is_special_memory.
-	(have_special_memory_constraints, special_memory_start): New
-	static vars.
-	(special_memory_end): Ditto.
-	(add_constraint): Add new arg is_special_memory.  Add code to
-	process its true value.  Update have_special_memory_constraints.
-	(process_define_constraint): Pass the new arg.
-	(process_define_register_constraint): Ditto.
-	(choose_enum_order): Process special memory.
-	(write_tm_preds_h): Generate enum const CT_SPECIAL_MEMORY and
-	function insn_extra_special_memory_constraint.
-	(main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
-	* gensupport.c (process_rtx): Process
-	DEFINE_SPECIAL_MEMORY_CONSTRAINT.
-	* ira-costs.c (record_reg_classes): Process CT_SPECIAL_MEMORY.
-	* ira-lives.c (single_reg_class): Use
-	insn_extra_special_memory_constraint.
-	* ira.c (ira_setup_alts): Process CT_SPECIAL_MEMORY.
-	* lra-constraints.c (process_alt_operands): Ditto.
-	(curr_insn_transform): Use insn_extra_special_memory_constraint.
-	* recog.c (asm_operand_ok, preprocess_constraints): Process
-	CT_SPECIAL_MEMORY.
-	* reload.c (find_reloads): Ditto.
-	* rtl.def (DEFINE_SPECIFAL_MEMORY_CONSTRAINT): New.
-	* stmt.c (parse_input_constraint): Use
-	insn_extra_special_memory_constraint.
-
-2016-01-29  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/69530
-	* lra-splill.c (lra_final_code_change): Revert r229087 by
-	removing all sub-registers.
-
-2016-01-29  Steve Ellcey  <sellcey@imgtec.com>
-
-	PR target/65604
-	* config/mips/mips.c (mips_output_division): Check flag_delayed_branch.
-
-2016-01-29  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/69551
-	* config/i386/i386.c (ix86_expand_vector_set) <case V4SImode>: For
-	SSE1, copy target into the temporary reg first before recursing
-	on it.
-
-2016-01-29  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/i386/sse.md (sse2_cvtps2pd<mask_name>): Replace vBm
-	with vm.
-
-2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
-
-	* ginclude/stdarg.h: Test __cplusplus instead of
-	__GXX_EXPERIMENTAL_CXX0X__.
-
-2016-01-29  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69547
-	* tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1):
-	Do not mark clobbers necessary.
-	(mark_all_reaching_defs_necessary_1): Likewise.
-
-2016-01-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	* config/s390/s390-c.c (s390_resolve_overloaded_builtin): Format
-	declaration name with %qs and print it in both error messages.
-	Also fix indentation.
-
-2016-01-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	PR other/69006
-	* config/s390/s390-c.c (s390_resolve_overloaded_builtin): Remove
-	trailing blank line from error message.
-
-2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
-
-	PR c++/69462
-	* ginclude/float.h: Also provide FLT_EVAL_METHOD and DECIMAL_DIG
-	for C++-11.
-
-2016-01-29  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/69537
-	* match.pd: Allow all integral types when simplifying a
-	widening or sign-changing conversion.
-
-2016-01-28  Sebastian Pop  <s.pop@samsung.com>
-
-	* graphite-isl-ast-to-gimple.c (get_rename_from_scev): Revert assert
-	back to setting codegen_error to fail codegen.
-
-2016-01-28  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/69459
-	* config/i386/constraints.md (C): Only accept constant zero operand.
-	(BC): New constraint.
-	* config/i386/sse.md (*mov<mode>_internal): Use BC constraint
-	instead of C constraint.
-	* doc/md.texi (Machine Constraints): Update description
-	of C constraint.
-
-2016-01-28  Steve Ellcey  <sellcey@imgtec.com>
-
-	PR target/68400
-	* config/mips/mips.c (and_operands_ok): Add MIPS16 check.
-
-2016-01-28  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/69542
-	* lra-remat.c (calculate_local_reg_remat_bb_data): Only consider
-	non-debug insns.
-
-2016-01-28  Pat Haugen  <pthaugen@us.ibm.com>
-
-	* config/rs6000/rs6000.c (output_cbranch): Don't statically predict
-	branches if using guessed profile.
-
-2016-01-28  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* graphite-optimize-isl.c (optimize_isl): Fix dump.
-
-2016-01-28  Richard Henderson  <rth@redhat.com>
-
-	PR target/69305
-	* config/aarch64/aarch64-modes.def (CC_Cmode): New
-	* config/aarch64/aarch64-protos.h: Update.
-	* config/aarch64/aarch64.c (aarch64_zero_extend_const_eq): New.
-	(aarch64_select_cc_mode): Add check for use of CC_Cmode.
-	(aarch64_get_condition_code_1): Handle CC_Cmode.
-	* config/aarch64/aarch64.md (addti3): Use adddi3_compareC.
-	(*add<mode>3_compareC_cconly_imm): New.
-	(*add<mode>3_compareC_cconly): New.
-	(*add<mode>3_compareC_imm): New.
-	(add<mode>3_compareC): New.
-	(add<mode>3_carryin, *addsi3_carryin_uxtw): Sort compare operand
-	to be first.  Use aarch64_carry_operation.
-	(*add<mode>3_carryin_alt1, *addsi3_carryin_alt1_uxtw): Remove.
-	(*add<mode>3_carryin_alt2, *addsi3_carryin_alt2_uxtw): Remove.
-	(*add<mode>3_carryin_alt3, *addsi3_carryin_alt3_uxtw): Remove.
-	(subti3): Use subdi3_compare1.
-	(*sub<mode>3_compare0): Rename from sub<mode>3_compare0.
-	(sub<mode>3_compare1): New.
-	(*sub<mode>3_carryin0, *subsi3_carryin_uxtw): New.
-	(*sub<mode>3_carryin): Use aarch64_borrow_operation.
-	(*subsi3_carryin_uxtw): Likewise.
-	(*ngc<mode>, *ngcsi_uxtw): Likewise.
-	(*sub<mode>3_carryin_alt, *subsi3_carryin_alt_uxtw): New.
-	* config/aarch64/iterators.md (DWI): New.
-	* config/aarch64/predicates.md (aarch64_carry_operation): New.
-	(aarch64_borrow_operation): New.
-
-2016-01-28  Abderrazek Zaafrani  <a.zaafrani@samsung.com>
-
-	* graphite-optimize-isl.c (optimize_isl): Print a different debug
-	message when isl does not return a valid schedule.
-
-2016-01-28  Sebastian Pop  <s.pop@samsung.com>
-
-	* graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
-	Remove comments from class declarations: they are already in the code
-	close by the defs.
-
-2016-01-28  Sebastian Pop  <s.pop@samsung.com>
-
-	* graphite-isl-ast-to-gimple.c (binary_op_to_tree): Call
-	codegen_error_p.
-	(ternary_op_to_tree): Same.
-	(unary_op_to_tree): Same.
-	(nary_op_to_tree): Same.
-	(gcc_expression_from_isl_expr_op): Same.
-	(gcc_expression_from_isl_expression): Same.
-	(graphite_create_new_loop): Same.
-	(graphite_create_new_loop_guard): Same.
-	(build_iv_mapping): Same.
-	(graphite_create_new_guard): Same.
-	(translate_isl_ast_to_gimple::copy_loop_phi_nodes): Same.
-	(translate_isl_ast_to_gimple::translate_pending_phi_nodes): Same.
-
-2016-01-28  Sebastian Pop  <s.pop@samsung.com>
-
-	* graphite-isl-ast-to-gimple.c (get_rename_from_scev): Assert
-	instead of setting codegen_error to fail codegen.
-
-2016-01-28  Jason Merrill  <jason@redhat.com>
-
-	* tree.h (BINFO_FLAG_0): Rename from BINFO_MARKED.
-
-2016-01-28  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_if_then_else_costs):
-	Remove CONST_INT_P check in CCMP cost calculation.
-
-2016-01-28  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (generic_vector_cost):
-	Set vec_permute_cost.
-	(cortexa57_vector_cost): Likewise.
-	(exynosm1_vector_cost): Likewise.
-	(xgene1_vector_cost): Likewise.
-	(aarch64_builtin_vectorization_cost): Use vec_permute_cost.
-	* config/aarch64/aarch64-protos.h (cpu_vector_cost):
-	Add vec_permute_cost entry.
-
-2016-01-28  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.md (ccmp<mode>): Disassemble
-	immediate as %1.
-	(add<mode>3_compare0): Likewise.
-	(addsi3_compare0_uxtw): Likewise.
-	(add<mode>3nr_compare0): Likewise.
-	(compare_neg<mode>): Likewise.
-	(<optab><mode>3): Likewise.
-
-2016-01-28  Ilya Enkovich  <enkovich.gnu@gmail.com>
-
-	* tree-vect-stmts.c (vectorizable_comparison): Add
-	NULL check for vectype.
-
-2016-01-28  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69466
-	* tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
-	Account for PHIs we couldn't duplicate.
-
-2016-01-28  Martin Liska  <mliska@suse.cz>
-
-	PR pch/68758
-	* ggc-common.c (gt_pch_save): Use ENABLE_VALGRIND_ANNOTATIONS macro
-	instead of ENABLE_VALGRIND_CHECKING.
-
-2016-01-27  Richard Henderson  <rth@redhat.com>
-
-	PR rtl-opt/69447
-	* lra-remat.c (subreg_regs): New.
-	(dump_candidates_and_remat_bb_data): Dump it.
-	(operand_to_remat): Reject if operand in subreg_regs.
-	(set_bb_regs): Collect subreg_regs.
-	(lra_remat): Init and free subreg_regs.  Compute
-	calculate_local_reg_remat_bb_data before create_cands.
-
-2016-01-27  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/68986
-	* config/i386/i386.c (ix86_update_stack_boundary): Don't
-	change stack_alignment_needed for __tls_get_addr call.
-
-2016-01-27  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.c (print_operand): Rollback 's' removal.
-
-2016-01-27  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/68398
-	PR tree-optimization/69196
-	* params.def (PARAM_FSM_SCALE_PATH_STMTS): New parameter.
-	(PARAM_FSM_SCALE_PATH_BLOCKS): Likewise.
-	* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
-	Only count PHIs in the last block in the path.  The others will
-	const/copy propagate away.  Add heuristic to allow more irreducible
-	subloops to be created when it is likely profitable to do so.
-
-	* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
-	Fix typo in comment.  Use gsi_after_labels and remove the GIMPLE_LABEL
-	check from within the loop.  Use gsi_next_nondebug rather than gsi_next.
-
-2016-01-27  Jakub Jelinek  <jakub@redhat.com>
-
-	PR lto/69254
-	* sanitizer.def: Add BEGIN_SANITIZER_BUILTINS and
-	END_SANITIZER_BUILTINS markers using DEF_BUILTIN_STUB.
-	* asan.c (DEF_BUILTIN_STUB): Temporarily define.
-	* tree-streamer-in.c: Include asan.h.
-	(streamer_get_builtin_tree): For builtins in sanitizer
-	range call initialize_sanitizer_builtins and retry.
-
-2016-01-27  Ian Lance Taylor  <iant@google.com>
-
-	* common.opt (fkeep-gc-roots-live): New undocumented option.
-	* tree-ssa-loop-ivopts.c (add_candidate_1): If
-	-fkeep-gc-roots-live, skip pointers.
-	(add_iv_candidate_for_biv): Handle add_candidate_1 returning
-	NULL.
-
-2016-01-27  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/69512
-	* config/i386/i386.md (*zext<mode>_doubleword_and): New pattern.
-	(*zext<mode>_doubleword): Disable for TARGET_ZERO_EXTEND_WITH_AND.
-
-2016-01-27  Thomas Klausner  <wiz@NetBSD.org>
-
-	PR target/68380
-	* configure.ac: NetBSD provides SSP in its C library.
-	* configure: Updated.
-
-2016-01-27  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69166
-	* tree-vect-loop.c (vect_is_simple_reduction): Always check
-	reduction code for commutativity / associativity.
-
-2016-01-27  Martin Jambor  <mjambor@suse.cz>
-
-	PR tree-optimization/69355
-	* tree-sra.c (analyze_access_subtree): Correct hole detection when
-	total_scalarization fails.
-
-2016-01-27  David Edelsohn  <dje.gcc@gmail.com>
-
-	* config/rs6000/driver-rs6000.c (detect_processor_aix): Add
-	power9.
-
-2016-01-27  Christian Bruel  <christian.bruel@st.com>
-
-	PR target/69245
-	* config/arm/arm-c.c (arm_pragma_target_parse): Add comments.
-	Move arm_reset_previous_fndecl and set_target_option_current_node in
-	the conditional part.  Call save_restore_target_globals.
-	* config/arm/arm.c (arm_set_current_function):
-	Refactor to better support #pragma target and attribute mix.
-	Call save_restore_target_globals.
-	* config/arm/arm-protos.h (save_restore_target_globals): New function.
-
-2016-01-27  Martin Liska  <mliska@suse.cz>
-
-	* hsa.c (hsa_summary_t::link_functions): Create IPA_REF_ADDR
-	reference for an HSA kernel and its host function.
-
-2016-01-27  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/69399
-	* wide-int.h (wi::lrshift): For larger precisions, only
-	use fast path if shift is known to be < HOST_BITS_PER_WIDE_INT.
-
-2016-01-27  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/predicates.md (proper_comparison_operator): Reject
-	constant-constant comparison.
-
-2016-01-26  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/69110
-	* tree-data-ref.c (initialize_data_dependence_relation): Handle
-	DR_NUM_DIMENSIONS == 0.
-
-2016-01-26  Abderrazek Zaafrani  <a.zaafrani@samsung.com>
-	    Sebastian Pop  <s.pop@samsung.com>
-
-	* graphite-isl-ast-to-gimple.c (ternary_op_to_tree): Handle
-	isl_ast_op_cond and isl_ast_op_select.
-	(gcc_expression_from_isl_expr_op): Same.
-
-2016-01-26  Jason Merrill  <jason@redhat.com>
-
-	PR c++/68782
-	* tree.c (recompute_constructor_flags): Split out from
-	build_constructor.
-	(verify_constructor_flags): New.
-	* tree.h: Declare them.
-
-2016-01-26  Iain Buclaw  <ibuclaw@gdcproject.org>
-
-	PR rtl-optimization/69217
-	* var-tracking.c (tracked_record_parameter_p): Don't segfault if there
-	are no TYPE_FIELDS set for the record type.
-
-2016-01-26  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/68662
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): Initialize
-	toc_label_name unconditionally.
-	(rs6000_emit_load_toc_table): Call ggc_strdup on toc_label_name for
-	SYMBOL_REF string.  Use toc_label_name instead of constructing
-	LCTOC1.
-	(rs6000_elf_declare_function_name): Use toc_label_name instead of
-	constructing LCTOC1.
-
-2016-01-26  Martin Sebor  <msebor@redhat.com>
-
-	PR other/69477
-	* doc/extend.texi (Common Type Attributes): Move text that talks about
-	attribute packed from attribute aligned to the section discussing
-	the former attribute for clarity.
-
-2016-01-26  Richard Henderson  <rth@redhat.com>
-
-	PR middle-end/60908
-	* trans-mem.c (tm_region_init): Mark entry block as visited.
-
-2016-01-26  David Malcolm  <dmalcolm@redhat.com>
-
-	PR other/69006
-	* diagnostic-show-locus.c (layout::print_source_line): Replace
-	call to pp_newline with call to layout::print_newline.
-	(layout::print_annotation_line): Likewise.
-	(layout::move_to_column): Likewise.
-	(layout::print_any_fixits): After printing any fixits, print a
-	trailing newline, if necessary.
-	(layout::print_newline): New method, resetting any colorization
-	before a newline.
-	(diagnostic_show_locus): Move the pp_newline to before the
-	early bailout.  Remove dummy block enclosing the layout instance.
-	* diagnostic.c (default_diagnostic_finalizer): Replace invocation
-	of pp_newline_and_flush with pp_flush.
-	(diagnostic_append_note): Delete use of pp_newline.
-	(diagnostic_append_note_at_rich_loc): Delete.
-	* diagnostic.h (diagnostic_append_note_at_rich_loc): Delete.
-	* pretty-print.h (output_buffer_append_r): Reset buff->line_length
-	when newline characters are added to the buffer.
-
-2016-01-26  Michael Matz  <matz@suse.de>
-
-	* configure.ac (ac_cv_std_swap_in_utility): New test.
-	* system.h (<algorithm>): Check HAVE_SWAP_IN_UTILITY as well.
-	* configure: Regenerate.
-	* config.in: Regenerate.
-
-2016-01-26  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.md (cstoresi4): Force operand into register.
-	(arcset<code>): Fix predicate.
-	(arcsetltu): Likewise.
-	(arcsetgeu): Likewise.
-	(arcsethi): Likewise.
-	(arcsetls): Likewise.
-
-2016-01-26  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/69483
-	* gimple-fold.c (canonicalize_constructor_val): Return NULL
-	if base has error_mark_node type.
-
-2016-01-26  Christophe Lyon  <christophe.lyon@linaro.org>
-
-	PR target/68620
-	* config/arm/arm.c (neon_valid_immediate): Handle FP16 vectors.
-	* config/arm/arm_neon.h (__ARM_NUM_LANES, __arm_lane, arm_lanq):
-	New helper macros.
-	(vget_lane_f16): Handle big-endian.
-	(vgetq_lane_f16): Likewise.
-	(vset_lane_f16): Likewise.
-	(vsetq_lane_f16): Likewise.
-	* config/arm/iterators.md (VQXMOV): Add V8HF.
-	(VDQ): Add V4HF and V8HF.
-	(V_reg): Handle V4HF and V8HF.
-	(Is_float_mode): Likewise.
-	* config/arm/neon.md (movv4hf, movv8hf, neon_vdup_nv4hf,
-	neon_vdup_nv8hf): New patterns.
-	(vec_set<mode>_internal, vec_extract<mode>, neon_vld1_dup<mode>):
-	Use VD_LANE iterator.
-	(neon_vld1_dup<mode>): Use VQ2 iterator.
-
-2016-01-26  Nathan Sidwell  <nathan@acm.org>
-
-	* omp-low.h (oacc_fn_attrib_kernels_p): Declare.
-	(set_oacc_fn_attrib): Add IS_KERNEL arg.
-	* omp-low.c (set_oacc_fn_attrib): Add IS_KERNEL arg.
-	(oacc_fn_attrib_kernels_p, oacc_fn_attrib_level): New.
-	(expand_omp_target): Pass is_kernel to set_oacc_fn_attrib.
-	(oacc_validate_dims): Add LEVEL arg, don't return level.
-	(new_oacc_loop_routine): Use oacc_fn_attrib_level, not
-	oacc_validate_dims.
-	(execute_oacc_device_lower): Adjust, add more dump output.
-	* tree-ssa-loop.c (gate_oacc_kernels): Use
-	oacc_fn_attrib_kernels_p.
-	* tree-parloops.c (create_parallel_loop): Adjust
-	set_oacc_fn_attrib call.
-
-2016-01-26  Jakub Jelinek  <jakub@redhat.com>
-
-	PR lto/69254
-	* lto-wrapper.c (merge_and_complain): Handle -fcilkplus.
-	(append_compiler_options): Handle -fcilkplus.
-	(append_linker_options): Ignore -fno-{openmp,openacc,cilkplus}.
-
-2016-01-26  Nick Clifton  <nickc@redhat.com>
-
-	PR target/66655
-	* config/i386/winnt.c (i386_pe_binds_local_p): If a function has
-	been marked as DECL_ONE_ONLY but we do not the means to make it
-	so, then do not allow it to bind locally.
-
-2016-01-26  Jakub Jelinek  <jakub@redhat.com>
-
-	PR lto/69254
-	* opts.h (parse_sanitizer_options): New prototype.
-	* opts.c (sanitizer_opts): New array.
-	(parse_sanitizer_options): New function.
-	(common_handle_option): Use parse_sanitizer_options.
-
-2016-01-26  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/68986
-	* config/i386/i386.c (ix86_compute_frame_layout): Move stack
-	alignment adjustment to ...
-	(ix86_update_stack_boundary): Here.  Don't over-align stack for
-	__tls_get_addr.
-	(ix86_finalize_stack_realign_flags): Use stack_alignment_needed
-	if __tls_get_addr is called.
-
-2016-01-26  Christian Bruel  <christian.bruel@st.com>
-
-	* doc/sourcebuild.texi (arm_crypto_pragma_ok): Remove.
-
-2016-01-26  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/ia64/ia64.c (ia64_expand_vecint_compare): Use gen_int_mode.
-
-2016-01-26  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/69467
-	* match.pd: Guard X * CST CMP 0 pattern with single_use.
-
-2016-01-26  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69452
-	* tree-ssa-loop-im.c (move_computations_dom_walker): Remove.
-	(move_computations_dom_walker::before_dom_children): Rename
-	to ...
-	(move_computations_worker): This.
-	(move_computations): Perform an RPO rather than a DOM walk.
-
-2016-01-26  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/69442
-	* combine.c (combine_instructions): For REG_EQUAL note with
-	SET_DEST being ZERO_EXTRACT, also temporarily set SET_DEST
-	to the underlying register.
-	* doc/rtl.texi (REG_EQUAL): Document the behavior of
-	REG_EQUAL/REG_EQUIV notes if SET_DEST is ZERO_EXTRACT.
-
-2016-01-26  Roger Ferrer Ibáñez  <rofirrim@gmail.com>
-
-	PR target/67896
-	* config/aarch64/aarch64-builtins.c
-	(aarch64_init_simd_builtin_types): Do not set structural
-	equality to __Poly{8,16,64,128}_t types.
-
-2016-01-26  Richard Sandiford  <richard.sandiford@arm.com>
-
-	PR tree-optimization/69400
-	* wide-int.cc (wi_pack): Take the precision as argument and
-	perform canonicalization here rather than in the callers.
-	Use the main loop to handle all full-width HWIs.  Add a
-	zero HWI if in_len isn't a full result.
-	(wi::divmod_internal): Update accordingly.
-	(wi::mul_internal): Likewise.  Simplify.
-
-2016-01-25  Aditya Kumar  <aditya.k7@samsung.com>
-	    Sebastian Pop  <s.pop@samsung.com>
-
-	* graphite-poly.c (apply_poly_transforms): Simplify.
-	(print_isl_set): Use more readable format: ISL_YAML_STYLE_BLOCK.
-	(print_isl_map): Same.
-	(print_isl_union_map): Same.
-	(print_isl_schedule): New.
-	(debug_isl_schedule): New.
-	* graphite-dependences.c (scop_get_reads): Do not call
-	isl_union_map_add_map that is undocumented isl functionality.
-	(scop_get_must_writes): Same.
-	(scop_get_may_writes): Same.
-	(scop_get_original_schedule): Remove.
-	(scop_get_dependences): Do not call isl_union_map_compute_flow that
-	is deprecated in isl 0.15.  Instead, use isl_union_access_* interface.
-	(compute_deps): Remove.
-	* graphite-isl-ast-to-gimple.c (print_schedule_ast): New.
-	(debug_schedule_ast): New.
-	(translate_isl_ast_to_gimple::scop_to_isl_ast): Call
-	set_separate_option.
-	(graphite_regenerate_ast_isl): Add dump.
-	(translate_isl_ast_to_gimple::scop_to_isl_ast): Generate code
-	from scop->transformed_schedule.
-	(graphite_regenerate_ast_isl): Add more dump.
-	* graphite-optimize-isl.c (optimize_isl): Set
-	scop->transformed_schedule.  Check whether schedules are equal.
-	(apply_poly_transforms): Move here.
-	* graphite-poly.c (apply_poly_transforms): ... from here.
-	(free_poly_bb): Static.
-	(free_scop): Static.
-	(pbb_number_of_iterations_at_time): Remove.
-	(print_isl_ast): New.
-	(debug_isl_ast): New.
-	(debug_scop_pbb): New.
-	* graphite-scop-detection.c (print_edge): Move.
-	(print_sese): Move.
-	* graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove.
-	(build_scop_scattering): Remove.
-	(create_pw_aff_from_tree): Assert instead of bailing out.
-	(add_condition_to_pbb): Remove unused code, do not fail.
-	(add_conditions_to_domain): Same.
-	(add_conditions_to_constraints): Remove.
-	(build_scop_context): New.
-	(add_iter_domain_dimension): New.
-	(build_iteration_domains): Initialize pbb->iterators.
-	Call add_conditions_to_domain.
-	(nested_in): New.
-	(loop_at): New.
-	(index_outermost_in_loop): New.
-	(index_pbb_in_loop): New.
-	(outermost_pbb_in): New.
-	(add_in_sequence): New.
-	(add_outer_projection): New.
-	(outer_projection_mupa): New.
-	(add_loop_schedule): New.
-	(build_schedule_pbb): New.
-	(build_schedule_loop): New.
-	(embed_in_surrounding_loops): New.
-	(build_schedule_loop_nest): New.
-	(build_original_schedule): New.
-	(build_poly_scop): Call build_original_schedule.
-	* graphite.h: Declare print_isl_schedule and debug_isl_schedule.
-	(free_poly_dr): Remove.
-	(struct poly_bb): Add iterators.  Remove schedule, transformed, saved.
-	(free_poly_bb): Remove.
-	(debug_loop_vec): Remove.
-	(print_isl_ast): Declare.
-	(debug_isl_ast): Declare.
-	(scop_do_interchange): Remove.
-	(scop_do_strip_mine): Remove.
-	(scop_do_block): Remove.
-	(flatten_all_loops): Remove.
-	(optimize_isl): Remove.
-	(pbb_number_of_iterations_at_time): Remove.
-	(debug_scop_pbb): Declare.
-	(print_schedule_ast): Declare.
-	(debug_schedule_ast): Declare.
-	(struct scop): Remove schedule.  Add original_schedule,
-	transformed_schedule.
-	(free_gimple_poly_bb): Remove.
-	(print_generated_program): Remove.
-	(debug_generated_program): Remove.
-	(unify_scattering_dimensions): Remove.
-	* sese.c (print_edge): ... here.
-	(print_sese): ... here.
-	(debug_edge): ... here.
-	(debug_sese): ... here.
-	* sese.h (print_edge): Declare.
-	(print_sese): Declare.
-	(dump_edge): Declare.
-	(dump_sese): Declare.
-
-2016-01-25  Aditya Kumar  <aditya.k7@samsung.com>
-	    Sebastian Pop  <s.pop@samsung.com>
-
-	* Makefile.in: Set ISLVER in site.exp.
-
-2016-01-25  Jakub Jelinek  <jakub@redhat.com>
-
-	* omp-low.c (lower_omp_target) <case USE_DEVICE_PTR>: Set
-	DECL_VALUE_EXPR of new_var even for the non-array case.  Look
-	through DECL_VALUE_EXPR for expansion.
-
-2016-01-25  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* config/mips/mips.c (mips_compute_frame_info): Skip re-computing
-	the frame info after reload completed.
-
-2016-01-25  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/69196
-	PR tree-optimization/68398
-	* tree-ssa-threadupdate.h (enum bb_dom_status): Moved here from
-	tree-ssa-threadupdate.c.
-	(determine_bb_domination_status): Prototype
-	* tree-ssa-threadupdate.c (enum bb_dom_status): Remove
-	(determine_bb_domination_status): No longer static.
-	(valid_jump_thread_path): Remove code to detect characteristics
-	of the jump thread path not associated with correctness.
-	* tree-ssa-threadbackward.c (fsm_find_control_statment_thread_paths):
-	Correct test for thread path length.  Count PHIs for real operands as
-	statements that need to be copied.  Do not count ASSERT_EXPRs.
-	Look at all the blocks in the thread path.  Compute and selectively
-	filter thread paths based on threading through the latch, threading
-	a multiway branch or crossing a multiway branch.
-
-2016-01-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled):  Add
-	decl with __attribute__ ((unused)) annotation.
-
-2016-01-25  Ilya Enkovich  <enkovich.gnu@gmail.com>
-
-	PR target/69421
-	* tree-vect-stmts.c (vectorizable_condition): Check vectype
-	of operands is compatible with a statement vectype.
-
-2016-01-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* doc/extend.texi (scalar_storage_order type attribute): Fix typo and
-	improve wording for mixed storage order support.
-
-2016-01-25  Bilyan Borisov  <bilyan.borisov@arm.com>
-
-	* config/aarch64/arm_neon.h (vcvt_s64_f64): New intrinsic.
-	(vcvt_u64_f64): Likewise.
-	(vcvta_s64_f64): Likewise.
-	(vcvta_u64_f64): Likewise.
-	(vcvtm_s64_f64): Likewise.
-	(vcvtm_u64_f64): Likewise.
-	(vcvtn_s64_f64): Likewise.
-	(vcvtn_u64_f64): Likewise.
-	(vcvtp_s64_f64): Likewise.
-	(vcvtp_u64_f64): Likewise.
-
-2016-01-25  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (TARGET_DWARF_REGISTER_SPAN): Define.
-	(arc_init): Check validity mll64 option.
-	(arc_save_restore): Use double load/store instruction.
-	(arc_expand_movmem): Likewise.
-	(arc_split_move): Don't split if we have double load/store
-	instructions. Returns a boolean.
-	(arc_process_double_reg_moves): Change function to return boolean
-	instead of a sequence of instructions.
-	(arc_dwarf_register_span): New function.
-	* config/arc/arc-protos.h (arc_split_move): Change prototype.
-	* config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __ARC_LL64__.
-	* config/arc/arc.md (*movdi_insn): Emit ldd/std instructions.
-	(*movdf_insn): Likewise.
-	* config/arc/arc.opt (mll64): New option.
-	* config/arc/predicates.md (even_register_operand): New predicate.
-	* doc/invoke.texi (ARC Options): Add mll64 documentation.
-
-2016-01-25  Richard Biener  <rguenther@suse.de>
-
-	PR lto/69393
-	* dwarf2out.c (is_naming_typedef_decl): Not when DECL_NAMELESS.
-	* tree-streamer-out.c (pack_ts_base_value_fields): Stream
-	DECL_NAMELESS.
-	* tree-streamer-in.c (unpack_ts_base_value_fields): Likewise.
-
-2016-01-25  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69376
-	* tree-ssa-sccvn.h (struct vn_ssa_aux): Add range_info_anti_range_p
-	flag.
-	(VN_INFO_ANTI_RANGE_P): New inline.
-	(VN_INFO_RANGE_TYPE): Likewise.
-	* tree-ssa-sccvn.c (set_ssa_val_to): Also record and copy
-	SSA_NAME_ANTI_RANGE_P.
-	(free_scc_vn): Restore SSA_NAME_ANTI_RANGE_P.
-	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
-	Properly query VN_INFO_RANGE_TYPE.
-
-2016-01-25  Nick Clifton  <nickc@redhat.com>
-
-	PR target/66655
-	* config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Remove definition.
-
-2016-01-23  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/69426
-	* tree-parloops.c (eliminate_local_variables_stmt): Handle vdef of
-	removed clobber.
-
-2016-01-23  Jakub Jelinek  <jakub@redhat.com>
-
-	* tree-ssanames.c (release_free_names_and_compact_live_names): Replace
-	"the the" with "the" in the comments.
-	* ipa-devirt.c (build_type_inheritance_graph,
-	update_type_inheritance_graph): Likewise.
-	* tree.c (build_function_type_list_1): Likewise.
-	* cfgloopmanip.c (scale_loop_profile): Likewise.
-	* tree-ssa-loop-ivopts.c (get_shiftadd_cost): Likewise.
-	* gimple-ssa-split-paths.c
-	(find_block_to_duplicate_for_splitting_paths): Likewise.
-	* tree-sra.c (init_subtree_with_zero, clobber_subtree): Likewise.
-	* expr.c (convert_move): Likewise.
-	* var-tracking.c (vt_stack_adjustments): Likewise.
-	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
-	* tree-vrp.c (test_for_singularity): Likewise.
-
-	* tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR
-	directly instead of building a temporary tree.
-
-	PR bootstrap/69434
-	* genrecog.c: Define INCLUDE_ALGORITHM before including system.h,
-	remove <algorithm> include.
-
-2016-01-22  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/69432
-	* config/i386/i386.c: Include dojump.h.
-	(expand_small_movmem_or_setmem,
-	expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Spelling
-	fixes.
-	(ix86_expand_set_or_movmem): Call do_pending_stack_adjust () early
-	if dynamic_check != -1.
-
-2016-01-21  Jeff Law  <law@redhat.com>
-
-	PR middle-end/69347
-	* tree-ssa-dom.c (back_propagate_equivalences): Factored out of
-	record_temporary_equivalences.  Rewritten to avoid unnecessary calls
-	into dominated_by_p.
-	(cprop_into_successor_phis): Avoid unnecessary tests.
-
-2016-01-22  Richard Henderson  <rth@redhat.com>
-
-	PR target/69416
-	* config/aarch64/aarch64.md (UNSPEC_NZCV): New.
-	(ccmp<mode>, fccmp<mode>, fccmpe<mode>): Use it.
-
-2016-01-22  Michael Matz  <matz@suse.de>
-
-	* system.h (string, algorithm): Include only conditionally.
-	(new): Include always under C++.
-	* bb-reorder.c (toplevel): Define INCLUDE_ALGORITHM.
-	* final.c (toplevel): Ditto.
-	* ipa-chkp.c (toplevel): Define INCLUDE_STRING.
-	* genconditions.c (write_header): Make gencondmd.c define
-	INCLUDE_STRING.
-	* mem-stats.h (mem_usage::print_dash_line): Don't use std::string.
-
-	* config/aarch64/aarch64.c (toplevel): Define INCLUDE_STRING.
-	* common/config/aarch64/aarch64-common.c (toplevel): Ditto.
-
-2016-01-22  Christian Bruel  <christian.bruel@st.com>
-
-	PR target/68674
-	* expr.c (expand_expr_real_1): Reset DECL_MODE if VECTOR_TYPE_P changed.
-
-2016-01-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/69403
-	* config/arm/thumb2.md (*thumb2_ior_scc_strict_it): Convert to
-	define_insn_and_split.  Ensure operands[1] and operands[0] do not
-	get assigned the same register.
-
-2016-01-22  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* ipa-prop.c (ipa_set_jf_constant): Remove redundant unshare_expr.
-
-2016-01-22  Christian Bruel  <christian.bruel@st.com>
-
-	* config/arm/arm-c.c (arm_pragma_target_parse):
-	Remove warn_builtin_macro_redefined overwrite.
-
-2016-01-22  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* ipa-inline.c (can_inline_edge_p): Back out overzealous check on
-	flag_non_call_exceptions compatibility.
-
-2016-01-22  Jakub Jelinek  <jakub@redhat.com>
-
-	PR debug/66668
-	* dwarf2out.c (add_child_die_after): New function.
-	(dwarf_qual_info_t): New type.
-	(dwarf_qual_info): New variable.
-	(qualified_die_p): New function.
-	(modified_type_die): For -fdebug-types-section, ensure
-	canonical order of qualifiers.  Put qualified DIEs adjacent
-	to the corresponding non-qualified type DIE and search there
-	for existing qualified DIEs.
-
-2016-01-22  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* doc/extend.texi (scalar_storage_order type attribute): Document
-	restriction on type punning and aliasing, and remove future tense.
-
-2016-01-21  Roman Zhuykov  <zhroma@ispras.ru>
-
-	PR target/69252
-	* modulo-sched.c (optimize_sc):	Allow branch-scheduling to add a new
-	first stage.
-
-2016-01-21  Jeff Law  <law@redhat.com>
-
-	PR middle-end/69347
-	* tree-ssa-dom.c (dom_opt_dom_walker::thread_across_edge): Avoid
-	useless call to record_temporary_equivalences.
-	* tree-ssa-threadbackward.c (find_jump_threads_backwards): Just
-	allocate 10 slots in the bb_path vector and let it grow as needed.
-	(fsm_find_control_statement_thread_paths): Similarly for the next_path
-	vector.
-
-2016-01-21  David Edelsohn  <dje.gcc@gmail.com>
-
-	* configure.ac (gcc_cv_as_powerpc_mfcrf, gcc_cv_as_machine_directive):
-	Detangle.
-	* configure: Regenerate.
-
-2016-01-21  Pat Haugen  <pthaugen@us.ibm.com>
-
-	* config/rs6000/aix71.h (ASM_CPU_SPEC): Add entry for Power9.
-	* config/rs6000/driver-rs6000.c (struct asm_names): Likewise.
-
-2016-01-21  Bernd Schmidt  <bschmidt@redhat.com>
-
-	PR middle-end/66178
-	* expr.c (expand_expr_real_2) [PLUS_EXPR, MINUS_EXPR]: Don't
-	drop EXPAND_INITIALIZER.
-	* rtl.h (contains_symbolic_reference_p): Declare.
-	* rtlanal.c (contains_symbolic_reference_p): New function.
-	* simplify-rtx.c (simplify_binary_operation_1): Don't turn
-	a subtraction into a NOT if symbolic constants are involved.
-
-2016-01-21  Anton Blanchard  <anton@samba.org>
-	    Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR target/63354
-	* config/rs6000/linux64.h (TARGET_KEEP_LEAF_WHEN_PROFILED): New
-	#define.
-	* config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): New
-	function.
-
-2016-01-21  Ajit Agarwal  <ajitkum@xilinx.com>
-
-	* config/microblaze/microblaze.c
-	(get_branch_target): New.
-	(insert_wic_for_ilb_runout): New.
-	(insert_wic): New.
-	(microblaze_machine_dependent_reorg): New.
-	(TARGET_MACHINE_DEPENDENT_REORG): Define macro.
-	* config/microblaze/microblaze.md
-	(UNSPEC_IPREFETCH): Define.
-	(iprefetch): New pattern
-	* config/microblaze/microblaze.opt
-	(mxl-prefetch): New flag.
-
-2016-01-21  Ajit Agarwal  <ajitkum@xilinx.com>
-
-	* config/microblaze/microblaze.h
-	(FIXED_REGISTERS): Update in macro.
-	(CALL_USED_REGISTERS): Update in macro.
-
-2016-01-21  Yuri Rumyantsev  <ysrumyan@gmail.com>
-
-	PR rtl-optimization/68920
-	* ifcvt.c (cond_move_process_if_block): Limit number of conditional
-	moves.
-
-2016-01-21  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/68990
-	* lra-coalesce.c (lra_coalesce): Invalidate value for the result
-	pseudo instead of inheritance ones.
-
-2016-01-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-	    Nick Clifton  <nickc@redhat.com>
-
-	PR target/69129
-	PR target/69012
-	* config/mips/mips.c (mips_compute_frame_info): Initialise
-	args_size and hard_frame_pointer_offset fields of the frame
-	structure before calling mips_global_pointer.
-
-2016-01-21  David Edelsohn  <dje.gcc@gmail.com>
-
-	* configure.ac (gcc_cv_as_dwloc): Test support for debug frame section
-	label reference.
-	* configure: Regenerate.
-
-2016-01-21  Richard Biener  <rguenther@suse.de>
-
-	* graphite-optimize-isl.c (get_schedule_map): Fix typo.
-
-2016-01-21  Marcin Kościelnicki  <koriakin@0x04.net>
-
-	* config/s390/s390.c (s390_asm_declare_function_size): Add code
-	to actually emit the .size directive.
-
-2016-01-21   Stefan Sørensen  <stefan.sorensen@spectralink.com>
-	     Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/69187
-	PR target/65624
-	* config/arm/arm-builtins.c (arm_expand_neon_builtin): Increase
-	args array size by one to avoid buffer overflow.
-
-2016-01-21  Marcin Kościelnicki  <koriakin@0x04.net>
-
-	* config/s390/s390.md (pool_section_start): Use switch_to_section
-	to select proper read-only data section instead of hardcoding
-	.rodata.
-	(pool_section_end): Use switch_to_section to match the above.
-
-2016-01-21  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69378
-	* tree-ssa-sccvn.c (dominated_by_p_w_unex): New function.
-	(set_ssa_val_to): Use it for dominance checks taking into
-	account not executable edges.
-
-2016-01-21  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/69355
-	* tree-dfa.c (get_ref_base_and_extent): Use GET_MODE_BITSIZE (mode)
-	for bitsize instead of GET_MODE_PRECISION (mode).
-
-2016-01-20  Martin Sebor  <msebor@redhat.com>
-
-	PR c/52291
-	* extend.texi (__sync Builtins): Clarify the semantics of
-	__sync_fetch_and_OP built-ins on pointers.
-	(__atomic Builtins): Same.
-
-2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
-	    Sebastian Pop  <s.pop@samsung.com>
-
-	* graphite-isl-ast-to-gimple.c (enum phi_node_kind): New.
-	(class translate_isl_ast_to_gimple): Use phi_node_kind instead of bool.
-	(is_valid_rename): Same.
-	(translate_isl_ast_to_gimple::get_rename): Same.
-	(translate_isl_ast_to_gimple::rename_all_uses): Same.
-	(translate_isl_ast_to_gimple::rename_uses): Same.
-	(get_new_name): Check for close_phi nodes.
-	(copy_loop_phi_args): Use phi_node_kind.
-	(translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same.
-	(translate_isl_ast_to_gimple::copy_cond_phi_args): Same.
-
-2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
-	    Sebastian Pop  <s.pop@samsung.com>
-
-	Revert commit r229783.
-	* graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
-	Remove use of parameter_rename_map.
-	(copy_def): Remove.
-	(copy_internal_parameters): Remove.
-	(graphite_regenerate_ast_isl): Remove call to copy_internal_parameters.
-	* sese.c (new_sese_info): Do not initialize parameter_rename_map.
-	(free_sese_info): Do not free parameter_rename_map.
-	(set_rename): Do not use parameter_rename_map.
-	(rename_uses): Update call to set_rename.
-	(graphite_copy_stmts_from_block): Do not use parameter_rename_map.
-	* sese.h (parameter_rename_map_t): Remove.
-	(struct sese_info_t): Remove field parameter_rename_map.
-
-2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
-	    Sebastian Pop  <s.pop@samsung.com>
-
-	* graphite-isl-ast-to-gimple.c: Fix comment.
-	* graphite-scop-detection.c (defined_in_loop_p): New.
-	(canonicalize_loop_closed_ssa): Do not add close phi nodes for SSA
-	names defined in loop.
-
-2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
-	    Sebastian Pop  <s.pop@samsung.com>
-
-	* graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
-	Discard unstructured if-then-else regions.
-
-2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
-	    Sebastian Pop  <s.pop@samsung.com>
-
-	* graphite-sese-to-poly.c (set_scop_parameter_dim): Remove.
-	(cleanup_loop_iter_dom): Remove.
-	(build_loop_iteration_domains): Remove.
-	(build_scop_context): Remove.
-	(build_scop_iteration_domain): Remove.
-	(add_loop_constraints): New.
-	(build_iteration_domains): New.
-	(build_poly_scop): Call build_iteration_domains.
-
-2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
-	    Sebastian Pop  <s.pop@samsung.com>
-
-	* graphite-scop-detection.c
-	(scop_detection::harmful_loop_in_region): Free dom and loops.
-	(scop_detection::loop_body_is_valid_scop): Free bbs.
-
-2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
-	    Sebastian Pop  <s.pop@samsung.com>
-
-	* graphite-scop-detection.c (record_loop_in_sese): New.
-	(gather_bbs::before_dom_children): Call record_loop_in_sese.
-	(build_scops): Remove call to build_sese_loop_nests.
-	* sese.c (sese_record_loop): Remove.
-	(build_sese_loop_nests): Remove.
-	(new_sese_info): Remove region->loops.
-	(free_sese_info): Same.
-	* sese.h (sese_contains_loop): Same.
-	(build_sese_loop_nests): Remove.
-	(sese_contains_loop): Remove.
-
-2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
-	    Sebastian Pop  <s.pop@samsung.com>
-
-	* graphite-scop-detection.c (loop_is_valid_scop): Renamed
-	loop_is_valid_in_scop.
-	(scop_detection::harmful_stmt_in_region): Renamed
-	harmful_loop_in_region.
-	Call loop_is_valid_in_scop.
-
-2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
-	    Sebastian Pop  <s.pop@samsung.com>
-
-	* graphite-isl-ast-to-gimple.c (translate_isl_ast): Also handle
-	isl_ast_node_mark.
-
-2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
-	    Sebastian Pop  <s.pop@samsung.com>
-
-	* graphite-poly.c (new_poly_bb): Remove use of PBB_IS_REDUCTION.
-	* graphite.h (struct poly_bb): Remove field is_reduction.
-	(PBB_IS_REDUCTION): Remove.
-
-2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
-	    Sebastian Pop  <s.pop@samsung.com>
-
-	* graphite-dependences.c (constrain_domain): Add call to isl_*_coalesce.
-	(add_pdr_constraints): Same.
-	(scop_get_reads): Same.
-	(scop_get_must_writes): Same.
-	(scop_get_may_writes): Same.
-	(scop_get_original_schedule): Same.
-	(extend_schedule): Same.
-	(apply_schedule_on_deps): Same.
-	(carries_deps): Same.
-	(compute_deps): Same.
-	(scop_get_dependences): Same.
-	* graphite-isl-ast-to-gimple.c
-	(translate_isl_ast_to_gimple::generate_isl_schedule): Same.
-	* graphite-optimize-isl.c (get_schedule_for_band): Same.
-	(get_schedule_for_band_list): Same.
-	(get_schedule_map): Same.
-	(apply_schedule_map_to_scop): Same.
-	* graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
-	(build_loop_iteration_domains): Same.
-	(add_condition_to_pbb): Same.
-	(add_param_constraints): Same.
-	(pdr_add_memory_accesses): Same.
-	(pdr_add_data_dimensions): Same.
-
-2016-01-20  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* doc/invoke.texi (Instrumentation Options): Clarify -mmpx linking
-	requirements.
-
-2016-01-20  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* common.opt (feliminate-dwarf2-dups): Replace references to
-	"DWARF 2" with just "DWARF".
-	* config/ia64/ia64.opt (mdwarf2-asm): Likewise.
-	* doc/extend.texi: Likewise.
-	* doc/cpp.texi: Likewise.
-	* doc/invoke.texi: Likewise.
-	(Option Summary): Add -gdwarf to list of Debugging Options.
-	(Debugging Options): Document -gdwarf.
-	* doc/contrib.texi: Spell "DWARF" like that.
-
-2016-01-21  Jakub Jelinek  <jakub@redhat.com>
-
-	* omp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized
-	warning.  Fix up formatting.
-
-	PR middle-end/67653
-	* gimplify.c (gimplify_asm_expr): Warn if it is too late to
-	attempt to mark memory input operand addressable and
-	call prepare_gimple_addressable in that case.  Don't adjust
-	input_location for diagnostics, use error_at instead.
-
-2016-01-20  Peter Bergner  <bergner@vnet.ibm.com>
-
-	* config/rs6000/ppc-auxv.h: New file.
-	* config/rs6000/rs6000-builtin.def (cpu_init): Add new builtin.
-	(cpu_is): Likewise.
-	(cpu_supports): Likewise.
-	* config/rs6000/rs6000.c: include "ppc-auxv.h".
-	(cpu_is_info): New variable.
-	(cpu_supports_info): Likewise.
-	(tcb_verification_symbol): Likewise.
-	(cpu_builtin_p): Likewise.
-	(cpu_expand_builtin): New function.
-	(rs6000_expand_ternop_builtin): Add support for CPU builtin functions.
-	(rs6000_init_builtins): Likewise.
-	(rs6000_elf_file_end): Emit HWCAP in TCB verification symbol.
-	* config/rs6000/rs6000.h (TLS_REGNUM): New define.
-	* configure.ac (gcc_cv_libc_provides_hwcap_in_tcb): New test.
-	* configure: Regenerate.
-	* config.in: Likewise.
-	* doc/extend.texi (PowerPC Built-in Functions): Document
-	__builtin_cpu_init, __builtin_cpu_is and __builtin_cpu_supports.
-
-2016-01-20  David Edelsohn  <dje.gcc@gmail.com>
-
-	PR target/68609
-	* config/rs6000/rs6000.c (rs6000_emit_swsqrt): Add vector sqrt
-	domain check.
-	* config/rs6000/vector.md (sqrt<mode>2): Call rs6000_emit_swsqrt
-	for V4SFmode.
-
-2016-01-20  Richard Henderson  <rth@redhat.com>
-
-	PR bootstrap/69343
-	PR bootstrap/69339
-	PR tree-opt/68964
-	Revert:
-	* tree.c (tm_define_builtin): New.
-	(find_tm_vector_type): New.
-	(build_tm_vector_builtins): New.
-	(build_common_builtin_nodes): Call it.
-
-2016-01-20  Christophe Lyon  <christophe.lyon@linaro.org>
-
-	* doc/sourcebuild.texi (arm_crypto_pragma_ok): Document new entry.
-	(arm_fp_ok): Likewise.
-	(arm_fp): Likewise.
-	(arm_crypto): Likewise.
-
-2016-01-20  Ilya Enkovich  <enkovich.gnu@gmail.com>
-	    Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69328
-	* tree-vect-stmts.c (vect_is_simple_cond): Check compared
-	vectors have same number of elements.
-	(vectorizable_condition): Fix masked version recognition.
-
-2016-01-20  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69345
-	* tree-ssa-sccvn.h (VN_INFO_RANGE_INFO): New inline function.
-	(VN_INFO_PTR_INFO): Likewise.
-	* tree-ssa-sccvn.c (set_ssa_val_to): Avoid clearing points-to
-	info when it is equal between non-dominating SSA names.
-	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
-	Make sure to look at original SSA infos.
-
-2016-01-20  Jeff Law  <law@redhat.com>
-
-	PR target/25114
-	* config/m68k/predicates.md (pow2_m1_operand): New predicate
-	extracted from ...
-	(reg_or_pow2_m1_operand): Call pow2_m1_operand.
-	(pc_or_label_operand): New predicate.
-	* config/m68k/m68k.md: Add new peephole2 patterns for GTU/LEU
-	tests for small integers that are 2^n - 1.
-
-2016-01-20  Jonathan Wakely  <jwakely@redhat.com>
-
-	* doc/invoke.texi (Options Summary): Add '.' after @xref.
-
-2016-01-19  Jeff Law  <law@redhat.com>
-
-	PR middle-end/69347
-	* tree-ssa-threadbackwards.c
-	(fsm_find_control_statement_thread_paths): Do not try to lookup
-	FSM paths for SSA_NAMEs appearing in abnormal PHIs.
-
-2016-01-20  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* doc/lto.texi: Remove text that says only Gold has linker plugin
-	support.
-
-2016-01-19  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* dwarf2out.c (need_endianity_attribute_p): New inline predicate.
-	(base_type_die): Add REVERSE parameter and attach DW_AT_endianity to
-	the DIE accordingly.
-	(modified_type_die): Add REVERSE parameter and pass it recursively,
-	as well as to base_type_die.  Adjust presence check accordingly.
-	(base_type_for_mode): Adjust call to modified_type_die.
-	(add_type_attribute): Add REVERSE parameter and pass it to
-	modified_type_die.
-	(generic_parameter_die): Adjust call to add_type_attribute.
-	(add_scalar_info): Likewise.
-	(add_subscript_info): Likewise.
-	(gen_array_type_die): Likewise.
-	(gen_descr_array_type_die): Likewise.
-	(gen_entry_point_die): Likewise.
-	(gen_enumeration_type_die): Likewise.
-	(gen_formal_parameter_die): Likewise.
-	(gen_subprogram_die): Likewise.
-	(gen_variable_die ): Likewise.
-	(gen_const_die): Likewise.
-	(gen_field_die): Likewise.
-	(gen_pointer_type_die): Likewise.
-	(gen_reference_type_die): Likewise.
-	(gen_ptr_to_mbr_type_die): Likewise.
-	(gen_inheritance_die): Likewise.
-	(gen_subroutine_type_die): Likewise.
-	(gen_typedef_die): Likewise.
-	(force_type_die): Adjust call to modified_type_die.
-
-2016-01-19  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* doc/standards.texi: Copy-editing for grammar, markup, and sentence
-	flow throughout the file.  Fix broken link to Objective-C 2.0
-	documentation.
-	* doc/invoke.texi: More copy-editing; fix numerous typos and spelling
-	errors.
-
-2016-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* ccmp.c (expand_ccmp_expr_1): Avoid spurious unused warnings.
-
-2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR ipa/66223
-	* ipa-devirt.c (is_cxa_pure_virtual_p): New function.
-	(maybe_record_node): Record cxa_pure_virtual as the only possible
-	target if there are not ohter candidates.
-	(possible_polymorphic_call_target_p): Accept cxa_pure_virtual.
-
-2016-01-19  Richard Biener  <rguenther@suse.de>
-
-	* hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants.
-	(get_memory_order): Likewise.
-
-2016-01-19  Kirill Yukhin  <kirill.yukhin@intel.com>
-
-	* tree-vect-stmts.c (vectorizable_store): Check
-	rhs vectype.
-
-2016-01-19  David Malcolm  <dmalcolm@redhat.com>
-
-	PR jit/68446
-	* gcc.c (driver::decode_argv): Add call to
-	init_opts_obstack before init_options_struct.
-	* opts.c (init_opts_obstack): Remove idempotency.
-	(init_options_struct): Replace call to init_opts_obstack
-	with a gcc_assert to verify that it has already been called.
-	* toplev.c (toplev::main): Add call to init_opts_obstack before
-	calls to init_options_struct.
-	(toplev::finalize): Move cleanup of opts_obstack next to
-	cleanup of save_decoded_options, clearing the latter, and
-	save_decoded_options_count.
-
-2016-01-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/69135
-	* config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds"
-	attribute to unconditional.  Remove %? from output template.
-
-2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
-	    Jiong Wang  <jiong.wang@arm.com>
-
-	* ccmp.c (expand_ccmp_expr_1): Cost the instruction sequences
-	generated from different expand order.
-
-2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* /config/aarch64/aarch64.c (aarch64_if_then_else_costs):
-	Add support for CCMP costing.
-
-2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* ccmp.c (ccmp_candidate_p): Remove integer-only restriction.
-	* config/aarch64/aarch64.md (fccmp<mode>): New pattern.
-	(fccmpe<mode>): Likewise.
-	(fcmp): Rename to fcmp and globalize pattern.
-	(fcmpe): Likewise.
-	* config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP support.
-	(aarch64_gen_ccmp_next): Add FP support.
-
-2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* target.def (gen_ccmp_first): Update documentation.
-	(gen_ccmp_next): Likewise.
-	* doc/tm.texi (gen_ccmp_first): Update documentation.
-	(gen_ccmp_next): Likewise.
-	* ccmp.c (expand_ccmp_expr): Extract cmp_code from return value of
-	expand_ccmp_expr_1.  Improve comments.
-	* config/aarch64/aarch64.md (ccmp_and): Use if_then_else for ccmp.
-	(ccmp_ior<mode>): Remove pattern.
-	(cmp<mode>): Remove expand.
-	(cmp): Globalize pattern.
-	(cstorecc4): Use cc_register.
-	(mov<mode>cc): Remove ccmp_cc_register check.
-	* config/aarch64/aarch64.c (aarch64_get_condition_code_1):
-	Simplify after removal of CC_DNE/* modes.
-	(aarch64_ccmp_mode_to_code): Remove.
-	(aarch64_print_operand): Remove 'K' case.  Merge 'm' and 'M' cases.
-	In 'k' case use integer as condition.
-	(aarch64_nzcv_codes): Remove inverted cases.
-	(aarch64_code_to_ccmode): Remove.
-	(aarch64_gen_ccmp_first): Use cmp pattern directly.  Return the correct
-	comparison with CC register to be used in folowing CCMP/branch/CSEL.
-	(aarch64_gen_ccmp_next): Use previous comparison and mode in CCMP
-	pattern.  Return the comparison with CC register.  Invert conditions
-	when bitcode is OR.
-	* config/aarch64/aarch64-modes.def: Remove CC_DNE/* modes.
-	* config/aarch64/predicates.md (ccmp_cc_register): Remove.
-
-2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cgraphunit.c (cgraph_node::reset): Clear thunk info and
-	instrumented_version.
-
-2016-01-19  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69336
-	* tree-ssa-scopedtables.c (avail_expr_hash): Handle all
-	handled components with get_ref_base_and_extent.
-	(equal_mem_array_ref_p): Adjust.
-
-2016-01-19  Jakub Jelinek  <jakub@redhat.com>
-
-	PR debug/65779
-	* shrink-wrap.c: Include valtrack.h.
-	(move_insn_for_shrink_wrap): Add DEBUG argument.  If
-	MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs
-	in between insn and where it will be moved to.  Call
-	dead_debug_insert_temp.
-	(prepare_shrink_wrap): Adjust caller.  Call dead_debug_local_init
-	first and dead_debug_local_finish at the end.
-	For uses and defs bitmap, handle all regs in between REGNO and
-	END_REGNO, not just the first one.
-
-2016-01-19  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69352
-	* tree-ssa-scopedtables.c (avail_expr_hash): Check for size == -1.
-	(equal_mem_array_ref_p): Constrain size and max size properly.
-	Compare the reverse flag.
-
-2016-01-19  Bernd Schmidt  <bschmidt@redhat.com>
-
-	* ira.c (ira): Update regstat data if we deleted insns.
-
-2016-01-19  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/68955
-	PR rtl-optimization/64557
-	* dse.c (record_store, check_mem_read_rtx): Don't call get_addr
-	here.  Fix up formatting.
-	* alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P.
-
-2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR lto/69133
-	* cgraphunit.c (cgraph_node::expand_thunk): When forcing gimple
-	assume that the node has body.
-	* cgraph.c (cgraph_node::get_untransformed_body): Use gimple_body_p
-	check.
-
-2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
-
-	* lto-streamer-out.c (lto_output): Do not stream instrumentation
-	thunks.
-
-2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
-
-	* symtab.c (symtab_node::asm_name): Do not call printable name directly.
-	(symtab_node::name): Report name as unnamed if DECL_NAME is not set.
-
-2016-01-19  Martin Jambor  <mjambor@suse.cz>
-	    Martin Liska  <mliska@suse.cz>
-	    Michael Matz  <matz@suse.de>
-
-	* Makefile.in (OBJS): Add new source files.
-	(GTFILES): Add hsa.c.
-	* common.opt (disable_hsa): New variable.
-	(-Whsa): New warning.
-	* config.in (ENABLE_HSA): New.
-	* configure.ac: Treat hsa differently from other accelerators.
-	(OFFLOAD_TARGETS): Define ENABLE_OFFLOADING according to
-	$enable_offloading.
-	(ENABLE_HSA): Define ENABLE_HSA according to $enable_hsa.
-	* doc/install.texi (Configuration): Document --with-hsa-runtime,
-	--with-hsa-runtime-include, --with-hsa-runtime-lib and
-	--with-hsa-kmt-lib.
-	* doc/invoke.texi (-Whsa): Document.
-	(hsa-gen-debug-stores): Likewise.
-	* lto-wrapper.c (compile_images_for_offload_targets): Do not attempt
-	to invoke offload compiler for hsa acclerator.
-	* opts.c (common_handle_option): Determine whether HSA offloading
-	should be performed.
-	* params.def (PARAM_HSA_GEN_DEBUG_STORES): New parameter.
-	* builtin-types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
-	(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
-	(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
-	* gimple-low.c (lower_stmt): Also handle GIMPLE_OMP_GRID_BODY.
-	* gimple-pretty-print.c (dump_gimple_omp_for): Also handle
-	GF_OMP_FOR_KIND_GRID_LOOP.
-	(dump_gimple_omp_block): Also handle GIMPLE_OMP_GRID_BODY.
-	(pp_gimple_stmt_1): Likewise.
-	* gimple-walk.c (walk_gimple_stmt): Likewise.
-	* gimple.c (gimple_build_omp_grid_body): New function.
-	(gimple_copy): Also handle GIMPLE_OMP_GRID_BODY.
-	* gimple.def (GIMPLE_OMP_GRID_BODY): New.
-	* gimple.h (enum gf_mask): Added GF_OMP_PARALLEL_GRID_PHONY,
-	GF_OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY and
-	GF_OMP_TEAMS_GRID_PHONY.
-	(gimple_statement_omp_single_layout): Updated comments.
-	(gimple_build_omp_grid_body): New function.
-	(gimple_has_substatements): Also handle GIMPLE_OMP_GRID_BODY.
-	(gimple_omp_for_grid_phony): New function.
-	(gimple_omp_for_set_grid_phony): Likewise.
-	(gimple_omp_parallel_grid_phony): Likewise.
-	(gimple_omp_parallel_set_grid_phony): Likewise.
-	(gimple_omp_teams_grid_phony): Likewise.
-	(gimple_omp_teams_set_grid_phony): Likewise.
-	(gimple_return_set_retbnd): Also handle GIMPLE_OMP_GRID_BODY.
-	* omp-builtins.def (BUILT_IN_GOMP_OFFLOAD_REGISTER): New.
-	(BUILT_IN_GOMP_OFFLOAD_UNREGISTER): Likewise.
-	(BUILT_IN_GOMP_TARGET): Updated type.
-	* omp-low.c: Include symbol-summary.h, hsa.h and params.h.
-	(adjust_for_condition): New function.
-	(get_omp_for_step_from_incr): Likewise.
-	(extract_omp_for_data): Moved parts to adjust_for_condition and
-	get_omp_for_step_from_incr.
-	(build_outer_var_ref): Handle GIMPLE_OMP_GRID_BODY.
-	(fixup_child_record_type): Bail out if receiver_decl is NULL.
-	(scan_sharing_clauses): Handle OMP_CLAUSE__GRIDDIM_.
-	(scan_omp_parallel): Do not create child functions for phony
-	constructs.
-	(check_omp_nesting_restrictions): Handle GIMPLE_OMP_GRID_BODY.
-	(scan_omp_1_op): Checking assert we are not remapping to
-	ERROR_MARK.  Also also handle GIMPLE_OMP_GRID_BODY.
-	(parallel_needs_hsa_kernel_p): New function.
-	(expand_parallel_call): Register apprpriate parallel child
-	functions as HSA kernels.
-	(grid_launch_attributes_trees): New type.
-	(grid_attr_trees): New variable.
-	(grid_create_kernel_launch_attr_types): New function.
-	(grid_insert_store_range_dim): Likewise.
-	(grid_get_kernel_launch_attributes): Likewise.
-	(get_target_argument_identifier_1): Likewise.
-	(get_target_argument_identifier): Likewise.
-	(get_target_argument_value): Likewise.
-	(push_target_argument_according_to_value): Likewise.
-	(get_target_arguments): Likewise.
-	(expand_omp_target): Call get_target_arguments instead of looking
-	up for teams and thread limit.
-	(grid_expand_omp_for_loop): New function.
-	(grid_arg_decl_map): New type.
-	(grid_remap_kernel_arg_accesses): New function.
-	(grid_expand_target_kernel_body): New function.
-	(expand_omp): Call it.
-	(lower_omp_for): Do not emit phony constructs.
-	(lower_omp_taskreg): Do not emit phony constructs but create for them
-	a temporary variable receiver_decl.
-	(lower_omp_taskreg): Do not emit phony constructs.
-	(lower_omp_teams): Likewise.
-	(lower_omp_grid_body): New function.
-	(lower_omp_1): Call it.
-	(grid_reg_assignment_to_local_var_p): New function.
-	(grid_seq_only_contains_local_assignments): Likewise.
-	(grid_find_single_omp_among_assignments_1): Likewise.
-	(grid_find_single_omp_among_assignments): Likewise.
-	(grid_find_ungridifiable_statement): Likewise.
-	(grid_target_follows_gridifiable_pattern): Likewise.
-	(grid_remap_prebody_decls): Likewise.
-	(grid_copy_leading_local_assignments): Likewise.
-	(grid_process_kernel_body_copy): Likewise.
-	(grid_attempt_target_gridification): Likewise.
-	(grid_gridify_all_targets_stmt): Likewise.
-	(grid_gridify_all_targets): Likewise.
-	(execute_lower_omp): Call grid_gridify_all_targets.
-	(make_gimple_omp_edges): Handle GIMPLE_OMP_GRID_BODY.
-	* tree-core.h (omp_clause_code): Added OMP_CLAUSE__GRIDDIM_.
-	(tree_omp_clause): Added union field dimension.
-	* tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__GRIDDIM_.
-	* tree.c (omp_clause_num_ops): Added number of arguments of
-	OMP_CLAUSE__GRIDDIM_.
-	(omp_clause_code_name): Added name of OMP_CLAUSE__GRIDDIM_.
-	(walk_tree_1): Handle OMP_CLAUSE__GRIDDIM_.
-	* tree.h (OMP_CLAUSE_GRIDDIM_DIMENSION): New.
-	(OMP_CLAUSE_SET_GRIDDIM_DIMENSION): Likewise.
-	(OMP_CLAUSE_GRIDDIM_SIZE): Likewise.
-	(OMP_CLAUSE_GRIDDIM_GROUP): Likewise.
-	* passes.def: Schedule pass_ipa_hsa and pass_gen_hsail.
-	* tree-pass.h (make_pass_gen_hsail): Declare.
-	(make_pass_ipa_hsa): Likewise.
-	* ipa-hsa.c: New file.
-	* lto-section-in.c (lto_section_name): Add hsa section name.
-	* lto-streamer.h (lto_section_type): Add hsa section.
-	* timevar.def (TV_IPA_HSA): New.
-	* hsa-brig-format.h: New file.
-	* hsa-brig.c: New file.
-	* hsa-dump.c: Likewise.
-	* hsa-gen.c: Likewise.
-	* hsa.c: Likewise.
-	* hsa.h: Likewise.
-	* toplev.c (compile_file): Call hsa_output_brig.
-	* hsa-regalloc.c: New file.
-
-2016-01-18  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/69320
-	* tree-ssa-dom.c (record_edge_info): For comparisons against a boolean
-	ranged object, do nothing if the RHS constant is not [0..1].
-	(optimize_stmt): Comparing a boolean ranged object against a
-	constant outside [0..1] results in a compile-time constant.
-
-	* tree-ssanames.c (ssa_name_has_boolean_range): Remove unnecessary
-	test.
-
-2016-01-18  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* doc/invoke.texi (Invoking GCC): Add new section to menu.
-	(Option Summary): Update to reflect new section and moved options.
-	(C++ Dialect Options): Move -fstats to new section.
-	(Debugging Options): Move all dump, statistics, and other GCC
-	developer options to new section.  Rewrite section introduction
-	and re-order remaining options to put the more basic ones first.
-	(Optimization Options): Move -fira-verbose and -flto-report* to
-	new section.
-	(Developer Options): New section incorporating moved options.
-	* doc/cppopts.texi (-dM): Update cross-reference.
-
-2016-01-18  Richard Henderson  <rth@redhat.com>
-
-	PR target/69176
-	* config/aarch64/aarch64.md (add<GPI>3): Move long immediate
-	operands to pseudo only if CSE is expected.  Split long immediate
-	operands only after reload, and for the stack pointer.
-	(*add<GPI>3_pluslong): Remove.
-	(*addsi3_aarch64, *adddi3_aarch64): Merge into...
-	(*add<GPI>3_aarch64): ... here.  Add r/rk/Upl alternative.
-	(*addsi3_aarch64_uxtw): Add r/rk/Upl alternative.
-	(*add<GPI>3 peepholes): New.
-	(*add<GPI>3 splitters): New.
-	* config/aarch64/constraints.md (Upl): New.
-	* config/aarch64/predicates.md (aarch64_pluslong_strict_immedate): New.
-
-2016-01-18  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69297
-	* tree-vect-slp.c (vect_bb_slp_scalar_cost): Count each scalar
-	stmt at most once.
-	(vect_bb_vectorization_profitable_p): Clear visited flag again.
-
-2016-01-18  Yuri Rumyantsev  <ysrumyan@gmail.com>
-
-	PR middle-end/68542
-	* fold-const.c (fold_binary_op_with_conditional_arg): Bail out for case
-	of mixind vector and scalar types.
-	(fold_relational_const): Add handling of vector
-	comparison with boolean result.
-	* tree-cfg.c (verify_gimple_comparison): Add argument CODE, allow
-	comparison of vector operands with boolean result for EQ/NE only.
-	(verify_gimple_assign_binary): Adjust call for verify_gimple_comparison.
-	(verify_gimple_cond): Likewise.
-	* tree-vrp.c (extract_code_and_val_from_cond_with_ops): Modify check on
-	valid type of VAL.
-
-2016-01-18  Joseph Myers  <joseph@codesourcery.com>
-
-	* config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require
-	!TARGET_OCTEON.
-
-2016-01-18  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/69308
-	* gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND.
-
-2016-01-18  Tom de Vries  <tom@codesourcery.com>
-
-	* passes.def: Add pass_parallelize_loops to pass_oacc_kernels.
-
-2016-01-18  Tom de Vries  <tom@codesourcery.com>
-
-	* omp-low.c (set_oacc_fn_attrib): Make extern.
-	* omp-low.h (set_oacc_fn_attrib): Declare.
-	* tree-parloops.c (struct reduction_info): Add reduc_addr field.
-	(create_call_for_reduction_1): Handle case that reduc_addr is non-NULL.
-	(create_parallel_loop, gen_parallel_loop, try_create_reduction_list):
-	Add and handle function parameter oacc_kernels_p.
-	(find_reduc_addr, get_omp_data_i_param): New function.
-	(ref_conflicts_with_region, oacc_entry_exit_ok_1)
-	(oacc_entry_exit_single_gang, oacc_entry_exit_ok): New function.
-	(parallelize_loops): Add and handle function parameter oacc_kernels_p.
-	Calculate dominance info.  Skip loops that are not in a kernels region
-	in oacc_kernels_p mode.  Skip inner loops of parallelized loops.
-	(pass_parallelize_loops::execute): Call parallelize_loops with
-	oacc_kernels_p argument.
-	(pass_parallelize_loops::clone, pass_parallelize_loops::set_pass_param):
-	New member function.
-	(pass_parallelize_loops::bool oacc_kernels_p): New member var.
-	* passes.def: Add argument to pass_parallelize_loops instantation.
-
-2016-01-18  Tom de Vries  <tom@codesourcery.com>
-
-	* tree-parloops.c (pass_parallelize_loops::execute): Allow
-	pass_parallelize_loops to be run outside the loop pipeline.
-
-2016-01-18  Alan Lawrence  <alan.lawrence@arm.com>
-
-	* tree-scalar-evolution.c (follow_copies_to_constant): New.
-	(analyze_initial_condition, analyze_scalar_evolution_1): Call previous.
-
-2016-01-18  Alan Lawrence  <alan.lawrence@arm.com>
-
-	PR target/63679
-	* tree-ssa-scopedtables.c (avail_expr_hash): Hash MEM_REF and ARRAY_REF
-	using get_ref_base_and_extent.
-	(equal_mem_array_ref_p): New.
-	(hashable_expr_equal_p): Add call to previous.
-
-2016-01-18  Alan Lawrence  <alan.lawrence@arm.com>
-
-	PR target/63679
-	* tree-sra.c (disqualified_constants, constant_decl_p): New.
-	(sra_initialize): Allocate disqualified_constants.
-	(sra_deinitialize): Free disqualified_constants.
-	(disqualify_candidate): Update disqualified_constants when appropriate.
-	(create_access): Scan for constant-pool entries as we go along.
-	(scalarizable_type_p): Add check against type_contains_placeholder_p.
-	(maybe_add_sra_candidate): Allow constant-pool entries.
-	(load_assign_lhs_subreplacements): Bind debug for constant pool vars.
-	(initialize_constant_pool_replacements): New.
-	(sra_modify_assign): Avoid mangling assignments created by previous,
-	and don't generate writes into constant pool.
-	(sra_modify_function_body): Call initialize_constant_pool_replacements.
-
-2016-01-18  Ilya Enkovich  <enkovich.gnu@gmail.com>
-
-	* config/i386/i386.c (scalar_to_vector_candidate_p): Support
-	andnot instruction.
-	(scalar_chain::convert_op): Likewise.
-	* config/i386/i386.md (*andndi3_doubleword): New.
-
-2016-01-18  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69170
-	* tree-vect-slp.c (vect_build_slp_tree): Verify we are not
-	building a vector from scalar results of a pattern stmt.
-
-2016-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-	* haifa-sched.c (autopref_multipass_init): Work around
-	-Wmaybe-uninitialized warning.
-
-2016-01-18  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm.c (thumb1_reorg): Check that the comparison is
-	against the constant 0.
-
-2016-01-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR tree-optimization/68799
-	* gimple-ssa-strength-reduction.c (create_phi_basis): Directly
-	look up phi candidates in the statement-candidate map.
-	(phi_add_costs): Likewise.
-	(record_phi_increments): Likewise.
-	(phi_incr_cost): Likewise.
-	(ncd_with_phi): Likewise.
-	(all_phi_incrs_profitable): Likewise.
-
-2016-01-17  Jakub Jelinek  <jakub@redhat.com>
-
-	* omp-low.c (mark_loops_in_oacc_kernels_region): Work around
-	-Wmaybe-uninitialized warning.
-
-2016-01-16  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* doc/invoke.texi (Invoking GCC): Add new section to menu.
-	(Option Summary): Update to reflect new section and moved options.
-	(C++ Dialect Options): Move -fvtable-verify and related options.
-	(Debugging Options): Move Sanitizer, Pointer Bounds Checker,
-	and profiling-related options.
-	(Optimization Options): Move profile generation options and
-	-fstack-protector and related options.
-	(Instrumentation Options): New section incorporating moved options.
-	(Code Generation Options): Move -finstrument-functions and
-	related options, -fstack-check, -fstack-limit*, and -fbounds-check.
-
-2016-01-16  Tom de Vries  <tom@codesourcery.com>
-
-	* passes.def: Move pass_expand_omp_ssa out of pass_parallelize_loops.
-
-2016-01-16  Tom de Vries  <tom@codesourcery.com>
-
-	* omp-low.c (expand_omp_atomic_fetch_op):  Release defs of update stmt.
-
-2016-01-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* hash-table.h (hash_table::empty): Turn into an inline wrapper
-	that checks whether the table is already empty.  Rename the
-	original implementation to...
-	(hash_table::empty_slot): ...this new private function.
-
-2016-01-15  David Malcolm  <dmalcolm@redhat.com>
-
-	PR diagnostic/68899
-	* diagnostic-show-locus.c (layout::print_source_line): Move x
-	offset of line until after call to
-	get_line_width_without_trailing_whitespace.
-
-2016-01-15  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/69270
-	* tree-ssanames.c (ssa_name_has_boolean_range): Moved here from
-	tree-ssa-dom.c.  Improve test for [0..1] ranve from VRP.
-	* tree-ssa-dom.c (ssa_name_has_boolean_range): Remove.
-	* tree-ssanames.h (ssa_name_has_boolean_range): Prototype.
-	* tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
-	ssa_name_has_boolean_range and constant_boolean_node.
-
-2016-01-15  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/69030
-	* lra-spills.c (remove_pseudos): Check nrefs and make the function
-	returning bool.
-	(spill_pseudos): Delete debug insn for dead pseudo.
-	(lra_spill): Initiate spill_hard_reg and slots memory separately.
-
-2016-01-15  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64-builtins.c (aarch64_types_unopus_qualifiers):
-	New.
-	(TYPES_UNOPUS): Likewise.
-	* config/aarch64/aarch64-simd-builtins.def (lbtruncuv2sf): Correct
-	builtin type, from UNOP to UNOPUS.
-	(lbtruncuv4sf): Likewise.
-	(lbtruncuv2df): Likewise.
-	(lrounduv2sf): Likewise.
-	(lrounduv4sf): Likewise.
-	(lrounduv2df): Likewise.
-	(lroundusf): Likewise.
-	(lroundusf): Likewise.
-	(lceiluv2sf): Likewise.
-	(lceiluv4sf): Likewise.
-	(lceiluv2df): Likewise.
-	(lceilusf): Likewise.
-	(lceiludf): Likewise.
-	(lflooruv2sf): Likewise.
-	(lflooruv4sf): Likewise.
-	(lflooruv2df): Likewise.
-	(lfloorusf): Likewise.
-	(lfloorudf): Likewise.
-	(lfrintnuv2sf): Likewise.
-	(lfrintnuv4sf): Likewise.
-	(lfrintnuv2df): Likewise.
-	(lfrintnusf): Likewise.
-	(lfrintnudf): Likewise.
-	* config/aarch64/arm_neon.h (vcvt_u32_f32): Remove unncessary type
-	conversion.
-	(vcvtq_u32_f32): Likewise.
-	(vcvtq_u64_f64): Likewise.
-	(vcvta_u32_f32): Likewise.
-	(vcvtaq_u32_f32): Likewise.
-	(vcvtaq_u64_f64): Likewise.
-	(vcvtm_u32_f32): Likewise.
-	(vcvtmq_u32_f32): Likewise.
-	(vcvtmq_u64_f64): Likewise.
-	(vcvtn_u32_f32): Likwise.
-	(vcvtnq_u32_f32): Likewise.
-	(vcvtnq_u64_f64): Likewise.
-	(vcvtp_u32_f32): Likewise.
-	(vcvtpq_u32_f32): Likewise.
-	(vcvtpq_u64_f64): Likewise.
-	(vcvtmd_u64_f64): Likewise.
-	(vcvtms_u32_f32): Likewise.
-	(vcvtad_u64_f64): Likewise.
-	(vcvtas_u32_f32): Likewise.
-	(vcvtnd_u64_f64): Likewise.
-	(vcvtns_u32_f32): Likewise.
-	(vcvtpd_u64_f64): Likewise.
-	(vcvtps_u32_f32): Likewise.
-
-2016-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_if_then_else_costs): Handle
-	CSEL of zero_extended registers.
-
-2016-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
-	Handle COMPARE of ZERO_EXTRACT against zero form of TST-immediate.
-
-2016-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_process_one_target_attr): Return
-	false when argument string is not found in the attributes table
-	at all.
-
-2016-01-15  David Edelsohn  <dje.gcc@gmail.com>
-
-	PR target/68609
-	* config/rs6000/rs6000.c (rs6000_emit_msub): Delete.
-	(rs6000_emit_swsqrt): Convert to Goldschmidt's Algorithm
-	* config/rs6000/rs6000.md (sqrt<mode>2): Limit swsqrt to high
-	precision estimate.
-
-2016-01-15  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/66856
-	* tree-vect-loop.c (vect_transform_loop): Free SLP instances here.
-	* tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count.
-	(vect_create_new_slp_node): Increment stmt reference count.
-	(vect_get_and_check_slp_defs): Make sure stmts are nor already in
-	an SLP tree before swapping operands.
-	(vect_build_slp_tree): Likewise.
-	(destroy_bb_vec_info): Free stmt info after SLP instances.
-	* tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count.
-	* tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field.
-	(STMT_VINFO_NUM_SLP_USES): New macro.
-
-2016-01-15  Richard Biener  <rguenther@suse.de>
-
-	PR debug/69137
-	* dwarf2out.c (add_linkage_name_raw): New function split out from ...
-	(add_linkage_name): ... here.
-	(gen_typedef_die): Use add_linkage_name_raw instead of
-	add_linkage_attr to delay DECL_ASSEMBLER_NAME computation
-	if necessary.
-
-2016-01-15  Cesar Philippidis  <cesar@codesourcery.com>
-
-	* gimplify.c (oacc_default_clause): Decode reference and pointer
-	types for both kernels and parallel regions.
-
-2016-01-15  Richard Sandiford  <richard.sandiford@arm.com>
-
-	PR middle-end/69246
-	* calls.c (emit_call_1): Force n_popped to zero for sibcalls.
-
-2016-01-15  Ilya Enkovich  <enkovich.gnu@gmail.com>
-
-	* config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo.
-	(convert_scalars_to_vector): Likewise.
-
-2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
-
-	* doc/extend.texi (Type Traits): Fix grammar.
-
-2016-01-15  Martin Jambor  <mjambor@suse.cz>
-
-	* tree-inline.c (remap_decl): Use existing dclarations if
-	remapping a type and prevent_decl_creation_for_types.
-	(replace_locals_stmt): Do an initial remapping of non-VLA typed
-	decls first.  Do real remapping with
-	prevent_decl_creation_for_types set.
-	* tree-inline.h (copy_body_data): New field
-	prevent_decl_creation_for_types, moved remap_var_for_cilk to avoid
-	padding.
-
-2016-01-15  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	* config/s390/s390.opt (mmvcle): More verbose help text.
-
-2016-01-15  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	* config/s390/s390.opt: Add period to -mzvector option text.
-
-2016-01-15  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/68961
-	* tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost
-	of invariants in stores again.
-
-2016-01-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
-
-	* config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib.
-
-2016-01-15  Ilya Enkovich  <enkovich.gnu@gmail.com>
-
-	* config/i386/i386.c (ix86_expand_branch): Don't split
-	DI mode xor instruction to SI mode.
-
-2016-01-15  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR ipa/68148
-	* ipa-icf.c (sem_function::merge): Virtual functions may become
-	reachable even if they address is not taken and there are no
-	idrect calls.
-
-2016-01-15  Jan Hubicka  <hubicka@ucw.cz>
-
-	* lto-streamer-out.c (subtract_estimated_size): New function.
-	(get_symbol_initial_value): Use it.
-
-2016-01-15  Christian Bruel  <christian.bruel@st.com>
-
-	PR target/65837
-	* config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag.
-	(arm_init_neon_builtins_internal): Rename arm_init_neon_builtins,
-	(arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins.
-	use add_builtin_function_ext_scope instead of add_builtin_function.
-	(neon_set_p, neon_crypto_set_p): Remove.
-	(arm_init_builtins): Always call arm_init_neon_builtins and
-	arm_init_crypto_builtins.
-	(arm_expand_builtin): Check that builtins are allowed for the arch.
-	* config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype.
-	* config/arm/arm.c (arm_valid_target_attribute_tree): Remove
-	arm_init_neon_builtins call.
-
-2016-01-15  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69117
-	* tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member.
-	* tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info
-	of the leader conservatively.
-	(free_scc_vn): Restore original SSA name infos.
-
-2016-01-14  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/69270
-	* tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a
-	single bit of precision, verify it's also unsigned.
-	(record_edge_info): Use constant_boolean_node rather than fold_convert
-	to convert boolean_true/boolean_false to the right type.
-
-2016-01-14  Richard Henderson  <rth@redhat.com>
-
-	PR rtl-opt/69014
-	* loop-doloop.c (record_reg_sets): New.
-	(doloop_optimize): Reject the transform if the sequence
-	clobbers registers live at the end of the loop block.
-	(doloop_optimize_loops): Enable df_live if needed.
-
-2016-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000-builtin.def: Revert 2016-01-13 change.
-	* config/rs6000/rs6000.c: Likewise.
-	* config/rs6000/rs6000.h: Likewise.
-	* config/rs6000/rs6000.md: Likewise.
-	* doc/extend.texi: Likewsie.
-
-2016-01-14  Jeff Law  <law@redhat.com>
-
-	* tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment
-	typo.
-
-2016-01-14  Richard Henderson  <rth@redhat.com>
-
-	PR c/69272
-	PR tree-opt/68964
-	* trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size.
-	* tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p
-	instead of builtin_decl_declared_p to test for declaration.
-
-2016-01-14  Nicklas Bo Jensen  <nbjensen@gmail.com>
-
-	* doc/loop.texi (Loop Analysis and Representation): Document
-	loop_depth function.
-
-2016-01-14  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/68773
-	* omp-low.c (expand_omp_target): Don't set force_output.
-	* varpool.c (varpool_node::get_create): Same.
-	* lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and
-	offload_funcs with force_output.
-
-2016-01-14  Jakub Jelinek  <jakub@redhat.com>
-
-	PR debug/69244
-	* lra-eliminations.c (move_plus_up): Don't change anything if either
-	the outer or inner subreg mode is not MODE_INT.
-	* dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is
-	integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards.
-
-2016-01-14  Alan Lawrence  <alan.lawrence@arm.com>
-
-	* doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m},
-	reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m},
-	reduc_uplus_@var{m}): Remove.
-	* expr.c (expand_expr_real_2): Remove expansion path for
-	reduc_[us](min|max|plus) optabs.
-	* optabs-tree.c (scalar_reduc_to_vector): Remove.
-	* optabs-tree.h (scalar_reduc_to_vector): Remove.
-	* optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab,
-	reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove.
-	* tree-vect-loop.c (vectorizable_reduction): Remove test for
-	reduc_[us](min|max|plus) optabs.
-
-2016-01-14  Alan Lawrence  <alan.lawrence@arm.com>
-
-	* config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove.
-	(reduc_plus_scal_v2sf): New.
-	(reduc_smax_v2sf): Rename to...
-	(reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract.
-	(reduc_smin_v2sf): Rename to...
-	(reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract.
-
-2016-01-14  Jan Hubicka  <hubicka@ucw.cz>
-
-	* alias.c (compare_base_symbol_refs): New function.
-	(rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use
-	it.
-
-2016-01-14  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/68146
-	PR tree-optimization/69155
-	* tree-complex.c: Include cfganal.h.
-	(phis_to_revisit): New variable.
-	(extract_component): Add phiarg_p argument.  Assert that returned
-	SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
-	(update_phi_components): Partly rewrite to use loop over real/imag
-	components instead of code duplication.  If extract_component returns
-	SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
-	create_tmp_reg into the PHI node instead, and mention the phi triplet
-	in phis_to_revisit.
-	(tree_lower_complex): Walk bbs in rpo order.  Adjust phis recorded
-	in phis_to_revisit at the end.
-
-2016-01-14  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/68060
-	* tree-vect-loop.c (vect_is_simple_reduction): Check the
-	outer loop reduction is only used in the inner loop before
-	detecting a double reduction.
-
-2016-01-14  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/68269
-	* combine.c (expand_field_assignment): Punt if compute_mode is
-	unsupported scalar mode.
-
-2016-01-14  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/66856
-	* tree-vect-slp.c (vect_build_slp_tree): Refactor to build
-	SLP node only if it built successfully.
-	(vect_analyze_slp_instance): Adjust.
-
-2016-01-14  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/69270
-	* tree-ssa-dom.c (ssa_name_has_boolean_range): New function.
-	(record_edge_info): Use it.  Convert boolean_{true,false}_node
-	to the type of op0.
-
-2016-01-13  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR ipa/66487
-	* ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
-	use block_ultimate_origin
-	(noncall-stmt_may_be_vtbl_ptr_store): Likewise.
-
-2016-01-13  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* doc/invoke.texi (Submodel Options): Rename section to
-	"Machine-Dependent Options" to better reflect its content.
-	Rewrite introductory text to remove archaic CPU names.
-	Update references.
-
-2016-01-13  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* doc/invoke.texi (Code Gen Options): Move section up in file,
-	before target-specific options.  Update menu and option summary
-	to reflect the new section ordering.
-
-2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
-
-	* doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
-	(C++ Dialect Options): Add cross-reference to -std option.
-	* doc/standards.texi (C++ Language): Document C++14 support.
-
-2016-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
-	for pack/unpack functions for __ibm128.
-	(PACK_IF): Likewise.
-	(UNPACK_IF): Likewise.
-
-	* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
-	support for __ibm128 pack/unpack functions.
-	(rs6000_invalid_builtin): Likewise.
-	(rs6000_init_builtins): Likewise.
-	(rs6000_opt_masks): Likewise.
-
-	* config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
-	(RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
-	functions
-	(RS6000_BTM_COMMON): Likewise.
-
-	* config/rs6000/rs6000.md (f128_vsx): New mode attribute.
-	(unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
-	disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
-	128-bit floating point.  Add support for the double values to be
-	in Altivec registers for TF/IF packing and unpacking, but restrict
-	TD packing sub-fields to be FPR registers.  Don't allow overlapped
-	register support for packing.  Allow pack inputs to be memory
-	locations.  Don't build generator functions for unpack<mode>_dm
-	and unpack<mode>_nodm.
-	(unpack<mode>_dm): Likewise.
-	(unpack<mode>_nodm): Likewise.
-	(pack<mode>): Likewise.
-
-	* config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
-	built-in functions to pack/unpack explicit __ibm128 values.
-	(__builtin_unpack_ibm128): Likewise.
-
-	* doc/extend.texi (PowerPC Built-in Functions): Document
-	__builtin_pack_ibm128 and __builtin_unpack_ibm128.
-
-2016-01-13  Bernd Schmidt  <bschmidt@redhat.com>
-
-	PR c/66208
-	* c-common.c (check_function_nonnull): Remove unnecessary declaration.
-	Add new arg loc and pass it down as context.
-	(check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer
-	to the location to use for the warning.
-	(check_function_arguments): New arg loc.  All callers changed.  Pass
-	it to check_function_nonnull.
-	* c-common.h (check_function_arguments): Adjust declaration.
-
-2016-01-13  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/69156
-	* gimple.c (validate_type): Removed.
-	(gimple_builtin_call_types_compatible_p): Use
-	useless_type_conversion_p instead of validate_type.
-	* value-prof.c (gimple_stringop_fixed_value): Fold
-	icall_size to correct type.
-
-2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
-
-	* doc/extend.texi (__atomic Builtins): Clarify compare_exchange
-	effects.
-
-2016-01-13  Richard Henderson  <rth@redhat.com>
-
-	PR tree-opt/68964
-	* target.def (builtin_tm_load, builtin_tm_store): Remove.
-	* config/i386/i386.c (ix86_builtin_tm_load): Remove.
-	(ix86_builtin_tm_store): Remove.
-	(TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
-	(TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
-	* doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
-	(TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
-	* doc/tm.texi: Rebuild.
-
-	* gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
-	(BUILT_IN_TM_MEMCPY_RTWN): New.
-	* trans-mem.c (tm_log_emit_stmt): Rearrange code for better
-	fallback from vector to integer helpers.
-	(build_tm_load): Handle vector types directly, instead of
-	via target hook.
-	(build_tm_store): Likewise.
-	(expand_assign_tm): Prepare for register types not handled by
-	the above.  Copy them to memory and use memcpy.
-	* tree.c (tm_define_builtin): New.
-	(find_tm_vector_type): New.
-	(build_tm_vector_builtins): New.
-	(build_common_builtin_nodes): Call it.
-
-2016-01-13  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for
-	TARGET_SSE_MATH without TARGET_SSE2.  Rewrite.
-
-2016-01-13  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/69169
-	* tree-ssa-structalias.c (create_variable_info_for_1): Add and handle
-	handled_struct_type param.
-	(create_variable_info_for, intra_create_variable_infos): Call
-	create_variable_info_for_1 with extra arg.
-
-2016-01-13  Yvan Roux  <yvan.roux@linaro.org>
-
-	* config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a"
-	and "armv8.1-a+crc" entries.
-
-2016-01-13  Alexander Fomin  <alexander.fomin@intel.com>
-
-	PR target/69228
-	* config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"):
-	Change first operand predicate from register_or_constm1_operand
-	to register_operand.
-	(define_expand "avx512pf_gatherpf<mode>df"): Likewise.
-	(define_expand "avx512pf_scatterpf<mode>sf"): Likewise.
-	(define_expand "avx512pf_scatterpf<mode>df"): Likewise.
-	(define_insn "*avx512pf_gatherpf<mode>sf"): Remove.
-	(define_insn "*avx512pf_gatherpf<mode>df"): Likewise.
-	(define_insn "*avx512pf_scatterpf<mode>sf"): Likewise.
-	(define_insn "*avx512pf_scatterpf<mode>df"): Likewise.
-	* config/i386/i386.c (ix86_expand_builtin): Remove first operand
-	comparison with constm1_rtx from vec_prefetch_gen part.
-
-2016-01-13  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69013
-	* tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
-	Exchange assert for a test.
-
-2016-01-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	PR target/69247
-	* config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg.
-
-2016-01-13  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69242
-	* tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus
-	assert with a check.
-
-2016-01-13  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69186
-	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
-	Properly guard vect_update_misalignment_for_peel call.
-
-2016-01-12  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/pr67755
-	* tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field
-	"need_profile_correction".
-	(thread_block_1): Initialize new field to false by default.  If we
-	have multiple thread paths through a common joiner to different
-	final targets, then set new field to true.
-	(compute_path_counts): Only do count adjustment when it's really
-	needed.
-
-2016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* doc/invoke.texi (Spec Files): Move section down in file, past
-	all command-line option descriptions.
-
-2016-01-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	PR middle-end/54809
-	* doc/gty.texi: Remove documentation of mark_hook.
-	* gengtype.c (struct write_types_data): Remove code to support
-	mark_hook attribute.
-	(walk_type): Likewise.
-	(write_func_for_structure): Likewise.
-
-2016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to
-	Directory Options, and -specs= to Overall Options.
-	(Overall Options): Adjust similarly.  Reorder to group related
-	options together.  Make -specs= cross-reference the spec file details.
-	(Directory Options): Adjust similarly.
-
-2016-01-12  Jeff Law  <law@redhat.com>
-
-	* tree-ssa-threadupdate.c: Various whitespace and typo fixes.
-
-2016-01-12  Olivier Hainque  <hainque@adacore.com>
-
-	* gcc.c (spec_undefvar_allowed): New global.
-	(process_command): Set to true when running for --version or --help,
-	alone or together.
-	(getenv_spec_function): When the variable is not defined, use the
-	variable name as the variable value if we're allowed not to issue
-	a fatal error.
-
-2016-01-12  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/68911
-	* tree-vrp.c (adjust_range_with_scev): Check overflow in range
-	information computed for expression "init + nit * step".
-
-2016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* doc/invoke.texi (Invoking GCC): Copy-edit.  Incorporate information
-	about name of GCC executable.  Remove deleted node from menu.
-	(Directory Options) <-B>: Remove cross-reference to deleted node.
-	(Target Options): Delete section.
-
-2016-01-12  Christian Bruel  <christian.bruel@st.com>
-
-	PR target/69180
-	* config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
-	for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.
-
-2016-01-12  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/69198
-	* config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
-	aligned_mem is properly set for AVX512-VL floating point masked
-	stores.
-
-	PR target/69175
-	* ifcvt.c (cond_exec_process_if_block): When removing the last
-	insn from then_bb, remove also any possible barriers that follow it.
-
-2016-01-12  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/68456
-	PR target/69226
-	* config/i386/iamcu.h (SIZE_TYPE): New macro.
-	(PTRDIFF_TYPE): Likewise.
-	(WCHAR_TYPE): Likewise.
-	(WCHAR_TYPE_SIZE): Likewise.
-	(STDINT_LONG32): Likewise.
-
-2016-01-12  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69053
-	* tree-vect-loop.c (get_initial_def_for_reduction): Properly
-	convert initial value for cond reductions.
-
-2016-01-12  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69007
-	* tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
-	widen_sum after dot_prod and sad.
-
-2016-01-12  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69168
-	* tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
-	pattern stmt SLP type.
-	* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may
-	end up unused so cope with that case.
-
-2016-01-12  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69157
-	* tree-vect-stmts.c (vectorizable_mask_load_store): Check
-	stmts def type only during analyze phase.
-	(vectorizable_call): Likewise.
-	(vectorizable_simd_clone_call): Likewise.
-	(vectorizable_conversion): Likewise.
-	(vectorizable_assignment): Likewise.
-	(vectorizable_shift): Likewise.
-	(vectorizable_operation): Likewise.
-	(vectorizable_store): Likewise.
-	(vectorizable_load): Likewise.
-
-2016-01-12  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69174
-	* tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
-	space.
-	(vectorizable_load): Properly compute the number of loads needed
-	for permuted strided SLP loads and do not spuriously assign
-	to SLP_TREE_VEC_STMTS.
-
-2016-01-12  Andris Pavenis  <andris.pavenis@iki.fi>
-
-	* config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2
-	(TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive
-	(MD_EXEC_PREFIX): Remove.
-	(MD_STARTFILE_PREFIX) Removee.
-	(FILE_NAME_ABSOLUTE_P): Remove.
-	(CPP_SPEC): Do not read macros from sys/version.h.
-	(LINK_COMMAND_SPEC): Remove.
-	(LOCAL_INCLUDE_DIR): Remove.
-	(TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section
-	(TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix.
-	(POST_LINK_SPEC): Define to invoke stubify after linker
-	(LIBSTDCXX): Remove define
-	(DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map.
-	(DEFAULT_PCC_STRUCT_RETURN): Define to 1.
-	(SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210.
-	(SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message.
-	(SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info.
-	(IX86_MAYBE_NO_LIBGCC_TFMODE): Remove.
-	(i386_djgpp_asm_named_section): Add propotype of new procedure
-
-	* config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define.
-	(MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h).
-	(STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX
-	in config/i386/djgpp.h).
-	(STANDARD_STARTFILE_PREFIX_2): Define identical to
-	STANDARD_STARTFILE_PREFIX_1.
-	(LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h).
-	(GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal
-	installation errors.
-	(MAX_OFILE_ALIGNMENT): Define to 128.
-	(HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h.
-
-	* config/i386/djgpp.c: New file. Add implementation of
-	i386_djgpp_asm_named_section.
-
-	* config/i386/djgpp.opt: Remove obsolete option -mbnu210.
-
-	* config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
-	Add rule for building djgpp.o.
-
-2016-01-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (v2df_reduction_p): New function.
-	(rtx_is_swappable_p): Reductions are swappable.
-	(insn_is_swappable_p): V2DF reductions are swappable.
-
-2016-01-11  John David Anglin  <danglin@gcc.gnu.org>
-
-	* config/pa/pa.c (pa_emit_move_sequence): Handle floating point
-	reloads for other unsupported memory operands.
-
-2016-01-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
-	    Jim Wilson  <jim.wilson@linaro.org>
-
-	PR target/69194
-	* config/arm/arm-builtins.c (arm_expand_neon_args): Call
-	copy_to_mode_reg instead of force_reg.
-
-2016-01-11  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/69225
-	* config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if
-	TARGET_80387 is true.
-
-2016-01-11  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/69071
-	* lra-eliminations.c (move_plus_up): Only move plus up
-	if subreg of the constant can be simplified into constant
-	and use the simplified subreg of the constant instead of
-	the original constant.
-
-	* fold-const.c (fold_convertible_p): Don't return true
-	for conversion of VECTOR_TYPE to same sized integral type.
-	(fold_convert_loc): Fix up formatting.  Fold conversion of
-	VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR
-	instead of NOP_EXPR.
-
-	PR tree-optimization/69214
-	* tree-vrp.c (simplify_cond_using_ranges): Don't propagate
-	innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
-	Formatting fix.
-
-	PR tree-optimization/69207
-	* tree-vect-slp.c (vect_get_constant_vectors): For
-	VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
-	fold_convertible_p to vector_type's element type, and always
-	use VCE for non-VECTOR_BOOLEAN_TYPE_P.
-
-2016-01-11  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69173
-	* tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only
-	fixup the cycle if all stmts are in a pattern.
-
-2016-01-11  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR middle-end/68999
-	* alias.c (base_alias_check): Move check for addresses with
-	alignment ANDs before the call for compare_base_decls.
-	(memrefs_conflict_p): Return -1 for different decls
-	that went through alignment adjustments.
-
-2016-01-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR rtl-optimization/68796
-	* config/aarch64/aarch64.md (*and<mode>_compare0): New pattern.
-	* config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode
-	and QImode comparisons against zero with CC_NZmode.
-	* config/aarch64/iterators.md (short_mask): New mode_attr.
-
-2016-01-11  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/i386/sse.md (<avx512>_load<mode>_mask): Remove snprintf.
-	(<avx512>_store<mode>_mask): Likewise.
-
-2016-01-11  Bernd Schmidt  <bschmidt@redhat.com>
-	    Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR rtl-optimization/68841
-	* ifcvt.c (struct noce_if_info): Add orig_x field.
-	(bbs_ok_for_cmove_arith): Add to_rename parameter.
-	Don't record conflicts on to_rename if it's present.
-	Allow memory destinations in sets.
-	(noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple
-	blocks, passing orig_x to the checks.
-	(noce_process_if_block): Set if_info->orig_x appropriately.
-
-2016-01-11  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/69069
-	* tree-parloops.c (create_parallel_loop): Add missing phi args.
-
-2016-01-11  Yuri Rumyantsev  <ysrumyan@gmail.com>
-
-	PR rtl-optimization/68920
-	* config/i386/i386.c (ix86_option_override_internal): Restrict number
-	of conditional moves for  RTL if-conversion to 1 for
-	TARGET_ONE_IF_CONV_INSN.
-	* config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
-	* config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
-	* params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
-	parameter to restirct number of conditional moves for
-	RTL if-conversion.
-	* doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
-	* ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
-	conditionl moves.
-
-2016-01-11  Alexandre Oliva  <aoliva@redhat.com>
-
-	PR bootstrap/69123
-	* var-tracking.c (drop_overlapping_mem_locs): Operate on all
-	onepart vars.  Fix typo in comment.  Fix reversed condition in
-	unshare test.
-	(dataflow_set_remove_mem_locs): Operate on all onepart vars.
-
-	PR bootstrap/69123
-	* var-tracking.c (dump_onepart_variable_differences): New.
-	(dataflow_set_different): If a detailed dump is requested,
-	delay early returns and dump differences between onepart
-	variables present before and after, and added variables.
-
-2016-01-11  Ilya Enkovich  <enkovich.gnu@gmail.com>
-
-	PR target/69010
-	* expr.c (expand_expr_real_1): For boolean vector constants
-	with a scalar mode use const_scalar_mask_from_tree.
-	(const_scalar_mask_from_tree): New.
-	* optabs.c (expand_vec_cond_mask_expr): Use mask mode
-	assigned to a mask type to handle constants.
-
-2016-01-11  Martin Jambor  <mjambor@suse.cz>
-
-	PR ipa/69044
-	* ipa-cp.c (estimate_local_effects): Do not clone for removal of
-	useless parameters if we cannot change function signature.
-
-2016-01-11  Martin Jambor  <mjambor@suse.cz>
-
-	PR ipa/66616
-	* cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
-	flag.
-
-2016-01-11  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/69109
-	* tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
-	latch with phi.
-
-2016-01-11  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/69108
-	* tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
-	res is not used in a phi.
-
-2016-01-11  Yury Gribov  <y.gribov@samsung.com>
-
-	PR 67425
-	* common.opt (frandom-seed): Fix parameter name.
-	* doc/invoke.texi (frandom-seed): Ditto and describe parameter.
-
-2016-01-11  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/69058
-	* tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
-	not supported.
-
-2016-01-11  Andrew Burgess  <andrew.burgess@embecosm.com>
-
-	* config/arc/arc.opt (mdiv-rem): Add period to the end.
-	(mcode-density): Likewise.
-
-2016-01-10  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/69062
-	* tree-parloops.c (loop_has_phi_with_address_arg): New function.
-	(parallelize_loops): Don't paralelize loop that has phi with address
-	arg.
-
-2016-01-10  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/69039
-	* tree-parloops.c (try_create_reduction_list): Only allow single exit
-	phi for reduction.
-
-2016-01-09  John David Anglin  <danglin@gcc.gnu.org>
-
-	PR middle-end/68743
-	* match.pd: Require target has function_c99_misc before doing
-	truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.
-
-2016-01-09  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* configure.ac (isl_options_set_schedule_serialize_sccs): Also
-	use GMPINC.
-	* configure: Regenerate.
-
-2016-01-09  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/50865
-	PR tree-optimization/69097
-	* fold-const.h (expr_not_equal_to): New prototype.
-	* fold-const.c: Include stringpool.h and tree-ssanames.h.
-	(expr_not_equal_to): New function.
-	* match.pd (X % -Y is the same as X % Y): Don't optimize
-	unless X is known not to be equal to minimum or Y is known
-	not to be equal to -1.
-	* tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument.
-	fold TRUNC_MOD_EXPR if the second argument is not a power of two.
-	(simplify_stmt_using_ranges): Adjust caller.
-	(vrp_finalize): Call set_value_range on SSA_NAMEs before calling
-	substitute_and_fold.
-
-2016-01-09  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
-	w/o DECL_NAME.
-
-2016-01-08  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/69167
-	* gimple-fold.c (replace_stmt_with_simplification): Also punt if
-	new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of
-	ops[0] comparison.
-	* gimple-match-head.c (maybe_push_res_to_seq): Likewise.
-
-2016-01-08  Alan Lawrence  <alan.lawrence@arm.com>
-	    Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/68707
-	* tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP
-	instances that can be handled via vect_load_lanes.
-
-2016-01-08  Uros Bizjak  <ubizjak@gmail.com>
-
-	* symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
-	if we can't determine address equivalence.
-	* alias.c (compare_base_decl): Update for changed return value of
-	symtab_node::equal_address_to.
-
-2016-01-08  Jason Merrill  <jason@redhat.com>
-
-	PR c++/68983
-	PR c++/67557
-	* function.c (assign_temp): Guard against TREE_ADDRESSABLE types here.
-	* expr.c (store_field): Not here.
-	* tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a
-	call with TREE_ADDRESSABLE type.
-	* tree-cfg.c (verify_gimple_call): Adjust.
-
-2016-01-08  Olivier Hainque  <hainque@adacore.com>
-
-	* config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
-	libc_internal.
-
-2016-01-08  Alan Lawrence  <alan.lawrence@arm.com>
-
-	* gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to...
-	(reduc_smax_scal_v2sf): ...here, make result SFmode, extract element.
-	(reduc_smin_v2sf): Rename to...
-	(reduc_smin_scal_v2sf): ...here, make result SFmode, extract element.
-	(reduc_splus_v2sf): Rename to...
-	(reduc_plus_scal_v2sf): ...here, make result SFmode, extract element.
-
-2016-01-08  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/69162
-	* gimplify.c (gimplify_va_arg_expr): Encode original type of
-	valist argument in another argument.
-	(gimplify_modify_expr): Adjust for the above change.  Cleanup.
-	* tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument
-	to determine the va_list type, build a MEM_REF instead of
-	build_fold_indirect_ref.
-
-	PR tree-optimization/69172
-	* gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
-	gimple_build.
-
-2016-01-08  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	PR tree-optimization/67781
-	* tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
-	and cmpnop in two steps: first the ones not accessed in original
-	gimple expression in a endian independent way and then the ones not
-	accessed in the final result in an endian-specific way.
-
-2016-01-08  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/69083
-	* tree-vect-slp.c (vect_get_constant_vectors): For
-	VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
-	element type.  If op is fold_convertible_p to vector_type's element
-	type, use NOP_EXPR instead of VCE.
-
-2016-01-08  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/67778
-	PR rtl-optimization/68634
-	PR rtl-optimization/68909
-	* shrink-wrap.c (try_shrink_wrapping): Add comment.  Don't pop
-	block from the stack until done with it.  Remove a superfluous
-	bitmap set.  Remove a superfluous bitmap test.
-
-2016-01-07  Martin Sebor  <msebor@redhat.com>
-
-	PR c/68966
-	* doc/extend.texi (__atomic Builtins, __sync Builtins): Document
-	constraint on the type of arguments.
-
-2016-01-07  Andreas Tobler  <andreast@gcc.gnu.org>
-
-	* config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
-	SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
-	unaligned_access on the gcc_options set.
-	* config/arm/arm.c (arm_option_override_internal): Use
-	SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
-
-2016-01-07  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/69140
-	* config/i386/i386.c (ix86_frame_pointer_required): Enable
-	frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.
-
-2016-01-07  Uros Bizjak  <ubizjak@gmail.com>
-
-	Revert
-	2016-01-06  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/69140
-	* config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
-	depending on frame_pointer_needed before remaining integer and SSE
-	registers are saved.
-
-2016-01-07  Sandra Loosemore  <sandra@codesourcery.com>
-
-	PR 1078
-	* doc/extend.texi (Nvidia PDX Function Attributes): New section.
-
-2016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/69171
-	* config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
-	Use the "xBm" constraint.
-	(float<sseintvecmodelower><mode>2<mask_name><round_name):
-	Likewise.
-	(sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
-	(sse_cvtsi2ssq<round_name>): Likewise.
-	(sse_cvtss2si<round_name>): Likewise.
-	(sse_cvtss2siq<round_name>): Likewise.
-	(sse2_cvtsi2sdq<round_name>): Likewise.
-	(sse2_cvtsd2si<round_name>): Likewise.
-	(sse2_cvtsd2siq<round_name>): Likewise.
-	* config/i386/subst.md (round_nimm_scalar_predicate): New
-	predicate.
-
-2015-12-15  Bernd Schmidt  <bschmidt@redhat.com>
-
-	PR middle-end/67639
-	* varasm.c (make_decl_rtl): Mark invalid register vars as
-	DECL_EXTERNAL.
-
-	PR rtl-optimization/66206
-	* bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
-	All callers changed.
-
-2016-01-07  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/69141
-	* tree-ssa-pre.c: Include langhooks.h.
-	(eliminate_dom_walker::before_dom_children): Use
-	lang_hooks.decl_printable_name instead of
-	cgraph_node::get ()->name ().
-
-	PR middle-end/68960
-	* gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
-	it and DECL_ALIGN too.
-
-2016-01-06  Robert Suchanek  <robert.suchanek@imgtec.com>
-
-	* config/mips/mips-ftypes.def: Sort to lexicographical order.
-
-2016-01-06  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/69140
-	* config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
-	depending on frame_pointer_needed before remaining integer and SSE
-	registers are saved.
-
-2015-01-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
-	mode iterator with VSX_M2.
-	(*p9_vecstore_<mode>): Likewise.
-	(*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
-	(*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
-	(*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
-	(define_split for VSX_LE128 stores): Likewise.
-	(define_peephole2 for TImode LE swaps): Likewise.
-	(define_split for VSX_LE128 post-reload stores): Likewise.
-
-2016-01-06  Marek Polacek  <polacek@redhat.com>
-
-	PR sanitizer/69099
-	* convert.c (convert_to_integer_1): Adjust call to
-	ubsan_instrument_float_cast.  Use NULL_TREE instead of NULL.
-	* ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter.  Use
-	EXPR instead of ARG.
-	* ubsan.h (ubsan_instrument_float_cast): Adjust declaration.
-
-2016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
-
-	PR 1078
-	* doc/extend.texi (RL78 Variable Attributes): New section.
-
-2016-01-05  Marek Polacek  <polacek@redhat.com>
-
-	PR c/69104
-	* builtins.c (get_memmodel): Use expansion point location rather than
-	the input location.  Call warning_at rather than warning.
-	(expand_builtin_atomic_compare_exchange): Likewise.
-	(expand_builtin_atomic_load): Likewise.
-	(expand_builtin_atomic_store): Likewise.
-	(expand_builtin_atomic_clear): Likewise.
-
-2016-01-05  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/68991
-	* config/i386/i386.c (ix86_expand_vector_logical_operator):
-	Replace nonimmediate_operand with vector_operand.
-	* config/i386/predicates.md (vector_operand): New predicate.
-	(general_vector_operand): Replace nonimmediate_operand with
-	vector_operand.
-	* config/i386/sse.md: Replace nonimmediate_operand with
-	vector_operand and m constraint with Bm constraint on SSE
-	patterns with 16-byte memory operand.
-	* config/i386/subst.md (round_nimm_predicate): Replace
-	nonimmediate_operand with vector_operand.
-	(round_saeonly_nimm_predicate): Likewise.
-	(round_saeonly_nimm_scalar_predicate): New.
-
-2016-01-05  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/68991
-	* config/i386/constraints.md (Bm): New constraint.
-	* config/i386/predicates.md (vector_memory_operand): New
-	predicate.
-	* config/i386/sse.md: Replace xm with xBm in plusminus and
-	any_logic patterns.
-
-2016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
-
-	PR 1078
-	* doc/extend.texi (V850 Function Attributes): New section.
-	(V850 Variable Attributes): New section.
-
-2016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
-
-	PR 1078
-	* doc/extend.texi (MicroBlaze Function Attributes): Document
-	interrupt_handler and fast_interrupt attributes.
-
-2016-01-05  Sergei Trofimovich  <siarheit@google.com>
-
-	PR other/60465
-	* config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
-	for local symbolic operands.
-	* config/ia64/predicates.md (local_symbolic_operand64): New
-	predicate.
-
-2016-01-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR rtl-optimization/68651
-	* combine.c (combine_simplify_rtx): Canonicalize x + x into
-	x << 1.
-
-2016-01-05  Nathan Sidwell  <nathan@acm.org>
-
-	* alias.c (compare_base_decls): Use symtab_node::get.
-
-2016-01-05  Nick Clifton  <nickc@redhat.com>
-
-	PR target/68770
-	* ira-costs.c (copy_cost): Initialise the t_icode field of the
-	secondary_reload_info structure.
-
-	PR target/66655
-	* config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
-	decls if weak support is available.
-
-2016-01-04  Martin Sebor  <msebor@redhat.com>
-
-	* doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
-
-2016-01-04  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
-	OPTION_MASK_P9_DFORM.
-
-	* config/rs6000/constraints.md (wo constraint): New constraint for
-	ISA 3.0 (power9).
-
-	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
-	for wo constraint.
-	(rs6000_init_hard_regno_mode_ok): Likewise.
-
-	* config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
-	wo constraint.
-
-	* config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
-	expanders not to have constraints.  Add support for ISA 3.0 xxperm
-	instruction.  Add support for fusing xxlor with xxperm.
-	(altivec_vperm_<mode>_internal): Likewise.
-	(altivec_vperm_v8hiv16qi): Likewise.
-	(altivec_vperm_<mode>v16q): Likewise.
-	(altivec_vperm_<mode>_uns): Likewise.
-	(vperm_v8hiv4si): Likewise.
-	(vperm_v16qiv8hi): Likewise.
-
-	* doc/md.texi (RS/6000 constraints): Document wo constraint.
-
-2016-01-04  Jakub Jelinek  <jakub@redhat.com>
-
-	Update copyright years.
+2017-01-01  Jakub Jelinek  <jakub@redhat.com>
 
 	* gcc.c (process_command): Update copyright notice dates.
 	* gcov-dump.c (print_version): Ditto.
@@ -36152,86 +12,8 @@
 	* doc/gcov.texi: Ditto.
 	* doc/install.texi: Ditto.
 	* doc/invoke.texi: Ditto.
-
-2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
-	modes larger than TImode as TImode if NEON is not enabled.
-
-2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR target/69100
-	* config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
-	mode for %f0-%f31 only if TARGET_FPU.
-
-2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR target/69072
-	* config/sparc/sparc.c (scan_record_type): Take into account subfields
-	to compute the PACKED_P predicate.
-	(function_arg_record_value): Minor tweaks.
-
-2016-01-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* doc/install.texi (--with-multilib-list): Describe the meaning of the
-	option for arm*-*-* targets.
-
-2016-01-03  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* doc/extend.texi (Common Function Attributes): Move docs for
-	MSP430-specific attributes to....
-	(MSP430 Function Attributes): ...here.  Delete the redundant
-	entries and copy-edit the remaining text.
-	(MSP430 Variable Attributes): Use uniform format for index
-	entries and add a cross-reference to the corresponding function
-	attribute docs.
-
-2016-01-03  Vladimír Čunát  <vcunat@gmail.com>
-
-	* doc/invoke.texi (RS/6000 and PowerPC Options): Fix
-	-finite-math typo.
-	(x86 Options): Likewise.
-
-2016-01-01  Sandra Loosemore  <sandra@codesourcery.com>
-
-	PR 1078
-
-	* extend.texi (Common Function Attributes) <no_stack_limit>: New.
-	* invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer
-	to corresponding attribute.
-
-2016-01-01  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* doc/extend.texi (Common Function Attributes) <noplt>: Move
-	to correct alphabetization of table.  Copy-edit and correct
-	markup.
-	<stack_protect>: Likewise.
-	<target_clones>: Likewise.
-	<simd>: Likewise.
-	* doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
-	Correct punctuation.
-	(Code Gen Options) <-fno-plt>: Copy-edit.
-
-2016-01-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	PR target/68917
-	* config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
-	SI values.  Explicitly convert SI to DI and vice-versa.
-
-2016-01-01  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/69070
-	* tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
-	REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.
-
-	PR sanitizer/69055
-	* ubsan.c (ubsan_instrument_float_cast): Call
-	initialize_sanitizer_builtins.
-
-	PR target/69015
-	* ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
 
-Copyright (C) 2016 Free Software Foundation, Inc.
+Copyright (C) 2017 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
diff --git a/gcc/ChangeLog-2016 b/gcc/ChangeLog-2016
new file mode 100644
index 000000000000..56123f6ad18d
--- /dev/null
+++ b/gcc/ChangeLog-2016
@@ -0,0 +1,36238 @@
+2016-12-30  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* doc/cppopts.texi: Reorder table entries to put the most 
+	commonly-used options first and debug options last.
+
+2016-12-30  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*testqi_ext_3): Merge insn pattern and
+	corresponding splitter to define_insn_and_split.  Use wi::shifted_mask
+	helper function to calculate mask.
+
+2016-12-30  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/predicates.md (ext_register_operand): Do not reject
+	registers without upper parts here.
+	* config/i386/i386.md (extv<mode>): Copy registers without
+	upper parts in operand 1 to a pseudo.
+	(extzv<mode>): Ditto.
+	(insv<mode>): Ditto.
+
+2016-12-30  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/standards.texi (Standards): Remove broken reference to
+	objc.toodarkpark.net and avoid list with now just one item.
+
+2016-12-29  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/78904
+	* config/i386/i386.md (*extvqi): Remove insn pattern.
+	(divmodqi4): Update expander to generate QImode zero-extract from AH.
+
+2016-12-29  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (altivec_expand_builtin): Fix typos in
+	error messages.
+
+2016-12-29  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/extend.texi (Cilk Plus Builtins): cilkplus.org now uses
+	https by default.
+	* doc/passes.texi (Cilk Plus Transformation): Ditto.
+	* doc/generic.texi (Statements for C++): Ditto, and use @uref.
+
+2016-12-28  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/78904
+	* config/i386/constraints.md (Bn): New special memory constraint.
+	* config/i386/predicates.md (norex_memory_operand): New predicate.
+	* config/i386/i386.md (*extzvqi_mem_rex64): New insn pattern and
+	corresponding peephole2 pattern.
+
+2016-12-27  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* doc/cppdiropts.texi, doc/cppwarnopts.texi:  New files, split from...
+	* doc/cppopts.texi: .... here.
+	* doc/cpp.texi (Invocation): Adjust includes.
+	* doc/invoke.texi (Option Summary): Add missing preprocesor-related
+	options.  Adjust sorting and formatting.
+	(Warning Options): Include cppwarnopts.texi.
+	(Preprocessor Options): Add pointers and list the specific
+	preprocessor options from cppopts.texi first instead of last.
+	(Directory Options): Move/merge documentation of -I, -iquote, and
+	-I- to cppdiropts.texi.  Include that file here.
+
+2016-12-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/predicates.md (const_0_to_12_operand): Rename
+	predicate and change test from 0..11 to 0..12 to match the
+	semantics of the word extract/insert instructions.  Change all
+	callers.
+	(const_0_to_11_operand): Likewise.
+	* config/rs6000/rs6000.c (altivec_expand_builtin): Likewise.
+	* config/rs6000/vsx.md (vextract4b): Likewise.
+	(vextract4b_internal): Likewise.
+	(vinsert4b): Likewise.
+	(vinsert4b_internal): Likewise.
+	(vinsert4b_di): Likewise.
+	(vinsert4b_di_internal): Likewise.
+	* config/rs6000/rs6000.md (zero_extendsi<mode>2): Fix offset used
+	in xxextractuw to zero extend the word in the vector registers.
+	(lfiwzx): Likewise.
+
+2016-12-27  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (ix86_secondary_reload): Require QImode
+	intermediate for QImode mask register spill only for !TARGET_AVX512DQ.
+	Always use true_regnum to determine operand regno.
+
+2016-12-27  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* doc/cppopts.texi: Delete redundant documentation for -x.  Move
+	-fno-show-column documentation to...
+	* doc/invoke.texi (Diagnostic Message Formatting Options):  ...here.
+	Update the option summary.
+
+2016-12-27  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (VI_512): Remove.
+	(vcond<V_512:mode><VI_AVX512BW:mode>): Use VI_AVX512BW
+	mode iterator instead of VI_512.
+	(vcondu<V_512:mode><VI_AVX512BW:mode>): Ditto.
+
+2016-12-27  Jakub Jelinek  <jakub@redhat.com>
+
+	PR translation/78922
+	* config/i386/stringop.opt: Remove.
+
+2016-12-27  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/78904
+	* config/i386/constraints.md (Bc): New special memory constraint.
+	* config/i386/i386.md (*cmpqi_ext_1, *extvqi, *extzvqi): Use Bc
+	constraint with nonimmediate_operand to allow constant memory operands.
+	(*cmpqi_ext_3, insv<mode>_1, addqi_ext_1, *testqi_ext_1, andqi_ext_1)
+	(*<any_or:code>qi_ext_1, *xorqi_ext_1_cc): Use Bc constraint
+	with general_operand to allow constant memory operands.
+
+2016-12-27  Alexander Ivchenko  <alexander.ivchenko@intel.com>
+
+	* c-family/c.opt (flag_chkp_flexible_struct_trailing_arrays):
+	Add new option.
+	(fchkp-narrow-to-innermost-array): Fix typo.
+	* doc/cpp.texi (flag_chkp_flexible_struct_trailing_arrays): Ditto.
+	* tree-chkp.c (chkp_may_narrow_to_field ): Forbid
+	narrowing when flag_chkp_flexible_struct_trailing_arrays is used
+	and the field is the last array field in the structure.
+
+2016-12-27  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (andqi_ext_1): Use general_operand
+	predicate for operand 2.
+
+2016-12-27  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/78904
+	* config/i386/i386.md (*cmpqi_ext_1, *extvqi, *extzvqi): Use
+	nonimmediate_operand instead of nonimmediate_x64nomem_operand.
+	(*cmpqi_ext_3, insv<mode>_1, addqi_ext_1, *testqi_ext_1, andqi_ext_1)
+	(*<any_or:code>qi_ext_1, *xorqi_ext_1_cc): Use general_operand
+	instead of general_x64nomem_operand.
+	* config/i386/predicates.md (nonimmediate_x64nomem_operand): Remove.
+	(general_x64nomem_operand): Ditto.
+
+2016-12-26  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/78904
+	* config/i386/i386.md (addqi_ext_1): Canonicalize insn pattern w.r.t.
+	zero_extract RTXes.
+	(*addqi_ext_2): Ditto.
+	(testqi_ext_ccno_0): Canonicalize expander w.r.t. zero_extract RTXes.
+	(testqi_ext_1_ccno): Rename from testqi_ext_ccno_0.
+	(*testqi_ext_0): Merge with *testqi_ext_1.
+	(*testqi_ext_1): Canonicalize insn pattern w.r.t. zero_extract RTXes.
+	Update corresponding splitter.
+	(*testqi_ext_2): Canonicalize insn pattern w.r.t. zero_extract RTXes.
+	(*andqi_ext_0): Merge with *andqi_ext_1.
+	(andqi_ext_1): Canonicalize insn pattern w.r.t. zero_extract RTXes.
+	Rename from *andqi_ext_1.  Update corresponding splitter and
+	peephole2 patterns.
+	(*andqi_ext_1_cc): Rename from *andqi_ext_0_cc.
+	(*andqi_ext_2): Canonicalize insn pattern w.r.t. zero_extract RTXes.
+	(*<any_or:code>qi_ext_0): Merge with *andqi_ext_1.
+	(*<any_or:code>qi_ext_1): Canonicalize insn pattern w.r.t.
+	zero_extract RTXes.  Update corresponding splitter.
+	(*<any_or:code>qi_ext_2): Canonicalize insn pattern w.r.t.
+	zero_extract RTXes.
+	(xorqi_cc_ext_1): Canonicalize expander w.r.t. zero_extract RTXes.
+	(xorqi_ext_1_cc): Rename from xorqi_cc_ext_1.
+	(*xorqi_cc_ext_1): Canonicalize insn pattern w.r.t. zero_extract RTXes.
+	Update corresponding splitter.
+	(*xorqi_ext_1_cc): Rename from *xorqi_cc_ext_1.
+	(isinfxf2): Update calls to renamed expanders.
+	(isinf<mode>2): Ditto.
+	* config/i386/i386.c (ix86_expand_fp_compare): Ditto.
+	(ix86_emit_fp_unordered_jump): Ditto.
+	(ix86_emit_i387_round): Ditto.
+
+2016-12-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* doc/invoke.texi (SPARC options): Add missing documentation for -mlra.
+
+	* doc/cpp.texi (Invocation): Remove space in command.
+
+2016-12-25  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* doc/cpp.texi (Invocation): Revise to indicate that GCC driver
+	options are only documented in the GCC manual.
+	* doc/cppopts.texi: Delete documentation of GCC driver options
+	-o, -Wall, -Wtraditional, -Werror, -Wsystem-headers, -w,
+	-pedantic, -pedantic-errors, -std=, -ansi, --help, --target-help,
+	-v, -version.  Update -Wcomment, -Wtrigraphs, -Wundef,
+	-Wexpansion-to-defined, -Wno-endif-labels, -traditional,
+	-traditional-cpp, -trigraphs to merge text previously in GCC manual.
+	* doc/invoke.texi (Option Summary): Move -trigraphs, -traditional,
+	and -traditional-cpp from C dialect options to preprocessor options.
+	(C Dialect Options): Likewise.
+	(Warning Options): Delete documentation of -Wcomment, -Wtrigraphs,
+	-Wexpansion-to-defined, -Wundef, and -Wno-endif-labels.
+
+2016-12-24  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* tree-core.h (tree_base): Document the meaning of public_flag
+	for SSA names.
+	* tree.h (SSA_NAME_IS_VIRTUAL_OPERAND): New macro.
+	(SET_SSA_NAME_VAR_OR_IDENTIFIER): Record whether the variable
+	is a virtual operand.
+	* gimple-expr.h (virtual_operand_p): Use SSA_NAME_IS_VIRTUAL_OPERAND.
+
+2016-12-22  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	* tree-pretty-print.c (dump_generic_node): Change dump format for
+	REALPART_EXPR and IMAGPART_EXPR with TDF_GIMPLE.
+
+2016-12-22  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* varasm.c (build_constant_desc): Use the alignment of the var
+	decl instead of the original expression.
+
+2016-12-22  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	* config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Define
+	__S390_ARCH_LEVEL__.
+
+2016-12-22  Martin Liska  <mliska@suse.cz>
+
+	PR tree-optimization/78886
+	* tree-ssa-strlen.c (handle_builtin_malloc): Return when LHS
+	is equal to NULL.
+
+2016-12-22  Jakub Jelinek  <jakub@redhat.com>
+
+	PR bootstrap/78817
+	* vec.h (vec<T, va_heap, vl_ptr>::safe_grow_cleared): Revert
+	2016-12-15 change.
+
+2016-12-21  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-optimization/78580
+	* ira-costs.c (find_costs_and_classes): Make regno_aclass
+	translated into an allocno class.
+
+2016-12-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR bootstrap/78817
+	* tree-pass.h (make_pass_post_ipa_warn): Declare.
+	* builtins.c (validate_arglist): Adjust get_nonnull_args call.
+	Check for NULL pointer argument to nonnull arg here.
+	(validate_arg): Revert 2016-12-14 changes.
+	* calls.h (get_nonnull_args): Remove declaration.
+	* tree-ssa-ccp.c: Include diagnostic-core.h.
+	(pass_data_post_ipa_warn): New variable.
+	(pass_post_ipa_warn): New class.
+	(pass_post_ipa_warn::execute): New method.
+	(make_pass_post_ipa_warn): New function.
+	* tree.h (get_nonnull_args): Declare.
+	* tree.c (get_nonnull_args): New function.
+	* calls.c (maybe_warn_null_arg): Removed.
+	(maybe_warn_null_arg): Removed.
+	(initialize_argument_information): Revert 2016-12-14 changes.
+	* passes.def: Add pass_post_ipa_warn after first ccp after IPA.
+
+2016-12-21  Pat Haugen  <pthaugen@us.ibm.com>
+
+	PR rtl-optimization/11488
+	* common/config/rs6000/rs6000-common.c
+	(rs6000_option_optimization_table): Enable -fsched-pressure.
+	* config/rs6000/rs6000.c (TARGET_COMPUTE_PRESSURE_CLASSES): Define
+	target hook.
+	(rs6000_option_override_internal): Set default -fsched-pressure
+	algorithm.
+	(rs6000_compute_pressure_classes): Implement target hook.
+
+2016-12-21  Bill Seurer  <seurer@linux.vnet.ibm.com>
+
+	PR sanitizer/65479
+	* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
+	-fasynchronous-unwind-tables option when -fsanitize=address is
+	specified.
+
+2016-12-21  Bernd Schmidt  <bschmidt@redhat.com>
+
+	PR target/71321
+	* config/i386/i386.md (lea<mode>_general_2b, lea<mode>_general_3b): New
+	patterns.
+	* config/i386/predicates.md (const123_operand): New.
+
+2016-12-21  Jakub Jelinek  <jakub@redhat.com>
+	    Martin Liska  <mliska@suse.cz>
+
+	PR driver/78863
+	* gcc.c (driver::build_option_suggestions): Do not add
+	-fsanitize=all as a suggestion candidate.
+
+2016-12-21  Alexander Monakov  <amonakov@ispras.ru>
+
+	PR target/78831
+	* config/nvptx/nvptx.c (init_softstack_frame): Remove assert.  Compute
+	crtl->is_leaf only if unset.  Adjust comment.
+
+2016-12-21  Andrew Pinski  <apinski@cavium.com>
+
+	* match.pd (max:c @0 (plus@2 @0 INTEGER_CST@1)): New Pattern.
+	(min:c @0 (plus@2 @0 INTEGER_CST@1)) : New Pattern.
+
+2016-12-20  James Greenhalgh  <james.greenhalghj@arm.com>
+
+	* common.opt (excess_precision): Tag as SetByCombined.
+	* opts.c (set_fast_math_flags): Also set
+	flag_excess_precision_cmdline.
+	(fast_math_flags_set_p): Also check flag_excess_precision_cmdline.
+	* doc/invoke.texi (-fexcess-precision): Drop text saying the
+	option has no effect under -ffast-math, make it clear that
+	-ffast-math will cause -fexcess-precision=fast by default even for
+	standards compliant modes.
+	(-ffast-math): Document that this sets -fexcess-precision=fast.
+
+2016-12-20  Richard Biener  <rguenther@suse.de>
+
+	* passes.c (execute_one_pass): Handle going out of SSA w/o
+	hitting pass_startwith.  Handle skipping property providers.
+
+2016-12-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/78694
+	* config/arm/arm.c (dump_minipool): Copy mp->value before emitting it
+	in the minipool to avoid invalid RTL sharing.
+
+2016-12-19  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000-protos.h (expand_strn_compare): Declare.
+	* config/rs6000/rs6000.md (UNSPEC_CMPB): New unspec.
+	(cmpb<mode>3): pattern for generating cmpb.
+	(cmpstrnsi): pattern to expand strncmp ().
+	* config/rs6000/rs6000.opt (mstring-compare-inline-limit): Add a new
+	target option for controlling how much code inline expansion of
+	strncmp() will be allowed to generate.
+	* config/rs6000/rs6000.c (expand_strncmp_align_check): generate code
+	for runtime page crossing check of strncmp () args.
+	(expand_strn_compare): Function to do builtin expansion of strncmp ().
+
+2016-12-19  David Malcolm  <dmalcolm@redhat.com>
+
+	* print-rtl-function.c (print_rtx_function): Update
+	example in comment to reflect current format.
+
+2016-12-19  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*popcounthi2_1): New insn_and_split pattern.
+
+2016-12-19  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* doc/cpp.texi: Clean up anachronistic C99 references and remove
+	discussion of very old GCC versions.
+	(Differences from previous versions): Delete entire section.
+
+2016-12-19  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for
+	early expansion of vector multiply and subtract builtins.
+
+2016-12-19  David Malcolm  <dmalcolm@redhat.com>
+
+	* print-rtl.c (rtx_writer::print_rtx_operand_code_r): For
+	non-virtual pseudos in compact mode, wrap the regno in '<' and '>'
+	rather than using a '%' prefix.
+	* rtl-tests.c (selftest::test_dumping_regs): Update for above change.
+
+2016-12-19  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	PR target/78748
+	* config/s390/s390.md ("*andc_split_<mode>"): Allow memory destination
+	only if it coincides with operand 2.
+
+2016-12-19  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	* combine.c (change_zero_ext): Skip generation of redundant AND.
+
+2016-12-19  Krister Walfridsson  <krister.walfridsson@gmail.com>
+
+	* config/netbsd.h (LINK_EH_SPEC): Define.
+
+2016-12-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* lra-constraints.c (process_address): Add forward declaration.
+	(simplify_operand_subreg): In the MEM case, if the adjusted memory
+	reference is not sufficient aligned and the address was invalid,
+	reload the address before reloading the original memory reference.
+	Fix long lines and add a final return for the sake of clarity.
+
+2016-12-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/78832
+	* sanopt.c (sanitize_asan_mark_unpoison): Remove next variable, use
+	continue if gsi_next should be skipped.
+	(sanitize_asan_mark_poison): Remove prev variable, use continue if
+	gsi_prev should be skipped.  When removing ASAN_MARK, do gsi_prev
+	first and gsi_remove on a previously made copy of the iterator.
+
+2016-12-17  Andrew Senkevich  <andrew.senkevich@intel.com>
+
+	* config/i386/avx512bwintrin.h: Add new k-mask intrinsics.
+	* config/i386/avx512dqintrin.h: Ditto.
+	* config/i386/avx512fintrin.h: Ditto.
+	* config/i386/i386-builtin.def (__builtin_ia32_kaddqi,
+	__builtin_ia32_kaddhi, __builtin_ia32_kaddsi,
+	__builtin_ia32_kadddi): New.
+	* config/i386/sse.md (kadd<mode>): New.
+
+2016-12-17  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*tzcnt<mode>_1): Merge *tzcnt<mode>_1_falsedep_1
+	and *tzcnt<mode>_1 to define_insn_and_split pattern.  Adjust split
+	condition to split after epilogue_completed.
+	(ctz<mode>2): Remove expander.
+	(ctz<mode>2): Merge *ctz<mode>2_falsedep_1 and *ctz<mode>2 to
+	define_insn_and_split pattern.  Adjust split condition to split
+	after epilogue_completed.
+	(clz<mode>2_lznct): Remove expander.
+	(clz<mode>2_lzcnt): Merge *clz<mode>2_lzcnt_falsedep_1 and
+	*clz<mode>2 to define_insn_and_split pattern.  Adjust split
+	condition to split after epilogue_completed.
+	(<lt_zcnt>_<mode>): Remove expander.
+	(<lt_zcnt>_<mode>): Merge *<lt_zcnt>_<mode>_falsedep_1 and
+	*<lt_zcnt>_<mode> to define_insn_and_split pattern.  Adjust split
+	condition to split after epilogue_completed.
+	(<lt_zcnt>_hi): New insn pattern.
+	(popcount<mode>2): Remove expander.
+	(popcount<mode>2): Merge *popcount<mode>2_falsedep_1 and
+	*popcount<mode>2 to define_insn_and_split pattern.  Adjust split
+	condition to split after epilogue_completed.
+	(popcounthi2): New insn pattern.
+
+2016-12-16  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+	* config/rs6000/altivec.md (UNSPEC_CMPRB): New unspec value.
+	(UNSPEC_CMPRB2): New unspec value.
+	(UNSPEC_CMPEQB): New unspec value.
+	(cmprb): New expansion.
+	(*cmprb_internal): New insn.
+	(*setb_internal): New insn.
+	(cmprb2): New expansion.
+	(*cmprb2_internal): New insn.
+	(cmpeqb): New expansion.
+	(*cmpeqb_internal): New insn.
+	* config/rs6000/rs6000-builtin.def (BU_P9_2): New macro.
+	(BU_P9_64BIT_2): Likewise.
+	(BU_P9_OVERLOAD_2): Likewise.
+	(CMPRB): Add byte-in-range built-in function.
+	(CMBRB2): Add byte-in-either-range built-in function.
+	(CMPEQB): Add byte-in-set built-in function.
+	(CMPRB): Add overload support for byte-in-range function.
+	(CMPRB2): Add overload support for byte-in-either-range function.
+	(CMPEQB): Add overload support for byte-in-set built-in function.
+	* config/rs6000/rs6000-c.c (P9_BUILTIN_CMPRB): Macro expansion to
+	define argument types for new builtin.
+	(P9_BUILTIN_CMPRB2): Likewise.
+	(P9_BUILTIN_CMPEQB): Likewise.
+	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Rearrange
+	the order of presentation for certain built-in functions
+	(scalar_extract_exp, scalar_extract_sig, scalar_insert_exp)
+	(scalar_cmp_exp_gt, scalar_cmp_exp_lt, scalar_cmp_exp_eq)
+	(scalar_cmp_exp_unordered, scalar_test_data_class)
+	(scalar_test_neg) to improve locality and flow.  Document
+	the new __builtin_scalar_byte_in_set,
+	__builtin_scalar_byte_in_range, and
+	__builtin_scalar_byte_in_either_range functions.
+
+2016-12-16  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64.md: New define_split above bswap<mode>2.
+
+2016-12-16  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64.md: New define_split above insv<mode>.
+
+2016-12-16  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/78408
+	* tree-ssa-ccp.c: Include tree-dfa.h.
+	(optimize_memcpy): New function.
+	(pass_fold_builtins::execute): Use it.  Remove useless conditional
+	break after BUILT_IN_VA_*.
+
+2016-12-16  Marek Polacek  <polacek@redhat.com>
+
+	PR tree-optimization/78819
+	* tree-vrp.c (find_switch_asserts): Return if the insertion limit is 0.
+	Don't register an assertion if the default case shares a label with
+	another case.
+
+2016-12-16  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/arm/arm.md (subsi3_carryin): Add Thumb-2 RSC #0.
+	(arm_negdi2) Rename to negdi2_insn, allow on Thumb-2.
+	* config/arm/thumb2.md (thumb2_negdi2): Remove pattern.
+
+2016-12-16  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/arm/arm.c (thumb_core_reg_alloc_order): Swap R12 and R14.
+
+2016-12-16  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.md (call_prof): Remove.
+	(call_value_prof): Likewise.
+	(sibcall_prof): Likewise.
+	(sibcall_value_prof): Likewise.
+
+2016-12-16  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.h (LINK_SPEC): Tidy up.
+	(ENDFILE_SPEC): Likewise.
+	(LIB_SPEC): Likewise.
+	(STARTFILE_SPEC): Include gcrt0 when profiling.
+	(FUNCTION_PROFILER): Use __mcount.
+	* config/arc/arc.opt (mucb-mcount): Remove.
+	* doc/invoke.texi (ARC): Remove mucb-mcount doc.
+	* arc/arc-protos.h (arc_profile_call): Remove.
+	* config/arc/arc.c (write_profile_sections): Likewise.
+	(arc_profile_call): Likewise.
+	(unspec_prof_hash): Likewise.
+	(unspec_prof_htab_eq): Likewise.
+	(arc_legitimate_constant_p): Remove UNSPEC_PROF.
+	(arc_reorg): Remove call to write_profile_sections.
+	* config/arc/arc.md (call): Remove call to arc_profile_call.
+	(call_value): Likewise.
+	(sibcall): Likewise.
+	(sibcall_value): Likewise.
+	(define_constants): Remove UNSPEC_PROF.
+
+2016-12-16  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.md (mulsidi_600): Change to insn_and_split,
+	generate new mul64 insn for core multiplication work.
+	(umulsidi_600): Likewise, but use mulu64 insn.
+	(mul64): New pattern, content taken from old mulsidi_600 insn pattern.
+	(mulu64): Likewise, but using umulsidi_600.
+	(mulsidi3): Remove move to destination, this is now handled by
+	mulsidi_600 insn_and_split.
+	(umulsidi3): Likewise, but using umulsidi_600.
+
+2016-12-16  Richard Biener  <rguenther@suse.de>
+
+	PR c++/71694
+	* langhooks-def.h (lhd_unit_size_without_reusable_padding): Declare.
+	(LANG_HOOKS_UNIT_SIZE_WITHOUT_REUSABLE_PADDING): Define.
+	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Adjust.
+	* langhooks.h (struct lang_hooks_for_types): Add
+	unit_size_without_reusable_padding.
+	* langhooks.c (lhd_unit_size_without_reusable_padding): New.
+	* stor-layout.c (finish_bitfield_representative): Use
+	unit_size_without_reusable_padding langhook to decide on the
+	last representatives size.
+
+2016-12-16  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/71632
+	* expr.c (expand_cond_expr_using_cmove): Bail out early if
+	we end up recursing via TER.
+
+2016-12-15  Martin Sebor  <msebor@redhat.com>
+
+	PR bootstrap/78817
+	* vec.h (vec<T, va_heap, vl_ptr>::safe_grow_cleared): Assert
+	a pointer is non-null.
+
+2016-12-15  Andrew Senkevich  <andrew.senkevich@intel.com>
+
+	* config/i386/avx512bwintrin.h: Add new k-mask intrinsics.
+	* config/i386/avx512dqintrin.h: Ditto.
+	* config/i386/avx512fintrin.h: Ditto.
+	* config/i386/i386-builtin.def (__builtin_ia32_kmovb,
+	__builtin_ia32_kmovd, __builtin_ia32_kmovq): New.
+	(__builtin_ia32_kmov16): Rename to __builtin_ia32_kmovw.
+	* config/i386/sse.md (kmov<mskmodesuffix>): New.
+
+2016-12-15  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (ffs<mode>2): Generate CCCmode flags register
+	for TARGET_BMI.
+	(ffssi2_no_cmove): Ditto.
+	(*tzcnt<mode>_1_falsedep_1): New insn_and_split pattern.
+	(*tzcnt<mode>_1_falsedep): New insn pattern.
+
+	(LT_ZCNT): New mode iterator.
+	(lt_zcnt): New mode attribute.
+	(lt_zcnt_type): New mode attribute.
+	(<lt_zcnt>_<mode>): Macroize expander from bmi_tzcnt_<mode> and
+	lzcnt_<mode> using LT_ZCNT mode iterator.
+	(*<lt_zcnt>_<mode>_falsedep_1): Macroize insn from
+	*bmi_tzcnt_<mode>_falsedep_1 and *lzcnt_<mode>_falsedep_1
+	using LT_ZCNT mode iterator.
+	(*<lt_zcnt>_<mode>_falsedep): Macroize insn from
+	*bmi_tzcnt_<mode>_falsedep and *lzcnt_<mode>_falsedep
+	using LT_ZCNT mode iterator.
+	(*<lt_zcnt>_<mode>): Macroize insn from *bmi_tzcnt_<mode>
+	and *lzcnt_<mode> using LT_ZCNT mode iterator.
+	* config/i386/i386-builtin.def (__builtin_ia32_tzcnt_u16)
+	(__builtin_ia32_tzcnt_u32, __builtin_ia32_tzcnt_u64, __builtin_ctzs):
+	Update for rename.
+
+2016-12-15  Jakub Jelinek  <jakub@redhat.com>
+
+	* ipa-cp.c (class ipcp_bits_lattice): Formatting fixes.
+	(print_ipcp_constant_value): Likewise.
+	(ipcp_cloning_candidate_p): Likewise.
+	(ipcp_bits_lattice::get_value_and_mask): Likewise.
+	(ipcp_bits_lattice::meet_with_1): Likewise.
+	(ipcp_bits_lattice::meet_with): Likewise.
+	(initialize_node_lattices): Likewise.
+	(ipcp_lattice::add_value): Likewise.
+	(propagate_vals_accross_pass_through): Renamed to ...
+	(propagate_vals_across_pass_through): ... this function.
+	(propagate_vals_accross_ancestor): Renamed to ...
+	(propagate_vals_across_ancestor): ... this.
+	(propagate_scalar_accross_jump_function): Renamed to ...
+	(propagate_scalar_across_jump_function): ... this.
+	Adjust calls to above functions.
+	(propagate_context_accross_jump_function): Renamed to ...
+	(propagate_context_across_jump_function): ... this.
+	(propagate_bits_accross_jump_function): Renamed to ...
+	(propagate_bits_accross_jump_function): ... this.  Formatting fixes.
+	(propagate_vr_accross_jump_function): Renamed to ...
+	(propagate_vr_across_jump_function): ... this.
+	(merge_agg_lats_step): Formatting fixes.
+	(propagate_constants_accross_call): Renamed to ...
+	(propagate_constants_across_call): ... this.  Adjust calls to above
+	functions.
+	(ipa_get_indirect_edge_target_1): Formatting fixes.
+	(gather_context_independent_values): Likewise.
+	(estimate_local_effects): Likewise.
+	(add_all_node_vals_to_toposort): Likewise.
+	(propagate_constants_topo): Adjust calls to above functions.
+	(get_replacement_map): Formatting fixes.
+	(dump_profile_updates): Likewise.
+	(update_profiling_info): Likewise.
+	(update_specialized_profile): Likewise.
+	(create_specialized_node): Likewise.
+	(find_more_contexts_for_caller_subset): Likewise.
+	(decide_whether_version_node): Likewise.
+	(identify_dead_nodes): Likewise.
+	(ipcp_decision_stage): Likewise.
+	(ipcp_store_bits_results): Likewise.
+	(ipcp_store_vr_results): Likewise.
+	(ipcp_driver): Likewise.
+
+2016-12-15  David Malcolm  <dmalcolm@redhat.com>
+
+	PR preprocessor/78680
+	PR preprocessor/78811
+	* input.c (struct selftest::lexer_test): Add field
+	m_implicitly_expect_EOF.
+	(selftest::lexer_error_sink): New class.
+	(selftest::lexer_error_sink::s_singleton): New global.
+	(selftest::lexer_test::lexer_test): Initialize new field
+	"m_implicitly_expect_EOF".
+	(selftest::lexer_test::~lexer_test): Conditionalize the
+	check for the EOF token on the new field.
+	(selftest::test_lexer_string_locations_raw_string_unterminated):
+	New function.
+	(selftest::input_c_tests): Call the new test.
+
+2016-12-15  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/arm/arm.h (TARGET_BACKTRACE): Use crtl->is_leaf.
+	* config/arm/arm.c (arm_option_check_internal): Improve comment.
+	(thumb_force_lr_save): Use crtl->is_leaf.
+	(arm_get_frame_offsets): Remove comment.  Use crtl->is_leaf.
+	(thumb_far_jump_used_p): Remove comment.
+	(arm_frame_pointer_required): Use crtl->is_leaf.
+
+2016-12-15  Jakub Jelinek  <jakub@redhat.com>
+
+	* doc/extend.texi: Clean up @xref{...} uses.
+	* doc/invoke.texi: Likewise.
+
+2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm-fpus.def: Add CNAME field to all FPU definitions.
+	* genopt.sh: Use explicit enumeration tags for FPU entries.
+	* arm-tables.opt: Regenerated.
+	* arm.opt (mfpu): Provide initial value.
+	* arm-opts.h (enum fpu_type): Build the enumeration from the list of
+	available FPUs.  Add 'auto' entry on the end.
+	* arm.c (arm_configure_build_target): Only do explicit configuration
+	of the FPU features if the selected FPU is not 'auto'.
+	(arm_option_override): Adjust initialization of arm_fpu_index.
+	Emit an error if we have a hard float ABI request, but the processor
+	does not support floating-point.
+	(arm_option_print): Handle -mfpu=auto.
+	(arm_valid_target_attribute_rec): Don't permit fpu=auto in pragmas
+	or function attributes.
+	(arm_identify_fpu_from_isa): Handle effective soft-float when
+	the FPU is automatically detected.
+	* arm-cores.def (arm1136jf-s): Add feature ISA_FP_DBL.
+	(arm1176jzf-s): Likewise.
+	(mpcore): Likewise.
+	(arm1156t2f-s): Likewise.
+
+2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm-fpus.def (ARM_FPU): Remove features field from all definitions.
+	* arm.h (arm_fpu_feature_set): Delete typedef.
+	(FPU_FL_NONE): Delete.
+	(FPU_FL_NEON): Delete.
+	(FPU_FL_FP16): Delete.
+	(FPU_FL_CRYPTO): Delete.
+	(FPU_FL_DBL): Delete.
+	(FPU_FL_D32): Delete.
+	(FPU_FL_VFPv2): Delete.
+	(FPU_FL_VFPv3): Delete.
+	(FPU_FL_VFPv4): Delete.
+	(FPU_FL_VFPv5): Delete.
+	(FPU_FL_AMRv8): Delete.
+	(FPU_VFPv2): Delete.
+	(FPU_VFPv3): Delete.
+	(FPU_VFPv4): Delete.
+	(FPU_VFPv5): Delete.
+	(FPU_ARMv8): Delete.
+	(FPU_DBL): Delete.
+	(FPU_D32): Delete.
+	(FPU_NEON): Delete.
+	(FPU_CRYPTO): Delete.
+	(FPU_FP16): Delete.
+	(arm_fpu_desc): Delete features field.
+	* arm.c (all_fpus): Don't initialize feature field.
+
+2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm.c (arm_can_inline_p): Use ISA features for determining
+	inlinability.
+
+2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm-protos.h (arm_configure_build_target): Change second argument
+	to cl_target_options.
+	* arm.c (arm_configure_build_target): Likewise.
+	(arm_option_restore): Update accordingly.
+	(arm_option_override): Create the target_option_default_node before
+	calling arm_configure_build_target.  Use it in call of latter.
+	Resynchronize after all other overrides have been calculated.
+	(arm_valid_target_attribute_tree): Use the target options for
+	reconfiguration.  Resynchronize after performing override checks.
+	* arm-c.c (arm_pragma_target_parse): Use target optiosn from cur_tree
+	to reconfigure the build target.
+
+2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm.h (TARGET_VFPD32): Use arm_active_target.
+	(TARGET_VFP3): Likewise.
+	(TARGET_VFP5): Likewise.
+	(TARGET_VFP_SINGLE): Likewise.
+	(TARGET_VFP_DOUBLE): Likewise.
+	(TARGET_NEON_FP16): Likewise.
+	(TARGET_FP16): Likewise.
+	(TARGET_FMA): Likewise.
+	(TARGET_FPU_ARMV8): Likewise.
+	(TARGET_CRYPTO): Likewise.
+	(TARGET_NEON): Likewise.
+	(TARGET_FPU_FEATURES): Delete.
+	* arm.c (arm_option_check_internal): Check for iwmmxt conflict with
+	Neon using arm_active_target.
+
+2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm.h (TARGET_FPU_NAME): Delete.
+	* arm.c (arm_identify_fpu_from_isa): New function.
+	(arm_declare_function_name): Use it to get the name for the FPU.
+
+2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm-protos.h: Include sbitmap.h
+	(arm_configure_build_target): Make public.
+	* arm.c (arm_configure_build_target): Now not static.
+	(arm_valid_target_attribute_rec): Move internal option check to...
+	(arm_valid_target_attribute_tree0: ... here.  Also reconfingure the
+	active target.
+	(arm_override_options_after_change): Call arm_configure_build_target.
+	(isa_all_fpubits): Renamed from isa_fpubits.
+	(arm_option_restore): New function.
+	(TARGET_OPTION_RESTORE): Register it.
+	(arm_configure_build_target): Initialize the FPU capability bits in
+	the isa.
+	(arm_option_override): Move the code that forces the setting of the
+	FPU option before the call to arm_configure_build_target.
+	* arm.opt (march): Mark as Save.
+	(mcpu, mtune): Likewise.
+	* arm-c.c (arm_pragma_target_parse): Reconfigure the build target
+	after pragmas change the target options.
+
+2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm-isa.h (isa_feature): Add bits for VFPv4, FPv5, fp16conv,
+	fP_dbl, fp_d32 and fp_crypto.
+	(ISA_ALL_FPU): Add all the new bits.
+	(ISA_VFPv2, ISA_VFPv3, ISA_VFPv4, ISA_FPv5): New macros.
+	(ISA_FP_ARMv8, ISA_FP_DBL, ISA_FP_D32, ISA_NEON, ISA_CRYPTO): Likewise.
+	* arm-fpus.def: Add ISA features to all FPUs.
+	* arm.h: (arm_fpu_desc): Add new field for ISA bits.
+	* arm.c (all_fpus): Initialize it.
+	* arm-tables.opt: Regenerated.
+
+2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm.h (FPU_FL_VFPv2) New feature bit.
+	(FPU_FL_VFPv3, FPU_FL_VFPv4, FPU_FL_VFPv5, FPU_FL_ARMv8): Likewise.
+	(FPU_VFPv2, FPU_VFPv3, FPU_VFPv4, FPU_VFPv5, FPU_ARMv8): New helper
+	macros.
+	(FPU_DBL, FPU_D32, FPU_NEON, FPU_CRYPTO, FPU_FP16): Likewise.
+	(TARGET_FPU_REV): Delete.
+	(TARGET_VFP3): Use feature bits.
+	(TARGET_VFP5): Likewise.
+	(TARGET_FMA): Likewise.
+	(TARGET_FPU_ARMV8): Likewise.
+	(struct arm_fpu_desc): Delete rev field.
+	* arm-fpus.def: Delete REV entry, use new feature bits and macros.
+	* arm.c (all_fpus): Delete rev field.
+
+2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm.h (vfp_reg_type): Delete.
+	(TARGET_FPU_REGS): Delete.
+	(arm_fpu_desc): Delete regs field.
+	(FPU_FL_NONE, FPU_FL_NEON, FPU_FL_FP16, FPU_FL_CRYPTO): Use unsigned
+	values.
+	(FPU_FL_DBL, FPU_FL_D32): Define.
+	(TARGET_VFPD32): Use feature test.
+	(TARGET_VFP_SINGLE): Likewise.
+	(TARGET_VFP_DOUBLE): Likewise.
+	* arm-fpus.def: Update all entries for new feature bits.
+	* arm.c (all_fpus): Update initializer macro.
+	(arm_can_inline_p): Remove test on fpu regs.
+
+2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm.h (arm_fp_model): Delete.
+
+2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm-cores.def: Remove FLAGS field from all core definitions.
+	* arm-arches.def: Likewise.
+	* arm-opts.h (enum processor_type): Remove FLAGS parameter from
+	ARM_CORES macro.
+	(arm_arch_core_flags): Likewise, plus ARM_ARCH macro.
+	* arm-protos.h (FL_*): Delete.
+	(arm_feature_set): Delete.
+	(ARM_FSET_*): Delete.
+	* arm.c (struct processors): Delete flags field.
+	(all_cores): Delete FLAGS parameter from macro, don't initialize flags.
+	(all architectures): Likewise.
+
+2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm-opts.h (struct arm_arch_core_flag): Add new field ISA.
+	Initialize it.
+	(arm_arch_core_flag): Delete flags field.
+	(arm_arch_core_flags): Don't initialize flags field.
+	* common/config/arm/arm-common.c (check_isa_bits_for): New function.
+	(arm_target_thumb_only): Use new isa bits arrays.
+
+2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm-protos.h (insn_flags): Delete declaration.
+	(arm_arch7ve): Declare.
+	* arm.c (insn_flags): Delete.
+	(arm_arch7ve): New variable.
+	(arm_selected_cpu): Delete.
+	(arm_option_check_internal): Use new ISA bitmap.
+	(arm_option_override_internal): Likewise.
+	(arm_configure_build_target): Declare arm_selected_cpu locally.
+	(arm_option_override): Use new ISA bitmap.  Initialize arm_arch7ve.
+	Rearrange variable intialization by general function.
+	* arm.h (TARGET_HAVE_LPAE): Use arm_arch7ve.
+
+2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm-builtins.c: Include sbitmap.h.
+	(def_mbuiltin): Change first parameter to a flag bit.  Use it to test
+	available features in the current target.
+	(struct builtin_description): Change type of feature field.
+	(IWMMXT_BUILTIN): Use the isa_features types.
+	(IWMMXT2_BUILTIN): Likewise.
+	(IWMMXT_BUILTIN2): Likewise.
+	(IWMMXT2_BUILTIN2): Likewise.
+	(CRC32_BUILTIN): Likewise.
+	(CRYPTO_BUILTIN): Likewise.
+	(iwmmx_builtin): Likewise.
+	(iwmmx2_builtin): Likewise.
+	(arm_iwmmxt_builtin): Check for specific feature bits.
+
+2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm-isa.h (enum isa_feature): Add isa_quirk_cm3_ldrd.
+	(ISA_ALL_QUIRKS): New macro.
+	* arm-cores.def (cortex-m3): Add isa_quirk_cm3_ldrd to isa feature list.
+	* arm.c (isa_quirkbits): New feature-list bitmap.
+	(arm_configure_build_target): Ignore quirk bits when comparing an
+	architecture feature list with a CPU feature list.
+	(arm_option_override): Initialize_isa_quirkbits.  If the user has
+	not specified -m[no-]fix-cortex-m3-ldrd, automatically enable the
+	feature if isa_quirk_cm3_ldrd appears in the isa feature list.
+
+2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm.c (arm_option_override): Use arm_active_target as source of
+	information for arm_base_arch and arm_arch_name.
+	* (arm_file_start): Use arm_active_target for core name.
+
+2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm.c (arm_selected_tune): Delete static variable.
+	(arm_selected_arch): Likewise.
+	(arm_configure_build_target): Declare local versions of arm_selected
+	target and arm_selected_arch.  Initialize more fields in target
+	data structure.
+	(arm_option_override): Use arm_active_target instead of
+	arm_selected_tune and arm_selected_arch.
+	(asm_file_start): Use arm_active_target.
+
+2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm-protos.h (arm_build_target): New structure.
+	(arm_active_target): Declare it.
+	* arm.c (arm_active_target): New variable.
+	(bitmap_popcount): New function.
+	(feature_count): Delete.
+	(arm_initialize_isa): New function.
+	isa_fpubits): New variable.
+	(arm_configure_build_target): New function.
+	(arm_option_override): Initialize isa_fpubits and arm_active_target.isa.
+	Use arm_configure_build_target.
+
+2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm-isa.h: New file.
+	* arm-protos.h: Include it.
+	* arm-arches.def: Add new ISA field to all entries.  Drop bogus
+	armv8.1-a+crc architecture.
+	* arm-cores.def: Similarly.  Group ARMv8 cores by profile.
+	* arm-opts.h (enum processor_type): Adjust for new field.
+	* arm.c (struct processors): New field 'isa_bits'.
+	(all_cores, all_architectures): Initialize new field.
+	* arm-tables.opt: Regenerated.
+	* arm-tune.md: Regenerated.
+
+2016-12-15  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm-arches.def (ARM_ARCH): Add extra field TUNE_FLAGS, move
+	tuning properties from architectural FLAGS field.
+	* arm-cores.def (ARM_CORE): Likewise.
+	* arm-protos.h (TF_LDSCHED, TF_WBUF, TF_CO_PROC): New macros.
+	(TF_SMALLMUL, TF_STRONG, TF_SCALE, TF_NOMODE32): New macros.
+	(FL_LDSCHED, FL_STRONG, FL_WBUF, FL_SMALLMUL): Delete.
+	(FL_TUNE): Remove deleted elements.
+	(tune_flags): Convert type to unsigned int.
+	* arm.c (struct processors): Add new field tune_flags.
+	(all_cores, all_arches): Initialize it.
+	(arm_option_override): Adapt uses of tune_flags.  Use tune_flags
+	for deciding when we should have slow multiply operations.
+
+2016-12-14  Martin Sebor  <msebor@redhat.com>
+
+	PR middle-end/78519
+	* gimple-ssa-sprintf.c (format_string): Handle null pointers.
+	(format_directive): Diagnose null pointer arguments.
+	(pass_sprintf_length::handle_gimple_call): Diagnose null destination
+	pointers.  Correct location of null format string in diagnostics.
+
+2016-12-14  David Malcolm  <dmalcolm@redhat.com>
+
+	* Makefile.in (SELFTEST_FLAGS): Add path argument to -fself-test.
+	(s-selftest): Add dependency on the selftests data directory.
+	* common.opt (fself-test): Rename to...
+	(fself-test=): ...this, documenting the meaning of the argument.
+	* selftest-run-tests.c (along): Likewise.
+	* selftest-run-tests.c: Include "options.h".
+	(selftest::run_tests): Initialize selftest::path_to_selftest_files
+	from flag_self_test.
+	* selftest.c (selftest::path_to_selftest_files): New global.
+	(selftest::locate_file): New function.
+	(selftest::test_locate_file): New function.
+	(selftest_c_tests): Likewise.
+	(selftest::selftest_c_tests): Call test_locate_file.
+	* selftest.h (selftest::locate_file): New decl.
+	(selftest::path_to_selftest_files): New decl.
+
+2016-12-14  Andrew Pinski  <apinski@cavium.com>
+
+	* config/aarch64/aarch64-cores.def: Add -1 as the variant to all
+	of the cores.
+	(thunderx): Update to include LSE by default.
+	(thunderxt88p1): New core.
+	(thunderxt88): New core.
+	(thunderxt81): New core.
+	(thunderxt83): New core.
+	* config/aarch64/driver-aarch64.c (struct aarch64_core_data):
+	Add variant field.
+	(ALL_VARIANTS): New define.
+	(AARCH64_CORE): Support VARIANT operand.
+	(cpu_data): Likewise.
+	(host_detect_local_cpu): Parse variant field of /proc/cpuinfo.
+	Combine the arch and single core case and support variant searching.
+	* common/config/aarch64/aarch64-common.c (AARCH64_CORE):
+	Add VARIANT operand.
+	* config/aarch64/aarch64-opts.h (AARCH64_CORE): Likewise.
+	* config/aarch64/aarch64.c (AARCH64_CORE): Likewise.
+	* config/aarch64/aarch64.h (AARCH64_CORE): Likewise.
+	* config/aarch64/aarch64-tune.md: Regenerate.
+	* doc/invoke.texi (AARCH64/mtune): Document thunderxt88,
+	thunderxt88p1, thunderxt81, thunderxt83 as available options.
+
+2016-12-14  Martin Jambor  <mjambor@suse.cz>
+
+	* omp-offload.c: Fix coding style.
+	* omp-expand.c: Likewise.
+	* omp-general.c: Likewise.
+	* omp-grid.c: Likewise.
+	* omp-low.c: Fix coding style of parts touched by the
+	previous splitting patch.
+
+2016-12-14  Martin Jambor  <mjambor@suse.cz>
+
+	* omp-general.h: New file.
+	* omp-general.c: New file.
+	* omp-expand.h: Likewise.
+	* omp-expand.c: Likewise.
+	* omp-offload.h: Likewise.
+	* omp-offload.c: Likewise.
+	* omp-grid.c: Likewise.
+	* omp-grid.c: Likewise.
+	* omp-low.h: Include omp-general.h and omp-grid.h.  Removed includes
+	of params.h, symbol-summary.h, lto-section-names.h, cilk.h, tree-eh.h,
+	ipa-prop.h, tree-cfgcleanup.h, cfgloop.h, except.h, expr.h, stmt.h,
+	varasm.h, calls.h, explow.h, dojump.h, flags.h, tree-into-ssa.h,
+	tree-cfg.h, cfganal.h, alias.h, emit-rtl.h, optabs.h, expmed.h,
+	alloc-pool.h, cfghooks.h, rtl.h and memmodel.h.
+	(omp_find_combined_for): Declare.
+	(find_omp_clause): Renamed to omp_find_clause and moved to
+	omp-general.h.
+	(free_omp_regions): Renamed to omp_free_regions and moved to
+	omp-expand.h.
+	(replace_oacc_fn_attrib): Renamed to oacc_replace_fn_attrib and moved
+	to omp-general.h.
+	(set_oacc_fn_attrib): Renamed to oacc_set_fn_attrib and moved to
+	omp-general.h.
+	(build_oacc_routine_dims): Renamed to oacc_build_routine_dims and
+	moved to omp-general.h.
+	(get_oacc_fn_attrib): Renamed to oacc_get_fn_attrib and moved to
+	omp-general.h.
+	(oacc_fn_attrib_kernels_p): Moved to omp-general.h.
+	(get_oacc_fn_dim_size): Renamed to oacc_get_fn_dim_size and moved to
+	omp-general.c.
+	(omp_expand_local): Moved to omp-expand.h.
+	(make_gimple_omp_edges): Renamed to omp_make_gimple_edges and moved to
+	omp-expand.h.
+	(omp_finish_file): Moved to omp-offload.h.
+	(default_goacc_validate_dims): Renamed to
+	oacc_default_goacc_validate_dims and moved to omp-offload.h.
+	(offload_funcs, offload_vars): Moved to omp-offload.h.
+	* omp-low.c: Include omp-general.h, omp-offload.h and omp-grid.h.
+	(omp_region): Moved to omp-expand.c.
+	(omp_for_data_loop): Moved to omp-general.h.
+	(omp_for_data): Likewise.
+	(oacc_loop): Moved to omp-offload.c.
+	(oacc_loop_flags): Moved to omp-general.h.
+	(offload_funcs, offload_vars): Moved to omp-offload.c.
+	(root_omp_region): Moved to omp-expand.c.
+	(omp_any_child_fn_dumped): Likewise.
+	(find_omp_clause): Renamed to omp_find_clause and moved to
+	omp-general.c.
+	(is_combined_parallel): Moved to omp-expand.c.
+	(is_reference): Renamed to omp_is_reference and and moved to
+	omp-general.c.
+	(adjust_for_condition): Renamed to omp_adjust_for_condition and moved
+	to omp-general.c.
+	(get_omp_for_step_from_incr): Renamed to omp_get_for_step_from_incr
+	and moved to omp-general.c.
+	(extract_omp_for_data): Renamed to omp_extract_for_data and moved to
+	omp-general.c.
+	(workshare_safe_to_combine_p): Moved to omp-expand.c.
+	(omp_adjust_chunk_size): Likewise.
+	(get_ws_args_for): Likewise.
+	(get_base_type): Removed.
+	(dump_omp_region): Moved to omp-expand.c.
+	(debug_omp_region): Likewise.
+	(debug_all_omp_regions): Likewise.
+	(new_omp_region): Likewise.
+	(free_omp_region_1): Likewise.
+	(free_omp_regions): Renamed to omp_free_regions and moved to
+	omp-expand.c.
+	(find_combined_for): Renamed to omp_find_combined_for, made global.
+	(build_omp_barrier): Renamed to omp_build_barrier and moved to
+	omp-general.c.
+	(omp_max_vf): Moved to omp-general.c.
+	(omp_max_simt_vf): Likewise.
+	(gimple_build_cond_empty): Moved to omp-expand.c.
+	(parallel_needs_hsa_kernel_p): Likewise.
+	(expand_omp_build_assign): Moved declaration to omp-expand.c.
+	(expand_parallel_call): Moved to omp-expand.c.
+	(expand_cilk_for_call): Likewise.
+	(expand_task_call): Likewise.
+	(vec2chain): Likewise.
+	(remove_exit_barrier): Likewise.
+	(remove_exit_barriers): Likewise.
+	(optimize_omp_library_calls): Likewise.
+	(expand_omp_regimplify_p): Likewise.
+	(expand_omp_build_assign): Likewise.
+	(expand_omp_taskreg): Likewise.
+	(oacc_collapse): Likewise.
+	(expand_oacc_collapse_init): Likewise.
+	(expand_oacc_collapse_vars): Likewise.
+	(expand_omp_for_init_counts): Likewise.
+	(expand_omp_for_init_vars): Likewise.
+	(extract_omp_for_update_vars): Likewise.
+	(expand_omp_ordered_source): Likewise.
+	(expand_omp_ordered_sink): Likewise.
+	(expand_omp_ordered_source_sink): Likewise.
+	(expand_omp_for_ordered_loops): Likewise.
+	(expand_omp_for_generic): Likewise.
+	(expand_omp_for_static_nochunk): Likewise.
+	(find_phi_with_arg_on_edge): Likewise.
+	(expand_omp_for_static_chunk): Likewise.
+	(expand_cilk_for): Likewise.
+	(expand_omp_simd): Likewise.
+	(expand_omp_taskloop_for_outer): Likewise.
+	(expand_omp_taskloop_for_inner): Likewise.
+	(expand_oacc_for): Likewise.
+	(expand_omp_for): Likewise.
+	(expand_omp_sections): Likewise.
+	(expand_omp_single): Likewise.
+	(expand_omp_synch): Likewise.
+	(expand_omp_atomic_load): Likewise.
+	(expand_omp_atomic_store): Likewise.
+	(expand_omp_atomic_fetch_op): Likewise.
+	(expand_omp_atomic_pipeline): Likewise.
+	(expand_omp_atomic_mutex): Likewise.
+	(expand_omp_atomic): Likewise.
+	(oacc_launch_pack): and moved to omp-general.c, made public.
+	(OACC_FN_ATTRIB): Likewise.
+	(replace_oacc_fn_attrib): Renamed to oacc_replace_fn_attrib and moved
+	to omp-general.c.
+	(set_oacc_fn_attrib): Renamed to oacc_set_fn_attrib and moved to
+	omp-general.c.
+	(build_oacc_routine_dims): Renamed to oacc_build_routine_dims and
+	moved to omp-general.c.
+	(get_oacc_fn_attrib): Renamed to oacc_get_fn_attrib and moved to
+	omp-general.c.
+	(oacc_fn_attrib_kernels_p): Moved to omp-general.c.
+	(oacc_fn_attrib_level): Moved to omp-offload.c.
+	(get_oacc_fn_dim_size): Renamed to oacc_get_fn_dim_size and moved to
+	omp-general.c.
+	(get_oacc_ifn_dim_arg): Renamed to oacc_get_ifn_dim_arg and moved to
+	omp-general.c.
+	(mark_loops_in_oacc_kernels_region): Moved to omp-expand.c.
+	(grid_launch_attributes_trees): Likewise.
+	(grid_attr_trees): Likewise.
+	(grid_create_kernel_launch_attr_types): Likewise.
+	(grid_insert_store_range_dim): Likewise.
+	(grid_get_kernel_launch_attributes): Likewise.
+	(get_target_argument_identifier_1): Likewise.
+	(get_target_argument_identifier): Likewise.
+	(get_target_argument_value): Likewise.
+	(push_target_argument_according_to_value): Likewise.
+	(get_target_arguments): Likewise.
+	(expand_omp_target): Likewise.
+	(grid_expand_omp_for_loop): Moved to omp-grid.c.
+	(grid_arg_decl_map): Likewise.
+	(grid_remap_kernel_arg_accesses): Likewise.
+	(grid_expand_target_grid_body): Likewise.
+	(expand_omp): Renamed to omp_expand and moved to omp-expand.c.
+	(build_omp_regions_1): Moved to omp-expand.c.
+	(build_omp_regions_root): Likewise.
+	(omp_expand_local): Likewise.
+	(build_omp_regions): Likewise.
+	(execute_expand_omp): Likewise.
+	(pass_data_expand_omp): Likewise.
+	(pass_expand_omp): Likewise.
+	(make_pass_expand_omp): Likewise.
+	(pass_data_expand_omp_ssa): Likewise.
+	(pass_expand_omp_ssa): Likewise.
+	(make_pass_expand_omp_ssa): Likewise.
+	(grid_lastprivate_predicate): Renamed to
+	omp_grid_lastprivate_predicate and moved to omp-grid.c, made public.
+	(grid_prop): Moved to omp-grid.c.
+	(GRID_MISSED_MSG_PREFIX): Likewise.
+	(grid_safe_assignment_p): Likewise.
+	(grid_seq_only_contains_local_assignments): Likewise.
+	(grid_find_single_omp_among_assignments_1): Likewise.
+	(grid_find_single_omp_among_assignments): Likewise.
+	(grid_find_ungridifiable_statement): Likewise.
+	(grid_parallel_clauses_gridifiable): Likewise.
+	(grid_inner_loop_gridifiable_p): Likewise.
+	(grid_dist_follows_simple_pattern): Likewise.
+	(grid_gfor_follows_tiling_pattern): Likewise.
+	(grid_call_permissible_in_distribute_p): Likewise.
+	(grid_handle_call_in_distribute): Likewise.
+	(grid_dist_follows_tiling_pattern): Likewise.
+	(grid_target_follows_gridifiable_pattern): Likewise.
+	(grid_remap_prebody_decls): Likewise.
+	(grid_var_segment): Likewise.
+	(grid_mark_variable_segment): Likewise.
+	(grid_copy_leading_local_assignments): Likewise.
+	(grid_process_grid_body): Likewise.
+	(grid_eliminate_combined_simd_part): Likewise.
+	(grid_mark_tiling_loops): Likewise.
+	(grid_mark_tiling_parallels_and_loops): Likewise.
+	(grid_process_kernel_body_copy): Likewise.
+	(grid_attempt_target_gridification): Likewise.
+	(grid_gridify_all_targets_stmt): Likewise.
+	(grid_gridify_all_targets): Renamed to omp_grid_gridify_all_targets
+	and moved to omp-grid.c, made public.
+	(make_gimple_omp_edges): Renamed to omp_make_gimple_edges and moved to
+	omp-expand.c.
+	(add_decls_addresses_to_decl_constructor): Moved to omp-offload.c.
+	(omp_finish_file): Likewise.
+	(oacc_thread_numbers): Likewise.
+	(oacc_xform_loop): Likewise.
+	(oacc_default_dims, oacc_min_dims): Likewise.
+	(oacc_parse_default_dims): Likewise.
+	(oacc_validate_dims): Likewise.
+	(new_oacc_loop_raw): Likewise.
+	(new_oacc_loop_outer): Likewise.
+	(new_oacc_loop): Likewise.
+	(new_oacc_loop_routine): Likewise.
+	(finish_oacc_loop): Likewise.
+	(free_oacc_loop): Likewise.
+	(dump_oacc_loop_part): Likewise.
+	(dump_oacc_loop): Likewise.
+	(debug_oacc_loop): Likewise.
+	(oacc_loop_discover_walk): Likewise.
+	(oacc_loop_sibling_nreverse): Likewise.
+	(oacc_loop_discovery): Likewise.
+	(oacc_loop_xform_head_tail): Likewise.
+	(oacc_loop_xform_loop): Likewise.
+	(oacc_loop_process): Likewise.
+	(oacc_loop_fixed_partitions): Likewise.
+	(oacc_loop_auto_partitions): Likewise.
+	(oacc_loop_partition): Likewise.
+	(default_goacc_fork_join): Likewise.
+	(default_goacc_reduction): Likewise.
+	(execute_oacc_device_lower): Likewise.
+	(default_goacc_validate_dims): Likewise.
+	(default_goacc_dim_limit): Likewise.
+	(pass_data_oacc_device_lower): Likewise.
+	(pass_oacc_device_lower): Likewise.
+	(make_pass_oacc_device_lower): Likewise.
+	(execute_omp_device_lower): Likewise.
+	(pass_data_omp_device_lower): Likewise.
+	(pass_omp_device_lower): Likewise.
+	(make_pass_omp_device_lower): Likewise.
+	(pass_data_omp_target_link): Likewise.
+	(pass_omp_target_link): Likewise.
+	(find_link_var_op): Likewise.
+	(pass_omp_target_link::execute): Likewise.
+	(make_pass_omp_target_link): Likewise.
+	* Makefile.in (OBJS): Added omp-offload.o, omp-expand.o, omp-general.o
+	and omp-grid.o.
+	(GTFILES): Added omp-offload.h, omp-offload.c and omp-expand.c, removed
+	omp-low.h.
+	* gimple-fold.c: Include omp-general.h instead of omp-low.h.
+	(fold_internal_goacc_dim): Adjusted calls to
+	get_oacc_ifn_dim_arg and get_oacc_fn_dim_size to use their new names.
+	* gimplify.c: Include omp-low.h.
+	(omp_notice_variable): Adjust the call to get_oacc_fn_attrib to use
+	its new name.
+	(gimplify_omp_task): Adjusted calls to find_omp_clause to use its new
+	name.
+	(gimplify_omp_for): Likewise.
+	* lto-cgraph.c: Include omp-offload.h instead of omp-low.h.
+	* toplev.c: Include omp-offload.h instead of omp-low.h.
+	* tree-cfg.c: Include omp-general.h instead of omp-low.h.  Also
+	include omp-expand.h.
+	(make_edges_bb): Adjusted the call to make_gimple_omp_edges to use its
+	new name.
+	(make_edges): Adjust the call to free_omp_regions to use its new name.
+	* tree-parloops.c: Include omp-general.h.
+	(create_parallel_loop): Adjusted the call to set_oacc_fn_attrib to use
+	its new name.
+	(parallelize_loops): Adjusted the call to get_oacc_fn_attrib to use
+	its new name.
+	* tree-ssa-loop.c: Include omp-general.h instead of omp-low.h.
+	(gate_oacc_kernels): Adjusted the call to get_oacc_fn_attrib to use
+	its new name.
+	* tree-vrp.c: Include omp-general.h instead of omp-low.h.
+	(extract_range_basic): Adjusted calls to get_oacc_ifn_dim_arg and
+	get_oacc_fn_dim_size to use their new names.
+	* varpool.c: Include omp-offload.h instead of omp-low.h.
+	* gengtype.c (open_base_files): Replace omp-low.h with omp-offload.h in
+	ifiles.
+	* config/nvptx/nvptx.c: Include omp-general.c.
+	(nvptx_expand_call): Adjusted the call to get_oacc_fn_attrib to use
+	its new name.
+	(nvptx_reorg): Likewise.
+	(nvptx_record_offload_symbol): Likewise.
+
+2016-12-14  Martin Sebor  <msebor@redhat.com>
+
+	PR middle-end/78786
+	* gimple-ssa-sprintf.c (target_dir_max): New macro.
+	(get_mpfr_format_length): New function.
+	(format_integer): Use HOST_WIDE_INT instead of int.
+	(format_floating_max): Same.
+	(format_floating): Call get_mpfr_format_length.
+	(format_directive): Use target_dir_max.
+
+2016-12-14  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/78791
+	* config/i386/i386.h (enum ix86_stack_slot): Add SLOT_STV_TEMP.
+	* config/i386/i386.c (dimode_scalar_chain::make_vector_copies,
+	dimode_scalar_chain::convert_reg): Use SLOT_STV_TEMP instead of
+	SLOT_TEMP.
+
+2016-12-14  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/59874
+	* config/i386/i386-builtin.def: Add __builtin_clzs and __builtin_ctzs.
+	(ix86_fold_builtin): Handle IX86_BUILTIN_CTZS and IX86_BUILTIN_CLZS.
+	* config/i386/i386.md (*ctzhi2): New insn_and_split pattern.
+	(*clzhi2): Ditto.
+
+2016-12-14  Jakub Jelinek  <jakub@redhat.com>
+
+	PR debug/77844
+	* valtrack.c: Include rtl-iter.h.
+	(struct rtx_subst_pair): Add insn field.
+	(propagate_for_debug_subst): If pair->to contains at least 2
+	regs, create a DEBUG_INSN with a debug temp before pair->insn
+	and replace from with the debug temp instead of pair->to.
+	(propagate_for_debug): Initialize p.insn.
+	* combine.c (insn_uid_check): New inline function.
+	(INSN_COST, LOG_LINKS): Use it instead of INSN_UID.
+	(find_single_use, combine_instructions,
+	cant_combine_insn_p, try_combine): Use NONDEBUG_INSN_P instead of
+	INSN_P.
+
+2016-12-14  Martin Sebor  <msebor@redhat.com>
+
+	PR c/17308
+	* builtin-attrs.def (ATTR_NONNULL_1_1, ATTR_NONNULL_1_2): Defined.
+	(ATTR_NONNULL_1_3, ATTR_NONNULL_1_4, ATTR_NONNULL_1_5): Same.
+	(ATTR_NOTHROW_NONNULL_1_1, ATTR_NOTHROW_NONNULL_1_2): Same.
+	(ATTR_NOTHROW_NONNULL_1_3, ATTR_NOTHROW_NONNULL_1_4): Same.
+	(ATTR_NOTHROW_NONNULL_1_5): Same.
+	(ATTR_NONNULL_1_FORMAT_PRINTF_1_2): Same.
+	(ATTR_NONNULL_1_FORMAT_PRINTF_2_0): Same.
+	(ATTR_NONNULL_1_FORMAT_PRINTF_2_3): Same.
+	(ATTR_NONNULL_1_FORMAT_PRINTF_3_0): Same.
+	(ATTR_NONNULL_1_FORMAT_PRINTF_3_4): Same.
+	(ATTR_NONNULL_1_FORMAT_PRINTF_4_0): Same.
+	(ATTR_NONNULL_1_FORMAT_PRINTF_4_5): Same.
+	* builtins.c (validate_arg): Add argument.  Treat null pointers
+	passed to nonnull arguments as invalid.
+	(validate_arglist): Same.
+	* builtins.def (fprintf, fprintf_unlocked): Add nonnull attribute.
+	(printf, printf_unlocked, sprintf. vfprintf, vsprintf): Same.
+	(__sprintf_chk, __vsprintf_chk, __fprintf_chk, __vfprintf_chk): Same.
+	* calls.c (get_nonnull_ags, maybe_warn_null_arg): New functions.
+	(initialize_argument_information): Diagnose null pointers passed to
+	arguments declared nonnull.
+	* calls.h (get_nonnull_args): Declared.
+
+2016-12-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_split_vec_extract_var): On ISA
+	3.0/power9, add support to use the VEXTU{B,H,W}{L,R}X extract
+	instructions.
+	* config/rs6000/vsx.md (VSr2): Add IEEE 128-bit floating point
+	type constraint registers.
+	(VSr3): Likewise.
+	(FL_CONV): New mode iterator for binary floating types that have a
+	direct conversion from 64-bit integer to floating point.
+	(vsx_extract_<mode>_p9): Add support for the ISA 3.0/power9
+	VEXTU{B,H,W}{L,R}X extract instructions.
+	(vsx_extract_<mode>_p9 splitter): Add splitter to load up the
+	extract byte position into the GPR if we are using the
+	VEXTU{B,H,W}{L,R}X extract instructions.
+	(vsx_extract_<mode>_di_p9): Support extracts to GPRs.
+	(vsx_extract_<mode>_store_p9): Support extracting to GPRs so that
+	we can use reg+offset address instructions.
+	(vsx_extract_<mode>_var): Support extracts to GPRs.
+	(vsx_extract_<VSX_EXTRACT_I:mode>_<SDI:mode>_var): New combiner
+	insn to combine vector extracts with zero_extend.
+	(vsx_ext_<VSX_EXTRACT_I:VS_scalar>_fl_<FL_CONV:mode>): Optimize
+	extracting a small integer vector element and converting it to a
+	floating point type.
+	(vsx_ext_<VSX_EXTRACT_I:VS_scalar>_ufl_<FL_CONV:mode>): Likewise.
+	(UNSPEC_XXEXTRACTUW): New unspec.
+	(UNSPEC_XXINSERTW): Likewise.
+	(vextract4b): Add support for the vec_vextract4b built-in
+	function.
+	(vextract4b_internal): Likewise.
+	(vinsert4b): Add support for the vec_insert4b built-in function.
+	Include both a version that inserts element 1 from a V4SI object
+	and one that inserts a DI object.
+	(vinsert4b_internal): Likewise.
+	(vinsert4b_di): Likewise.
+	(vinsert4b_di_internal): Likewise.
+	* config/rs6000/predicates.md (const_0_to_11_operand): New
+	predicate, match 0..11.
+	* config/rs6000/rs6000-builtin.def (BU_P9V_VSX_3): Set built-in
+	type to ternary, not binary.
+	(BU_P9V_64BIT_VSX_3): Likewise.
+	(P9V_BUILTIN_VEXTRACT4B): Add support for vec_vinsert4b and
+	vec_extract4b non-overloaded built-in functions.
+	(P9V_BUILTIN_VINSERT4B): Likewise.
+	(P9V_BUILTIN_VINSERT4B_DI): Likewise.
+	(P9V_BUILTIN_VEC_VEXTULX): Move to section that adds 2 operand ISA
+	3.0 built-in functions.
+	(P9V_BUILTIN_VEC_VEXTURX): Likewise.
+	(P9V_BUILTIN_VEC_VEXTRACT4B): Add support for overloaded
+	vec_insert4b and vec_extract4 built-in functions.
+	(P9V_BUILTIN_VEC_VINSERT4B): Likewise.
+	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
+	overloaded support for vec_vinsert4b and vec_extract4b.
+	* config/rs6000/rs6000.c (altivec_expand_builtin): Add checks for
+	the vec_insert4b and vec_extract4b byte number being a constant in
+	the range 0..11.
+	* config/rs6000/altivec.h (vec_vinsert4b): Support vec_vinsert4b
+	and vec_extract4b built-in functions.
+	* doc/extend.doc (PowerPC VSX built-in functions): Document
+	vec_insert4b and vec_extract4b.
+
+2016-12-14  Martin Liska  <mliska@suse.cz>
+
+	* gimple-pretty-print.c (dump_probability): New function.
+	(dump_edge_probability): Use the function.
+	(dump_gimple_label): Likewise.
+	(dump_gimple_bb_header): Likewise.
+
+2016-12-14  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	* tree-ssa-strlen.c (fold_strstr_to_memcmp): New function.
+	(strlen_optimize_stmt): Call fold_strstr_to_memcmp.
+
+2016-12-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* lra-constraints.c (process_address_1): Do not attempt to decompose
+	addresses for MEMs that satisfy fixed-form constraints.
+
+2016-12-14  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/78788
+	* tree-vrp.c (set_value_range): Allow [-INF(OVF), +INF(OVF)].
+	(set_and_canonicalize_value_range): Do not drop the above to
+	VARYING.
+
+2016-12-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/rs600.c (rs6000_builtin_vectorization_cost):
+	Adjust unaligned load cost.
+
+2016-12-13  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/78794
+	* config/i386/i386.c (dimode_scalar_chain::compute_convert_gain):
+	Calculate additional gain for andnot for targets without BMI.
+
+2016-12-13  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/rs6000-c.c: Add built-in support for
+	vector float vec_pack (vector double, vector double)
+	vector double vec_sld (vector double, vector double)
+	* config/rs6000/rs6000.c: Add icode check for vsldoi_v2df to allow
+	4-bit unsigned literal.
+	* config/rs6000/rs6000-builtin.def: Add definition for VSLDOI_2DF
+	* doc/extend.texi: Update the built-in documentation file for the
+	new powerpc vec_pack and vec_sld built-ins.
+
+2016-12-13  Martin Liska  <mliska@suse.cz>
+
+	* sanopt.c (sanopt_optimize_walker): Set contains_asan_mark.
+	(sanopt_optimize): Add new argument.
+	(sanitize_asan_mark_unpoison): New function.
+	(maybe_contains_asan_check): Likewise.
+	(sanitize_asan_mark_poison): Likewise.
+	(pass_sanopt::execute): Call the new functions.
+
+2016-12-13  Martin Liska  <mliska@suse.cz>
+
+	PR tree-optimization/78428
+	* expr.c (store_constructor_field): Add new arguments to the function.
+	(store_constructor): Set up bitregion_end and add gcc_unreachable to
+	fields that have either non-constant size or (and) offset.
+
+2016-12-13  Marek Polacek  <polacek@redhat.com>
+
+	* tree-data-ref.c (compute_overlap_steps_for_affine_univar): Change
+	parameters' type from int to HOST_WIDE_INT.
+	(compute_overlap_steps_for_affine_1_2): Change parameters' type from
+	int to HOST_WIDE_INT.
+	(build_classic_dist_vector_1): Likewise.
+	(add_multivariate_self_dist): Likewise.
+
+2016-12-13  Michael Matz  <matz@suse.de>
+
+	PR tree-optimization/78725
+	* tree-ssa-loop-split.c (split_at_bb_p): Check for overflow and
+	at correct use point.
+
+2016-12-13  Martin Liska  <mliska@suse.cz>
+
+	* asan.c (asan_expand_mark_ifn): Use renamed
+	BUILT_IN_ASAN_{UN}CLOBBER_N to BUILT_IN_ASAN_{UN}POISON_STACK_MEMORY.
+	* sanitizer.def: Likewise.
+
+2016-12-13  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* doc/extend.texi (Half-Precision): Update to document current
+	compiler behaviour.
+
+2016-12-13  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* doc/extend.texi (Floating Types): Document availability of
+	_Float16 on ARM/AArch64.
+
+2016-12-13  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/78699
+	* tree-vect-data-refs.c (vect_analyze_group_access_1): Limit
+	group size.
+
+2016-12-13  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/78742
+	* tree.c (cst_and_fits_in_hwi): Look if the actual value fits.
+	* tree-object-size.c (compute_builtin_object_size): Use
+	tree_fits_shwi_p.
+	* tree-data-ref.c (initialize_matrix_A): Remove excess assert.
+
+2016-12-13  Martin Liska  <mliska@suse.cz>
+
+	* asan.c (asan_mark_poison_p): Remove.
+	(asan_mark_p): New function.
+	(transform_statements): Use the function.
+	(asan_expand_mark_ifn): Do not use masked enum.
+	* asan.h (enum asan_mark_flags): Declare it via a macro.
+	* gimple-pretty-print.c (dump_gimple_call_args): Dump first
+	argument of ASAN_MARK.
+	* gimplify.c (build_asan_poison_call_expr): Use new enum values.
+	(asan_poison_variable): Likewise.
+
+2016-12-13  Jakub Jelinek  <jakub@redhat.com>
+
+	PR ipa/77905
+	* ipa-pure-const.c (cdtor_p): Return true for
+	DECL_STATIC_{CON,DE}STRUCTOR even when it is
+	DECL_LOOPING_CONST_OR_PURE_P.
+
+2016-12-12  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/78777
+	* gimple-ssa-strength-reduction.c (create_add_on_incoming_edge,
+	insert_initializers): Use stmt_ends_bb_p instead of is_ctrl_stmt.
+
+	PR other/78766
+	* opt-functions.awk (opt_args): Use [{] instead of { in regexps.
+	Formatting fix.
+
+2016-12-12  Martin Sebor  <msebor@redhat.com>
+
+	PR middle-end/78622
+	PR middle-end78606
+	* gimple-ssa-sprintf.c (min_bytes_remaining): Use res.knownrange
+	rather than res.bounded.
+	(get_width_and_precision): Set precision to -1 when negative.
+	(adjust_range_for_overflow): New function.
+	(format_integer): Correct the handling of the space, plus, and pound
+	flags, and the special case of zero precision.
+	Always set res.bounded to true unless either precision or width
+	is specified and unknown.
+	Call adjust_range_for_overflow.
+	Avoid use zero as the shortest value when precision is specified
+	but unknown.
+	(format_directive): Remove vestigial quoting.  Always inform of
+	argument value or range when it's available.
+	(add_bytes): Correct the computation of boundrange used to
+	decide whether a warning is of a "maybe" or "defnitely" kind.
+
+2016-12-12  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	* combine.c (change_zero_ext): Handle mode expanding zero_extracts.
+
+2016-12-12  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/78738
+	* config/i386/i386.h (X87_ENABLE_ARITH): Also enable for
+	flag_unsafe_math_optimizations.
+	(X87_ENABLE_FLOAT): Ditto.
+
+2016-12-12  Marek Polacek  <polacek@redhat.com>
+
+	PR middle-end/78716
+	* gimplify.c (gimplify_va_arg_expr): Don't require ADDR_EXPR for
+	Case 1; check POINTER_TYPE_P instead.
+
+2016-12-12  Bernd Schmidt  <bschmidt@redhat.com>
+
+	PR rtl-optimization/78669
+	* ira.c (combine_and_move_insns): When deleting an insn, clear the
+	replace flag for all used regs in that insn.
+
+2016-12-12  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm-opts.h: Move struct arm_arch_core_flag and
+	arm_arch_core_flags to ...
+	* common/config/arm/arm-common.c: There.
+
+2016-12-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/sparc/constraints.md (T): Use special memory constraint.
+	(U): Minor tweak.
+	(W): Add TARGET_ARCH64 test.
+	* config/sparc/sparc.md (*movdi_insn_sp32): Replace 'W' with 'T'.
+	(*movdf_insn_sp32): Likewise.
+	(*mov<VM64:mode>_insn_sp32): Likewise.  Replace 'e' with 'f' in
+	conjunction with offsettable memory references.
+
+2016-12-11  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* config/nios2/nios2.c (nios2_emit_move_sequence): Call copy_rtx
+	to avoid shared structure error.
+
+2016-12-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR target/78695
+	* config/rs6000/rs6000.c (find_alignment_op): Discard from
+	consideration any artificial definition.
+
+2016-12-11  Iain Sandoe  <iain@codesourcery.com>
+
+	* configure.ac (CROSS directory tests): Remove the assumption that
+	Darwin hosts contain suitable target sysroots in "/".
+	* configure: Regenerate.
+
+2016-12-11  Iain Sandoe  <iain@codesourcery.com>
+
+	PR rtl-optimization/71496
+	* config/rs6000/darwin.md (load_macho_picbase_si): Mark as non-
+	copyable.  (load_macho_picbase_di, reload_macho_picbase_si,
+	reload_macho_picbase_di): Likewise.
+
+2012-12-11  John David Anglin  <danglin@gcc.gnu.org>
+
+	* config/pa/pa.c (pa_callee_copies): New function.
+	* config/pa/pa.opt (mcaller-copies): New option.
+	* doc/invoke.texi (mcaller-copies): Document option.
+
+2016-12-11  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/70799
+	* config/i386/i386.c (dimode_scalar_to_vector_candidate_p)
+	<case ASHIFT, case LSHIFTRT>: Consider all constant shifts.
+	Add FIXME comment.
+	(dimode_scalar_chain::compute_convert_gain): Reduce gain for
+	constant shifts larger or equal than 32.
+
+2016-12-11  Roger Pau Monné  <roger.pau@citrix.com>
+
+	* config/i386/x86-64.h: Append --32 to the assembler options when
+	-m16 is used on non-glibc systems as well.
+
+2016-12-10  Allan Sandfeld Jensen  <allan.jensen@qt.io>
+
+	PR target/70118
+	* config/i386/mmintrin.h (__m64_u): New type
+	* config/i386/emmintrin.h (_mm_loadl_epi64, _mm_storel_epi64):
+	Make the allowed unaligned memory access explicit.
+
+2016-12-10  Krister Walfridsson  <krister.walfridsson@gmail.com>
+
+	* config.gcc (i386-*-netbsd*): Make i486 the default arch on NetBSD.
+	Generally use cpu generic.
+
+2016-12-10  Jakub Jelinek  <jakub@redhat.com>
+	    Marc Glisse  <marc.glisse@inria.fr>
+
+	PR tree-optimization/78720
+	* match.pd (A < 0 ? C : 0): Only optimize for signed A.  If shift
+	is negative, sign extend to @1's type and than AND with C.
+
+2016-12-10  Jakub Jelinek  <jakub@redhat.com>
+
+	PR fortran/78758
+	* tree-object-size.c (compute_object_offset) <case ARRAY_REF>: Handle
+	non-zero low bound or non-standard element sizes.
+
+	PR sanitizer/78708
+	* lto-streamer-in.c (input_function): In addition to debug stmts
+	without -g, remove IFN_*SAN_* calls if corresponding flag_sanitize
+	bit is not enabled.
+
+2016-12-09  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000-passes.def: New file.
+	* config/rs6000/rs6000-protos.h: Declare make_pass_analyze_swaps.
+	* config/rs6000/rs6000.c (rs6000_option_override): Remove
+	registration of machine-specific passes.
+	(pass_analyze_swaps::clone): New function.
+	* config/rs6000/t-rs6000: Define PASSES_EXTRA.
+
+2016-12-09  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	PR ipa/78721
+	* ipa-cp.c (propagate_vr_accross_jump_function): Call
+	drop_tree_overflow after fold_convert.
+
+2016-12-09  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/72742
+	* config/rs6000/rs6000.md (*and<mode>3_imm_mask_dot,
+	*and<mode>3_imm_mask_dot2): Add rs6000_is_valid_and_mask to insn
+	condition.
+
+2016-12-09  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR target/78683
+	* config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Use
+	GET_MODE_BITSIZE.  Return 2.
+	(CTZ_DEFINED_VALUE_AT_ZERO): Use GET_MODE_BITSIZE.  Return 2.  Handle
+	TARGET_POPCNTD the same as TARGET_CTZ.
+	* config/rs6000/rs6000.md (ctz<mode>2): Reimplement.
+	(ffs<mode>2): Reimplement.
+
+2016-12-09  Andre Vieira <andre.simoesdiasvieira@arm.com>
+
+	PR rtl-optimization/78255
+	* gcc/postreload.c (reload_cse_simplify): Do not CSE a function if
+	NO_FUNCTION_CSE is true.
+
+2016-12-09  Cesar Philippidis  <cesar@codesourcery.com>
+
+	PR ipa/78027
+	* ipa-icf.c (sem_function::parse): Don't process functions with
+	oacc decl attributes, as they may be OpenACC routines.
+
+2016-12-09  David Malcolm  <dmalcolm@redhat.com>
+
+	* rtl.h (get_mem_attrs): Add "const" qualifier to returned
+	pointer.
+
+2016-12-09  Nathan Sidwell  <nathan@acm.org>
+
+	PR C++/78550
+	* convert.c (convert_to_integer_1): Maybe fold conversions to
+	integral types with fewer bits than its mode.
+
+2016-12-09  Martin Liska  <mliska@suse.cz>
+
+	* tree-pretty-print.c (pretty_print_string): Escape non-printable
+	chars in strings.
+
+2016-12-09  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/78726
+	* tree-ssa-reassoc.c (make_new_ssa_for_def): Add OPCODE and OP
+	argument.  For lhs uses in debug stmts, don't replace lhs with
+	new_lhs, but with a debug temp set to new_lhs opcode op.
+	(make_new_ssa_for_all_defs): Add OPCODE argument, pass OPCODE and
+	OP down to make_new_ssa_for_def.
+	(zero_one_operation): Call make_new_ssa_for_all_defs even when
+	stmts_to_fix is empty, if *def has not changed yet.  Pass
+	OPCODE to make_new_ssa_for_all_defs.
+
+2016-12-08  Martin Sebor  <msebor@redhat.com>
+
+	PR c/78284
+	* builtin-attrs.def (ATTR_ALLOC_SIZE, ATTR_RETURNS_NONNULL): New
+	identifier tree nodes.
+	(ATTR_ALLOCA_SIZE_1_NOTHROW_LEAF_LIST): New attribute list.
+	(ATTR_MALLOC_SIZE_1_NOTHROW_LIST): Same.
+	(ATTR_MALLOC_SIZE_1_NOTHROW_LEAF_LIST): Same.
+	(ATTR_MALLOC_SIZE_1_2_NOTHROW_LEAF_LIST): Same.
+	(ATTR_ALLOC_SIZE_2_NOTHROW_LEAF_LIST): Same.
+	* builtins.c (expand_builtin_alloca): Call
+	maybe_warn_alloc_args_overflow.
+	* builtins.def (aligned_alloc, calloc, malloc, realloc):
+	Add attribute alloc_size.
+	(alloca): Add attribute alloc_size and returns_nonnull.
+	* calls.h (maybe_warn_alloc_args_overflow): Declare.
+	* calls.c (alloc_max_size, operand_signed_p): New functions.
+	(maybe_warn_alloc_args_overflow): Define.
+	(initialize_argument_information): Diagnose overflow in functions
+	declared with attaribute alloc_size.
+	* doc/invoke.texi (Warning Options): Document -Walloc-zero and
+	-Walloc-size-larger-than.
+
+2016-12-08  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-optimization/78671
+	* lra-assign.c (find_hard_regno_for_1): Check prohibited regs for an
+	allocno class.
+
+2016-12-08  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.h (HARD_REGNO_NREGS): Use GENERAL_REGNO_P.
+	(HARD_REGNO_NREGS_HAS_PADDING): Ditto.  Simplify macro.
+
+2015-12-08  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	PR target/78733
+	* config/aarch64/aarch64.c (aarch64_classify_address):
+	Set load_store_pair_p for TImode and TFmode.
+
+2016-12-08  David Malcolm  <dmalcolm@redhat.com>
+
+	* emit-rtl.c (gen_reg_rtx): Move regno_pointer_align and
+	regno_reg_rtx resizing logic to...
+	(emit_status::ensure_regno_capacity): ...this new method,
+	and ensure that the buffers are large enough.
+	(init_emit): Allocate regno_reg_rtx using ggc_cleared_vec_alloc
+	rather than ggc_vec_alloc.
+	* function.h (emit_status::ensure_regno_capacity): New method.
+
+2016-12-08  Dmitry Vyukov  <dvyukov@google.com>
+
+	* opts.c (finish_options): Enable -fsanitize-address-use-after-scope
+	only if -fsanitize=address is enabled (not -fsanitize=kernel-address).
+	* doc/invoke.texi (-fsanitize=kernel-address):
+	Don't say that it enables -fsanitize-address-use-after-scope.
+
+2016-12-08  Bin Cheng  <bin.cheng@arm.com>
+
+	PR middle-end/78684
+	* tree-vect-loop-manip.c (create_intersect_range_checks_index): Check
+	sign bit for index step of data reference.
+
+2016-12-08  Naveen H.S  <Naveen.Hurugalawadi@cavium.com>
+
+	* config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
+	Handle SYMBOL_SMALL_TLSGD for ILP32.
+	* config/aarch64/aarch64.md : tlsgd_small modified into
+	tlsgd_small_<mode> to support SImode and DImode.
+	*tlsgd_small modified into *tlsgd_small_<mode> to support SImode and
+	DImode.
+
+2016-12-08  Andrew Pinski  <apinski@cavium.com>
+
+	* config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
+	Access the lower part of RTX appropriately.
+
+2016-12-07  David Malcolm  <dmalcolm@redhat.com>
+
+	* genpreds.c (write_tm_constrs_h): Update for renaming of
+	rtx_reader_ptr to md_reader_ptr.
+	(write_tm_preds_h): Likewise.
+	(write_insn_preds_c): Likewise.
+	* read-md.c (rtx_reader_ptr): Rename to...
+	(md_reader_ptr): ...this, and convert from an
+	rtx_reader * to a md_reader *.
+	(rtx_reader::set_md_ptr_loc): Rename to...
+	(md_reader::set_md_ptr_loc): ...this.
+	(rtx_reader::get_md_ptr_loc): Rename to...
+	(md_reader::get_md_ptr_loc): ...this.
+	(rtx_reader::copy_md_ptr_loc): Rename to...
+	(md_reader::copy_md_ptr_loc): ...this.
+	(rtx_reader::fprint_md_ptr_loc): Rename to...
+	(md_reader::fprint_md_ptr_loc): ...this.
+	(rtx_reader::print_md_ptr_loc): Rename to...
+	(md_reader::print_md_ptr_loc): ...this.
+	(rtx_reader::join_c_conditions): Rename to...
+	(md_reader::join_c_conditions): ...this.
+	(rtx_reader::fprint_c_condition): ...this.
+	(rtx_reader::print_c_condition): Rename to...
+	(md_reader::print_c_condition): ...this.
+	(fatal_with_file_and_line):  Update for renaming of
+	rtx_reader_ptr to md_reader_ptr.
+	(rtx_reader::require_char): Rename to...
+	(md_reader::require_char): ...this.
+	(rtx_reader::require_char_ws): Rename to...
+	(md_reader::require_char_ws): ...this.
+	(rtx_reader::require_word_ws): Rename to...
+	(md_reader::require_word_ws): ...this.
+	(rtx_reader::read_char): Rename to...
+	(md_reader::read_char): ...this.
+	(rtx_reader::unread_char): Rename to...
+	(md_reader::unread_char): ...this.
+	(rtx_reader::peek_char): Rename to...
+	(md_reader::peek_char): ...this.
+	(rtx_reader::read_name): Rename to...
+	(md_reader::read_name): ...this.
+	(rtx_reader::read_escape): Rename to...
+	(md_reader::read_escape): ...this.
+	(rtx_reader::read_quoted_string): Rename to...
+	(md_reader::read_quoted_string): ...this.
+	(rtx_reader::read_braced_string): Rename to...
+	(md_reader::read_braced_string): ...this.
+	(rtx_reader::read_string): Rename to...
+	(md_reader::read_string): ...this.
+	(rtx_reader::read_skip_construct): Rename to...
+	(md_reader::read_skip_construct): ...this.
+	(rtx_reader::handle_constants): Rename to...
+	(md_reader::handle_constants): ...this.
+	(rtx_reader::traverse_md_constants): Rename to...
+	(md_reader::traverse_md_constants): ...this.
+	(rtx_reader::handle_enum): Rename to...
+	(md_reader::handle_enum): ...this.
+	(rtx_reader::lookup_enum_type): Rename to...
+	(md_reader::lookup_enum_type): ...this.
+	(rtx_reader::traverse_enum_types): Rename to...
+	(md_reader::traverse_enum_types): ...this.
+	(rtx_reader::rtx_reader): Rename to...
+	(md_reader::md_reader): ...this, and update for renaming of
+	rtx_reader_ptr to md_reader_ptr.
+	(rtx_reader::~rtx_reader): Rename to...
+	(md_reader::~md_reader): ...this, and update for renaming of
+	rtx_reader_ptr to md_reader_ptr.
+	(rtx_reader::handle_include): Rename to...
+	(md_reader::handle_include): ...this.
+	(rtx_reader::handle_file): Rename to...
+	(md_reader::handle_file): ...this.
+	(rtx_reader::handle_toplevel_file): Rename to...
+	(md_reader::handle_toplevel_file): ...this.
+	(rtx_reader::get_current_location): Rename to...
+	(md_reader::get_current_location): ...this.
+	(rtx_reader::add_include_path): Rename to...
+	(md_reader::add_include_path): ...this.
+	(rtx_reader::read_md_files): Rename to...
+	(md_reader::read_md_files): ...this.
+	* read-md.h (class rtx_reader): Split into...
+	(class md_reader): ...new class.
+	(rtx_reader_ptr): Rename to...
+	(md_reader_ptr): ...this, and convert to a md_reader *.
+	(class noop_reader): Update base class to be md_reader.
+	(class rtx_reader): Reintroduce as a subclass of md_reader.
+	(rtx_reader_ptr): Reintroduce as a rtx_reader *.
+	(read_char): Update for renaming of rtx_reader_ptr to
+	md_reader_ptr.
+	(unread_char): Likewise.
+	* read-rtl.c (rtx_reader_ptr): New global.
+	(rtx_reader::apply_iterator_to_string): Rename to...
+	(md_reader::apply_iterator_to_string): ...this.
+	(rtx_reader::copy_rtx_for_iterators): Rename to...
+	(md_reader::copy_rtx_for_iterators): ...this.
+	(rtx_reader::read_conditions): Rename to...
+	(md_reader::read_conditions): ...this.
+	(rtx_reader::record_potential_iterator_use): Rename to...
+	(md_reader::record_potential_iterator_use): ...this.
+	(rtx_reader::read_mapping): Rename to...
+	(md_reader::read_mapping): ...this.
+	(rtx_reader::read_rtx): Use rtx_reader_ptr when calling
+	read_rtx_code.
+	(rtx_reader::read_rtx_operand): Use get_string_obstack rather
+	than directly accessing m_string_obstack.
+	(rtx_reader::rtx_reader): New ctor.
+	(rtx_reader::~rtx_reader): New dtor.
+
+2016-12-07  Martin Sebor  <msebor@redhat.com>
+
+	PR middle-end/77784
+	PR middle-end/78149
+	PR middle-end/78138
+
+	* builtins.c (expand_builtin_strcat, expand_builtin_strncat): New
+	functions.
+	(compute_dest_size, get_size_range, check_sizes, check_strncat_sizes)
+	(check_memop_sizes): Same.
+	(expand_builtin_memcpy): Call check memop_sizes.
+	(expand_builtin_mempcpy): Same.
+	(expand_builtin_memset): Same,
+	(expand_builtin_bzero): Same.
+	(expand_builtin_memory_chk): Call check_sizes.
+	(expand_builtin_strcpy): Same.
+	(expand_builtin_strncpy): Same.
+	(maybe_emit_sprintf_chk_warning): Same.
+	(expand_builtin): Handle strcat and strncat.
+	(fini_object_sizes): Reset pointers.
+	(compute_object_size): New function.
+	* gimple-ssa-sprintf.c (pass_sprintf_length::handle_gimple_call):
+	Avoid issuing warnings also issued during built-in expansion.
+	* doc/invoke.texi (Warning Options): Document -Wstringop-overflow.
+
+2016-12-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/72717
+	* config/rs6000/rs6000.c (rs6000_expand_vector_init): If the
+	V2DImode elements are SUBREG's convert the result into DImode
+	rather than failing in emit_move_insn.
+
+2016-12-07  Jakub Jelinek  <jakub@redhat.com>
+
+	* builtins.c (fold_builtin_strstr): Removed.
+	(fold_builtin_2): Don't call fold_builtin_strstr.
+	* gimple-fold.c (gimple_fold_builtin_strchr): Check is_strrchr
+	earlier in the strrchr (x, 0) -> strchr (x, 0) optimization.
+	(gimple_fold_builtin_strstr): New function.
+	(gimple_fold_builtin): Call it.
+	* fold-const-call.c (fold_const_call): Handle CFN_BUILT_IN_STRSTR.
+
+	PR c++/78692
+	* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Set lhs
+	var to lhs of new_stmt right before noreturn handling rather than to
+	lhs of e->call_stmt early.
+
+2016-12-07  David Malcolm  <dmalcolm@redhat.com>
+
+	* read-md.c (rtx_reader::require_char): New method.
+	(require_char_ws): Convert from function to...
+	(rtx_reader::require_char_ws): ...method.
+	(rtx_reader::require_word_ws): New method.
+	* read-md.h (rtx_reader::require_char): New method decl.
+	(require_char_ws): Remove global decl in favor of...
+	(rtx_reader::require_char_ws): ...new method decl.
+	(rtx_reader::require_word_ws): New method decl.
+	(rtx_reader::peek_char): New method decl.
+
+2016-12-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	PR rtl-optimization/78617
+	* lra-remat.c (do_remat): Initialize live_hard_regs from live in
+	registers, also setting hard registers mapped to pseudo registers.
+
+2016-12-07  David Malcolm  <dmalcolm@redhat.com>
+
+	* cfgexpand.c (pass_expand::execute): Move stack initializations
+	to rtl_data::init_stack_alignment and call it.
+	* emit-rtl.c (rtl_data::init_stack_alignment): New method.
+	* emit-rtl.h (rtl_data::init_stack_alignment): New method.
+
+2016-12-07  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* gcc/ira.c (ira_setup_eliminable_regset): Initialize crtl->is_leaf.
+	(ira): Move initialization of crtl->is_leaf earlier.
+
+2016-12-07  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.md (movti_aarch64): Change Ump to m.
+	(movtf_aarch64): Likewise.
+	* config/aarch64/aarch64.c (aarch64_classify_address):
+	Use correct intersection of offsets.
+	(aarch64_legitimize_address_displacement): Use 9-bit signed offsets.
+	(aarch64_legitimize_address): Use 9-bit signed offsets for TI/TF mode.
+	Use 7-bit signed scaled mode for modes > 16 bytes.
+
+2016-12-07  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	PR rtl-optimization/78561
+	* config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p) Use
+	constant_pool_empty_p in place of get_pool_size_upper_bound.
+	(rs6000_stack_info): Likewise.
+	(rs6000_emit_prologue): Likewise.
+	(rs6000_elf_declare_function_name): Likewise.
+	(rs6000_set_up_by_prologue): Likewise.
+	(rs6000_can_eliminate): Likewise.
+	* output.h (get_pool_size_upper_bound): Delete.
+	(constant_pool_empty_p): New.
+	* varasm.c (get_pool_size_upper_bound): Delete
+	(constant_pool_empty_p): New.
+
+2016-12-07  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/78691
+	* match.pd ((convert1 (minmax ((convert2 (x) c)))) -> minmax (x c)):
+	Require integral type for the outer expression.
+
+2016-12-07  Naveen H.S  <Naveen.Hurugalawadi@cavium.com>
+
+	* config/aarch64/aarch64.c
+	(aarch64_builtin_support_vector_misalignment): New.
+	(TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT): Define.
+
+2016-12-06  David Malcolm  <dmalcolm@redhat.com>
+
+	PR bootstrap/78705
+	* config/i386/i386.c (ix86_test_dumping_memory_blockage):
+	Conditionalize the string comparison on Pmode == DImode.
+
+2016-12-06  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/67955
+	* tree-ssa-alias.c (same_addr_size_stores_p): New function.
+	(stmt_kills_ref_p): Use it.
+
+2016-12-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR middle-end/78700
+	* calls.c (expand_call): Move back call to prepare_call_address.
+
+2016-12-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/78658
+	* config/rs6000/rs6000.md (zero_extendqi<mode>2): Use ^ instead of
+	?* constraints for the ISA 3.0 patterns, so the register allocator
+	is more likely to allocate QImode/HImode to vector registers for
+	conversion to floating point unless a reload is needed.
+	(zero_extendhi<mode>2): Likewise.
+	(float<QHI:mode><FP_ISA3:mode>2_internal): Properly deal with the
+	first alternative which is converting QImode/HImode to floating
+	point and the QImode/HImode value is in a vector register, and
+	does not allocate the second pseudo register.  Remove zero
+	extending into traditional floating point registers, since the
+	instruction used only works on traditional altivec registers.
+	(floatuns<QHI:mode><FP_ISA3:mode>2_internal): Likewise.
+
+2016-12-06  David Malcolm  <dmalcolm@redhat.com>
+
+	* config/i386/i386.c: Include print-rtl.h.
+	(selftest::ix86_test_dumping_memory_blockage): New function.
+	(selftest::ix86_run_selftests): Call it.
+	* print-rtl-function.c (print_rtx_function): Create an
+	rtx_reuse_manager and use it.
+	* print-rtl.c: Include "rtl-iter.h".
+	(rtx_writer::rtx_writer): Add reuse_manager param.
+	(rtx_reuse_manager::rtx_reuse_manager): New ctor.
+	(uses_rtx_reuse_p): New function.
+	(rtx_reuse_manager::preprocess): New function.
+	(rtx_reuse_manager::has_reuse_id): New function.
+	(rtx_reuse_manager::seen_def_p): New function.
+	(rtx_reuse_manager::set_seen_def): New function.
+	(rtx_writer::print_rtx): If "in_rtx" has a reuse ID, print it as a
+	prefix the first time in_rtx is seen, and print reuse_rtx
+	subsequently.
+	(print_inline_rtx): Supply NULL for new reuse_manager param.
+	(debug_rtx): Likewise.
+	(print_rtl): Likewise.
+	(print_rtl_single): Likewise.
+	(rtx_writer::print_rtl_single_with_indent): Likewise.
+	* print-rtl.h: Include bitmap.h when building for host.
+	(rtx_writer::rtx_writer): Add reuse_manager param.
+	(rtx_writer::m_rtx_reuse_manager): New field.
+	(class rtx_reuse_manager): New class.
+	* rtl-tests.c (selftest::assert_rtl_dump_eq): Add reuse_manager
+	param and use it when constructing rtx_writer.
+	(selftest::test_dumping_rtx_reuse): New function.
+	(selftest::rtl_tests_c_tests): Call it.
+	* selftest-rtl.h (class rtx_reuse_manager): New forward decl.
+	(selftest::assert_rtl_dump_eq): Add reuse_manager param.
+	(ASSERT_RTL_DUMP_EQ): Supply NULL for reuse_manager param.
+	(ASSERT_RTL_DUMP_EQ_WITH_REUSE): New macro.
+
+2016-12-06  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR target/77761
+	* lra-lives.c (process_bb_lives): Update biggest mode for
+	implicitly used hard reg.
+
+2016-12-06  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/predicates.md (general_gr_operand): New predicate.
+	* config/i386/i386.md (TImode and DImode push_operand splitter):
+	Use general_gr_operand.  Macroize using DWI mode macro.
+	(TImode and DImode nonimmediate_operand splitter): Use
+	nonimmediate_gr_operand and general_gr_operand.  Macroize using
+	DWI mode macro.
+	(TF/XF/DFmode push_operand splitter): Use general_gr_operand.
+	(TFmode nonimmediate_operand splitter): Use nonimmediate_gr_operand
+	and general_gr_operand.
+	(XFmode nonimmediate_operand splitter): Ditto.
+	(DFmode nonimmediate_operand splitter): Ditto.
+	* config/i386/mmx.md (MMXMODE nonimmediate_operand splitter): Ditto.
+
+2016-12-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/arm/arm-cores.def (cortex-m23, cortex-m33): Move into
+	alphabetical order with respect to other ARMv8 processors.
+	* config/arm/arm-tables.opt: Regenerate.
+	* config/arm/arm-tune.md: Likewise.
+
+2016-12-06  Robert Suchanek  <robert.suchanek@imgtec.com>
+
+	* config/mips/mips.c (mips_expand_builtin_insn): Check input
+	ranges of literal integer arguments.
+
+2016-12-06  Aldy Hernandez  <aldyh@redhat.com>
+
+	PR middle-end/78548
+	* tree-ssa-uninit.c (simplify_preds_4): Call release() instead of
+	destroy_predicate_vecs.
+	(uninit_uses_cannot_happen): Make uninit_preds a scalar.
+
+2016-12-06  Aldy Hernandez  <aldyh@redhat.com>
+
+	PR middle-end/78566
+	* tree-ssa-uninit.c (can_one_predicate_be_invalidated_p): Change
+	argument type to a pred_chain.
+	(can_chain_union_be_invalidated_p): Use pred_chain instead of a
+	worklist.
+	(flatten_out_predicate_chains): Remove.
+	(uninit_uses_cannot_happen): Rename from
+	uninit_ops_invalidate_phi_use.
+	Change logic so that we are checking that the PHI use will
+	invalidate _ALL_ possibly uninitialized operands.
+	(is_use_properly_guarded): Rename call to
+	uninit_ops_invalidate_phi_use into uninit_uses_cannot_happen.
+
+2016-12-06  Tamar Christina  <tamar.christina@arm.com>
+
+	* gcc/config/aarch64/arm_neon.h
+	(vreinterpretq_p8_p128, vreinterpretq_p16_p128): Added.
+	(vreinterpret_p64_p16, vreinterpretq_p64_p128): Likewise.
+	(vreinterpretq_p64_p16, vreinterpretq_p128_p8): Likewise.
+	(vreinterpretq_p128_p16, vreinterpretq_p128_f16): Likewise.
+	(vreinterpretq_p128_f32, vreinterpretq_p128_p64): Likewise.
+	(vreinterpretq_p128_s64, vreinterpretq_p128_u64): Likewise.
+	(vreinterpretq_p128_s8, vreinterpretq_p128_s16): Likewise.
+	(vreinterpretq_p128_s32, vreinterpretq_p128_u8): Likewise.
+	(vreinterpretq_p128_u16, vreinterpretq_p128_u32): Likewise.
+	(vreinterpretq_f16_p128, vreinterpretq_f32_p128): Likewise.
+	(vreinterpretq_s64_p128, vreinterpretq_u64_p128): Likewise.
+	(vreinterpretq_s8_p128, vreinterpretq_s16_p128): Likewise.
+	(vreinterpretq_s32_p128, vreinterpretq_u8_p128): Likewise.
+	(vreinterpretq_u16_p128, vreinterpretq_u32_p128): Likewise.
+
+2016-12-06  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/71537
+	* fold-const.c (fold_comparison): Assume CONSTANT_CLASS_P (base0)
+	plus offset is non-zero.  For maybe_nonzero_address decl base0,
+	require indirect_base0.
+
+	PR c++/71537
+	* fold-const-call.c (fold_const_call_1): Remove memchr handling here.
+	(fold_const_call) <case CFN_BUILT_IN_STRNCMP,
+	case CFN_BUILT_IN_STRNCASECMP>: Formatting improvements.
+	(fold_const_call) <case CFN_BUILT_IN_MEMCMP>: Likewise.  If s2 is 0
+	and arguments have no side-effects, return 0.
+	(fold_const_call): Handle CFN_BUILT_IN_MEMCHR.
+
+	PR c++/71537
+	* fold-const-call.c (fold_const_call): Handle
+	CFN_BUILT_IN_{INDEX,STRCHR,RINDEX,STRRCHR}.
+
+	PR tree-optimization/78675
+	* tree-vect-loop.c (vectorizable_live_operation): For
+	VECTOR_BOOLEAN_TYPE_P vectype use integral type with bitsize precision
+	instead of TREE_TYPE (vectype) for the BIT_FIELD_REF.
+
+2016-12-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR middle-end/78642
+	* emit-rtl.c (verify_rtx_sharing) <CLOBBER>: Relax condition.
+	(copy_rtx_if_shared_1) <CLOBBER>: Likewise.
+	(copy_insn_1) <CLOBBER>: Likewise.
+
+2016-12-05  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/78688
+	* config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Use IN_RANGE
+	instead of ((N) >= (X) && (N) <= (Y-X)) to silence warnings about
+	comparing signed to unsigned values.
+	(FUNCTION_ARG_REGNO_P): Likewise.
+
+2016-12-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+	    Stefan Freudenberger  <stefan@reservoir.com>
+
+	PR tree-optimization/78646
+	* gimple-ssa-strength-reduction.c (replace_ref): The pointer
+	addition used for the memory base expression should have the type
+	of the candidate.
+
+2016-12-05  Waldemar Brodkorb  <wbx@openadk.org>
+
+	PR target/71721
+	* config.gcc (*-*-uclinux*): Enable posix threads.
+
+2016-12-05  Andrew Senkevich  <andrew.senkevich@intel.com>
+
+	* config/i386/avx512bwintrin.h: Add new k-mask intrinsics.
+	* config/i386/avx512dqintrin.h: Ditto.
+	* config/i386/avx512fintrin.h: Ditto.
+	* config/i386/i386-builtin-types.def (UCHAR_FTYPE_UQI_UQI_PUCHAR,
+	UCHAR_FTYPE_UHI_UHI_PUCHAR, UCHAR_FTYPE_USI_USI_PUCHAR,
+	UCHAR_FTYPE_UDI_UDI_PUCHAR, UCHAR_FTYPE_UQI_UQI, UCHAR_FTYPE_UHI_UHI,
+	UCHAR_FTYPE_USI_USI, UCHAR_FTYPE_UDI_UDI, UQI_FTYPE_UQI_INT,
+	UHI_FTYPE_UHI_INT, USI_FTYPE_USI_INT, UDI_FTYPE_UDI_INT,
+	UQI_FTYPE_UQI, USI_FTYPE_USI, UDI_FTYPE_UDI, UQI_FTYPE_UQI_UQI): New
+	function types.
+	* config/i386/i386-builtin.def (__builtin_ia32_knotqi,
+	__builtin_ia32_knotsi, __builtin_ia32_knotdi,
+	__builtin_ia32_korqi, __builtin_ia32_korsi, __builtin_ia32_kordi,
+	__builtin_ia32_kxnorqi, __builtin_ia32_kxnorsi,
+	__builtin_ia32_kxnordi, __builtin_ia32_kxorqi, __builtin_ia32_kxorsi,
+	__builtin_ia32_kxordi, __builtin_ia32_kandqi,
+	__builtin_ia32_kandsi, __builtin_ia32_kanddi, __builtin_ia32_kandnqi,
+	__builtin_ia32_kandnsi, __builtin_ia32_kandndi): New.
+	* config/i386/i386.c (ix86_expand_args_builtin): Handle new types.
+
+2016-12-05  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* combine.c: Revert r243162.
+
+2016-12-05  Paolo Bonzini  <bonzini@gnu.org>
+
+	* match.pd: Simplify X ? C : 0 where C is a power of 2 and
+	X tests a single bit.
+
+2016-12-05  Nathan Sidwell  <nathan@acm.org>
+
+	* diagnostic.c (diagnostic_check_max_errors): New, broken out of ...
+	(diagnostic_action_after_output): ... here.
+	(diagnostic_report_diagnostic): Call it for non-notes.
+	* diagnostic.h (struct diagnostic_context): Make max_errors signed int.
+	(diagnostic_check_max_errors): Declare.
+
+2016-12-05  Cupertino Miranda  <cmiranda@synopsys.com>
+
+	* config/arc/arc.h (STARTFILE_SPEC): Use default linux specs.
+	(ENDFILE_SPEC): Likewise.
+
+2016-12-05  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc-protos.h (insn_is_tls_gd_dispatch): Remove.
+	* config/arc/arc.c (arc_unspec_offset): New function.
+	(arc_finalize_pic): Change.
+	(arc_emit_call_tls_get_addr): Likewise.
+	(arc_legitimize_tls_address): Likewise.
+	(arc_legitimize_pic_address): Likewise.
+	(insn_is_tls_gd_dispatch): Remove.
+	* config/arc/arc.h (INSN_REFERENCES_ARE_DELAYED): Change.
+	* config/arc/arc.md (ls_gd_load): Remove unused pattern.
+	(tls_gd_dispatch): Likewise.
+
+2016-12-05  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+	* config/arm/arm.c (TARGET_ASM_INIT_SECTIONS): Fix wrong undef
+	location.
+
+2016-12-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/sparc/sparc-protos.h (sparc_splitdi_legitimate): Rename to...
+	(sparc_split_reg_mem_legitimate): ...this.
+	(sparc_split_reg_mem): Declare.
+	(sparc_split_mem_reg): Likewise.
+	(sparc_split_regreg_legitimate): Rename to...
+	(sparc_split_reg_reg_legitimate): ...this.
+	* config/sparc/sparc.c (sparc_splitdi_legitimate): Rename to...
+	(sparc_split_reg_mem_legitimate): ...this.
+	(sparc_split_reg_mem): New function.
+	(sparc_split_mem_reg): Likewise.
+	(sparc_split_regreg_legitimate): Rename to...
+	(sparc_split_reg_reg_legitimate): ...this.
+	(sparc_split_reg_reg): New function.
+	* config/sparc/sparc.md (lra): Remove "none" value.
+	(enabled): Adjust to above change.
+	(*movdi_insn_sp32): Remove new (r,T) alternative and reorder others.
+	(DImode splitters): Adjust to above renamings and use new functions.
+	(*movdf_insn_sp32): Remove new (r,T) alternative and reorder others.
+	(DFmode splitters): Adjust to above renamings and use new functions.
+	(*mov<VM64:mode>_insn_sp64): Replace C with Z constraint and use W
+	constraint in conjunction with e.
+	(*mov<VM64:mode>_insn_sp32): Remove new (r,T) alternative, add (o,Y)
+	alternative and reorder others.
+	(VM64:mode splitters): Adjust to above renamings and use new functions.
+
+2016-12-04  Martin Sebor  <msebor@redhat.com>
+
+	PR c/78668
+	* builtin-attrs.def (ATTR_ALLOC_SIZE, ATTR_RETURNS_NONNULL): New
+	identifier tree nodes.
+	(ATTR_ALLOCA_SIZE_1_NOTHROW_LEAF_LIST): New attribute list.
+	(ATTR_MALLOC_SIZE_1_NOTHROW_LIST): Same.
+	(ATTR_MALLOC_SIZE_1_NOTHROW_LEAF_LIST): Same.
+	(ATTR_MALLOC_SIZE_1_2_NOTHROW_LEAF_LIST): Same.
+	(ATTR_ALLOC_SIZE_2_NOTHROW_LEAF_LIST): Same.
+	* builtins.def (aligned_alloc, calloc, malloc, realloc):
+	Add attribute alloc_size.
+	(alloca): Add attribute alloc_size and returns_nonnull.
+
+2016-12-04  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/70322
+	* config/i386/i386.c (dimode_scalar_to_vector_candidate_p): Handle NEG.
+	(dimode_scalar_chain::compute_convert_gain): Ditto.
+	(dimode_scalar_chain::convert_insn): Ditto.
+
+2016-12-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* lra-constraints.c (emit_spill_move): Use gen_lowpart_SUBREG in all
+	cases to build a lowpart SUBREG.
+
+2016-12-03  Eric Botcazou  <ebotcazou@adacore.com>
+	    David S. Miller  <davem@davemloft.net>
+
+	* config/sparc/constraints.md (U): Adjust comment.
+	* config/sparc/sparc.md (lra): New attribute.
+	(enabled): For base instructions, if the lra attribute is set,
+	return 1 if it is in keeping with TARGET_LRA.
+	(*movdi_insn_sp32): Add lra attribute for alternatives mentioning U
+	constraint and duplicate them with U replaced by r.
+	(*movdf_insn_sp32): Likewise.
+	(*mov<VM64:mode>_insn_sp32): Likewise.
+	(*movtf_insn_sp32): Remove alternatives mentioning U constraint.
+
+2016-12-02  Jeff Law  <law@redhat.com>
+
+	* config/arm/arm.c (arm_handle_cmse_nonsecure_call): Remove unused
+	variable main_variant.
+
+2016-12-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config.gcc (powerpc*-*-linux*): Set gnu-indirect-function by
+	default on PowerPC linux systems.
+
+2016-12-02  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/78638
+	* simplify-rtx.c (simplify_truncation): M2 is not mode, it is
+	GET_MODE (op).  Fix this.
+
+2016-12-02  David Malcolm  <dmalcolm@redhat.com>
+
+	PR bootstrap/78616
+	* selftest.c (selftest::assert_strndup_eq): Rename to...
+	(selftest::assert_xstrndup_eq): ...this, and remove call to
+	strndup.
+	(selftest::test_strndup): Rename to...
+	(selftest::test_xstrndup): ...this, updating for above renaming.
+	(selftest::test_libiberty): Update for renaming.
+
+2016-12-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/78639
+	* config/rs6000/rs6000.md (movdi_internal64): Fix typo in
+	subversion id 242679 that causes the wrong store instruction to be
+	generated if a DImode is in an Altivec register using REG+REG
+	addressing.
+
+2016-12-02  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/70322
+	* config/i386/i386.md (*andndi3_doubleword): Add non-BMI alternative
+	and corresponding post-reload splitter.
+
+2016-12-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64.h (machine_function): Add
+	reg_is_wrapped_separately field.
+	* config/aarch64/aarch64.md (LAST_SAVED_REGNUM): Define new constant.
+	* config/aarch64/aarch64.c (emit_set_insn): Change return type to
+	rtx_insn *.
+	(aarch64_save_callee_saves): Don't save registers that are wrapped
+	separately.
+	(aarch64_restore_callee_saves): Don't restore registers that are
+	wrapped separately.
+	(offset_9bit_signed_unscaled_p, offset_12bit_unsigned_scaled_p,
+	aarch64_offset_7bit_signed_scaled_p): Move earlier in the file.
+	(aarch64_get_separate_components): New function.
+	(aarch64_get_next_set_bit): Likewise.
+	(aarch64_components_for_bb): Likewise.
+	(aarch64_disqualify_components): Likewise.
+	(aarch64_emit_prologue_components): Likewise.
+	(aarch64_emit_epilogue_components): Likewise.
+	(aarch64_set_handled_components): Likewise.
+	(aarch64_process_components): Likewise.
+	(TARGET_SHRINK_WRAP_GET_SEPARATE_COMPONENTS,
+	TARGET_SHRINK_WRAP_COMPONENTS_FOR_BB,
+	TARGET_SHRINK_WRAP_DISQUALIFY_COMPONENTS,
+	TARGET_SHRINK_WRAP_EMIT_PROLOGUE_COMPONENTS,
+	TARGET_SHRINK_WRAP_EMIT_EPILOGUE_COMPONENTS,
+	TARGET_SHRINK_WRAP_SET_HANDLED_COMPONENTS): Define.
+
+2016-12-02  Martin Jambor  <mjambor@suse.cz>
+
+	* passes.def: Move pass_rebuild_cgraph_edges to the end of
+	pass_build_ssa_passes.
+
+2016-12-02  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/alpha/alpha.md (exception_receiver): Copy
+	alpha_gp_ave_rtx return value.
+
+2016-12-02  Tadek Kijkowski  <tkijkowski@gmail.com>
+
+	* Makefile.in (PREPROCESSOR_DEFINES): Add a level of indirection
+	for several include directories that may be relative to sysroot.
+	* config/i386/x-mingw32 (gplus_includedir): Define.
+	(gplus_tool_includedir, gplus_backward_include_dir): Likewise.
+	(native_system_includedir): Likewise.
+	* config/i386/mingw32.h (STANDARD_STARTFILE_PREFIX_1): Do not
+	override if TARGET_SYSTEM_ROOT is defined.
+	(NATIVE_SYSTEM_HEADER_DIR): Likewise.
+
+2016-12-02  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/70322
+	* config/i386/i386.c (dimode_scalar_to_vector_candidate_p): Handle NOT.
+	(dimode_scalar_chain::compute_convert_gain): Likewise.
+	(dimode_scalar_chain::convert_insn): Likewise.
+	* config/i386/i386.md (*one_cmpldi2_doubleword): New
+	define_insn_and_split.
+	(one_cmpl<mode>2): Use SWIM1248x iterator instead of SWIM.
+
+	PR target/78614
+	* rtl.c (copy_rtx): Don't clear used flag here.
+	(shallow_copy_rtx_stat): Clear used flag here unless code the rtx
+	is shareable.
+	* simplify-rtx.c (simplify_replace_fn_rtx): When copying rtx with
+	'E' in format, copy all vectors.
+	* emit-rtl.c (copy_insn_1): Don't clear used flag here.
+	* valtrack.c (cleanup_auto_inc_dec): Likewise.
+	* config/rs6000/rs6000.c (rs6000_frame_related): Likewise.
+
+2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+	    Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm-builtins.c (arm_builtins): Define
+	ARM_BUILTIN_CMSE_NONSECURE_CALLER.
+	(bdesc_2arg): Add line for cmse_nonsecure_caller.
+	(arm_init_builtins): Handle cmse_nonsecure_caller.
+	(arm_expand_builtin): Likewise.
+	* config/arm/arm_cmse.h (cmse_nonsecure_caller): New.
+
+2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+	    Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm.c (detect_cmse_nonsecure_call): New.
+	(cmse_nonsecure_call_clear_caller_saved): New.
+	(arm_reorg): Use cmse_nonsecure_call_clear_caller_saved.
+	(arm_function_ok_for_sibcall): Disable sibcalls for
+	cmse_nonsecure_call.
+	* config/arm/arm-protos.h (detect_cmse_nonsecure_call): New.
+	* config/arm/arm.md (call): Handle cmse_nonsecure_entry.
+	(call_value): Likewise.
+	(nonsecure_call_internal): New.
+	(nonsecure_call_value_internal): New.
+	* config/arm/thumb1.md (*nonsecure_call_reg_thumb1_v5): New.
+	(*nonsecure_call_value_reg_thumb1_v5): New.
+	* config/arm/thumb2.md (*nonsecure_call_reg_thumb2): New.
+	(*nonsecure_call_value_reg_thumb2): New.
+	* config/arm/unspecs.md (UNSPEC_NONSECURE_MEM): New.
+
+2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+	    Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm.c (gimplify.h): New include.
+	(arm_handle_cmse_nonsecure_call): New.
+	(arm_attribute_table): Added cmse_nonsecure_call.
+	(arm_comp_type_attributes): Deny compatibility of function types
+	with without the cmse_nonsecure_call attribute.
+	* doc/extend.texi (ARM ARMv8-M Security Extensions): New attribute.
+
+2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+	    Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm.c (output_return_instruction): Clear
+	registers.
+	(thumb2_expand_return): Likewise.
+	(thumb1_expand_epilogue): Likewise.
+	(thumb_exit): Likewise.
+	(arm_expand_epilogue): Likewise.
+	(cmse_nonsecure_entry_clear_before_return): New.
+	(comp_not_to_clear_mask_str_un): New.
+	(compute_not_to_clear_mask): New.
+	* config/arm/thumb1.md (*epilogue_insns): Change length attribute.
+	* config/arm/thumb2.md (*thumb2_return): Disable for
+	cmse_nonsecure_entry functions.
+	(*thumb2_cmse_entry_return): Duplicate thumb2_return pattern for
+	cmse_nonsecure_entry functions.
+
+2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+	    Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm.c (use_return_insn): Change to return with  bxns
+	when cmse_nonsecure_entry.
+	(output_return_instruction): Likewise.
+	(arm_output_function_prologue): Likewise.
+	(thumb_pop): Likewise.
+	(thumb_exit): Likewise.
+	(thumb2_expand_return): Assert that entry functions always have simple
+	returns.
+	(arm_expand_epilogue): Handle entry functions.
+	(arm_function_ok_for_sibcall): Disable sibcall for entry functions.
+	(arm_asm_declare_function_name): New.
+	* config/arm/arm-protos.h (arm_asm_declare_function_name): New.
+	* config/arm/elf.h (ASM_DECLARE_FUNCTION_NAME): Redefine to
+	use arm_asm_declare_function_name.
+
+2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+	    Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm.c (arm_handle_cmse_nonsecure_entry): New.
+	(arm_attribute_table): Added cmse_nonsecure_entry
+	(arm_compute_func_type): Handle cmse_nonsecure_entry.
+	(cmse_func_args_or_return_in_stack): New.
+	(arm_handle_cmse_nonsecure_entry): New.
+	* config/arm/arm.h (ARM_FT_CMSE_ENTRY): New macro define.
+	(IS_CMSE_ENTRY): Likewise.
+	* doc/extend.texi (ARM ARMv8-M Security Extensions): New attribute.
+
+2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+	    Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config.gcc (extra_headers): Added arm_cmse.h.
+	* config/arm/arm-arches.def (ARM_ARCH):
+	(armv8-m): Add FL2_CMSE.
+	(armv8-m.main): Likewise.
+	(armv8-m.main+dsp): Likewise.
+	* config/arm/arm-c.c
+	(arm_cpu_builtins): Added __ARM_FEATURE_CMSE macro.
+	* config/arm/arm-flags.h: Define FL2_CMSE.
+	* config/arm.c (arm_arch_cmse): New.
+	(arm_option_override): New error for unsupported cmse target.
+	* config/arm/arm.h (arm_arch_cmse): New.
+	* config/arm/arm.opt (mcmse): New.
+	* config/arm/arm_cmse.h: New file.
+	* doc/invoke.texi (ARM Options): Add -mcmse.
+	* doc/sourcebuild.texi (arm_cmse_ok): Add new effective target.
+	* doc/extend.texi: Add ARMv8-M Security Extensions entry.
+
+2016-12-02  Georg-Johann Lay  <avr@gjlay.de>
+
+	* config/avr/avr.c: Fix coding rule glitches.
+
+2016-12-02  Martin Jambor  <mjambor@suse.cz>
+
+	* hsa.c (hsa_callable_function_p): Return false for artificial
+	functions.
+
+2016-12-02  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	PR rtl-optimization/78561
+	* varasm.c (recompute_pool_offsets): New.
+	(output_constant_pool): Call it.
+
+2016-12-02  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	PR rtl-optimization/78561
+	* config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p) Rename
+	get_pool_size to get_pool_size_upper_bound.
+	(rs6000_stack_info): Likewise.
+	(rs6000_emit_prologue): Likewise.
+	(rs6000_elf_declare_function_name): Likewise.
+	(rs6000_set_up_by_prologue): Likewise.
+	(rs6000_can_eliminate): Likewise, reformat spaces to tabs.
+	* output.h (get_pool_size): Rename to...
+	(get_pool_size_upper_bound): ...This.
+	* varasm.c (get_pool_size): Rename to...
+	(get_pool_size_upper_bound): ...This.
+
+2016-12-02  Bin Cheng  <bin.cheng@arm.com>
+
+	* match.pd: Add new pattern:
+	(cond (cmp (convert? x) c1) (op x c2) c3) -> (op (minmax x c1) c2).
+
+2016-12-02  Nathan Sidwell  <nathan@acm.org>
+
+	* diagnostic.c (diagnostic_report_diagnostic): Remove extraneous
+	braces.
+
+2016-12-02  Aldy Hernandez  <aldyh@redhat.com>
+
+	PR middle-end/78328
+	* gimple-ssa-warn-alloca.c (alloca_call_type): Handle
+	VR_ANTI_RANGE.
+
+2016-12-02  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.c (s390_save_gprs_to_fprs): Fix RTL sharing
+	problem.
+
+2016-12-02  Georg-Johann Lay  <avr@gjlay.de>
+
+	* config/avr/avr-arch.h (avr_mcu_t) [n_flash]: Remove field.
+	* config/avr/avr-devices.c (AVR_MCU): Remove N_FLASH macro argument.
+	* config/avr/avr-mcus.def (AVR_MCU): Remove initializer for n_flash.
+	* config/avr/avr.c (avr_set_core_architecture) [avr_n_flash]: Use
+	avr_mcu_types.flash_size to compute default value.
+	* config/avr/gen-avr-mmcu-specs.c (print_mcu) [cc1_n_flash]: Use
+	mcu->flash_size to compute value for spec.
+
+2016-12-02  Georg-Johann Lay  <avr@gjlay.de>
+
+	* doc/invoke.texi (AVR Options) [-mabsdata]: Point to absdata.
+	* doc/extend.texi (AVR Variable Attributes) [progmem]: Hint
+	about linker description to avoid progmem altogether.
+	[absdata]: Point to -mabsdata option.
+
+2016-12-02  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/78547
+	* emit-rtl.c (unshare_all_rtl): Make sure DECL_RTL and
+	DECL_INCOMING_RTL is not shared.
+	* config/i386/i386.c (convert_scalars_to_vectors): If any
+	insns have been converted, adjust all parameter's DEC_RTL and
+	DECL_INCOMING_RTL back from V1TImode to TImode if the parameters have
+	TImode.
+
+	PR rtl-optimization/78575
+	* config/i386/i386.c (timode_scalar_chain::fix_debug_reg_uses): Use
+	DF infrastructure to wrap all V1TImode reg uses into TImode subreg
+	if not already wrapped in a subreg.  Make sure df_insn_rescan does not
+	affect further iterations.
+
+2016-12-02  Martin Liska  <mliska@suse.cz>
+
+	PR ipa/78555
+	* sreal.c (sreal::to_int): Make absolute value before shifting.
+	(sreal::operator/): Likewise.
+	(sreal_verify_negative_division): New test.
+	(void sreal_c_tests): Call the new test.
+	* sreal.h (sreal::normalize_up): Use new SREAL_ABS and
+	SREAL_SIGN macros.
+	(sreal::normalize_down): Likewise.
+
+2016-12-02  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	* combine.c (combine_simplify_rtx):  Suppress replacement of
+	"(and (reg) (const_int bit))" with "if_then_else".
+
+2016-12-02  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	PR target/77822
+	* config/s390/s390.md ("extzv")
+	("*extzv<mode><clobbercc_or_nocc>")
+	("*extzvdi<clobbercc_or_nocc>_lshiftrt")
+	("*<risbg_n>_ior_and_sr_ze")
+	("*extract1bitdi<clobbercc_or_nocc>")
+	("*insv<mode><clobbercc_or_nocc>", "*insv_rnsbg_noshift")
+	("*insv_rnsbg_srl", "*insv<mode>_mem_reg")
+	("*insvdi_mem_reghigh", "*insvdi_reg_imm"): Use EXTRACT_ARGS_IN_RANGE
+	to validate the arguments of zero_extract and sign_extract.
+
+2016-12-02  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	PR target/77822
+	* rtl.h (EXTRACT_ARGS_IN_RANGE): New.
+
+2016-12-02  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* gcc/config/s390/s390.c (s390_builtin_vectorization_cost): New
+	function.
+	(TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Define target
+	macro.
+
+2016-12-02  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/vector.md (vec_halfhalf): New mode iterator.
+	("vec_pack_trunc_<mode>", "vec_pack_ssat_<mode>")
+	("vec_pack_usat_<mode>", "vec_unpacks_hi_v16qi")
+	("vec_unpacks_low_v16qi", "vec_unpacku_hi_v16qi")
+	("vec_unpacku_low_v16qi", "vec_unpacks_hi_v8hi")
+	("vec_unpacks_lo_v8hi", "vec_unpacku_hi_v8hi")
+	("vec_unpacku_lo_v8hi", "vec_unpacks_hi_v4si")
+	("vec_unpacks_lo_v4si", "vec_unpacku_hi_v4si")
+	("vec_unpacku_lo_v4si"): New pattern definitions.
+	* config/s390/vx-builtins.md: Move VI_HW_HSD mode iterator to
+	vector.md.
+
+2016-12-02  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390-protos.h (s390_reverse_condition): New
+	prototype.
+	* config/s390/s390.c (s390_canonicalize_comparison): Fold compares
+	of CC mode values.
+	(s390_reverse_condition): New function.
+	* config/s390/s390.h (REVERSE_CC_MODE, REVERSE_CONDITION): Define
+	target macros.
+
+2016-12-02  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390-modes.def (CCVEQANY, CCVH, CCVHANY, CCVHU)
+	(CCVHUANY): Remove modes.
+	(CCVIH, CCVIHU, CCVIALL, CCVIANY, CCVFALL, CCVFANY): Add modes and
+	documentation.
+	* config/s390/s390.c (s390_match_ccmode_set): Rename cc modes.
+	(s390_expand_vec_compare_scalar): Pick one of the cc consumer
+	modes.
+	(s390_branch_condition_mask): Adjust to use the new cc consumer
+	modes.  The new modes allow for proper reversal in the middle-end.
+	(s390_expand_vec_compare_cc): Determine the proper cc producer and
+	consumer modes for a comparison.
+	* config/s390/s390.md: Rename CCVH to CCVIH and CCVHU to CCVIHU
+	throughout the file.
+	* config/s390/vx-builtins.md: Likewise.
+
+2016-12-02  Maxim Ostapenko  <m.ostapenko@samsung.com>
+
+	* asan.c (asan_global_struct): Refactor.
+	(create_odr_indicator): New function.
+	(asan_needs_odr_indicator_p): Likewise.
+	(is_odr_indicator): Likewise.
+	(asan_add_global): Introduce odr_indicator_ptr. Pass it into global's
+	constructor.
+	(asan_protect_global): Do not protect odr indicators.
+
+2016-12-01  Jeff Law  <law@redhat.com>
+
+	* tree-ssa-threadedge.c
+	(record_temporary_equivalences_from_stmts_at_dest): Avoid temporary
+	propagation of operands if there are no operands.
+
+2016-12-02  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/78586
+	* gimple-ssa-sprintf.c (format_integer): Don't handle NOP_EXPR,
+	CONVERT_EXPR or COMPONENT_REF here.  Formatting fix.  For
+	SSA_NAME_DEF_STMT with NOP_EXPR only change argtype if the rhs1's
+	type is INTEGER_TYPE or POINTER_TYPE.
+
+2016-12-01  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+	PR target/78577
+	* config/rs6000/vsx.md (vextuhlx): Revise mode of operand 2.
+	(vextuhrx): Likewise.
+	(vextuwlx): Likewise.
+	(vextuwrx): Likewise.
+
+2016-12-01  David Malcolm  <dmalcolm@redhat.com>
+
+	* dwarf2out.c (dwarf2out_c_finalize): Reset early_dwarf and
+	early_dwarf_finished.
+
+2016-12-01  Eric Botcazou  <ebotcazou@adacore.com>
+	    David S. Miller  <davem@davemloft.net>
+
+	* config/sparc/sparc.opt (mlra): New target option.
+	* config/sparc/sparc.c (TARGET_LRA_P): Define to...
+	(sparc_lra_p): ...this.  New function.
+	(D_MODES, DF_MODES): Add missing cast.
+	* config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not
+	provide these insns when flag_pic.
+	(sethi_di_medlow, losum_di_medlow, seth44, setm44, setl44, sethh,
+	setlm, sethm, setlo, embmedany_sethi, embmedany_losum,
+	embmedany_brsum, embmedany_textuhi, embmedany_texthi,
+	embmedany_textulo, embmedany_textlo): Likewise.
+	(sethi_di_medlow_embmedany_pic): Provide it only with flag_pic.
+
+2016-12-01  David Edelsohn  <dje.gcc@gmail.com>
+
+	PR debug/66419
+	PR c++/78235
+	* dbxout.c (dbxout_type_fields): Skip TEMPLATE_DECLs.
+
+2016-12-01  Richard Biener  <rguenther@suse.de>
+	    Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	* vec.h (vec<T, A, vl_embed>::quick_grow_cleared): Guard call to
+	memset if len-oldlen != 0.
+	(vec<T, va_heap, vl_ptr>::safe_grow_cleared): Likewise.
+
+2016-12-01  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*andndi3_doubleword): Depend on TARGET_SSE2.
+
+2016-12-01  Georg-Johann Lay  <avr@gjlay.de>
+
+	* config/avr/avr.c: Fix coding rule glitches.
+
+2016-12-01  Markus Trippelsdorf  <markus@trippelsdorf.de>
+
+	PR tree-optimization/78598
+	* tree-ssa-loop-prefetch.c (ddown): Cast to signed to avoid
+	overflows.
+
+2016-12-01  Markus Trippelsdorf  <markus@trippelsdorf.de>
+
+	PR rtl-optimization/78596
+	* combine.c (simplify_comparison): Cast to unsigned to avoid
+	left shifting of negative value.
+
+2016-12-01  Matthias Klose  <doko@ubuntu.com>
+
+	* doc/install.texi: Don't use pkg-config to check for bdw-gc.
+
+2016-12-01  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-alias.c (indirect_refs_may_alias_p): Do not
+	treat arrays with same type as objects that cannot overlap.
+
+2016-12-01  Georg-Johann Lay  <avr@gjlay.de>
+
+	* config/avr/avr.c (avr_print_operand): Use SYMBOL_REF_P if possible.
+	(avr_handle_addr_attribute, avr_asm_output_aligned_decl_common)
+	(avr_asm_asm_output_aligned_bss, avr_addr_space_convert): Dito.
+
+2016-12-01  Jakub Jelinek  <jakub@redhat.com>
+
+	PR debug/78587
+	* dwarf2out.c (loc_descr_plus_const): For negative offset use
+	uint_loc_descriptor instead of int_loc_descriptor and perform negation
+	in unsigned HOST_WIDE_INT type.
+	(scompare_loc_descriptor): Shift UINTVAL left instead of INTVAL.
+
+	PR target/78614
+	* config/rs6000/rs6000.c (rs6000_frame_related): Call
+	set_used_flags (pat) before any simplifications.  Clear used flag on
+	PARALLEL copy.  Don't guard add_reg_note call.  Call
+	copy_rtx_if_shared on pat before storing it into
+	REG_FRAME_RELATED_EXPR.
+
+2016-12-01  Alan Modra  <amodra@gmail.com>
+
+	* gcc/config/rs6000/rs6000.c (insn_is_swappable_p): Properly
+	look inside UNSPEC_VSX_XXSPLTW vec.
+
+2016-12-01  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/78607
+	* combine.c (try_combine): Emit a barrier after a unconditional trap.
+
+2016-11-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/78602
+	* config/rs6000/rs6000.c (rs6000_expand_vector_extract): If the
+	element is not a constant or in a register, force it to a
+	register.
+
+	PR target/78560
+	* config/rs6000/rs6000.c (rs6000_expand_vector_set): Force value
+	that will be set to a vector element to be in a register.
+	* config/rs6000/vsx.md (vsx_set_<mode>_p9): Fix thinko that used
+	the wrong multiplier to convert the element number to a byte
+	offset.
+
+2016-11-30  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR tree-optimization/77856
+	* lra-constraints.c (inherit_in_ebb): Check original regno for
+	invalid invariant regs too.  Set only clobbered hard regs for the
+	invalid invariant regs.
+
+2016-11-30  Pitchumani Sivanupandi  <pitchumani.sivanupandi@microchip.com>
+
+	Commit files forgotten in r242966.
+
+	* config/avr/avr-arch.h (avr_mcu_t) [flash_size]: New member.
+	* config/avr/avr-devices.c (avr_mcu_types): Add flash size info.
+	* config/avr/gen-avr-mmcu-specs.c (print_mcu): Remove hard-coded
+	prefix check to find wrap-around value, instead use MCU flash size.
+	For 8k flash devices, update link_pmem_wrap spec string to
+	add --pmem-wrap-around=8k.
+	* config/avr/specs.h (LINK_RELAX_SPEC): Move link_pmem_wrap from
+	here...
+	(LINK_SPEC): ...to here.
+
+2016-11-30  David Malcolm  <dmalcolm@redhat.com>
+
+	PR c/78498
+	* selftest.c (selftest::assert_strndup_eq): New function.
+	(selftest::test_strndup): New function.
+	(selftest::test_libiberty): New function.
+	(selftest::selftest_c_tests): Call test_libiberty.
+
+2016-11-30  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/78610
+	* ira.c (combine_and_move_insns): Don't substitute into TRAP_IF
+	instructions.
+
+2016-11-30  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/78574
+	* tree-ssa-loop-ivopts.c (find_deriving_biv_for_expr): Skip loop
+	header PHI that doesn't define biv.
+
+2016-11-30  Jakub Jelinek  <jakub@redhat.com>
+
+	* emit-rtl.c (verify_insn_sharing): Call verify_rtx_sharing instead of
+	reset_used_flags.
+
+	* config/i386/i386.c (dimode_scalar_chain::convert_op): Avoid
+	sharing the SUBREG rtx between move and following insn.
+
+	* ira.c (ira_update_equiv_info_by_shuffle_insn): Use copy_rtx
+	for REG_EQUIV argument.
+
+2016-11-30  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/t-rmprofile: Add mappings for Cortex-M23 and Cortex-M33.
+
+2016-11-30  Markus Trippelsdorf  <markus@trippelsdorf.de>
+
+	PR ipa/78555
+	* real.c (real_hash): Add cast to avoid left
+	shifting of negative values.
+
+2016-11-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/78362
+	* config/aarch64/aarch64.md (add<mode>3): Extract inner expression
+	from a subreg in operands[1] and don't call REGNO on a non-reg
+	expression when deciding to force operands[2] into a reg.
+
+2016-11-30  Claudiu Zissulescu  <claziss@synopsys.com>
+	    Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* config/arc/arc-protos.h (arc_store_addr_hazard_p): Declare.
+	* config/arc/arc.c (arc_store_addr_hazard_p): New function.
+	(workaround_arc_anomaly): Call arc_store_addr_hazard_p for ARC700.
+	* config/arc/arc700.md: Add define_bypass for store/load.
+
+2016-11-30  Martin Liska  <mliska@suse.cz>
+
+	* cgraph.c (symbol_table::initialize): Initialize
+	ipa_clones_dump_file.
+	(cgraph_node::remove): Report to ipa_clones_dump_file.
+	* cgraph.h: Add new argument (suffix) to cloning methods.
+	* cgraphclones.c (dump_callgraph_transformation): New function.
+	(cgraph_node::create_clone): New argument.
+	(cgraph_node::create_virtual_clone): Likewise.
+	(cgraph_node::create_version_clone): Likewise.
+	* dumpfile.c: Add .ipa-clones dump file.
+	* dumpfile.h (enum tree_dump_index): Add TDI_clones
+	* ipa-inline-transform.c (clone_inlined_nodes): Report operation
+	to dump_callgraph_transformation.
+
+2016-11-30  Martin Liska  <mliska@suse.cz>
+
+	PR sanitizer/78541
+	* asan.c (asan_expand_mark_ifn): Properly
+	select a VAR_DECL from FRAME.* component reference.
+
+2016-11-30  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/78583
+	* simplify-rtx.c (simplify_truncation): Add check missing from the
+	previous commit.
+
+2016-11-30  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/78590
+	* combine.c (change_zero_ext): Transform zero_extend of subregs only
+	if the subreg_reg is a scalar integer mode.
+
+2016-11-30  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/78586
+	* gimple-ssa-sprintf.c (format_integer): Use TYPE_MAX_VALUE or
+	TYPE_MIN_VALUE or build_all_ones_cst instead of folding LSHIFT_EXPR.
+	Don't build_int_cst min/max twice.  Formatting fix.
+
+2016-11-30  Markus Trippelsdorf  <markus@trippelsdorf.de>
+
+	PR rtl-optimization/78588
+	* combine.c (if_then_else_cond): Also guard against BLKmode.
+	* rtlanal.c (num_sign_bit_copies1): Add assert.
+
+2016-11-29  Jeff Law  <law@redhat.com>
+
+	* common/config/arc/arc-common.c (arc_handle_option): Remove unused
+	variables.
+
+	* lra-constraints.c (check_and_process_move): Constrain the
+	range of DCLASS and SCLASS to avoid false positive out of bounds
+	array index warning.
+
+2016-11-29  David Malcolm  <dmalcolm@redhat.com>
+
+	* doc/install.texi (--with-target-bdw-gc): Remove stray '@'.
+
+2016-11-29  David Malcolm  <dmalcolm@redhat.com>
+
+	PR preprocessor/78569
+	* input.c (get_substring_ranges_for_loc): Fail gracefully if
+	line directives were present.
+
+2016-11-30  Matthias Klose  <doko@ubuntu.com>
+
+	* doc/install.texi: Document configure options --enable-objc-gc
+	and --with-target-bdw-gc.
+
+2016-11-29  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/78594
+	* config/rs6000/rs6000.md (mov<mode>_internal, QHI iterator): Add
+	'x' to stxsi<wd>x print pattern, so that QImode and HImode values
+	residing in traditional altivec registers can be stored
+	correctly.
+
+2016-11-29  Max Filippov  <jcmvbkbc@gmail.com>
+
+	PR target/78603
+	* config/xtensa/xtensa.c (hwloop_optimize): Don't emit zero
+	overhead loop start between a call and its CALL_ARG_LOCATION
+	note.
+
+2016-11-29  Waldemar Brodkorb  <wbx@openadk.org>
+
+	* config/bfin/linux.h (CPP_SPEC): Define.
+
+2016-11-29  Martin Sebor  <msebor@redhat.com>
+
+	PR tree-optimization/78512
+	* config/linux.h (TARGET_PRINTF_POINTER_FORMAT): Remove.
+	* config/rs6000/linux.h: Same.
+	* config/rs6000/linux64.h: Same.
+	* config/sol2.h: Same.
+	* config/sol2.c (solaris_printf_pointer_format): Remove.
+	* doc/tm.texi.in (TARGET_PRINTF_POINTER_FORMAT): Remove.
+	* doc/tm.texi: Regenerate.
+	* gimple-ssa-sprintf.c (format_pointer): Rempove.
+	(pass_sprintf_length::compute_format_length): Return bool.
+	(pass_sprintf_length::handle_gimple_call): Adjust.
+	* target.def (printf_pointer_format): Remove.
+	* targhooks.c (default_printf_pointer_format): Remove.
+	(linux_printf_pointer_format): Same.
+	* targhooks.h (default_printf_pointer_format): Remove.
+	(linux_printf_pointer_format, solaris_printf_pointer_format): Same.
+
+2016-11-29  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/sse.md (UNSPEC_MASKOP): Move from i386.md.
+	(mshift): Ditto.
+	(SWI1248_AVX512BWDQ): Ditto.
+	(SWI1248_AVX512BW): Ditto.
+	(k<any_logic:code><mode>): Ditto.
+	(kandn<mode>): Ditto.
+	(kxnor<mode>): Ditto.
+	(knot<mode>): Ditto.
+	(*k<any_lshift:code><mode>): Ditto.
+	(kortestzhi, kortestchi): Ditto.
+	(kunpckhi, kunpcksi, kunpckdi): Ditto.
+
+2016-11-29  Andrew Pinski  <apinski@cavium.com>
+
+	* tree-vrp.c (simplify_stmt_using_ranges): Use boolean_type_node
+	for the EQ_EXPR.
+
+2016-11-29  Chen Gang  <gang.chen.5i5j@gmail.com>
+
+	PR target/71331
+	* config/tilegx/tilegx.c (tilegx_function_profiler): Save r10
+	to stack before call mcount.
+	(tilegx_can_use_return_insn_p): Clean up code.
+
+2016-11-29  Pitchumani Sivanupandi <pitchumani.s@atmel.com>
+
+	* config/avr/avr-mcu.def: (avr_mcu_types): Add flash size info.
+
+2016-11-29  David Malcolm  <dmalcolm@redhat.com>
+
+	PR c++/72774
+	PR c++/72786
+	PR c++/77922
+	PR c++/78313
+	* spellcheck.c (selftest::test_find_closest_string): Verify that
+	we don't offer the goal string as a suggestion.
+	* spellcheck.h (best_match::get_best_meaningful_candidate): Don't
+	offer the goal string as a suggestion.
+
+
+2016-11-29  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (arc_override_options): Avoid selection of
+	compact casesi for ARCv2.
+
+2016-11-29  Richard Biener  <rguenther@suse.de>
+
+	* tree-cfg.c (lower_phi_internal_fn): Do not look for further
+	PHIs after a regular stmt.
+	(stmt_starts_bb_p): PHIs not preceeded by a PHI or a label
+	start a new BB.
+
+2016-11-29  Martin Liska  <mliska@suse.cz>
+
+	PR gcov-profile/78582
+	* tree-profile.c (gimple_gen_time_profiler): Make one extra BB
+	to prevent PHI argument clash.
+
+2016-11-29  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.opt (marclinux): Fix typo.
+	(marclinux_prof): Likewise.
+
+2016-11-29  Jiong Wang  <jiong.wang@arm.com>
+
+	* target.def (stack_protect_runtime_enabled_p): New.
+	* function.c (expand_function_end): Guard stack_protect_epilogue with
+	targetm.stack_protect_runtime_enabled_p.
+	* cfgexpand.c (pass_expand::execute): Likewise.
+	* calls.c (expand_call): Likewise.
+	* doc/tm.texi.in (TARGET_STACK_PROTECT_RUNTIME_ENABLED_P): Add it.
+	* doc/tm.texi: Regenerate.
+
+2016-11-29  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/78546
+	* match.pd: Add CST1 - (CST2 - A) -> CST3 + A missing case.
+
+2016-11-29  Janus Weil  <janus@gcc.gnu.org>
+
+	* doc/contrib.texi: Add a few missing gfortran contributors.
+
+2016-11-29  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* combine.c (change_zero_ext): Also handle extends from a subreg
+	to a mode bigger than that of the operand of the subreg.
+
+2016-11-29  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR target/77687
+	* config/rs6000/rs6000.c (rs6000_emit_stack_reset): Emit the
+	stack_restore_tie insn instead of stack_tie, for the SVR4 and
+	SPE ABIs.
+	* config/rs6000/rs6000.md (stack_restore_tie): New define_insn.
+
+2016-11-28  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* shrink-wrap.c (init_separate_shrink_wrap): Do not clear
+	head_components and tail_components.
+	(spread_components): New algorithm.
+	(emit_common_tails_for_components): Clear head_components and
+	tail_components.
+	(insert_prologue_epilogue_for_components): Write extra output to the
+	dump file for sibcalls and abnormal exits.
+
+2016-11-28  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/78342
+	* combine.c: Include "cfghooks.h".
+	(try_combine): If we create an unconditional trap, break the basic
+	block in two just after it, and remove the edge between; also, set
+	the *new_direct_jump_p flag so that cleanup_cfg is run.
+
+2016-11-28  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* simplify-rtx.c (simplify_truncation): Handle truncate of zero_extract
+	and sign_extract.
+
+2016-11-28  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*and<mode>_1): Merge insn pattern from
+	*andsi_1 and *andhi_1 using SWI24 mode iterator.  Use multi-line
+	output template string.
+	(*anddi_1): Use multi-line output template string.
+	(*andqi_1): Ditto.
+
+2016-11-28  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/78540
+	* rtl.h (remove_reg_equal_equiv_notes): Return bool instead of void.
+	* rtlanal.c (remove_reg_equal_equiv_notes): Return true if any
+	note has been removed.
+	* postreload.c (reload_combine_recognize_pattern): If
+	remove_reg_equal_equiv_notes returns true, call df_notes_rescan.
+
+2016-11-28  Martin Sebor  <msebor@redhat.com>
+
+	PR middle-end/78520
+	* gimple-ssa-sprintf.c (target_max_value): Remove.
+	(target_int_max, target_size_max): Use TYPE_MAX_VALUE.
+	(get_width_and_precision): New function.
+	(format_integer, format_floating, get_string_length, format_string):
+	Correct handling of width and precision with unknown value.
+	(format_directive): Add warning.
+	(pass_sprintf_length::compute_format_length): Allow for precision
+	to consist of a sole period with no asterisk or digits after it.
+
+2016-11-28  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/78546
+	* simplify-rtx.c (neg_const_int): When negating most negative
+	number in mode wider than HOST_BITS_PER_WIDE_INT, use
+	simplify_const_unary_operation to produce CONST_DOUBLE or
+	CONST_WIDE_INT.
+	(simplify_plus_minus): Handle the case where neg_const_int
+	doesn't return a CONST_INT.
+
+2016-11-28  Markus Trippelsdorf  <markus@trippelsdorf.de>
+
+	PR target/78556
+	* config/rs6000/rs6000.c (vspltis_constant): Add casts to avoid
+	left shifting of negative values.
+
+2016-11-28  Jakub Jelinek  <jakub@redhat.com>
+
+	PR fortran/78298
+	* tree-nested.c (convert_local_reference_stmt): After adding
+	shared (FRAME.NN) clause to omp parallel, task or target,
+	add it also to all outer omp parallel, task or target constructs.
+
+2016-11-28  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (UNSPEC_KMASKOP): New.
+	(UNSPEC_KMOV): Remove.
+	(kmovw): Expand to plain HImode move.
+	(k<any_logic:code><mode>): Rename from *k<logic><mode>. Use
+	register_operand predicates.  Tag pattern with UNSPEC_KMASKOP.
+	Remove corresponding clobber-removing splitter.
+	(*anddi_1): Remove mask register alternatives.
+	(*andsi_1): Ditto.
+	(*andhi_1): Ditto.
+	(*andqi_1): Ditto.
+	(*<any_or:code><mode>_1): Ditto.
+	(*<any_or:code>qi_1): Ditto.
+	(kandn<mode>): Use SWI1248_AVX512BW mode iterator.  Remove
+	general register alternatives.  Tag pattern with UNSPEC_KMASKOP.
+	Remove corresponding splitter to operation with general registers.
+	(*andn<SWI38:mode>): Rename from *bmi_andn_<mode>.
+	(*andn<SWI12:mode>): New pattern.
+	(*kxnor<mode>): Remove general register alternatives.  Tag pattern
+	with UNSPEC_KMASKOP.  Remove corresponding splitter to operation
+	with general registers.
+	(knot<mode>): New insn pattern.
+	(*one_cmpl<mode>2_1): Remove mask register alternatives.
+	(one_cmplqi2_1): Ditto.
+	(*k<any_lshift:code><mode>): Rename from *k<mshift><mode>3.
+	Tag pattern with UNSPEC_KMASKOP. Add mode attribute.
+	* config/i386/predicates.md (mask_reg_operand): Remove predicate.
+	* config/i386/sse.md (vec_unpacks_hi_hi): Update pattern
+	to generate kmaskop shift.
+	(vec_unpacks_hi_<mode>): Ditto.
+	* config/i386/i386-builtin.def (__builtin_ia32_kandhi):
+	Use CODE_FOR_kandhi.
+	(__builtin_ia32_knothi): Use CODE_FOR_knothi.
+	(__builtin_ia32_korhi): Use CODE_FOR_kiorhi.
+	(__builtin_ia32_kxorhi): Use CODE_FOR_kxorhi.
+
+2016-11-28  Richard Biener  <rguenther@suse.de>
+
+	* tree-vrp.c (vrp_visit_assignment_or_call): Handle simplifications
+	to SSA names via extract_range_from_ssa_name if allowed.
+
+2016-11-28  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/78542
+	* tree-ssa-ccp.c (evaluate_stmt): Only valueize simplification
+	if allowed.
+
+2016-11-28  Paolo Bonzini  <bonzini@gnu.org>
+
+	* combine.c (simplify_if_then_else): Simplify IF_THEN_ELSE that
+	isolates a single bit, even if the condition involves subregs.
+
+2016-11-28  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/aarch64/aarch64-simd-builtins.def
+	(BSL_P): Added di and v2di mode.
+	* config/aarch64/arm_neon.h
+	(vsriq_n_p64, vsri_n_p64): Added poly type.
+	(vextq_p64, vext_p64): Likewise.
+	(vceq_p64, vbslq_p64, vbsl_p64): Likewise.
+
+2016-11-28  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/aarch64/aarch64-builtins.c (TYPES_SETREGP): Added poly type.
+	(TYPES_GETREGP): Likewise.
+	(TYPES_SHIFTINSERTP): Likewise.
+	(TYPES_COMBINEP): Likewise.
+	(TYPES_STORE1P): Likewise.
+	* config/aarch64/aarch64-simd-builtins.def
+	(combine): Added poly generator.
+	(get_dregoi): Likewise.
+	(get_dregci): Likewise.
+	(get_dregxi): Likewise.
+	(ssli_n): Likewise.
+	(ld1): Likewise.
+	(st1): Likewise.
+	* config/aarch64/arm_neon.h
+	(poly64x1x2_t, poly64x1x3_t): New.
+	(poly64x1x4_t, poly64x2x2_t): Likewise.
+	(poly64x2x3_t, poly64x2x4_t): Likewise.
+	(poly64x1_t): Likewise.
+	(vcreate_p64, vcombine_p64): Likewise.
+	(vdup_n_p64, vdupq_n_p64): Likewise.
+	(vld2_p64, vld2q_p64): Likewise.
+	(vld3_p64, vld3q_p64): Likewise.
+	(vld4_p64, vld4q_p64): Likewise.
+	(vld2_dup_p64, vld3_dup_p64): Likewise.
+	(vld4_dup_p64, vsli_n_p64): Likewise.
+	(vsliq_n_p64, vst1_p64): Likewise.
+	(vst1q_p64, vst2_p64): Likewise.
+	(vst3_p64, vst4_p64): Likewise.
+	(__aarch64_vdup_lane_p64, __aarch64_vdup_laneq_p64): Likewise.
+	(__aarch64_vdupq_lane_p64, __aarch64_vdupq_laneq_p64): Likewise.
+	(vget_lane_p64, vgetq_lane_p64): Likewise.
+	(vreinterpret_p8_p64, vreinterpretq_p8_p64): Likewise.
+	(vreinterpret_p16_p64, vreinterpretq_p16_p64): Likewise.
+	(vreinterpret_p64_f16, vreinterpret_p64_f64): Likewise.
+	(vreinterpret_p64_s8, vreinterpret_p64_s16): Likewise.
+	(vreinterpret_p64_s32, vreinterpret_p64_s64): Likewise.
+	(vreinterpret_p64_f32, vreinterpret_p64_u8): Likewise.
+	(vreinterpret_p64_u16, vreinterpret_p64_u32): Likewise.
+	(vreinterpret_p64_u64, vreinterpret_p64_p8): Likewise.
+	(vreinterpretq_p64_f64, vreinterpretq_p64_s8): Likewise.
+	(vreinterpretq_p64_s16, vreinterpretq_p64_s32): Likewise.
+	(vreinterpretq_p64_s64, vreinterpretq_p64_f16): Likewise.
+	(vreinterpretq_p64_f32, vreinterpretq_p64_u8): Likewise.
+	(vreinterpretq_p64_u16, vreinterpretq_p64_u32): Likewise.
+	(vreinterpretq_p64_u64, vreinterpretq_p64_p8): Likewise.
+	(vreinterpret_f16_p64, vreinterpretq_f16_p64): Likewise.
+	(vreinterpret_f32_p64, vreinterpretq_f32_p64): Likewise.
+	(vreinterpret_f64_p64, vreinterpretq_f64_p64): Likewise.
+	(vreinterpret_s64_p64, vreinterpretq_s64_p64): Likewise.
+	(vreinterpret_u64_p64, vreinterpretq_u64_p64): Likewise.
+	(vreinterpret_s8_p64, vreinterpretq_s8_p64): Likewise.
+	(vreinterpret_s16_p64, vreinterpret_s32_p64): Likewise.
+	(vreinterpretq_s32_p64, vreinterpret_u8_p64): Likewise.
+	(vreinterpret_u16_p64, vreinterpretq_u16_p64): Likewise.
+	(vreinterpret_u32_p64, vreinterpretq_u32_p64): Likewise.
+	(vset_lane_p64, vsetq_lane_p64): Likewise.
+	(vget_low_p64, vget_high_p64): Likewise.
+	(vcombine_p64, vst2_lane_p64): Likewise.
+	(vst3_lane_p64, vst4_lane_p64): Likewise.
+	(vst2q_lane_p64, vst3q_lane_p64): Likewise.
+	(vst4q_lane_p64, vget_lane_p64): Likewise.
+	(vget_laneq_p64, vset_lane_p64): Likewise.
+	(vset_laneq_p64, vcopy_lane_p64): Likewise.
+	(vcopy_laneq_p64, vdup_n_p64): Likewise.
+	(vdupq_n_p64, vdup_lane_p64): Likewise.
+	(vdup_laneq_p64, vld1_p64): Likewise.
+	(vld1q_p64, vld1_dup_p64): Likewise.
+	(vld1q_dup_p64, vld1q_dup_p64): Likewise.
+	(vmov_n_p64, vmovq_n_p64): Likewise.
+	(vst3q_p64, vst4q_p64): Likewise.
+	(vld1_lane_p64, vld1q_lane_p64): Likewise.
+	(vst1_lane_p64, vst1q_lane_p64): Likewise.
+	(vcopy_laneq_p64, vcopyq_laneq_p64): Likewise.
+	(vdupq_laneq_p64): Likewise.
+
+2016-11-28  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/arm/arm_neon.h (vget_lane_p64): New.
+
+2016-11-28  Iain Sandoe  <iain@codesourcery.com>
+
+	PR target/71767
+	* configure.ac (with_ld64): Use portable method to extract the
+	major part of the version number.
+	* configure: Regenerated.
+
+2016-11-28  Jakub Jelinek  <jakub@redhat.com>
+
+	* gimple-ssa-sprintf.c (build_intmax_type_nodes): Look at
+	UINTMAX_TYPE rather than SIZE_TYPE.  Add gcc_unreachable if
+	intmax_t couldn't be determined.
+	(format_integer): Make {,u}intmax_type_node no longer static,
+	initialize them only when needed.  For z and t use
+	signed_or_unsigned_type_for instead of assuming size_t and
+	ptrdiff_t have the same precision.
+
+	PR lto/78211
+	* ipa-icf.h (sem_item_optimizer): Add m_classes_vec member.
+	* ipa-icf.c (sem_item_optimizer::sem_item_optimizer): Initialize it.
+	(sem_item_optimizer::~sem_item_optimizer): Traverse m_classes_vec
+	vector instead of traversing m_classes hash table.  Release
+	m_classes_vec.
+	(sem_item_optimizer::read_section, sem_item_optimizer::add_class):
+	Formatting fixes.
+	(sem_item_optimizer::get_group_by_hash): When inserting a new group,
+	add it also to m_classes_vec vector.
+	(sem_item_optimizer::remove_symtab_node,
+	sem_item_optimizer::build_hash_based_classes,
+	sem_item_optimizer::parse_nonsingleton_classes): Formatting fixes.
+	(sem_item_optimizer::subdivide_classes_by_equality,
+	sem_item_optimizer::subdivide_classes_by_sensitive_refs,
+	sem_item_optimizer::verify_classes): Traverse m_classes_vec vector
+	instead of traversing m_classes hash table.  Formatting fixes.
+	(sem_item_optimizer::traverse_congruence_split,
+	sem_item_optimizer::do_congruence_step_for_index,
+	sem_item_optimizer::do_congruence_step): Formatting fixes.
+	(sem_item_optimizer::process_cong_reduction): Traverse m_classes_vec
+	vector instead of traversing m_classes hash table.
+	(sem_item_optimizer::dump_cong_classes): Likewise.  Formatting fixes.
+	(sem_item_optimizer::merge_classes): Traverse m_classes_vec vector
+	instead of traversing m_classes hash table.
+
+2016-11-28  Georg-Johann Lay  <avr@gjlay.de>
+
+	* config/avr/avr.c (out_movhi_r_mr) [REG_X + PLUS]: Only SBIW if
+	X is not unused after.
+
+2016-11-28  Bernd Schmidt  <bschmidt@redhat.com>
+
+	PR rtl-optimization/78120
+	* rtlanal.c (insn_rtx_cost): Revert previous change.
+
+2016-11-28  Georg-Johann Lay  <avr@gjlay.de>
+
+	PR 41076
+	* config/avr/avr.md (SPLIT34): New mode iterator.
+	(bitop): New code iterator.
+	(*iorhi3.ashift8-*). New insn-and-split patterns.
+	(*movhi): Post-reload split reg = 0.
+	[!MOVW]: Post-reload split reg = reg.
+	(*mov<mode>) [SI,SF,PSI,SQ,USQ,SA,USA]: Post-reload split reg = reg.
+	(andhi3, andpsi3, andsi3): Post-reload split reg-reg operations.
+	(iorhi3, iorpsi3, iorsi3): Same.
+	(xorhi3, xorpsi3, xorsi3): Same.
+	* config/avr/avr.c (avr_rtx_costs_1) [IOR && HImode]: Adjust rtx
+	costs to *iorhi3.ashift8-* patterns.
+
+2016-11-27  Iain Sandoe  <iain@codesourcery.com>
+	    Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	PR target/67710
+	* config.in: Regenerate
+	* config/darwin-driver.c (darwin_driver_init): Emit a version string
+	for the assembler.
+	* config/darwin.h(ASM_MMACOSX_VERSION_MIN_SPEC): New, new tests.
+	* config/darwin.opt(asm_macosx_version_min): New.
+	* config/i386/darwin.h: Handle ASM_MMACOSX_VERSION_MIN_SPEC.
+	* configure: Regenerate
+	* configure.ac: Check for mmacosx-version-min handling.
+
+2016-11-27  Iain Sandoe  <iain@codesourcery.com>
+
+	PR target/57438
+	* config/i386/i386.c (ix86_code_end): Note that we emitted code
+	where the function might otherwise appear empty for picbase thunks.
+	(ix86_output_function_epilogue): If we find a zero-sized function
+	assume that reaching it is UB and trap.  If we find a trailing label
+	append a nop.
+	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): If we
+	find a zero-sized function assume that reaching it is UB and trap.
+	If we find a trailing label, append a nop.
+
+2016-11-27  Iain Sandoe  <iain@codesourcery.com>
+
+	PR target/71767
+	* config/darwin-sections.def (picbase_thunk_section): New.
+	* config/darwin.c (darwin_init_sections): Set up picbase thunk
+	section. (darwin_rodata_section, darwin_objc2_section,
+	machopic_select_section, darwin_asm_declare_constant_name,
+	darwin_emit_weak_or_comdat, darwin_function_section): Don’t use
+	coalesced with newer linkers.
+	(darwin_override_options): Decide on usage of coalesed sections
+	on the basis of the target linker version.
+	* config/darwin.h (MIN_LD64_NO_COAL_SECTS): New.
+	* config/darwin.opt  (mtarget-linker): New.
+	* config/i386/i386.c (ix86_code_end): Do not force the thunks into
+	a coalesced section, instead use a thunks section.
+
+2016-11-27  Iain Sandoe  <iain@codesourcery.com>
+
+	PR target/71767
+	* configure.ac (with-ld64): New var, set for Darwin, set on
+	detection of ld64, gcc_cv_ld64_export_dynamic: New, New test.
+	* config/darwin.h: Use LD64_HAS_DYNAMIC export. DEF_LD64: New, define.
+	* config/darwin10.h(DEF_LD64): Update for this target version.
+	* config/darwin12.h(LINK_GCC_C_SEQUENCE_SPEC): Remove rdynamic test.
+	(DEF_LD64): Update for this target version.
+	* configure: Regenerated.
+	* config.in: Regenerated.
+
+2016-11-27  Iain Sandoe  <iain@codesourcery.com>
+
+	PR target/71767
+	* config/darwin.c (imachopic_indirection_name): Make data
+	section indirections linker-visible.
+	* config/darwin.h (ASM_GENERATE_INTERNAL_LABEL): Make local
+	constant labels linker-visible.
+
+2016-11-26  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	* tree.c (build_common_tree_nodes): Initialize ptrdiff_type_node.
+	(free_lang_data): Remove assignment to ptrdiff_type_node.
+
+2016-11-25  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/78526
+	* simplify-rtx.c (simplify_immed_subreg): Don't use wi::extract_uhwi
+	beyond val's precision.
+
+	PR rtl-optimization/78527
+	* combine.c (make_compound_operation_int): Ignore LSHIFTRT with
+	out of bounds shift count.
+
+2016-11-25  Martin Liska  <mliska@suse.cz>
+
+	PR web/71666
+	* doc/invoke.texi (-fprofile-use): Fix reference to a section
+	where -fprofile-generate is documented.
+
+2016-11-25  Martin Liska  <mliska@suse.cz>
+
+	PR gcov-profile/78086
+	* coverage.c (build_init_ctor): Don't use priority {cd}tors if
+	not supported by a target.  Set priority to 100 if possible.
+	(build_gcov_exit_decl): Likewise.
+
+2016-11-25  Richard Biener  <rguenther@suse.de>
+
+	PR ipa/78515
+	* ipa-prop.c (compute_complex_assign_jump_func): Properly identify
+	unary, binary and single RHSs.
+	* tree.def (BIT_INSERT_EXPR): Adjust tree code name.
+
+2016-11-25  Bin Cheng  <bin.cheng@arm.com>
+
+	PR middle-end/78507
+	PR middle-end/78510
+	PR middle-end/78517
+	* match.pd ((cond (cmp (convert1? @1) @3) (convert2? @1) @2)): Use
+	cmp directly, rather than cmp_code.  Initialize code to ERROR_MARK
+	and set it to result code if transformation is valid.  Use code EQ
+	directly in last simplification case.
+
+2016-11-25  Richard Biener  <rguenther@suse.de>
+
+	* gimple-fold.c (fold_stmt_1): Check may_propagate_copy
+	before valueizing return stmts.
+
+2016-11-24  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/78343
+	* passes.def: Add CD-DCE pass after loop splitting.
+	* tree-ssa-dce.c (find_obviously_necessary_stmts): Move
+	SCEV init/finalize ...
+	(perform_tree_ssa_dce): ... here.  Deal with being
+	executed inside the loop pipeline in aggressive mode.
+
+2016-11-25  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* tree-ssa-math-opts.c (struct symbolic_number): Improve comment.
+
+2016-11-25  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	PR tree-optimization/77673
+	* tree-ssa-math-opts.c (struct symbolic_number): Add new src field.
+	(init_symbolic_number): Initialize src field from src parameter.
+	(perform_symbolic_merge): Select most dominated statement as the
+	source statement.  Set src field of resulting n structure from the
+	input src with the lowest address.
+	(find_bswap_or_nop): Rename source_stmt into ins_stmt.
+	(bswap_replace): Rename src_stmt into ins_stmt.  Initially get source
+	of load from src field rather than insertion statement.  Cancel
+	optimization if statement analyzed is not dominated by the insertion
+	statement.
+	(pass_optimize_bswap::execute): Rename src_stmt to ins_stmt.  Compute
+	dominance information.
+
+2016-11-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/67205
+	* config/mips/mips.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define.
+
+2016-11-25  Martin Jambor  <mjambor@suse.cz>
+
+	PR tree-optimization/70965
+	* passes.def (pass_build_ssa_passes): Add pass_rebuild_cgraph_edges.
+
+2016-11-24  James Greenahlgh  <james.greenhalgh@arm.com>
+
+	PR target/78509
+	* config/i386/i386.c (i386_excess_precision): Do not return
+	FLT_EVAL_METHOD_UNPREDICTABLE when "type" is
+	EXCESS_PRECISION_TYPE_STANDARD.
+	* target.def (excess_precision): Document that targets should
+	not return FLT_EVAL_METHOD_UNPREDICTABLE when "type" is
+	EXCESS_PRECISION_TYPE_STANDARD or EXCESS_PRECISION_TYPE_FAST.
+	Fix typo in first sentence.
+	* doc/tm.texi: Regenerate.
+
+2016-11-25  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/78396
+	* tree-vectorizer.c (vectorize_loops): When the if-converted
+	body contains masked loads or stores do not attempt to
+	basic-block-vectorize it.
+
+2016-11-25  Richard Sandiford  <richard.sandiford@arm.com>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* function.h (spill_slot_alignment): Declare.
+	* function.c (spill_slot_alignment): New function.
+	* lra-spills.c (slot): Add align and size fields.
+	(assign_mem_slot): Use them in the call to assign_stack_local.
+	(add_pseudo_to_slot): Update the fields.
+	(assign_stack_slot_num_and_sort_pseudos): Initialise the fields.
+
+2016-11-25  Richard Sandiford  <richard.sandiford@arm.com>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* stor-layout.c (layout_type): Allow the caller to set the mode of
+	a float type.  Only choose one here if the mode is still VOIDmode.
+	* tree.c (build_common_tree_nodes): Set the type mode of decimal
+	floats before calling layout_type.
+	* config/rs6000/rs6000.c (rs6000_init_builtins): Likewise.
+
+2016-11-25  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* tree-tailcall.c (find_tail_calls): Allow calls to reference
+	local variables if all references are known to be direct.
+
+2016-11-25  Jakub Jelinek  <jakub@redhat.com>
+	    Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	PR middle-end/78501
+	* tree-vrp.c (extract_range_basic): Check for ptrdiff_type_node to be
+	non null and it's precision matches precision of lhs's type.
+
+2016-11-24  Martin Sebor  <msebor@redhat.com>
+
+	PR tree-optimization/78476
+	* gimple-ssa-sprintf.c (struct pass_sprintf_length::call_info):
+	Add a member.
+	(handle_gimple_call): Adjust signature.
+	(try_substitute_return_value): Remove calls to bounded functions
+	with zero buffer size whose result is known.
+	(pass_sprintf_length::execute): Adjust call to handle_gimple_call.
+
+2016-11-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* varasm.c (assemble_start_function): Wrap align_log definition in
+	ASM_OUTPUT_MAX_SKIP_ALIGN.
+
+2016-11-24  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (wide AND insn to QImode splitter): Use
+	explicit mode macros.
+	(wide OR insn to QImode splitter): Ditto.
+
+2016-11-24  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-optimization/77541
+	* lra-constraints.c (struct input_reload): Add field match_p.
+	(get_reload_reg): Check modes of input reloads to generate unique
+	value reload pseudo.
+	(match_reload): Add input reload pseudo for the current insn.
+
+2016-11-24  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Update
+	__FLT_EVAL_METHOD__ and __FLT_EVAL_METHOD_C99__ when we switch
+	architecture levels.
+	* config/aarch64/aarch64.c (aarch64_promoted_type): Only promote
+	the aarch64_fp16_type_node, not all HFmode types.
+	(aarch64_libgcc_floating_mode_supported_p): Support HFmode.
+	(aarch64_scalar_mode_supported_p): Likewise.
+	(aarch64_excess_precision): New.
+	(TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Define.
+	(TARGET_SCALAR_MODE_SUPPORTED_P): Likewise.
+	(TARGET_C_EXCESS_PRECISION): Likewise.
+
+2016-11-24  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/aarch64/aarch64-c.c (aarch64_scalar_mode_supported_p): New.
+	(TARGET_SCALAR_MODE_SUPPORTED_P): Define.
+
+2016-11-24  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/aarch64/aarch64.md (<optab>sihf2): Convert to expand.
+	(<optab>dihf2): Likewise.
+	(aarch64_fp16_<optab><mode>hf2): New.
+
+2016-11-24  Alexander Monakov  <amonakov@ispras.ru>
+
+	PR target/67822
+	* config/nvptx/mkoffload.c (main): Allow -fopenmp.
+
+2016-11-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* common/config/sparc/sparc-common.c (sparc_option_optimization_table):
+	Enable REE at -O2 and higher.
+	* config/sparc/sparc.c (sparc_option_override): Disable it by default
+	in 32-bit mode.
+
+2016-11-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/48863
+	PR inline-asm/70184
+	* tree-ssa-ter.c (temp_expr_table): Add reg_vars_cnt field.
+	(new_temp_expr_table): Initialise reg_vars_cnt.
+	(free_temp_expr_table): Release reg_vars_cnt.
+	(process_replaceable): Add reg_vars_cnt argument, set reg_vars_cnt
+	field of TAB.
+	(find_replaceable_in_bb): Use the above to record register variable
+	write occurrences and cancel replacement across them.
+
+2016-11-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR rtl-optimization/78437
+	* ree.c (get_uses): New function.
+	(combine_reaching_defs): When a copy is needed, return false if any
+	reaching use of the source register reads it in a mode larger than
+	the mode it is set in and WORD_REGISTER_OPERATIONS is true.
+
+2016-11-24  Martin Liska  <mliska@suse.cz>
+
+	* gimple-pretty-print.c (dump_edge_probability): New function.
+	(dump_gimple_switch): Dump label edge probabilities.
+	(dump_gimple_cond): Likewise.
+	(dump_gimple_label): Dump
+	(dump_gimple_bb_header): Dump basic block frequency.
+	(pp_cfg_jump): Replace e->dest argument with e.
+	(dump_implicit_edges): Likewise.
+	* tree-ssa-loop-ivopts.c (get_scaled_computation_cost_at):
+	Use gimple_bb (at) instead of at->bb.
+
+2016-11-24  Bernd Schmidt  <bschmidt@redhat.com>
+
+	* common.opt (flimit-function-alignment): New.
+	* doc/invoke.texi (-flimit-function-alignment): Document.
+	* emit-rtl.h (struct rtl_data): Add max_insn_address field.
+	* final.c (shorten_branches): Set it.
+	* varasm.c (assemble_start_function): Limit alignment if
+	requested.
+
+2016-11-24  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71595
+	* cfgloopmanip.h (remove_path): Add irred_invalidated and
+	loop_closed_ssa_invalidated parameters, defaulted to NULL.
+	* cfgloopmanip.c (remove_path): Likewise, pass them along to
+	called functions.  Only fix irred flags if the caller didn't
+	request state.
+	* tree-ssa-loop-ivcanon.c (unloop_loops): Use add_bb_to_loop.
+	(unloop_loops): Pass irred_invalidated and loop_closed_ssa_invalidated
+	to remove_path.
+
+2016-11-24  Bernd Schmidt  <bschmidt@redhat.com>
+
+	PR rtl-optimization/78120
+	* ifcvt.c (noce_conversion_profitable_p): Check original cost in all
+	cases, and additionally test against max_seq_cost for speed
+	optimization.
+	(noce_process_if_block): Compute an estimate for the original cost when
+	optimizing for speed, using the minimum of then and else block costs.
+
+	PR rtl-optimization/78120
+	* rtlanal.c (insn_rtx_cost): Use set_rtx_cost.
+
+	PR rtl-optimization/78120
+	* config/i386/i386.c (ix86_rtx_costs): Fully handle SETs.
+
+2016-11-24  Bin Cheng  <bin.cheng@arm.com>
+
+	* match.pd: Refine type conversion in result expr for below pattern:
+	(cond (cmp (convert1? x) c1) (convert2? x) c2) -> (minmax (x c)).
+
+2016-11-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR middle-end/78429
+	* tree.h (wi::fits_to_boolean_p): New predicate.
+	(wi::fits_to_tree_p): Use it for boolean types.
+	* tree.c (int_fits_type_p): Likewise.
+
+2016-11-24  Martin Liska  <mliska@suse.cz>
+
+	* print-tree.c (struct bucket): Remove.
+	(print_node): Add new argument which drives whether a tree node
+	is printed briefly or not.
+	(debug_tree): Replace a custom hash table with hash_set<T>.
+	* print-tree.h (print_node): Add the argument.
+
+2016-11-24  Chung-Lin Tang  <cltang@codesourcery.com>
+
+	* config/nios2/nios2.c (nios2_init_libfuncs): Add ATTRIBUTE_UNUSED.
+
+2016-11-23  Peter Bergner  <bergner@vnet.ibm.com>
+
+	PR target/78458
+	* config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Return MODE
+	if it is at least NREGS wide.
+
+2016-11-23  Joseph Myers  <joseph@codesourcery.com>
+
+	* config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p): For
+	TARGET_E500_DOUBLE. handle TDmode, TImode and PTImode the same as
+	TFmode, IFmode and KFmode.
+
+2016-11-23  Joseph Myers  <joseph@codesourcery.com>
+
+	* config/rs6000/spe.md (*frob_<SPE64:mode>_ti_8): New insn
+	pattern.
+
+2016-11-23  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* combine.c (change_zero_ext): Only change the mode of a hard register
+	destination if can_change_dest_mode holds for that.
+
+2016-11-23  Jeff Law  <law@redhat.com>
+
+	* varasm.c (assemble_name): Increase buffer size for name.
+
+	* config/spu/spu.md (floatunsdidf2): Remove unused local variable.
+
+2016-11-23  Jakub Kicinski  <jakub.kicinski@netronome.com>
+
+	* doc/extend.texi: Constify first argument to __builtin_object_size.
+
+2016-11-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* opth-gen.awk: Use unsigned shifts for bit masks.  Allow all bits
+	to be used.  Add brackets around macro argument.
+
+2016-11-23  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*<any_or:code>hi_1): Fix operand 2 constraints.
+
+2016-11-23  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/69278
+	* opts.c (parse_sanitizer_options): For -fsanitize=undefined,
+	restore enabling also SANITIZE_UNREACHABLE and SANITIZE_RETURN.
+
+2016-11-23  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/69183
+	* omp-low.c (build_outer_var_ref): Change lastprivate argument
+	to code, pass it recursively, adjust uses.  For OMP_CLAUSE_PRIVATE
+	on worksharing constructs, treat it like clauses on simd construct.
+	Formatting fix.
+	(lower_rec_input_clauses): For OMP_CLAUSE_PRIVATE_OUTER_REF pass
+	OMP_CLAUSE_PRIVATE as last argument to build_outer_var_ref.
+	(lower_lastprivate_clauses): Pass OMP_CLAUSE_LASTPRIVATE instead
+	of true as last argument to build_outer_var_ref.
+
+2016-11-23  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*movqi_internal): Calculate mode
+	attribute of alternatives 7,8,9 depending on TARGET_AVX512DQ.
+	<TYPE_MSKMOV>: Emit kmovw for MODE_HI insn mode attribute.
+	(*k<logic><mode>): Calculate mode attribute depending on
+	TARGET_AVX512DQ.  Emit k<logic>w for MODE_HI insn mode attribute.
+	(*andqi_1): Calculate mode attribute of alternative 3 depending
+	on TARGET_AVX512DQ.  Emit kandw for MODE_HI insn mode attribute.
+	(kandn<mode>): Calculate mode attribute of alternative 2 depending
+	on TARGET_AVX512DQ.  Emit kandnw for MODE_HI insn mode attribute.
+	(kxnor<mode>): Merge insn patterns using SWI1248_AVX512BW mode
+	iterator.  Calculate mode attribute of alternative 1 depending
+	on TARGET_AVX512DQ.  Emit kxnorw for MODE_HI insn mode attribute.
+	(*one_cmplqi2_1): Calculate mode attribute of alternative 2 depending
+	on TARGET_AVX512DQ.  Emit knotw for MODE_HI insn mode attribute.
+
+2016-11-23  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	PR middle-end/78153
+	* gimple-fold.c (fold_stmt_1): Handle case for GIMPLE_RETURN.
+	* tree-vrp.c (extract_range_basic): Handle case for
+	CFN_BUILT_IN_STRLEN.
+
+2016-11-23  Jeff Law  <law@redhat.com>
+
+	* config/mcore/mcore.c (emit_new_cond_insn): Fix prototype.
+
+	* config/iq2000/iq2000.c (iq2000_rtx_costs): Avoid multiplication
+	in boolean context warning.
+
+	* config/ia64/ia64.c (ia64_emit_insn_before): Fix prototype.
+
+2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	PR target/63250
+	* config/arm/arm-builtins.c (arm_simd_floatHF_type_node): Rename to...
+	(arm_fp16_type_node): ...This, make visibile.
+	(arm_simd_builtin_std_type): Rename arm_simd_floatHF_type_node to
+	arm_fp16_type_node.
+	(arm_init_simd_builtin_types): Likewise.
+	(arm_init_fp16_builtins): Likewise.
+	* config/arm/arm.c (arm_excess_precision): New.
+	(arm_floatn_mode): Likewise.
+	(TARGET_C_EXCESS_PRECISION): Likewise.
+	(TARGET_FLOATN_MODE): Likewise.
+	(arm_promoted_type): Only promote arm_fp16_type_node.
+	* config/arm/arm.h (arm_fp16_type_node): Declare.
+
+2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/arm/arm.c (arm_convert_to_type): Delete.
+	(TARGET_CONVERT_TO_TYPE): Delete.
+	(arm_init_libfuncs): Enable trunc_optab from DFmode to HFmode.
+	(arm_libcall_uses_aapcs_base): Add trunc_optab from DF- to HFmode.
+	* config/arm/arm.h (TARGET_FP16_TO_DOUBLE): New.
+	* config/arm/arm.md (truncdfhf2): Only convert through SFmode if we
+	are in fast math mode, and have no single step hardware instruction.
+	(extendhfdf2): Only expand through SFmode if we don't have a
+	single-step hardware instruction.
+	* config/arm/vfp.md (*truncdfhf2): New.
+	(extendhfdf2): Likewise.
+
+2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* targhooks.c (default_floatn_mode): Enable _Float16 if a target
+	provides HFmode.
+
+2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/s390/s390.h (TARGET_FLT_EVAL_METHOD): Delete.
+	* config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): Delete.
+	* config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Delete.
+	* defaults.h (TARGET_FLT_EVAL_METHOD): Delete.
+	* doc/tm.texi.in (TARGET_FLT_EVAL_METHOD): Delete.
+	* doc/tm.texi: Regenerate.
+	* system.h (TARGET_FLT_EVAL_METHOD): Poison.
+
+2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* toplev.c (init_excess_precision): Delete most logic.
+	* tree.c (excess_precision_type): Rewrite to use
+	TARGET_EXCESS_PRECISION.
+	* doc/invoke.texi (-fexcess-precision): Document behaviour in a
+	more generic fashion.
+	* ginclude/float.h: Wrap definition of FLT_EVAL_METHOD in
+	__STDC_WANT_IEC_60559_TYPES_EXT__.
+
+2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* common.opt (fpermitted-flt-eval-methods): New.
+	* doc/invoke.texi (-fpermitted-flt-eval-methods): Document it.
+	* flag_types.h (permitted_flt_eval_methods): New.
+
+2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/m68k/m68k.c (m68k_excess_precision): New.
+	(TARGET_C_EXCESS_PRECISION): Define.
+
+2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/s390/s390.c (s390_excess_precision): New.
+	(TARGET_C_EXCESS_PRECISION): Define.
+
+2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/i386/i386.c (ix86_excess_precision): New.
+	(TARGET_C_EXCESS_PRECISION): Define.
+
+2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* target.def (excess_precision): New hook.
+	* target.h (flt_eval_method): New.
+	(excess_precision_type): Likewise.
+	* targhooks.c (default_excess_precision): New.
+	* targhooks.h (default_excess_precision): New.
+	* doc/tm.texi.in (TARGET_C_EXCESS_PRECISION): New.
+	* doc/tm.texi: Regenerate.
+
+2016-11-23  Martin Sebor  <msebor@redhat.com>
+
+	PR middle-end/78461
+	* gimple-ssa-sprintf.c (format_string): Correct the maxima and
+	set the minimum number of bytes for an unknown string to zero.
+
+2016-11-23  Martin Jambor  <mjambor@suse.cz>
+	    Martin Liska  <mliska@suse.cz>
+
+	* hsa-builtins.def: New file.
+	* Makefile.in (BUILTINS_DEF): Add hsa-builtins.def dependency.
+	* builtins.def: Include hsa-builtins.def.
+	(DEF_HSA_BUILTIN): New macro.
+	* dumpfile.h (OPTGROUP_OPENMP): Define.
+	* dumpfile.c (optgroup_options): Added OPTGROUP_OPENMP.
+	* gimple.h (gf_mask): Added elements GF_OMP_FOR_GRID_INTRA_GROUP and
+	GF_OMP_FOR_GRID_GROUP_ITER.
+	(gimple_omp_for_grid_phony): Added checking assert.
+	(gimple_omp_for_set_grid_phony): Likewise.
+	(gimple_omp_for_grid_intra_group): New function.
+	(gimple_omp_for_set_grid_intra_group): Likewise.
+	(gimple_omp_for_grid_group_iter): Likewise.
+	(gimple_omp_for_set_grid_group_iter): Likewise.
+	* omp-low.c (check_omp_nesting_restrictions): Allow GRID loop where
+	previosuly only distribute loop was permitted.
+	(lower_lastprivate_clauses): Allow non tcc_comparison predicates.
+	(grid_get_kernel_launch_attributes): Support multiple HSA grid
+	dimensions.
+	(grid_expand_omp_for_loop): Likewise and also support standalone
+	distribute constructs.  New parameter INTRA_GROUP, updated both users.
+	(grid_expand_target_grid_body): Support standalone distribute
+	constructs.
+	(pass_data_expand_omp): Changed optinfo_flags to OPTGROUP_OPENMP.
+	(pass_data_expand_omp_ssa): Likewise.
+	(pass_data_omp_device_lower): Likewsie.
+	(pass_data_lower_omp): Likewise.
+	(pass_data_diagnose_omp_blocks): Likewise.
+	(pass_data_oacc_device_lower): Likewise.
+	(pass_data_omp_target_link): Likewise.
+	(grid_lastprivate_predicate): New function.
+	(lower_omp_for_lastprivate): Call grid_lastprivate_predicate for
+	gridified loops.
+	(lower_omp_for): Support standalone distribute constructs.
+	(grid_prop): New type.
+	(grid_safe_assignment_p): Check for assignments to group_sizes, new
+	parameter GRID.
+	(grid_seq_only_contains_local_assignments): New parameter GRID, pass
+	it to callee.
+	(grid_find_single_omp_among_assignments_1): Likewise, improve missed
+	optimization info messages.
+	(grid_find_single_omp_among_assignments): Likewise.
+	(grid_find_ungridifiable_statement): Do not bail out for SIMDs.
+	(grid_parallel_clauses_gridifiable): New function.
+	(grid_inner_loop_gridifiable_p): Likewise.
+	(grid_dist_follows_simple_pattern): Likewise.
+	(grid_gfor_follows_tiling_pattern): Likewise.
+	(grid_call_permissible_in_distribute_p): Likewise.
+	(grid_handle_call_in_distribute): Likewise.
+	(grid_dist_follows_tiling_pattern): Likewise.
+	(grid_target_follows_gridifiable_pattern): Support standalone
+	distribute constructs.
+	(grid_var_segment): New enum.
+	(grid_mark_variable_segment): New function.
+	(grid_copy_leading_local_assignments): Call grid_mark_variable_segment
+	if a new argument says so.
+	(grid_process_grid_body): New function.
+	(grid_eliminate_combined_simd_part): Likewise.
+	(grid_mark_tiling_loops): Likewise.
+	(grid_mark_tiling_parallels_and_loops): Likewise.
+	(grid_process_kernel_body_copy): Support standalone distribute
+	constructs.
+	(grid_attempt_target_gridification): New grid variable holding overall
+	gridification state.  Support standalone distribute constructs and
+	collapse clauses.
+	* doc/optinfo.texi (Optimization groups): Document OPTGROUP_OPENMP.
+	* hsa.h (hsa_bb): Add method method append_phi.
+	(hsa_insn_br): Renamed to hsa_insn_cbr, renamed all
+	occurences in all files too.
+	(hsa_insn_br): New class, now the ancestor of hsa_incn_cbr.
+	(is_a_helper <hsa_insn_br *>::test): New function.
+	(is_a_helper <hsa_insn_cbr *>::test): Adjust to only cover conditional
+	branch instructions.
+	(hsa_insn_signal): Make a direct descendant of
+	hsa_insn_basic.  Add memorder constructor parameter and
+	m_memory_order and m_signalop member variables.
+	(hsa_insn_queue): Changed constructor parameters to common form.
+	Added m_segment and m_memory_order member variables.
+	(hsa_summary_t): Add private member function
+	process_gpu_implementation_attributes.
+	(hsa_function_summary): Rename m_binded_function to
+	m_bound_function.
+	(hsa_insn_basic_p): Remove typedef.
+	(hsa_op_with_type): Change hsa_insn_basic_p into plain pointers.
+	(hsa_op_reg_p): Remove typedef.
+	(hsa_function_representation): Change hsa_op_reg_p into plain
+	pointers.
+	(hsa_insn_phi): Removed new and delete operators.
+	(hsa_insn_br): Likewise.
+	(hsa_insn_cbr): Likewise.
+	(hsa_insn_sbr): Likewise.
+	(hsa_insn_cmp): Likewise.
+	(hsa_insn_mem): Likewise.
+	(hsa_insn_atomic): Likewise.
+	(hsa_insn_signal): Likewise.
+	(hsa_insn_seg): Likewise.
+	(hsa_insn_call): Likewise.
+	(hsa_insn_arg_block): Likewise.
+	(hsa_insn_comment): Likewise.
+	(hsa_insn_srctype): Likewise.
+	(hsa_insn_packed): Likewise.
+	(hsa_insn_cvt): Likewise.
+	(hsa_insn_alloca): Likewise.
+	* hsa.c (hsa_destroy_insn): Also handle instances of hsa_insn_br.
+	(process_gpu_implementation_attributes): New function.
+	(link_functions): Move some functionality into it.  Adjust after
+	renaming m_binded_functions to m_bound_functions.
+	(hsa_insn_basic::op_output_p): Add BRIG_OPCODE_DEBUGTRAP
+	to the list of instructions with no output registers.
+	(get_in_type): Return this if it is a register of
+	matching size.
+	(hsa_get_declaration_name): Moved to...
+	* hsa-gen.c (hsa_get_declaration_name): ...here.  Allocate
+	temporary string on an obstack instead from ggc.
+	(query_hsa_grid): Renamed to query_hsa_grid_dim, reimplemented, cut
+	down to two overloads.
+	(hsa_allocp_operand_address): Removed.
+	(hsa_allocp_operand_immed): Likewise.
+	(hsa_allocp_operand_reg): Likewise.
+	(hsa_allocp_operand_code_list): Likewise.
+	(hsa_allocp_operand_operand_list): Likewise.
+	(hsa_allocp_inst_basic): Likewise.
+	(hsa_allocp_inst_phi): Likewise.
+	(hsa_allocp_inst_mem): Likewise.
+	(hsa_allocp_inst_atomic): Likewise.
+	(hsa_allocp_inst_signal): Likewise.
+	(hsa_allocp_inst_seg): Likewise.
+	(hsa_allocp_inst_cmp): Likewise.
+	(hsa_allocp_inst_br): Likewise.
+	(hsa_allocp_inst_sbr): Likewise.
+	(hsa_allocp_inst_call): Likewise.
+	(hsa_allocp_inst_arg_block): Likewise.
+	(hsa_allocp_inst_comment): Likewise.
+	(hsa_allocp_inst_queue): Likewise.
+	(hsa_allocp_inst_srctype): Likewise.
+	(hsa_allocp_inst_packed): Likewise.
+	(hsa_allocp_inst_cvt): Likewise.
+	(hsa_allocp_inst_alloca): Likewise.
+	(hsa_allocp_bb): Likewise.
+	(hsa_obstack): New.
+	(hsa_init_data_for_cfun): Initialize obstack.
+	(hsa_deinit_data_for_cfun): Release memory of the obstack.
+	(hsa_op_immed::operator new): Use obstack instead of object_allocator.
+	(hsa_op_reg::operator new): Likewise.
+	(hsa_op_address::operator new): Likewise.
+	(hsa_op_code_list::operator new): Likewise.
+	(hsa_op_operand_list::operator new): Likewise.
+	(hsa_insn_basic::operator new): Likewise.
+	(hsa_insn_phi::operator new): Likewise.
+	(hsa_insn_br::operator new): Likewise.
+	(hsa_insn_sbr::operator new): Likewise.
+	(hsa_insn_cmp::operator new): Likewise.
+	(hsa_insn_mem::operator new): Likewise.
+	(hsa_insn_atomic::operator new): Likewise.
+	(hsa_insn_signal::operator new): Likewise.
+	(hsa_insn_seg::operator new): Likewise.
+	(hsa_insn_call::operator new): Likewise.
+	(hsa_insn_arg_block::operator new): Likewise.
+	(hsa_insn_comment::operator new): Likewise.
+	(hsa_insn_srctype::operator new): Likewise.
+	(hsa_insn_packed::operator new): Likewise.
+	(hsa_insn_cvt::operator new): Likewise.
+	(hsa_insn_alloca::operator new): Likewise.
+	(hsa_init_new_bb): Likewise.
+	(hsa_bb::append_phi): New function.
+	(gen_hsa_phi_from_gimple_phi): Use it.
+	(get_symbol_for_decl): Fix dinstinguishing between
+	global and local functions.  Put local variables into a segment
+	according to their attribute or static flag, if there is one.
+	(hsa_insn_br::hsa_insn_br): New.
+	(hsa_insn_br::operator new): Likewise.
+	(hsa_insn_cbr::hsa_insn_cbr): Set width via ancestor constructor.
+	(query_hsa_grid_nodim): New function.
+	(multiply_grid_dim_characteristics): Likewise.
+	(gen_get_num_threads): Likewise.
+	(gen_get_num_teams): Reimplemented.
+	(gen_get_team_num): Likewise.
+	(gen_hsa_insns_for_known_library_call): Updated calls to the above
+	helper functions.
+	(get_memory_order_name): Removed.
+	(get_memory_order): Likewise.
+	(hsa_memorder_from_tree): New function.
+	(gen_hsa_ternary_atomic_for_builtin): Renamed to
+	gen_hsa_atomic_for_builtin, can also create signals.
+	(gen_hsa_insns_for_call): Handle many new builtins.  Adjust to use
+	hsa_memory_order_from_tree and gen_hsa_atomic_for_builtin.
+	(hsa_insn_atomic): Fix function comment.
+	(hsa_insn_signal::hsa_insn_signal): Fix comment.  Update call to
+	ancestor constructor and initialization of new member variables.
+	(hsa_insn_queue::hsa_insn_queue): Added initialization of new
+	member variables.
+	(hsa_get_host_function): Handle functions with no bound CPU
+	implementation.  Fix binded to bound.
+	(get_brig_function_name): Likewise.
+	(HSA_SORRY_ATV): Remove semicolon after macro.
+	(HSA_SORRY_AT): Likewise.
+	(omp_simple_builtin::generate): Add missing semicolons.
+	(hsa_insn_phi::operator new): Removed.
+	(hsa_insn_br::operator new): Likewise.
+	(hsa_insn_cbr::operator new): Likewise.
+	(hsa_insn_sbr::operator new): Likewise.
+	(hsa_insn_cmp::operator new): Likewise.
+	(hsa_insn_mem::operator new): Likewise.
+	(hsa_insn_atomic::operator new): Likewise.
+	(hsa_insn_signal::operator new): Likewise.
+	(hsa_insn_seg::operator new): Likewise.
+	(hsa_insn_call::operator new): Likewise.
+	(hsa_insn_arg_block::operator new): Likewise.
+	(hsa_insn_comment::operator new): Likewise.
+	(hsa_insn_srctype::operator new): Likewise.
+	(hsa_insn_packed::operator new): Likewise.
+	(hsa_insn_cvt::operator new): Likewise.
+	(hsa_insn_alloca::operator new): Likewise.
+	(get_symbol_for_decl): Accept CONST_DECLs, put them to
+	readonly segment.
+	(gen_hsa_addr): Also process CONST_DECLs.
+	(gen_hsa_addr_insns): Process CONST_DECLs by creating private
+	copies.
+	(gen_hsa_unary_operation): Make sure the function does
+	not use bittype source type for firstbit and lastbit operations.
+	(gen_hsa_popcount_to_dest): Make sure the function uses a bittype
+	source type.
+	* hsa-brig.c (emit_insn_operands): Cope with zero operands in an
+	instruction.
+	(emit_branch_insn): Renamed to emit_cond_branch_insn.
+	Emit the width stored in the class.
+	(emit_generic_branch_insn): New function.
+	(emit_insn): Call emit_generic_branch_insn.
+	(emit_signal_insn): Remove obsolete comment.  Update
+	member variable name, pick a type according to profile.
+	(emit_alloca_insn): Remove obsolete comment.
+	(emit_atomic_insn): Likewise.
+	(emit_queue_insn): Get segment and memory order from the IR object.
+	(hsa_brig_section): Make allocate_new_chunk, chunks
+	and cur_chunk provate, add a default NULL parameter to add method.
+	(hsa_brig_section::add): Added a new parameter, store pointer to
+	output data there if it is non-NULL.
+	(emit_function_directives): Use this new parameter instead of
+	calculating the pointer itself, fix function comment.
+	(hsa_brig_emit_function): Add forgotten endian conversion.
+	(hsa_output_kernels): Remove unnecessary building of
+	kernel_dependencies_vector_type.
+	(emit_immediate_operand): Declare.
+	(emit_directive_variable): Also emit initializers of CONST_DECLs.
+	(gen_hsa_insn_for_internal_fn_call): Also handle IFN_RSQRT.
+	(verify_function_arguments): Properly detect variadic
+	arguments.
+	* hsa-dump.c (hsa_width_specifier_name): New function.
+	(dump_hsa_insn_1): Dump generic branch instructions, update signal
+	member variable name.  Special dumping for queue objects.
+	* ipa-hsa.c (process_hsa_functions): Adjust after renaming
+	m_binded_functions to m_bound_functions.  Copy externally visible flag
+	to the node.
+	(ipa_hsa_write_summary): Likewise.
+	(ipa_hsa_read_section): Likewise.
+
+2016-11-23  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/78396
+	* tree-vectorizer.c (vectorize_loops): If an innermost loop didn't
+	vectorize try vectorizing an if-converted body using BB vectorization.
+
+2016-11-23  Richard Sandiford  <richard.sandiford@arm.com>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* rtlanal.c (subreg_get_info): Use more local variables.
+	Remark that for HARD_REGNO_NREGS_HAS_PADDING, each scalar unit
+	occupies at least one register.  Assume that full hard registers
+	have consistent endianness.  Share previously-duplicated if block.
+	Rework the main handling so that it operates on independently-
+	addressable YMODE-sized blocks.  Use subreg_size_lowpart_offset
+	to check lowpart offsets, without trying to find an equivalent
+	integer mode first.  Handle WORDS_BIG_ENDIAN != REG_WORDS_BIG_ENDIAN
+	as a final register-endianness correction.
+
+2016-11-23  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR target/77881
+	PR bootstrap/78390
+	PR target/78438
+	PR bootstrap/78477
+	* combine.c (make_compound_operation_int): Do not convert a subreg of
+	a non-constant logical shift right to a zero_extract.  Handle the case
+	where some zero bits have been shifted into the range covered by that
+	subreg.
+
+2016-11-23  Richard Sandiford  <richard.sandiford@arm.com>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* rtl.h (subreg_size_offset_from_lsb): Declare.
+	(subreg_offset_from_lsb): New function.
+	(subreg_size_lowpart_offset): Declare.
+	(subreg_lowpart_offset): Turn into an inline function.
+	(subreg_size_highpart_offset): Declare.
+	(subreg_highpart_offset): Turn into an inline function.
+	* emit-rtl.c (subreg_size_lowpart_offset): New function.
+	(subreg_size_highpart_offset): Likewise
+	* rtlanal.c (subreg_size_offset_from_lsb): Likewise.
+
+2016-11-23  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/78482
+	* tree-cfgcleanup.c: Include tree-ssa-loop-niter.h.
+	(remove_forwarder_block_with_phi): When merging with a loop
+	header creates a new latch reset number of iteration information
+	of the loop.
+
+2016-11-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/sparc/sparc.md (*ashrsi3_extend): Rename to...
+	(*ashrsi3_extend0): ...this.  Accept constant integers.
+	(*ashrsi3_extend2): Rename to...
+	(*ashrsi3_extend1): ...this.
+	(*ashrsi3_extend2): New pattern.
+	(*lshrsi3_extend1): Accept constant integers.
+	(*lshrsi3_extend2): Fix condition on operand 2.
+
+2016-11-23  Martin Liska  <mliska@suse.cz>
+
+	* config/i386/i386.c: Initialize function pointer to NULL.
+
+2016-11-23  Bin Cheng  <bin.cheng@arm.com>
+
+	* fold-const.c (fold_cond_expr_with_comparison): Move simplification
+	for A == C1 ? A : C2 to below.
+	* match.pd: Move from above to here:
+	(cond (eq (convert1? x) c1) (convert2? x) c2)
+	  -> (cond (eq x c1) c1 c2).
+
+2016-11-23  Bin Cheng  <bin.cheng@arm.com>
+
+	* fold-const.c (fold_cond_expr_with_comparison): Move simplification
+	for A cmp C1 ? A : C2 to below, also simplify remaining code.
+	* match.pd: Move and extend simplification from above to here:
+	(cond (cmp (convert1? x) c1) (convert2? x) c2) -> (minmax (x c)).
+	* tree-if-conv.c (ifcvt_follow_ssa_use_edges): New func.
+	(predicate_scalar_phi): Call fold_stmt using the new valueize func.
+
+2016-11-23  Martin Liska  <mliska@suse.cz>
+	    Martin Jambor  <mjambor@suse.cz>
+
+	* doc/install.texi: Remove entry about --with-hsa-kmt-lib.
+
+2016-11-23  Aldy Hernandez  <aldyh@redhat.com>
+
+	PR target/78213
+	* opts.c (finish_options): Set -fsyntax-only if running self tests.
+
+2016-11-23  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/71762
+	* match.pd ((~X & Y) -> X < Y, (X & ~Y) -> Y < X,
+	(~X | Y) -> X <= Y, (X | ~Y) -> Y <= X): Remove.
+
+2016-11-23  Richard Biener  <rguenther@suse.de>
+
+	PR lto/78472
+	* tree.c (gimple_canonical_types_compatible_p): Ignore zero-sized
+	fields.
+
+2016-11-23  Richard Biener  <rguenther@suse.de>
+	    Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.rog>
+
+	PR tree-optimization/78154
+	* tree-vrp.c (gimple_stmt_nonzero_warnv_p): Return true if function
+	returns it's argument and the argument is nonnull.
+	* builtin-attrs.def: Define ATTR_RETURNS_NONNULL,
+	ATT_RETNONNULL_NOTHROW_LEAF.
+	* builtins.def (BUILT_IN_MEMPCPY): Change attribute to
+	ATTR_RETNONNULL_NOTHROW_LEAF.
+	(BUILT_IN_STPCPY): Likewise.
+	(BUILT_IN_STPNCPY): Likewise.
+	(BUILT_IN_MEMPCPY_CHK): Likewise.
+	(BUILT_IN_STPCPY_CHK): Likewise.
+	(BUILT_IN_STPNCPY_CHK): Likewise.
+	(BUILT_IN_STRCAT): Change attribute to ATTR_RET1_NOTHROW_NONNULL_LEAF.
+	(BUILT_IN_STRNCAT): Likewise.
+	(BUILT_IN_STRNCPY): Likewise.
+	(BUILT_IN_MEMSET_CHK): Likewise.
+	(BUILT_IN_STRCAT_CHK): Likewise.
+	(BUILT_IN_STRCPY_CHK): Likewise.
+	(BUILT_IN_STRNCAT_CHK): Likewise.
+	(BUILT_IN_STRNCPY_CHK): Likewise.
+
+2016-11-23  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
+
+	* fold-const.c (tree_expr_nonzero_p) : Make non-static.
+	* fold-const.h (tree_expr_nonzero_p) : Declare.
+	* match.pd (cmp (mult:c @0 @1) (mult:c @2 @1) : New Pattern.
+
+2016-11-23  Paolo Bonzini  <bonzini@gnu.org>
+
+	* system.h (HAVE_DESIGNATED_INITIALIZERS,
+	HAVE_DESIGNATED_UNION_INITIALIZERS): Do not use
+	"defined" in macros.
+	* doc/cpp.texi (Defined): Mention -Wexpansion-to-defined.
+	* doc/cppopts.texi (Invocation): Document -Wexpansion-to-defined.
+	* doc/invoke.texi (Warning Options): Document -Wexpansion-to-defined.
+
+2016-11-23  Georg-Johann Lay  <avr@gjlay.de>
+
+	PR target/60300
+	* config/avr/constraints.md (Csp): Widen range to [-11..6].
+	* config/avr/avr.c (avr_prologue_setup_frame): Limit number
+	of RCALLs in prologue to 3.
+
+2016-11-22  Michael Collison  <michael.collison@arm.com>
+
+	* config/aarch64/aarch64-protos.h
+	(aarch64_and_split_imm1, aarch64_and_split_imm2)
+	(aarch64_and_bitmask_imm): New prototypes
+	* config/aarch64/aarch64.c (aarch64_and_split_imm1):
+	New overloaded function to create bit mask covering the
+	lowest to highest bits set.
+	(aarch64_and_split_imm2): New overloaded functions to create bit
+	mask of zeros between first and last bit set.
+	(aarch64_and_bitmask_imm): New function to determine if a integer
+	is a valid two instruction "and" operation.
+	* config/aarch64/aarch64.md:(and<mode>3): New define_insn and _split
+	allowing wider range of constants with "and" operations.
+	* (ior<mode>3, xor<mode>3): Use new LOGICAL2 iterator to prevent
+	"and" operator from matching restricted constant range used for
+	ior and xor operators.
+	* config/aarch64/constraints.md (UsO constraint): New SImode constraint
+	for constants in "and" operantions.
+	(UsP constraint): New DImode constraint for constants
+	in "and" operations.
+	* config/aarch64/iterators.md (lconst2): New mode iterator.
+	(LOGICAL2): New code iterator.
+	* config/aarch64/predicates.md (aarch64_logical_and_immediate): New
+	predicate.
+	(aarch64_logical_and_operand): New predicate allowing extended
+	constants for "and" operations.
+
+2016-11-22  Walter Lee  <walt@tilera.com>
+
+	* config/tilegx/tilegx.md (trap): New pattern.
+	* config/tilepro/tilepro.md (trap): Likewise.
+
+2016-11-22  Walter Lee  <walt@tilera.com>
+
+	* config/tilegx/tilegx.md (*zero_extract): Use
+	define_insn_and_split instead of define_insn; Handle pos + size >
+	64.
+	(*sign_extract): Likewise.
+
+2016-11-22  Marek Polacek  <polacek@redhat.com>
+
+	PR tree-optimization/78455
+	* tree-ssa-uninit.c (can_chain_union_be_invalidated_p): Fix typo.
+
+2016-11-22  Ian Lance Taylor  <iant@golang.org>
+
+	PR go/78431
+	PR go/78432
+	* godump.c (go_format_type): Always pass alignment as 1 when
+	calling go_append_padding at end of struct/union.
+
+2016-11-22  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/78451
+	* config/i386/avx512bwintrin.h (_mm512_setzero_qi,
+	_mm512_setzero_hi): Removed.
+	(_mm512_maskz_mov_epi16, _mm512_maskz_loadu_epi16,
+	_mm512_maskz_mov_epi8, _mm512_maskz_loadu_epi8,
+	_mm512_maskz_broadcastb_epi8, _mm512_maskz_set1_epi8,
+	_mm512_maskz_broadcastw_epi16, _mm512_maskz_set1_epi16,
+	_mm512_mulhrs_epi16, _mm512_maskz_mulhrs_epi16, _mm512_mulhi_epi16,
+	_mm512_maskz_mulhi_epi16, _mm512_mulhi_epu16,
+	_mm512_maskz_mulhi_epu16, _mm512_maskz_mullo_epi16,
+	_mm512_cvtepi8_epi16, _mm512_maskz_cvtepi8_epi16, _mm512_cvtepu8_epi16,
+	_mm512_maskz_cvtepu8_epi16, _mm512_permutexvar_epi16,
+	_mm512_maskz_permutexvar_epi16, _mm512_avg_epu8, _mm512_maskz_avg_epu8,
+	_mm512_maskz_add_epi8, _mm512_maskz_sub_epi8, _mm512_avg_epu16,
+	_mm512_maskz_avg_epu16, _mm512_subs_epi8, _mm512_maskz_subs_epi8,
+	_mm512_subs_epu8, _mm512_maskz_subs_epu8, _mm512_adds_epi8,
+	_mm512_maskz_adds_epi8, _mm512_adds_epu8, _mm512_maskz_adds_epu8,
+	_mm512_maskz_sub_epi16, _mm512_subs_epi16, _mm512_maskz_subs_epi16,
+	_mm512_subs_epu16, _mm512_maskz_subs_epu16, _mm512_maskz_add_epi16,
+	_mm512_adds_epi16, _mm512_maskz_adds_epi16, _mm512_adds_epu16,
+	_mm512_maskz_adds_epu16, _mm512_srl_epi16, _mm512_maskz_srl_epi16,
+	_mm512_packs_epi16, _mm512_sll_epi16, _mm512_maskz_sll_epi16,
+	_mm512_maddubs_epi16, _mm512_maskz_maddubs_epi16, _mm512_unpackhi_epi8,
+	_mm512_maskz_unpackhi_epi8, _mm512_unpackhi_epi16,
+	_mm512_maskz_unpackhi_epi16, _mm512_unpacklo_epi8,
+	_mm512_maskz_unpacklo_epi8, _mm512_unpacklo_epi16,
+	_mm512_maskz_unpacklo_epi16, _mm512_shuffle_epi8,
+	_mm512_maskz_shuffle_epi8, _mm512_min_epu16, _mm512_maskz_min_epu16,
+	_mm512_min_epi16, _mm512_maskz_min_epi16, _mm512_max_epu8,
+	_mm512_maskz_max_epu8, _mm512_max_epi8, _mm512_maskz_max_epi8,
+	_mm512_min_epu8, _mm512_maskz_min_epu8, _mm512_min_epi8,
+	_mm512_maskz_min_epi8, _mm512_max_epi16, _mm512_maskz_max_epi16,
+	_mm512_max_epu16, _mm512_maskz_max_epu16, _mm512_sra_epi16,
+	_mm512_maskz_sra_epi16, _mm512_srav_epi16, _mm512_maskz_srav_epi16,
+	_mm512_srlv_epi16, _mm512_maskz_srlv_epi16, _mm512_sllv_epi16,
+	_mm512_maskz_sllv_epi16, _mm512_maskz_packs_epi16, _mm512_packus_epi16,
+	_mm512_maskz_packus_epi16, _mm512_abs_epi8, _mm512_maskz_abs_epi8,
+	_mm512_abs_epi16, _mm512_maskz_abs_epi16, _mm512_dbsad_epu8,
+	_mm512_maskz_dbsad_epu8, _mm512_srli_epi16, _mm512_maskz_srli_epi16,
+	_mm512_slli_epi16, _mm512_maskz_slli_epi16, _mm512_shufflehi_epi16,
+	_mm512_maskz_shufflehi_epi16, _mm512_shufflelo_epi16,
+	_mm512_maskz_shufflelo_epi16, _mm512_srai_epi16,
+	_mm512_maskz_srai_epi16, _mm512_packs_epi32,
+	_mm512_maskz_packs_epi32, _mm512_packus_epi32,
+	_mm512_maskz_packus_epi32): Use _mm512_setzero_si512 instead of
+	_mm512_setzero_qi or _mm512_setzero_hi.
+	(_mm512_maskz_alignr_epi8, _mm512_dbsad_epu8,
+	_mm512_maskz_dbsad_epu8): Formatting fixes.
+	(_mm512_srli_epi16, _mm512_maskz_srli_epi16, _mm512_slli_epi16,
+	_mm512_maskz_slli_epi16, _mm512_shufflehi_epi16,
+	_mm512_maskz_shufflehi_epi16, _mm512_shufflelo_epi16,
+	_mm512_maskz_shufflelo_epi16, _mm512_srai_epi16,
+	_mm512_maskz_srai_epi16): Use _mm512_setzero_si512 instead of
+	_mm512_setzero_qi or _mm512_setzero_hi.
+
+2016-11-22  Nathan Sidwell  <nathan@acm.org>
+
+	* gcc-ar.c (main): Fix indentation.
+	* gcov-io.c (gcov_write_summary): Remove extraneous {...}
+	* ggc-page.c (move_ptes_to_front): Fix formatting.
+	* hsa-dump.c (dump_has_cfun): Fix indentation.
+	* sel-sched-ir.h: Remove trailing blank lines.
+
+2016-11-22  Jakub Jelinek  <jakub@redhat.com>
+	    Alexander Monakov  <amonakov@ispras.ru>
+
+	* internal-fn.c (expand_GOMP_USE_SIMT): New function.
+	* tree.c (omp_clause_num_ops): OMP_CLAUSE__SIMT_ has 0 operands.
+	(omp_clause_code_name): Add _simt_ name.
+	(walk_tree_1): Handle OMP_CLAUSE__SIMT_.
+	* tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__SIMT_.
+	* omp-low.c (scan_sharing_clauses): Handle OMP_CLAUSE__SIMT_.
+	(scan_omp_simd): New function.
+	(scan_omp_1_stmt): Use it in target regions if needed.
+	(omp_max_vf): Don't max with omp_max_simt_vf.
+	(lower_rec_simd_input_clauses): Use omp_max_simt_vf if
+	OMP_CLAUSE__SIMT_ is present.
+	(lower_rec_input_clauses): Compute maybe_simt from presence of
+	OMP_CLAUSE__SIMT_.
+	(lower_lastprivate_clauses): Likewise.
+	(expand_omp_simd): Likewise.  Remove explicit offloaded region check.
+	(execute_omp_device_lower): Lower IFN_GOMP_USE_SIMT.
+	* internal-fn.def (GOMP_USE_SIMT): New internal function.
+	* tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__SIMT_.
+
+2016-11-22  Alexander Monakov  <amonakov@ispras.ru>
+
+	* internal-fn.c (expand_GOMP_SIMT_LANE): New.
+	(expand_GOMP_SIMT_VF): New.
+	(expand_GOMP_SIMT_LAST_LANE): New.
+	(expand_GOMP_SIMT_ORDERED_PRED): New.
+	(expand_GOMP_SIMT_VOTE_ANY): New.
+	(expand_GOMP_SIMT_XCHG_BFLY): New.
+	(expand_GOMP_SIMT_XCHG_IDX): New.
+	* internal-fn.def (GOMP_SIMT_LANE): New.
+	(GOMP_SIMT_VF): New.
+	(GOMP_SIMT_LAST_LANE): New.
+	(GOMP_SIMT_ORDERED_PRED): New.
+	(GOMP_SIMT_VOTE_ANY): New.
+	(GOMP_SIMT_XCHG_BFLY): New.
+	(GOMP_SIMT_XCHG_IDX): New.
+	* omp-low.c (omp_maybe_offloaded_ctx): New, outlined from...
+	(create_omp_child_function): ...here.  Set "omp target entrypoint"
+	or "omp declare target" attribute based on is_gimple_omp_offloaded.
+	(omp_max_simt_vf): New.  Use it...
+	(omp_max_vf): ...here.
+	(lower_rec_input_clauses): Add reduction lowering for SIMT execution.
+	(lower_lastprivate_clauses): Likewise, for "lastprivate" lowering.
+	(lower_omp_ordered): Likewise, for "ordered" lowering.
+	(expand_omp_simd): Add SIMT transforms.
+	(pass_data_lower_omp): Add PROP_gimple_lomp_dev.
+	(execute_omp_device_lower): New.
+	(pass_data_omp_device_lower): New.
+	(pass_omp_device_lower): New pass.
+	(make_pass_omp_device_lower): New.
+	* passes.def (pass_omp_device_lower): Position new pass.
+	* tree-pass.h (PROP_gimple_lomp_dev): Define.
+	(make_pass_omp_device_lower): Declare.
+
+2016-11-22  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/78451
+	* config/i386/avx512vlintrin.h (_mm_setzero_di): Removed.
+	(_mm_maskz_mov_epi64): Use _mm_setzero_si128 instead of
+	_mm_setzero_di.
+	(_mm_maskz_load_epi64): Likewise.
+	(_mm_setzero_hi): Removed.
+	(_mm_maskz_loadu_epi64): Use _mm_setzero_si128 instead of
+	_mm_setzero_di.
+	(_mm_abs_epi64, _mm_maskz_abs_epi64, _mm_maskz_srl_epi64,
+	_mm_maskz_unpackhi_epi64, _mm_maskz_unpacklo_epi64,
+	_mm_maskz_compress_epi64, _mm_srav_epi64, _mm_maskz_srav_epi64,
+	_mm_maskz_sllv_epi64, _mm_maskz_srlv_epi64, _mm_rolv_epi64,
+	_mm_maskz_rolv_epi64, _mm_rorv_epi64, _mm_maskz_rorv_epi64,
+	_mm_min_epi64, _mm_max_epi64, _mm_max_epu64, _mm_min_epu64,
+	_mm_lzcnt_epi64, _mm_maskz_lzcnt_epi64, _mm_conflict_epi64,
+	_mm_maskz_conflict_epi64, _mm_sra_epi64, _mm_maskz_sra_epi64,
+	_mm_maskz_sll_epi64, _mm_rol_epi64, _mm_maskz_rol_epi64,
+	_mm_ror_epi64, _mm_maskz_ror_epi64, _mm_alignr_epi64,
+	_mm_maskz_alignr_epi64, _mm_srai_epi64, _mm_maskz_slli_epi64):
+	Likewise.
+	(_mm_cvtepi32_epi8, _mm256_cvtepi32_epi8, _mm_cvtsepi32_epi8,
+	_mm256_cvtsepi32_epi8, _mm_cvtusepi32_epi8, _mm256_cvtusepi32_epi8,
+	_mm_cvtepi32_epi16, _mm256_cvtepi32_epi16, _mm_cvtsepi32_epi16,
+	_mm256_cvtsepi32_epi16, _mm_cvtusepi32_epi16, _mm256_cvtusepi32_epi16,
+	_mm_cvtepi64_epi8, _mm256_cvtepi64_epi8, _mm_cvtsepi64_epi8,
+	_mm256_cvtsepi64_epi8, _mm_cvtusepi64_epi8, _mm256_cvtusepi64_epi8,
+	_mm_cvtepi64_epi16, _mm256_cvtepi64_epi16, _mm_cvtsepi64_epi16,
+	_mm256_cvtsepi64_epi16, _mm_cvtusepi64_epi16, _mm256_cvtusepi64_epi16,
+	_mm_cvtepi64_epi32, _mm256_cvtepi64_epi32, _mm_cvtsepi64_epi32,
+	_mm256_cvtsepi64_epi32, _mm_cvtusepi64_epi32, _mm256_cvtusepi64_epi32,
+	_mm_maskz_set1_epi32, _mm_maskz_set1_epi64): Formatting fixes.
+	(_mm_maskz_cvtps_ph, _mm256_maskz_cvtps_ph): Use _mm_setzero_si128
+	instead of _mm_setzero_hi.
+	(_mm256_permutex_pd, _mm256_maskz_permutex_epi64, _mm256_insertf32x4,
+	_mm256_maskz_insertf32x4, _mm256_inserti32x4, _mm256_maskz_inserti32x4,
+	_mm256_extractf32x4_ps, _mm256_maskz_extractf32x4_ps,
+	_mm256_shuffle_i32x4, _mm256_maskz_shuffle_i32x4, _mm256_shuffle_f64x2,
+	_mm256_maskz_shuffle_f64x2, _mm256_shuffle_f32x4,
+	_mm256_maskz_shuffle_f32x4, _mm256_maskz_shuffle_pd,
+	_mm_maskz_shuffle_pd, _mm256_maskz_shuffle_ps, _mm_maskz_shuffle_ps,
+	_mm256_maskz_srli_epi32, _mm_maskz_srli_epi32, _mm_maskz_srli_epi64,
+	_mm256_mask_slli_epi32, _mm256_maskz_slli_epi32, _mm256_mask_slli_epi64,
+	_mm256_maskz_slli_epi64, _mm256_roundscale_ps,
+	_mm256_maskz_roundscale_ps, _mm256_roundscale_pd,
+	_mm256_maskz_roundscale_pd, _mm_roundscale_ps, _mm_maskz_roundscale_ps,
+	_mm_roundscale_pd, _mm_maskz_roundscale_pd, _mm256_getmant_ps,
+	_mm256_maskz_getmant_ps, _mm_getmant_ps, _mm_maskz_getmant_ps,
+	_mm256_getmant_pd, _mm256_maskz_getmant_pd, _mm_getmant_pd,
+	_mm_maskz_getmant_pd, _mm256_maskz_shuffle_epi32,
+	_mm_maskz_shuffle_epi32, _mm256_rol_epi32, _mm256_maskz_rol_epi32,
+	_mm_rol_epi32, _mm_maskz_rol_epi32, _mm256_ror_epi32,
+	_mm256_maskz_ror_epi32, _mm_ror_epi32, _mm_maskz_ror_epi32,
+	_mm_maskz_alignr_epi32, _mm_maskz_alignr_epi64,
+	_mm256_maskz_srai_epi32, _mm_maskz_srai_epi32, _mm_srai_epi64,
+	_mm_maskz_srai_epi64, _mm256_maskz_permutex_pd,
+	_mm256_maskz_permute_pd, _mm256_maskz_permute_ps, _mm_maskz_permute_pd,
+	_mm_maskz_permute_ps, _mm256_permutexvar_ps): Formatting fixes.
+	(_mm_maskz_slli_epi64, _mm_rol_epi64, _mm_maskz_rol_epi64,
+	_mm_ror_epi64, _mm_maskz_ror_epi64): Use _mm_setzero_si128 instead of
+	_mm_setzero_di.
+	(_mm_maskz_cvtps_ph, _mm256_maskz_cvtps_ph): Use _mm_setzero_si128
+	instead of _mm_setzero_hi.
+	* config/i386/avx512dqintrin.h (_mm512_broadcast_f64x2,
+	_mm512_broadcast_i64x2, _mm512_broadcast_f32x2, _mm512_broadcast_i32x2,
+	_mm512_broadcast_f32x8, _mm512_broadcast_i32x8): Formatting fixes.
+	(_mm512_extracti64x2_epi64, _mm512_maskz_extracti64x2_epi64): Use
+	_mm_setzero_si128 instead of _mm_setzero_di.
+	(_mm512_cvtt_roundpd_epi64, _mm512_mask_cvtt_roundpd_epi64,
+	_mm512_maskz_cvtt_roundpd_epi64, _mm512_cvtt_roundpd_epu64,
+	_mm512_mask_cvtt_roundpd_epu64, _mm512_maskz_cvtt_roundpd_epu64,
+	_mm512_cvtt_roundps_epi64, _mm512_mask_cvtt_roundps_epi64,
+	_mm512_maskz_cvtt_roundps_epi64, _mm512_cvtt_roundps_epu64,
+	_mm512_mask_cvtt_roundps_epu64, _mm512_maskz_cvtt_roundps_epu64,
+	_mm512_cvt_roundpd_epi64, _mm512_mask_cvt_roundpd_epi64,
+	_mm512_maskz_cvt_roundpd_epi64, _mm512_cvt_roundpd_epu64,
+	_mm512_mask_cvt_roundpd_epu64, _mm512_maskz_cvt_roundpd_epu64,
+	_mm512_cvt_roundps_epi64, _mm512_mask_cvt_roundps_epi64,
+	_mm512_maskz_cvt_roundps_epi64, _mm512_cvt_roundps_epu64,
+	_mm512_mask_cvt_roundps_epu64, _mm512_maskz_cvt_roundps_epu64,
+	_mm512_cvt_roundepi64_ps, _mm512_mask_cvt_roundepi64_ps,
+	_mm512_maskz_cvt_roundepi64_ps, _mm512_cvt_roundepu64_ps,
+	_mm512_mask_cvt_roundepu64_ps, _mm512_maskz_cvt_roundepu64_ps,
+	_mm512_cvt_roundepi64_pd, _mm512_mask_cvt_roundepi64_pd,
+	_mm512_maskz_cvt_roundepi64_pd, _mm512_cvt_roundepu64_pd,
+	_mm512_mask_cvt_roundepu64_pd, _mm512_maskz_cvt_roundepu64_pd,
+	_mm512_reduce_pd, _mm512_maskz_reduce_pd, _mm512_reduce_ps,
+	_mm512_maskz_reduce_ps, _mm512_extractf32x8_ps,
+	_mm512_maskz_extractf32x8_ps, _mm512_extractf64x2_pd,
+	_mm512_maskz_extractf64x2_pd, _mm512_extracti32x8_epi32,
+	_mm512_maskz_extracti32x8_epi32, _mm512_range_pd,
+	_mm512_maskz_range_pd, _mm512_range_ps, _mm512_maskz_range_ps,
+	_mm512_range_round_pd, _mm512_maskz_range_round_pd,
+	_mm512_range_round_ps, _mm512_maskz_range_round_ps,
+	_mm512_maskz_insertf64x2, _mm512_insertf32x8,
+	_mm512_maskz_insertf32x8): Formatting fixes.
+	(_mm512_extracti64x2_epi64, _mm512_maskz_extracti64x2_epi64): Use
+	_mm_setzero_si128 instead of _mm_setzero_di.
+	* config/i386/avx512vldqintrin.h (_mm_cvttpd_epi64,
+	_mm_cvttpd_epu64, _mm_cvtpd_epi64, _mm_cvtpd_epu64,
+	_mm_cvttps_epi64, _mm_maskz_cvttps_epi64, _mm_cvttps_epu64,
+	_mm_maskz_cvttps_epu64, _mm_maskz_mullo_epi64, _mm_cvtps_epi64,
+	_mm_maskz_cvtps_epi64, _mm_cvtps_epu64, _mm_maskz_cvtps_epu64,
+	_mm256_extracti64x2_epi64, _mm256_maskz_extracti64x2_epi64): Use
+	_mm_setzero_si128 instead of _mm_setzero_di.
+	(_mm256_extracti64x2_epi64, _mm256_maskz_extracti64x2_epi64):
+	Likewise in macros.
+	* config/i386/avx512vlbwintrin.h (_mm_maskz_mov_epi8,
+	_mm_maskz_loadu_epi16, _mm_maskz_mov_epi16, _mm_maskz_loadu_epi8,
+	_mm_permutexvar_epi16, _mm_maskz_maddubs_epi16): Use
+	_mm_setzero_si128 instead of _mm_setzero_hi.
+	(_mm_maskz_min_epu16, _mm_maskz_max_epu8, _mm_maskz_max_epi8,
+	_mm_maskz_min_epu8, _mm_maskz_min_epi8, _mm_maskz_max_epi16,
+	_mm_maskz_max_epu16, _mm_maskz_min_epi16): Use _mm_setzero_si128
+	instead of _mm_setzero_di.
+	(_mm_dbsad_epu8, _mm_maskz_shufflehi_epi16,
+	_mm_maskz_shufflelo_epi16): Use _mm_setzero_si128 instead of
+	_mm_setzero_hi.
+	(_mm_maskz_shufflehi_epi16, _mm_maskz_shufflelo_epi16,
+	_mm_maskz_slli_epi16): Use _mm_setzero_si128 instead of
+	_mm_setzero_hi.
+	(_mm_maskz_alignr_epi8): Use _mm_setzero_si128 instead of
+	_mm_setzero_di.
+	(_mm_maskz_mulhi_epi16, _mm_maskz_mulhi_epu16, _mm_maskz_mulhrs_epi16,
+	_mm_maskz_mullo_epi16, _mm_srav_epi16, _mm_srlv_epi16,
+	_mm_sllv_epi16): Use _mm_setzero_si128 instead of _mm_setzero_hi.
+
+2016-11-22  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/rs6000-c.c: Add built-in support for vector compare
+	equal and vector compare not equal.  The vector compares take two
+	arguments of type vector bool char, vector bool short, vector bool int,
+	vector bool long long with the same return type.
+	* doc/extend.texi: Update built-in documentation file for the new
+	powerpc built-ins.
+
+2016-11-22  Uros Bizjak  <ubizjak@gmail.com>
+
+	* Makefile.in ($(lang_checks_parallelized)): Fix detection
+	of -j argument.
+
+2016-11-22  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config.gcc: Allow new rmprofile value for configure option
+	--with-multilib-list.
+	* config/arm/t-rmprofile: New file.
+	* doc/install.texi (--with-multilib-list): Document new rmprofile value
+	for ARM.
+
+2016-11-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/78439
+	* config/arm/vfp.md (*movdi_vfp_cortexa8): Use 'q' constraints for the
+	register operand in alternatives 4,5,6.
+
+2016-11-22  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	PR target/77904
+	* config/arm/arm.c (thumb1_compute_save_reg_mask): Mark frame pointer
+	in save register mask if it is needed.
+
+2016-11-22  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/78436
+	* gimple-ssa-store-merging.c (zero_char_buf): Removed.
+	(shift_bytes_in_array, shift_bytes_in_array_right,
+	merged_store_group::apply_stores): Formatting fixes.
+	(clear_bit_region): Likewise.  Use memset.
+	(encode_tree_to_bitpos): Formatting fixes.  Fix comment typos - EPXR
+	instead of EXPR and inerted instead of inserted.  Use memset instead
+	of zero_char_buf.  For !BYTES_BIG_ENDIAN decrease byte_size by 1
+	if shift_amnt is 0.
+
+	PR middle-end/78416
+	* expmed.c (expand_divmod): Use wide_int for computation of
+	op1_is_pow2.  Don't set it if op1 is 0.  Formatting fixes.
+	Use size <= HOST_BITS_PER_WIDE_INT instead of
+	HOST_BITS_PER_WIDE_INT >= size.
+
+	PR tree-optimization/78445
+	* tree-if-conv.c (tree_if_conversion): If any_pred_load_store or
+	any_complicated_phi, version loop even if flag_tree_loop_if_convert
+	is 1.  Formatting fix.
+
+2016-11-22  Martin Liska  <mliska@suse.cz>
+
+	PR ipa/78309
+	* ipa-icf.c (void sem_item::set_hash): Update m_hash_set.
+	(sem_function::get_hash): Use the new field.
+	(sem_function::parse): Remove an argument from ctor.
+	(sem_variable::parse): Likewise.
+	(sem_variable::get_hash): Use the new field.
+	(sem_item_optimizer::read_section): Use new ctor and set hash.
+	* ipa-icf.h: _hash is removed from sem_item::sem_item,
+	sem_variable::sem_variable, sem_function::sem_function.
+
+2016-11-21  Jeff Law  <law@redhat.com>
+
+	PR target/68538
+	* config/cris/cris.md: Don't call copy_to_mode_reg unless
+	can_create_pseudo_p is true.
+
+2016-11-21  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR target/68803
+	* config/rs6000/rs6000.md (*rotlsi3_insert_5, *rotldi3_insert_6,
+	*rotldi3_insert_7): New define_insns.
+
+2016-11-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.md (movdi_internal32): Change constraints
+	so that DImode can be allocated to FP/vector registers in more
+	cases, and we can avoid direct move operations.  If the register
+	needs reloading, prefer GPRs over FP/vector registers.  In the
+	case of FPR vs. Altivec registers, prefer FPR registers unless we
+	have the ISA 3.0 reg+offset scalar instructions.
+	(movdi_internal64): Likewise.
+
+2016-11-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/67335
+	* omp-simd-clone.c (simd_clone_adjust_argument_types): Use NULL prefix
+	for tmp simd array if DECL_NAME (parm) is NULL.
+
+2016-11-20  Jeff Law  <law@redhat.com>
+
+	PR target/25128
+	* config/m68k/predicates.md (swap_peephole_relational_operator): New
+	predicate.
+	* config/m68k/m68k.md (relational tests against 65535/65536): New
+	peephole2.
+
+2016-11-21  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* tree-ssa-loop-prefetch.c: Delete FIXME after the includes.
+
+2016-11-21  Martin Sebor  <msebor@redhat.com>
+
+	* doc/invoke.texi (-fprintf-return-value): Document that option
+	is enabled by default.
+
+2016-11-21  Georg-Johann Lay  <avr@gjlay.de>
+
+	* config/avr/avr-c.c (avr_register_target_pragmas): Use C++
+	for-loop declaration of loop variable.
+	(avr_register_target_pragmas, avr_cpu_cpp_builtins): Same.
+	* config/avr/avr.c (avr_popcount_each_byte)
+	(avr_init_expanders, avr_regs_to_save, sequent_regs_live)
+	(get_sequence_length, avr_prologue_setup_frame, avr_map_metric)
+	(avr_expand_epilogue, avr_function_arg_advance)
+	(avr_out_compare, avr_out_plus_1, avr_out_bitop, avr_out_fract)
+	(avr_rotate_bytes, _reg_unused_after, avr_assemble_integer)
+	(avr_adjust_reg_alloc_order, output_reload_in_const)
+	(avr_conditional_register_usage, avr_find_unused_d_reg)
+	(avr_map_decompose, avr_fold_builtin): Same.
+
+2016-11-21  Georg-Johann Lay  <avr@gjlay.de>
+
+	* config/avr/avr.c (avr_popcount): Remove static function.
+	(avr_popcount_each_byte, avr_out_bitop): Use popcount_hwi instead.
+
+2016-11-21  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm.opt (mapcs-float): Delete option.
+	* arm.c (arm_option_override): Remove hunk relating to
+	TARGET_APCS_FLOAT.
+	* doc/invoke.texi (arm options): Remove documentation for -mapcs-float.
+
+2016-11-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* tree-tailcall.c (process_assignment): Simplify the check for
+	a valid copy, allowing the source to be a local variable as
+	well as an SSA name.
+	(find_tail_calls): Allow copies between local variables to follow
+	the call.  Allow the result to be stored in any local variable,
+	even if it's an aggregate.
+	(eliminate_tail_call): Check whether the result is an SSA name
+	before updating its SSA_NAME_DEF_STMT.
+
+2016-11-21  David Malcolm  <dmalcolm@redhat.com>
+
+	PR preprocessor/78324
+	* input.c (get_substring_ranges_for_loc): Fail gracefully if
+	-ftrack-macro-expansion has a value other than 2.
+
+2016-11-21  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/78400
+	* shrink-wrap.c (try_shrink_wrapping_separate): Call
+	df_update_entry_exit_and_calls instead of df_update_entry_block_defs
+	and df_update_exit_block_uses.
+
+2016-11-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	PR c++/71973
+	* doc/invoke.texi (-Wno-builtin-declaration-mismatch): Document the
+	new default-enabled warning..
+	* builtin-types.def (BT_CONST_TM_PTR): New primitive type.
+	(BT_PTR_CONST_STRING): Updated.
+	(BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR): Removed.
+	(BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_TM_PTR): New function type.
+	* builtins.def (DEF_TM_BUILTIN): Disable BOTH_P for TM builtins.
+	(strftime): Update builtin function.
+	* tree-core.h (TI_CONST_TM_PTR_TYPE): New enum value.
+	* tree.h (const_tm_ptr_type_node): New type node.
+	* tree.c (free_lang_data, build_common_tree_nodes): Initialize
+	const_tm_ptr_type_node.
+
+2016-11-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR tree-optimization/78413
+	* tree-if-conv.c (versionable_outer_loop_p): Require that both
+	inner and outer loop latches have single predecessors.
+
+2016-11-21  Georg-Johann Lay  <avr@gjlay.de>
+
+	PR target/78093
+	* config/avr/avr.c (avr_decl_maybe_lds_p): New static function.
+	(avr_encode_section_info) [TARGET_ABSDATA && AVR_TINY]: Use it.
+
+2016-11-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* rtl.h: Adjust prototype.
+	* rtlanal.c (dead_or_set_p): Change argument type to rtx_insn *.
+	(dead_or_set_regno_p): Likewise.
+
+2016-11-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* rtl.h: Adjust prototype.
+	* rtlanal.c (add_int_reg_note): Change argument type to rtx_insn *.
+
+2016-11-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* function.c (contains): Change argument type to rtx_insn *.
+	(prologue_contains): Likewise.
+	(epilogue_contains): Likewise.
+	(prologue_epilogue_contains): Likewise.
+	* function.h: Adjust prototype.
+
+2016-11-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* optabs.c (emit_libcall_block): Change argument type to
+	rtx_insn *.
+	* optabs.h: Adjust prototype.
+
+2016-11-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* cfgrtl.c (delete_insn): Change argument type to rtx_insn *.
+	(fixup_reorder_chain): Adjust.
+	* cfgrtl.h: Adjust prototype.
+
+2016-11-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* rtl.h: Adjust prototype.
+	* rtlanal.c (replace_label_in_insn): Change argument type to
+	rtx_insn *.
+
+2016-11-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* config/v850/v850.c (expand_prologue): Adjust.
+	(expand_epilogue): Likewise.
+	* expr.c (init_expr_target): Likewise.
+	* genrecog.c (print_subroutine): Always make the argument type
+	rtx_insn *.
+	* recog.h: Adjust prototype.
+
+2016-11-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* config/aarch64/aarch64.c (aarch64_emit_unlikely_jump): split
+	up variables to make some rtx_insn *.
+	* config/alpha/alpha.c (emit_unlikely_jump): Likewise.
+	* config/arc/arc.c: Likewise.
+	* config/arm/arm.c: Likewise.
+	* config/mn10300/mn10300.c (mn10300_legitimize_pic_address): Likewise.
+	* config/rs6000/rs6000.c (rs6000_expand_split_stack_prologue):
+	Likewise.
+	* config/spu/spu.c (spu_emit_branch_hint): Likewise.
+
+2016-11-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* config/arm/arm.c (legitimize_pic_address): Change to use
+	rtx_insn * as the type of variables.
+	(arm_pic_static_addr): Likewise.
+	(arm_emit_movpair): Likewise.
+	* config/c6x/c6x.c (reorg_split_calls): Likewise.
+	* config/darwin.c (machopic_legitimize_pic_address): Likewise.
+	* config/frv/frv.c (frv_optimize_membar_local): Likewise.
+	* config/frv/frv.md: Likewise.
+	* config/i386/i386-protos.h: Likewise.
+	* config/i386/i386.c (ix86_expand_split_stack_prologue): Likewise.
+	(ix86_split_fp_branch): Likewise.
+	(predict_jump): Likewise.
+	* config/ia64/ia64.c: Likewise.
+	* config/mcore/mcore.c: Likewise.
+	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
+	* config/s390/s390.c: Likewise.
+	* config/s390/s390.md: Likewise.
+	* config/spu/spu.md: Likewise.
+	* config/tilegx/tilegx.c (tilegx_legitimize_tls_address): Likewise.
+	* lower-subreg.c (resolve_simple_move): Likewise.
+
+2016-11-20  Jeff Law  <law@redhat.com>
+
+	PR target/48551
+	* reload.h (struct target_reload): Make x_double_reg_address_ok
+	be per-mode rather.
+	* reload.c (find_reloads_address): Check if double_reg_address_ok
+	is true for the mode of the memory reference.
+	* reload1.c (init_reload): Initialize double_reg_address_ok for
+	each mode.
+
+2016-11-20  Aldy Hernandez  <aldyh@redhat.com>
+
+	PR middle-end/61409
+	* tree-ssa-uninit.c: Define new global max_phi_args.
+	(compute_uninit_opnds_pos): Use max_phi_args.
+	(prune_uninit_phi_opnds): Same.
+	(use_pred_not_overlap_with_undef_path_pred): Remove reference to
+	missing NUM_PREDS in function comment.
+	(can_one_predicate_be_invalidated_p): New.
+	(can_chain_union_be_invalidated_p): New.
+	(flatten_out_predicate_chains): New.
+	(uninit_ops_invalidate_phi_use): New.
+	(is_use_properly_guarded): Call uninit_ops_invalidate_phi_use.
+
+2016-11-20  Marc Glisse  <marc.glisse@inria.fr>
+
+	* fold-const.c (fold_comparison): Ignore EXACT_DIV_EXPR.
+	* match.pd (A /[ex] B CMP C): New simplifications.
+
+2016-11-20  Marc Glisse  <marc.glisse@inria.fr>
+
+	* match.pd (0 / X, X / X, X % X): New simplifications.
+
+2016-11-19  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/i386.c (ix86_can_inline_p): Use || instead of &
+	when checking if callee's isa flags are subset of caller's isa flags.
+	Fix comment wording.
+
+	* config/i386/i386.c (ix86_valid_target_attribute_tree): Don't
+	clear opts->x_ix86_isa_flags, clear opts->x_ix86_isa_flags2
+	instead and using = 0 instead of &= 0.
+
+	* config/i386/i386.c (def_builtin, def_builtin2, def_builtin_const2,
+	ix86_add_new_builtins): Formatting fixes.
+	(ix86_expand_builtin): Use || instead of && for isa vs. isa2.
+	(ix86_get_builtin): Likewise.
+
+	* config/i386/i386.c (ix86_expand_builtin): Remove msk_mov variable,
+	don't initialize it, don't use it for the case where it isn't
+	provable %{z} nor using the same argument, instead move merge
+	argument into a new pseudo and use that as target.  Formatting fixes.
+
+2016-11-19  Jeff Law  <law@redhat.com>
+
+	PR target/25111
+	* config/m68k/m68k.md (bsetdreg): New pattern.
+	(bchgdreg, bclrdreg): Likewise.
+
+2016-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	PR target/78426
+	* config/sh/sh-mem.cc (sh_expand_cmpnstr): Use copy_to_mode_reg
+	instead of force_reg.
+	(sh_expand_setmem): Likewise.
+
+2016-11-19  Krister Walfridsson  <krister.walfridsson@gmail.com>
+
+	* config.gcc (*-*-netbsd): Set use_gcc_stdint=wrap.
+
+2016-11-18  Walter Lee  <walt@tilera.com>
+
+	* config/tilegx/tilegx.c (tilegx_gen_bundles): Preserve
+	  end-of-bundle marker for consecutive barriers.
+
+2016-11-18  Walter Lee  <walt@tilera.com>
+
+	* config/tilegx/tilegx.md (clzsi2): Fix for big-endian.
+
+2016-11-18  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/78419
+	* multiple_target.c (get_attr_len): Start with argnum and increment
+	argnum on every arg.  Use strchr in a loop instead of counting commas
+	manually.
+	(get_attr_str): Increment argnum for every comma in the string.
+	(separate_attrs): Use for instead of while loop, simplify.
+	(expand_target_clones): Rename defenition argument to definition.
+	Free attrs and attr_str even when diagnosing errors.  Temporarily
+	change input_location around targetm.target_option.valid_attribute_p
+	calls.  Don't emit warning or errors if that function fails.
+
+	* dwarf2out.c (size_of_discr_list): Fix typo in function comment.
+
+	PR debug/78191
+	* dwarf2out.c (abbrev_opt_base_type_end): New variable.
+	(die_abbrev_cmp): Sort dies with die_abbrev smaller than
+	abbrev_opt_base_type_end only by increasing die_abbrev, before
+	any other dies.
+	(optimize_abbrev_table): Don't change abbrev numbers of
+	base types and CU or optimize implicit consts in them if
+	calc_base_type_die_sizes has been called during build_abbrev_table.
+	(calc_base_type_die_sizes): If abbrev_opt_start, set
+	abbrev_opt_base_type_end to one plus largest base type's die_abbrev.
+
+2016-11-18  Jeff Law  <law@redhat.com>
+
+	PR target/25112
+	* config/m68k/m68k.c (moveq feeding equality comparison): New
+	peepholes.
+	* config/m68k/predicates.md (addq_subq_operand): New predicate.
+	(equality_comparison_operator): Likewise.
+
+2016-11-18  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* rtlanal.c (load_extend_op): Move to...
+	* rtl.h: ...here and make inline.
+
+2016-11-18  Terry Guo  <terry.guo@arm.com>
+	    Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* common/config/arm/arm-common.c (arm_target_thumb_only): New function.
+	* config/arm/arm-opts.h: Include arm-flags.h.
+	(struct arm_arch_core_flag): Define.
+	(arm_arch_core_flags): Define.
+	* config/arm/arm-protos.h: Include arm-flags.h
+	(FL_NONE, FL_ANY, FL_CO_PROC, FL_ARCH3M, FL_MODE26, FL_MODE32,
+	FL_ARCH4, FL_ARCH5, FL_THUMB, FL_LDSCHED, FL_STRONG, FL_ARCH5E,
+	FL_XSCALE, FL_ARCH6, FL_VFPV2, FL_WBUF, FL_ARCH6K, FL_THUMB2, FL_NOTM,
+	FL_THUMB_DIV, FL_VFPV3, FL_NEON, FL_ARCH7EM, FL_ARCH7, FL_ARM_DIV,
+	FL_ARCH8, FL_CRC32, FL_SMALLMUL, FL_NO_VOLATILE_CE, FL_IWMMXT,
+	FL_IWMMXT2, FL_ARCH6KZ, FL2_ARCH8_1, FL2_ARCH8_2, FL2_FP16INST,
+	FL_TUNE, FL_FOR_ARCH2, FL_FOR_ARCH3, FL_FOR_ARCH3M, FL_FOR_ARCH4,
+	FL_FOR_ARCH4T, FL_FOR_ARCH5, FL_FOR_ARCH5T, FL_FOR_ARCH5E,
+	FL_FOR_ARCH5TE, FL_FOR_ARCH5TEJ, FL_FOR_ARCH6, FL_FOR_ARCH6J,
+	FL_FOR_ARCH6K, FL_FOR_ARCH6Z, FL_FOR_ARCH6ZK, FL_FOR_ARCH6KZ,
+	FL_FOR_ARCH6T2, FL_FOR_ARCH6M, FL_FOR_ARCH7, FL_FOR_ARCH7A,
+	FL_FOR_ARCH7VE, FL_FOR_ARCH7R, FL_FOR_ARCH7M, FL_FOR_ARCH7EM,
+	FL_FOR_ARCH8A, FL2_FOR_ARCH8_1A, FL2_FOR_ARCH8_2A, FL_FOR_ARCH8M_BASE,
+	FL_FOR_ARCH8M_MAIN, arm_feature_set, ARM_FSET_MAKE,
+	ARM_FSET_MAKE_CPU1, ARM_FSET_MAKE_CPU2, ARM_FSET_CPU1, ARM_FSET_CPU2,
+	ARM_FSET_EMPTY, ARM_FSET_ANY, ARM_FSET_HAS_CPU1, ARM_FSET_HAS_CPU2,
+	ARM_FSET_HAS_CPU, ARM_FSET_ADD_CPU1, ARM_FSET_ADD_CPU2,
+	ARM_FSET_DEL_CPU1, ARM_FSET_DEL_CPU2, ARM_FSET_UNION, ARM_FSET_INTER,
+	ARM_FSET_XOR, ARM_FSET_EXCLUDE, ARM_FSET_IS_EMPTY,
+	ARM_FSET_CPU_SUBSET): Move to ...
+	* config/arm/arm-flags.h: This new file.
+	* config/arm/arm.h (TARGET_MODE_SPEC_FUNCTIONS): Define.
+	(EXTRA_SPEC_FUNCTIONS): Add TARGET_MODE_SPEC_FUNCTIONS to its value.
+	(TARGET_MODE_SPECS): Define.
+	(DRIVER_SELF_SPECS): Add TARGET_MODE_SPECS to its value.
+
+2016-11-18  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm-protos.h (FL_NONE, FL_ANY, FL_CO_PROC, FL_ARCH3M,
+	FL_MODE26, FL_MODE32, FL_ARCH4, FL_ARCH5, FL_THUMB, FL_LDSCHED,
+	FL_STRONG, FL_ARCH5E, FL_XSCALE, FL_ARCH6, FL_VFPV2, FL_WBUF,
+	FL_ARCH6K, FL_THUMB2, FL_NOTM, FL_THUMB_DIV, FL_VFPV3, FL_NEON,
+	FL_ARCH7EM, FL_ARCH7, FL_ARM_DIV, FL_ARCH8, FL_CRC32, FL_SMALLMUL,
+	FL_NO_VOLATILE_CE, FL_IWMMXT, FL_IWMMXT2, FL_ARCH6KZ, FL2_ARCH8_1,
+	FL2_ARCH8_2, FL2_FP16INST): Reindent comment, add final dot when
+	missing and make value unsigned.
+	(arm_feature_set): Use unsigned entries instead of unsigned long.
+
+2016-11-18  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	Re-apply after PR bootstrap/77359 is fixed:
+	2016-08-23  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	* explow.c (get_dynamic_stack_size): Take known alignment of stack
+	pointer + STACK_DYNAMIC_OFFSET into account when calculating the
+	size needed.
+
+2016-11-18  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	PR bootstrap/77359
+	* config/rs6000/rs6000.c (rs6000_stack_info): Properly align local
+	variables in functions calling alloca.  Also update the ASCII
+	drawings.
+	* config/rs6000/rs6000.h (STARTING_FRAME_OFFSET)
+	(STACK_DYNAMIC_OFFSET): Likewise.
+	* config/rs6000/aix.h (STARTING_FRAME_OFFSET)
+	(STACK_DYNAMIC_OFFSET): Copy AIX specific versions of the rs6000.h
+	macros to aix.h.
+
+2016-11-18  Richard Sandiford  <richard.sandiford@arm.com>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* combine.c (try_combine): Use rtx_mode_t instead of std::make_pair.
+	* dwarf2out.c (mem_loc_descriptor, loc_descriptor): Likewise.
+	(add_const_value_attribute): Likewise.
+	* explow.c (plus_constant): Likewise.
+	* expmed.c (expand_mult, make_tree): Likewise.
+	* expr.c (convert_modes): Likewise.
+	* loop-doloop.c (doloop_optimize): Likewise.
+	* postreload.c (reload_cse_simplify_set): Likewise.
+	* simplify-rtx.c (simplify_const_unary_operation): Likewise
+	(simplify_binary_operation_1, simplify_const_binary_operation):
+	Likewise.
+	(simplify_const_relational_operation, simplify_immed_subreg): Likewise.
+	* wide-int.h: Update documentation to recommend rtx_mode_t
+	instead of std::make_pair.
+
+2016-11-18  Richard Sandiford  <richard.sandiford@arm.com>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree.h (SET_DECL_MODE): New macro.
+	* cfgexpand.c (avoid_deep_ter_for_debug): Use SET_DECL_MODE.
+	(expand_gimple_basic_block): Likewise.
+	* function.c (split_complex_args): Likeise.
+	* ipa-prop.c (ipa_modify_call_arguments): Likewise.
+	* omp-simd-clone.c (ipa_simd_modify_stmt_ops): Likewise.
+	* stor-layout.c (layout_decl, relayout_decl): Likewise.
+	(finish_bitfield_representative): Likewise.
+	* tree.c (make_node_stat): Likewise.
+	* tree-inline.c (remap_ssa_name): Likewise.
+	(tree_function_versioning): Likewise.
+	* tree-into-ssa.c (rewrite_debug_stmt_uses): Likewise.
+	* tree-sra.c (sra_ipa_reset_debug_stmts): Likewise.
+	* tree-ssa-ccp.c (optimize_atomic_bit_test_and): Likewise.
+	* tree-ssa-loop-ivopts.c (remove_unused_ivs): Likewise.
+	* tree-ssa.c (insert_debug_temp_for_var_def): Likewise.
+	* tree-streamer-in.c (unpack_ts_decl_common_value_fields): Likewise.
+	* varasm.c (make_debug_expr_from_rtl): Likewise.
+
+2016-11-18  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/71785
+	* bb-reorder.c (maybe_duplicate_computed_goto): New function.
+	(duplicate_computed_gotos): New function.
+	(pass_duplicate_computed_gotos::execute): Rewrite.
+
+2016-11-17  Jeff Law  <law@redhat.com>
+
+	PR target/47192
+	* config/m68k/m68k.c (m68k_expand_epilogue): Emit a scheduling
+	barrier prior to deallocating the stack.
+
+2016-11-17  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* config/arc/arc.md (cmem bit/sign-extend peephole2): New peephole
+	to make better use of cmem loads in the case where a single bit is
+	being accessed.
+	* config/arc/predicates.md (ge_lt_comparison_operator): New predicate.
+
+2016-11-17  Andrew Senkevich <andrew.senkevich@intel.com>
+
+	* config/i386/i386.c (processor_features): Add F_AVX5124VNNIW,
+	F_AVX5124FMAPS.
+	(isa_names_table): Handle new features.
+
+2016-11-17  Kirill Yukhin  <kirill.yukhin@gmail.com>
+	    Andrew Senkevich <andrew.senkevich@intel.com>
+
+	* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX5124FMAPS_SET,
+	OPTION_MASK_ISA_AVX5124FMAPS_UNSET, OPTION_MASK_ISA_AVX5124VNNIW_SET,
+	OPTION_MASK_ISA_AVX5124VNNIW_UNSET): New.
+	(ix86_handle_option): Handle OPT_mavx5124fmaps, OPT_mavx5124vnniw.
+	* config.gcc: Add avx5124fmapsintrin.h, avx5124vnniwintrin.h.
+	* config/i386/avx5124fmapsintrin.h: New file.
+	* config/i386/avx5124vnniwintrin.h: Ditto.
+	* config/i386/constraints.md (h): New constraint.
+	* config/i386/cpuid.h (bit_AVX5124VNNIW, bit_AVX5124FMAPS): New.
+	* config/i386/driver-i386.c (host_detect_local_cpu):
+	Detect avx5124fmaps, avx5124vnniw.
+	* config/i386/i386-builtin-types.def: Add types
+	V16SF_FTYPE_V16SF_V16SF_V16SF_V16SF_V16SF_PCV4SF_V16SF_UHI,
+	V16SF_FTYPE_V16SF_V16SF_V16SF_V16SF_V16SF_PCV4SF,
+	V4SF_FTYPE_V4SF_V4SF_V4SF_V4SF_V4SF_PCV4SF,
+	V4SF_FTYPE_V4SF_V4SF_V4SF_V4SF_V4SF_PCV4SF_V4SF_UQI,
+	V16SI_FTYPE_V16SI_V16SI_V16SI_V16SI_V16SI_PCV4SI,
+	V16SI_FTYPE_V16SI_V16SI_V16SI_V16SI_V16SI_PCV4SI_V16SI_UHI.
+	* config/i386/i386-builtin.def (__builtin_ia32_4fmaddps_mask,
+	__builtin_ia32_4fmaddps, __builtin_ia32_4fmaddss,
+	__builtin_ia32_4fmaddss_mask, __builtin_ia32_4fnmaddps_mask,
+	__builtin_ia32_4fnmaddps, __builtin_ia32_4fnmaddss,
+	__builtin_ia32_4fnmaddss_mask, __builtin_ia32_vp4dpwssd,
+	__builtin_ia32_vp4dpwssd_mask, __builtin_ia32_vp4dpwssds,
+	__builtin_ia32_vp4dpwssds_mask): New.
+	* config/i386/i386-c.c (ix86_target_macros_internal):
+	Define __AVX5124FMAPS__, __AVX5124VNNIW__.
+	* config/i386/i386-modes.def: Fixed comment typos, added new
+	modes (VECTOR_MODES (FLOAT, 256), VECTOR_MODE (INT, SI, 64)).
+	* config/i386/i386.c (ix86_target_string): Add -mavx5124fmaps,
+	-mavx5124vnniw.
+	(PTA_AVX5124FMAPS, PTA_AVX5124VNNIW): Define.
+	(ix86_option_override_internal): Handle new options.
+	(ix86_valid_target_attribute_inner_p): Add avx5124fmaps,
+	avx5124vnniw.
+	(ix86_expand_builtin): Handle new builtins.
+	(ix86_additional_allocno_class_p): New.
+	* config/i386/i386.h (TARGET_AVX5124FMAPS, TARGET_AVX5124FMAPS_P,
+	TARGET_AVX5124VNNIW, TARGET_AVX5124VNNIW_P): Define.
+	(reg_class): Add MOD4_SSE_REGS.
+	(MOD4_SSE_REG_P, MOD4_SSE_REGNO_P): New.
+	* config/i386/i386.opt: Add mavx5124fmaps, mavx5124vnniw.
+	* config/i386/immintrin.h: Include avx5124fmapsintrin.h,
+	avx5124vnniwintrin.h.
+	* config/i386/sse.md (unspec): Add UNSPEC_VP4FMADD, UNSPEC_VP4FNMADD,
+	UNSPEC_VP4DPWSSD, UNSPEC_VP4DPWSSDS.
+	(define_mode_iterator IMOD4): New.
+	(define_mode_attr imod4_narrow): Ditto.
+	(define_insn "mov<mode>"): Ditto.
+	(define_insn "avx5124fmaddps_4fmaddps"): Ditto.
+	(define_insn "avx5124fmaddps_4fmaddps_mask"): Ditto.
+	(define_insn "avx5124fmaddps_4fmaddps_maskz"): Ditto.
+	(define_insn "avx5124fmaddps_4fmaddss"): Ditto.
+	(define_insn "avx5124fmaddps_4fmaddss_mask"): Ditto.
+	(define_insn "avx5124fmaddps_4fmaddss_maskz"): Ditto.
+	(define_insn "avx5124fmaddps_4fnmaddps"): Ditto.
+	(define_insn "avx5124fmaddps_4fnmaddps_mask"): Ditto.
+	(define_insn "avx5124fmaddps_4fnmaddps_maskz"): Ditto.
+	(define_insn "avx5124fmaddps_4fnmaddss"): Ditto.
+	(define_insn "avx5124fmaddps_4fnmaddss_mask"): Ditto.
+	(define_insn "avx5124fmaddps_4fnmaddss_maskz"): Ditto.
+	(define_insn "avx5124vnniw_vp4dpwssd"): Ditto.
+	(define_insn "avx5124vnniw_vp4dpwssd_mask"): Ditto.
+	(define_insn "avx5124vnniw_vp4dpwssd_maskz"): Ditto.
+	(define_insn "avx5124vnniw_vp4dpwssds"): Ditto.
+	(define_insn "avx5124vnniw_vp4dpwssds_mask"): Ditto.
+	(define_insn "avx5124vnniw_vp4dpwssds_maskz"): Ditto.
+	* init-regs.c (initialize_uninitialized_regs): Add emit_clobber call.
+	* genmodes.c (mode_size_inline): Extend return type.
+	* machmode.h (mode_size, mode_base_align): Extend type.
+
+2016-11-17  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/78101
+	* config/rs6000/predicates.md (fusion_addis_mem_combo_load): Add
+	the appropriate checks for SFmode/DFmode load/stores in GPR
+	registers.
+	(fusion_addis_mem_combo_store): Likewise.
+	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Rename
+	fusion_fpr_* to fusion_vsx_* and add in support for ISA 3.0 scalar
+	d-form instructions for traditional Altivec registers.
+	(emit_fusion_p9_load): Likewise.
+	(emit_fusion_p9_store): Likewise.
+	* config/rs6000/rs6000.md (p9 fusion store peephole2): Remove
+	early clobber from scratch register.  Do not match if the register
+	being stored is the scratch register.
+	(fusion_vsx_<P:mode>_<FPR_FUSION:mode>_load): Rename fusion_fpr_*
+	to fusion_vsx_* and add in support for ISA 3.0 scalar d-form
+	instructions for traditional Altivec registers.
+	(fusion_fpr_<P:mode>_<FPR_FUSION:mode>_load): Likewise.
+	(fusion_vsx_<P:mode>_<FPR_FUSION:mode>_store): Likewise.
+	(fusion_fpr_<P:mode>_<FPR_FUSION:mode>_store): Likewise.
+
+2016-11-17  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	PR target/77933
+	* config/arm/arm.c (thumb1_expand_prologue): Distinguish between lr
+	being live in the function and lr needing to be saved.  Distinguish
+	between already saved pushable registers and registers to push.
+	Check for LR being an available pushable register.
+
+2016-11-17  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
+
+	* config/i386/i386.md (cmpstrnsi): New test to bail out if neither
+	string input is a string constant.
+	* builtins.c (expand_builtin_strncmp): Attempt expansion of strncmp
+	via cmpstrnsi even if neither string is constant.
+
+2016-11-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/78201
+	* varasm.c (default_use_anchors_for_symbol_p): Fix a comment typo.
+	Don't test decl != NULL.  Don't look at DECL_SIZE, but DECL_SIZE_UNIT
+	instead, return false if it is NULL, or doesn't fit into uhwi, or
+	is larger or equal to targetm.max_anchor_offset.
+
+2016-11-17  Pip Cet  <pipcet@gmail.com>
+	    Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR rtl-optimization/78355
+	* doc/tm.texi.in (SLOW_UNALIGNED_ACCESS): Document that the macro only
+	needs to deal with unaligned accesses.
+	* doc/tm.texi: Regenerate.
+	* lra-constraints.c (simplify_operand_subreg): Only invoke
+	SLOW_UNALIGNED_ACCESS on innermode if the MEM is not aligned enough.
+
+2016-11-17  David Malcolm  <dmalcolm@redhat.com>
+
+	* input.c (selftest::test_lexer_string_locations_long_line): New
+	function.
+	(selftest::test_lexer_string_locations_raw_string_multiline): New
+	function.
+	(selftest::input_c_tests): Call the new functions, via
+	for_each_line_table_case.
+
+2016-11-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64.md (mov<mode>): Call
+	aarch64_split_dimode_const_store on DImode constant stores.
+	* config/aarch64/aarch64-protos.h (aarch64_split_dimode_const_store):
+	New prototype.
+	* config/aarch64/aarch64.c (aarch64_split_dimode_const_store): New
+	function.
+
+2016-11-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+	    Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/77848
+	* tree-if-conv.c (tree_if_conversion): Always version loops unless
+	the user specified -ftree-loop-if-convert.
+
+2016-11-17  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	PR target/77308
+	* config/arm/arm.md (*thumb2_ldrd, *thumb2_ldrd_base,
+	*thumb2_ldrd_base_neg, *thumb2_strd, *thumb2_strd_base,
+	*thumb2_strd_base_neg): Recognize insn regardless of
+	current_tune->prefer_ldrd_strd.
+	* config/arm/ldrdstrd.md: Enable all ldrd/strd peephole rules
+	whenever possible.
+
+2016-11-17  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (arc_ccfsm_post_advance): Handle return
+	instruction type.
+
+2016-11-17  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc-arches.def: Add FPX quarkse instruction as valid
+	for arcem.
+	* config/arc/arc-c.def (__ARC_FPX_QUARK__): Define.
+	* config/arc/arc-cpus.def (quarkse_em): Add.
+	* config/arc/arc-options.def (FL_FPX_QUARK, FL_QUARK): Likewise.
+	* config/arc/arc-opts.h (FPX_QK): Define.
+	* config/arc/arc-tables.opt: Regenerate.
+	* config/arc/arc.c (gen_compare_reg): Change.
+	(arc_register_move_cost): Avoid Dy,Dx moves.
+	* config/arc/arc.h (TARGET_HARD_FLOAT): Change.
+	(TARGET_FPX_QUARK, TARGET_FP_ASSIST): Define.
+	* config/arc/arc.md (divsf3, sqrtsf2, fix_truncsfsi2, floatsisf2):
+	New expands.
+	* config/arc/fpu.md (divsf3_fpu, sqrtsf2_fpu, floatsisf2_fpu)
+	(fix_truncsfsi2_fpu): Rename.
+	* config/arc/fpx.md (cmp_quark, cmpsf_quark_, cmpsf_quark_ord)
+	(cmpsf_quark_uneq, cmpsf_quark_eq, divsf3_quark, sqrtsf2_quark)
+	(fix_truncsfsi2_quark, floatsisf2_quark): New patterns.
+	* config/arc/t-multilib: Regenerate.
+
+2016-11-17  Georg-Johann Lay  <avr@gjlay.de>
+
+	* config/avr/avr.c (avr_print_operand_address): Use CONST_INT_P if
+	appropriate.
+	(ashlqi3_out, ashlsi3_out, ashrqi3_out, ashrhi3_out): Same.
+	(ashrsi3_out, lshrqi3_out, lshrhi3_out, lshrsi3_out): Same.
+	(avr_rtx_costs_1, extra_constraint_Q): Same.
+	(avr_address_cost): Use SUBREG_P if possible.
+
+2016-11-17  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/78383
+	* tree-cfgcleanup.c (cleanup_control_flow_bb): Do not turn
+	non-local goto into CFG.
+
+2016-11-17  Richard Biener  <rguenther@suse.de>
+
+	* common.opt (ftree-loop-if-convert-stores): Mark as preserved for
+	backward compatibility.
+	* doc/invoke.texi (ftree-loop-if-convert-stores): Remove.
+	* tree-if-conv.c (pass_if_conversion::gate): Do not test
+	flag_tree_loop_if_convert_stores.
+	(pass_if_conversion::execute): Likewise.
+
+2016-11-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/predicates.md (aarch64_reg_or_fp_zero): Check for
+	const_double code before calling aarch64_float_const_zero_rtx_p.
+
+2016-11-17  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/78306
+	* ipa-inline-analysis.c (initialize_inline_failed): Do not
+	inhibit inlining if function calls cilk_spawn.
+	(can_inline_edge_p): Likewise.
+
+2016-11-17  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/78305
+	* fold-const.c (negate_expr_p): Fix multiplication case.
+
+2016-11-17  Chung-Lin Tang  <cltang@codesourcery.com>
+
+	PR target/78357
+	* config/nios2/nios2.c (nios2_init_libfuncs): Remove TARGET_LINUX_ABI
+	condition.
+	(TARGET_INIT_LIBFUNCS): Delete definition and...
+	* config/nios2/linux.h (TARGET_INIT_LIBFUNCS): ...move to here, add
+	comments.
+
+2016-11-17  Krister Walfridsson  <krister.walfridsson@gmail.com>
+
+	* config/netbsd-stdint.h: New.
+	* config.gcc (i[34567]86-*-netbsd): Add netbsd-stdint.h to tm_file.
+	(x86_64-*-netbsd*): Likewise.
+
+2016-11-16  Andrew PInski  <apinski@cavium.com>
+
+	* config/aarch64/aarch64.opt (mverbose-cost-dump): New option.
+	* config/aarch64/aarch64.c (aarch64_rtx_costs): Use
+	flag_aarch64_verbose_cost instead of checking for details dump.
+	(aarch64_rtx_costs_wrapper): Likewise.
+
+2016-11-16  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/78378
+	* combine.c (make_extraction): Use force_to_mode for non-{REG,MEM}
+	inner only if pos is 0.  Fix up formatting.
+
+2016-11-17  Alan Modra  <amodra@gmail.com>
+
+	PR rtl-optimization/78325
+	PR rtl-optimization/70890
+	* ira.c (combine_and_move_insns): Only remove REG_EQUIV notes
+	for dead regno.
+
+2016-11-16  Jason Merrill  <jason@redhat.com>
+
+	* rtl.h: Declare gt_ggc_mx and gt_pch_nx.
+
+2016-11-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+	    Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/77848
+	* tree-if-conv.c (version_loop_for_if_conversion): When versioning
+	an outer loop, only save basic block aux information for the inner
+	loop.
+	(versionable_outer_loop_p): New function.
+	(tree_if_conversion): Version the outer loop instead of the inner
+	one if the pattern will be recognized for outer-loop
+	vectorization.
+
+2016-11-16  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* gcc/bb-reorder.c: Remove 'toplev.h' include.
+	(pass_partition_blocks::gate): No longer check
+	user_defined_section_attribute, instead check the function decl
+	for a section attribute.
+	* gcc/c-family/c-attribs.c (handle_section_attribute): No longer
+	set user_defined_section_attribute.
+	* gcc/final.c (rest_of_handle_final): Likewise.
+	* gcc/toplev.c: Remove definition of user_defined_section_attribute.
+	* gcc/toplev.h: Remove declaration of
+	user_defined_section_attribute.
+
+2016-11-16  Maciej W. Rozycki  <macro@imgtec.com>
+
+	* config/mips/mips.md (casesi_internal_mips16_<mode>):
+	Explicitly switch between JR and JRC for the table jump.  Adjust
+	instruction count.
+
+2016-11-16  Maciej W. Rozycki  <macro@imgtec.com>
+
+	* config/mips/mips.md (casesi_internal_mips16_<mode>): Set
+	`insn_count' to 11 rather than 16.
+
+2016-11-16  Maciej W. Rozycki  <macro@imgtec.com>
+
+	* config/mips/mips.md (casesi_internal_mips16_<mode>): Use the
+	`ltu' rather than `leu' operation in the RTL pattern
+
+2016-11-16  Maciej W. Rozycki  <macro@imgtec.com>
+
+	* config/mips/mips.md (casesi_internal_mips16_<mode>): Add
+	missing <d> instruction prefixes throughout.  Correct
+	formatting.
+
+2016-11-16  Maciej W. Rozycki  <macro@imgtec.com>
+
+	* config/mips/mips.c (mips_output_jump): Output R_MICROMIPS_JALR
+	rather than R_MIPS_JALR relocation in microMIPS code.  Do not
+	cancel short delay slots in PIC call relaxation.
+
+2016-11-16  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm.md (arm_addsi3): Add alternative for addition of
+	general register with general register or ARM constant into SP
+	register.
+
+2016-11-16  Jakub Jelinek  <jakub@redhat.com>
+
+	PR fortran/78299
+	* omp-low.c (expand_omp_for_static_nochunk): Don't assert
+	that loop->header == body_bb if broken_loop.
+
+2015-11-16  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* tree-ssa-math-opts.c (bswap_replace): Remove test
+	of SLOW_UNALIGNED_ACCESS.
+
+2016-11-16  Alexander Monakov  <amonakov@ispras.ru>
+
+	* config/nvptx/mkoffload.c (main): Check that either OpenACC or OpenMP
+	is selected.  Pass -mgomp to offload compiler in OpenMP case.
+	* config/nvptx/nvptx-protos.h (nvptx_shuffle_kind): Move enum
+	declaration from nvptx.c.
+	(nvptx_gen_shuffle): Declare.
+	(nvptx_output_set_softstack): Declare.
+	* config/nvptx/nvptx.c (nvptx_shuffle_kind): Move to nvptx-protos.h.
+	(need_softstack_decl): New variable.
+	(need_unisimt_decl): New variable.
+	(diagnose_openacc_conflict): New.  Use it...
+	(nvptx_option_override): ...here.  Handle TARGET_GOMP.
+	(nvptx_encode_section_info): Handle "shared" attribute.
+	(write_as_kernel): Restrict to OpenACC target regions.
+	(init_softstack_frame): New.
+	(nvptx_init_unisimt_predicate): New.
+	(write_omp_entry): New.  Use it...
+	(nvptx_declare_function_name): ...here to emit OpenMP target region
+	entrypoints.  Handle TARGET_SOFT_STACK.  Call
+	nvptx_init_unisimt_predicate.
+	(nvptx_output_set_softstack): New.
+	(nvptx_get_drap_rtx): Return %argp as the DRAP if needed.
+	(nvptx_gen_shuffle): Export.
+	(nvptx_output_call_insn): Handle COND_EXEC patterns.  Emit instruction
+	predicate.
+	(nvptx_print_operand): Fix handling of instruction predicates.
+	(nvptx_get_unisimt_master): New helper function.
+	(nvptx_get_unisimt_predicate): Ditto.
+	(nvptx_call_insn_is_syscall_p): Ditto.
+	(nvptx_unisimt_handle_set): Ditto.
+	(nvptx_reorg_uniform_simt): New.  Transform code for -muniform-simt.
+	(nvptx_reorg): Call nvptx_reorg_uniform_simt.
+	(nvptx_handle_shared_attribute): New.  Use it...
+	(nvptx_attribute_table): ... here (new entry).
+	(nvptx_record_offload_symbol): Handle NULL attributes.
+	(nvptx_file_end): Handle need_softstack_decl and need_unisimt_decl.
+	(nvptx_simt_vf): New.
+	(TARGET_SIMT_VF): Define.
+	* config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Define
+	__nvptx_softstack or __nvptx_unisimt__ when -msoft-stack, or resp.
+	-muniform-simt option is active.
+	(STACK_SIZE_MODE): Define.
+	(FIXED_REGISTERS): Adjust.
+	(SOFTSTACK_SLOT_REGNUM): New.
+	(SOFTSTACK_PREV_REGNUM): New.
+	(REGISTER_NAMES): Adjust.
+	(struct machine_function): New fields.
+	* config/nvptx/nvptx.md (UNSPEC_SET_SOFTSTACK): New.
+	(UNSPEC_VOTE_BALLOT): Ditto.
+	(UNSPEC_LANEID): Ditto.
+	(UNSPECV_NOUNROLL): Ditto.
+	(atomic): New attribute.
+	(predicable): New attribute.  Generate predicated forms via
+	define_cond_exec.
+	(br_true): Mark as not predicable.
+	(br_false): Ditto.
+	(br_true_uni): Ditto.
+	(br_false_uni): Ditto.
+	(return): Ditto.
+	(trap_if_true): Ditto.
+	(trap_if_false): Ditto.
+	(nvptx_fork): Ditto.
+	(nvptx_forked): Ditto.
+	(nvptx_joining): Ditto.
+	(nvptx_join): Ditto.
+	(nvptx_barsync): Ditto.
+	(epilogue): Emit stack restore if TARGET_SOFT_STACK.
+	(allocate_stack): Implement for TARGET_SOFT_STACK.  Remove unused code.
+	(allocate_stack_<mode>): Remove unused pattern.
+	(set_softstack_insn): New pattern.
+	(restore_stack_block): Handle for TARGET_SOFT_STACK.
+	(nvptx_vote_ballot): New pattern.
+	(omp_simt_lane): Ditto.
+	(omp_simt_last_lane): Ditto.
+	(omp_simt_ordered): Ditto.
+	(omp_simt_vote_any): Ditto.
+	(omp_simt_xchg_bfly): Ditto.
+	(omp_simt_xchg_idx): Ditto.
+	(nvptx_nounroll): Ditto.
+	(atomic_compare_and_swap<mode>_1): Mark with atomic attribute.
+	(atomic_exchange<mode>): Ditto.
+	(atomic_fetch_add<mode>): Ditto.
+	(atomic_fetch_addsf): Ditto.
+	(atomic_fetch_<logic><mode>): Ditto.
+	* config/nvptx/nvptx.opt (msoft-stack): New option.
+	(muniform-simt): Ditto.
+	(mgomp): Ditto.
+	* config/nvptx/t-nvptx (MULTILIB_OPTIONS): New.
+	* doc/extend.texi (Nvidia PTX Variable Attributes): New section.
+	* doc/invoke.texi (msoft-stack): Document.
+	(muniform-simt): Document
+	(mgomp): Document.
+	* doc/tm.texi: Regenerate.
+	* doc/tm.texi.in (TARGET_SIMT_VF): New hook.
+	* target.def: Define it.
+	* target-insns.def (omp_simt_lane): New.
+	(omp_simt_last_lane): New.
+	(omp_simt_ordered): New.
+	(omp_simt_vote_any): New.
+	(omp_simt_xchg_bfly): New.
+	(omp_simt_xchg_idx): New.
+
+2016-11-16  Maciej W. Rozycki  <macro@imgtec.com>
+
+	* config/mips/mips-protos.h (mips_set_text_contents_type): New
+	prototype.
+	* config/mips/mips.h (ASM_OUTPUT_BEFORE_CASE_LABEL): New macro.
+	(ASM_OUTPUT_CASE_END): Likewise.
+	* config/mips/mips.c (mips_set_text_contents_type): New function.
+	(mips16_emit_constants): Record the pool's initial label number
+	with the `consttable' insn.  Emit a `consttable_end' insn at the end.
+	(mips_final_prescan_insn): Call `mips_set_text_contents_type'
+	for `consttable' insns.
+	(mips_final_postscan_insn): Call `mips_set_text_contents_type'
+	for `consttable_end' insns.
+	* config/mips/mips.md (unspec): Add UNSPEC_CONSTTABLE_END enum value.
+	(consttable): Add operand.
+	(consttable_end): New insn.
+
+2016-11-16  Yuri Rumyantsev  <ysrumyan@gmail.com>
+
+	* params.def (PARAM_VECT_EPILOGUES_NOMASK): New.
+	* tree-if-conv.c (tree_if_conversion): Make public.
+	* * tree-if-conv.h: New file.
+	* tree-vect-data-refs.c (vect_analyze_data_ref_dependences) Avoid
+	dynamic alias checks for epilogues.
+	* tree-vect-loop-manip.c (vect_do_peeling): Return created epilog.
+	* tree-vect-loop.c: include tree-if-conv.h.
+	(new_loop_vec_info): Add zeroing orig_loop_info field.
+	(vect_analyze_loop_2): Don't try to enhance alignment for epilogues.
+	(vect_analyze_loop): Add argument ORIG_LOOP_INFO which is not NULL
+	if epilogue is vectorized, set up orig_loop_info field of loop_vinfo
+	using passed argument.
+	(vect_transform_loop): Check if created epilogue should be returned
+	for further vectorization with less vf.  If-convert epilogue if
+	required. Print vectorization success for epilogue.
+	* tree-vectorizer.c (vectorize_loops): Add epilogue vectorization
+	if it is required, pass loop_vinfo produced during vectorization of
+	loop body to vect_analyze_loop.
+	* tree-vectorizer.h (struct _loop_vec_info): Add new field
+	orig_loop_info.
+	(LOOP_VINFO_ORIG_LOOP_INFO): New.
+	(LOOP_VINFO_EPILOGUE_P): New.
+	(LOOP_VINFO_ORIG_VECT_FACTOR): New.
+	(vect_do_peeling): Change prototype to return epilogue.
+	(vect_analyze_loop): Add argument of loop_vec_info type.
+	(vect_transform_loop): Return created loop.
+
+2016-11-16  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.c (rs6000_components_for_bb): Mark the LR
+	component as used also if LR_REGNO is a live input to the bb.
+	* df-scan.c (df_get_entry_block_def_set): Return immediately after
+	clearing the set if DF_SCAN_EMPTY_ENTRY_EXIT is set.
+	(df_get_exit_block_use_set): Ditto.
+	* df.h (df_scan_flags): New enum.
+	* shrink-wrap.c (try_shrink_wrapping_separate): Set
+	DF_SCAN_EMPTY_ENTRY_EXIT in df_scan->local_flags, and call
+	df_update_entry_block_defs and df_update_exit_block_uses
+	at the start; clear the flag and call those functions at the end.
+
+2016-11-16  Richard Sandiford  <richard.sandiford@arm.com>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): Set
+	nb_iterations to the number of latch iterations rather than the
+	number of loop iterations.
+
+2016-11-16  Richard Sandiford  <richard.sandiford@arm.com>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* combine.c (maybe_swap_commutative_operands): New function.
+	(combine_simplify_rtx): Use it.
+	(change_zero_ext): Likewise.
+	(make_compound_operation_int): New function, split out of...
+	(make_compound_operation): ...here.  Use
+	maybe_swap_commutative_operands for both.
+
+2016-11-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm/arm-fpus.def (vfpv2): New FPU, currently an alias for 'vfp'.
+	(neon-vfpv3): New FPU, currently an alias for 'neon'.
+	* arm/arm-tables.opt: Regenerated.
+	* arm/t-aprofile (MULTILIB_REUSE): Add reuse rules for vfpv2 and
+	neon-vfpv3.
+	* doc/invoke.texi (ARM: -mfpu): Document new options.  Note that 'vfp'
+	and 'neon' are aliases for specific implementations.
+
+2016-11-16  Richard Sandiford  <richard.sandiford@arm.com>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* optabs.c (vector_compare_rtx): Add a cmp_mode parameter
+	and use it in the final call to gen_rtx_fmt_ee.
+	(expand_vec_cond_expr): Update accordingly.
+	(expand_vec_cmp_expr): Likewise.
+
+2016-11-16  Richard Sandiford  <richard.sandiford@arm.com>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* cprop.c (local_cprop_find_used_regs): Use df_read_modify_subreg_p.
+
+2016-11-16  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/78333
+	* gimplify.c (gimplify_function_tree): Do not instrument
+	GNU extern inline functions.
+
+2016-11-16  Martin Liska  <mliska@suse.cz>
+
+	PR sanitizer/78270
+	* gimplify.c (gimplify_switch_expr): Always save previous
+	gimplify_ctxp->live_switch_vars.
+
+2016-11-16  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* config/arc/arc.md (movb peephole2): New peephole2 to merge two
+	zero_extract operations to allow a movb to occur.
+	* testsuite/gcc.target/arc/movb-1.c: Update little endian arc results.
+	* testsuite/gcc.target/arc/movb-2.c: Likewise.
+	* testsuite/gcc.target/arc/movb-5.c: Likewise.
+	* testsuite/gcc.target/arc/movh_cl-1.c: Extend test to cover
+	little endian arc.
+
+2016-11-16  Richard Sandiford  <richard.sandiford@arm.com>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* expr.c (emit_group_load_1): Tighten check for whether an
+	access involves only one operand of a CONCAT.  Use extract_bit_field
+	for constants if the bit range does span the whole operand.
+
+2016-11-16  Richard Sandiford  <richard.sandiford@arm.com>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* rtlanal.c (rtx_addr_can_trap_p_1): Handle unknown sizes.
+
+2016-11-16  Richard Sandiford  <richard.sandiford@arm.com>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-vect-loop.c (vect_transform_loop): Protect the updates of
+	all three iteration counts with an any_* test.  Use a single update
+	for each count.  Fix the calculation of nb_iterations_estimate.
+
+2016-11-16  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* config/pdp11/pdp11.c: Include dbxout.h.
+
+2016-11-16  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* config/arc/arc.c (arc_loop_hazard): Add missing brackets.
+
+2016-11-16  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/78364
+	* config/arm/arm.md (*extv_reg): Restrict operands 2 and 3 to the
+	proper ranges for an SBFX instruction.
+	(extzv_t2): Likewise for UBFX.
+
+2016-11-16  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/78348
+	* tree-loop-distribution.c (enum partition_kind): Add PKIND_MEMMOVE.
+	(generate_memcpy_builtin): Honor PKIND_MEMCPY on the partition.
+	(classify_partition): Set PKIND_MEMCPY if dependence analysis
+	revealed no dependency, PKIND_MEMMOVE otherwise.
+
+2016-11-16  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/77823
+	* ubsan.c (ubsan_build_overflow_builtin): Add DATAP argument, if
+	it points to non-NULL tree, use it instead of ubsan_create_data.
+	(instrument_si_overflow): Handle vector signed integer overflow
+	checking.
+	* ubsan.h (ubsan_build_overflow_builtin): Add DATAP argument.
+	* tree-vrp.c (simplify_internal_call_using_ranges): Punt for
+	vector IFN_UBSAN_CHECK_*.
+	* internal-fn.c (expand_addsub_overflow): Add DATAP argument,
+	pass it through to ubsan_build_overflow_builtin.
+	(expand_neg_overflow, expand_mul_overflow): Likewise.
+	(expand_vector_ubsan_overflow): New function.
+	(expand_UBSAN_CHECK_ADD, expand_UBSAN_CHECK_SUB,
+	expand_UBSAN_CHECK_MUL): Use tit for vector arithmetics.
+	(expand_arith_overflow): Adjust expand_*_overflow callers.
+
+2016-11-16  Matthias Klose  <doko@ubuntu.com>
+
+	* doc/install.texi: Remove references to java/libjava.
+
+2016-11-16  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* tree-ssa-coalesce.c (register_default_def): Remove
+	register_ssa_partition.
+	(create_outofssa_var_map): Likewise.
+	* tree-ssa-live.c (register_ssa_partition_check): Remove.
+	* tree-ssa-live.h (register_ssa_partition): Likewise.
+
+2016-11-15  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* genattrtab.c (attr_rtx_1): Avoid allocating new rtx objects.
+	Clear ATTR_CURR_SIMPLIFIED_P for re-used binary rtx objects.
+	Use DEF_ATTR_STRING for string arguments.  Use RTL_HASH for
+	integer arguments.  Only set ATTR_PERMANENT_P on newly hashed
+	rtx when all sub-rtx are also permanent.
+	(attr_eq): Simplify.
+	(attr_copy_rtx): Remove.
+	(make_canonical, get_attr_value): Use attr_equal_p.
+	(copy_boolean): Rehash NOT.
+	(simplify_test_exp_in_temp,
+	optimize_attrs): Remove call to attr_copy_rtx.
+	(attr_alt_intersection, attr_alt_union,
+	attr_alt_complement, mk_attr_alt): Rehash EQ_ATTR_ALT.
+	(make_automaton_attrs): Use attr_eq.
+
+2016-11-15  Matthias Klose  <doko@ubuntu.com>
+
+	* doc/install.texi: Remove references to java/libjava.
+	* doc/sourcebuild.texi: Likewise.
+	* doc/invoke.texi: Likewise.
+	* doc/standards.texi: Likewise.
+
+2016-11-15  Richard Sandiford  <richard.sandiford@arm.com>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* config/i386/i386.h (INCOMING_RETURN_ADDR_RTX): Use Pmode instead
+	of VOIDmode.
+	* config/ia64/ia64.h (INCOMING_RETURN_ADDR_RTX): Likewise.
+	* config/iq2000/iq2000.h (INCOMING_RETURN_ADDR_RTX): Likewise.
+	* config/m68k/m68k.h (INCOMING_RETURN_ADDR_RTX): Likewise.
+	* config/microblaze/microblaze.h (INCOMING_RETURN_ADDR_RTX): Likewise.
+	* config/mips/mips.h (INCOMING_RETURN_ADDR_RTX): Likewise.
+	* config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Likewise.
+	* config/nios2/nios2.h (INCOMING_RETURN_ADDR_RTX): Likewise.
+
+2016-11-15  Richard Sandiford  <richard.sandiford@arm.com>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* dce.c (check_argument_store): Pass the size instead of
+	the memory reference.
+	(find_call_stack_args): Pass MEM_SIZE to check_argument_store.
+
+2016-11-15  Richard Sandiford  <richard.sandiford@arm.com>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* alias.c (canon_rtx): Use simplify_gen_binary.
+
+2016-11-15  Richard Sandiford  <richard.sandiford@arm.com>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* rtl.h (load_extend_op): Declare.
+	* rtlanal.c (load_extend_op): New function.
+	(nonzero_bits1): Use it.
+	(num_sign_bit_copies1): Likewise.
+	* cse.c (cse_insn): Likewise.
+	* fold-const.c (fold_single_bit_test): Likewise.
+	(fold_unary_loc): Likewise.
+	* fwprop.c (free_load_extend): Likewise.
+	* postreload.c (reload_cse_simplify_set): Likewise.
+	(reload_cse_simplify_operands): Likewise.
+	* combine.c (try_combine): Likewise.
+	(simplify_set): Likewise.  Remove redundant SUBREG_BYTE and
+	subreg_lowpart_p checks.
+
+2016-11-15  Richard Sandiford  <richard.sandiford@arm.com>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* combine.c (simplify_shift_const_1): Use the number of bits
+	in the inner mode to determine the range of the shift.
+	When handling shifts of vectors, skip any rules that apply
+	only to scalars.
+
+2016-11-15  Richard Sandiford  <richard.sandiford@arm.com>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* rtlanal.c (num_sign_bit_copies1): Calculate bitwidth after
+	handling VOIDmode.
+
+2016-11-15  Matthias Klose  <doko@ubuntu.com>
+
+	* doc/install.texi: Remove references to gcj/libjava.
+	* doc/invoke.texi: Likewise.
+
+2016-11-15  Jeff Law  <law@redhat.com>
+
+	* tree-ssa-threadbackward.c (fsm_find_thread_path): Remove unneeded
+	parameter.  Callers changed.
+	(check-subpath_and_update_thread_path): Extracted from
+	fsm_find_control_statement_thread_paths.
+	(handle_phi, handle_assignment, handle_assignment_p): Likewise.
+	(handle_phi, handle_assignment): Allow any constant node, not
+	just INTEGER_CST.
+
+2016-11-15  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc-arch.h: New file.
+	* config/arc/arc-arches.def: Likewise.
+	* config/arc/arc-cpus.def: Likewise.
+	* config/arc/arc-options.def: Likewise.
+	* config/arc/t-multilib: Likewise.
+	* config/arc/genmultilib.awk: Likewise.
+	* config/arc/genoptions.awk: Likewise.
+	* config/arc/arc-tables.opt: Likewise.
+	* config/arc/driver-arc.c: Likewise.
+	* testsuite/gcc.target/arc/nps400-cpu-flag.c: Likewise.
+	* common/config/arc/arc-common.c (arc_handle_option): Trace
+	toggled options.
+	* config.gcc (arc*-*-*): Add arc-tables.opt to arc's extra
+	options; check for supported cpu against arc-cpus.def file.
+	(arc*-*-elf*, arc*-*-linux-uclibc*): Use new make fragment; define
+	TARGET_CPU_BUILD macro; add driver-arc.o as an extra object.
+	* config/arc/arc-c.def: Add emacs local variables.
+	* config/arc/arc-opts.h (processor_type): Use arc-cpus.def file.
+	(FPU_FPUS, FPU_FPUD, FPU_FPUDA, FPU_FPUDA_DIV, FPU_FPUDA_FMA)
+	(FPU_FPUDA_ALL, FPU_FPUS_DIV, FPU_FPUS_FMA, FPU_FPUS_ALL)
+	(FPU_FPUD_DIV, FPU_FPUD_FMA, FPU_FPUD_ALL): New defines.
+	(DEFAULT_arc_fpu_build): Define.
+	(DEFAULT_arc_mpy_option): Define.
+	* config/arc/arc-protos.h (arc_init): Delete.
+	* config/arc/arc.c (arc_cpu_name): New variable.
+	(arc_selected_cpu, arc_selected_arch, arc_arcem, arc_archs)
+	(arc_arc700, arc_arc600, arc_arc601): New variable.
+	(arc_init): Add static; remove selection of default tune value,
+	cleanup obsolete error messages.
+	(arc_override_options): Make use of .def files for selecting the
+	right cpu and option configurations.
+	* config/arc/arc.h (stdbool.h): Include.
+	(TARGET_CPU_DEFAULT): Define.
+	(CPP_SPEC): Remove mcpu=NPS400 handling.
+	(arc_cpu_to_as): Declare.
+	(EXTRA_SPEC_FUNCTIONS): Define.
+	(OPTION_DEFAULT_SPECS): Likewise.
+	(ASM_DEFAULT): Remove.
+	(ASM_SPEC): Use arc_cpu_to_as.
+	(DRIVER_SELF_SPECS): Remove deprecated options.
+	(arc_base_cpu):	Declare.
+	(TARGET_ARC600, TARGET_ARC601, TARGET_ARC700, TARGET_EM)
+	(TARGET_HS, TARGET_V2, TARGET_ARC600): Make them use arc_base_cpu
+	variable.
+	(MULTILIB_DEFAULTS): Use ARC_MULTILIB_CPU_DEFAULT.
+	* config/arc/arc.md (attr_cpu): Remove.
+	* config/arc/arc.opt (mno-mpy): Deprecate.
+	(mcpu=ARC600, mcpu=ARC601, mcpu=ARC700, mcpu=NPS400, mcpu=ARCEM)
+	(mcpu=ARCHS): Remove.
+	(mcrc, mdsp-packa, mdvbf, mmac-d16, mmac-24, mtelephony, mrtsc):
+	Deprecate.
+	(mbarrel_shifte, mspfp_, mdpfp_, mdsp_pack, mmac_): Remove.
+	(arc_fpu): Use new defines.
+	(mpy-option): Change to use numeric or string like inputs.
+	* config/arc/t-arc (driver-arc.o): New target.
+	(arc-cpus, t-multilib, arc-tables.opt): Likewise.
+	* config/arc/t-arc-newlib: Delete.
+	* config/arc/t-arc-uClibc: Renamed to t-uClibc.
+	* doc/invoke.texi (ARC): Update arc options.
+
+2016-11-15  Maciej W. Rozycki  <macro@imgtec.com>
+
+	* config/mips/mips.c (mips16_emit_constants): Emit `consttable'
+	insn at the beginning of the constant pool.
+	(mips_insert_insn_pseudos): New function.
+	(mips_machine_reorg2): Call it.
+	* config/mips/mips.md (unspec): Add UNSPEC_CONSTTABLE and
+	UNSPEC_INSN_PSEUDO enum values.
+	(insn_pseudo, consttable): New insns.
+
+2016-11-15  Michael Matz  <matz@suse.de>
+
+	PR missed-optimization/77881
+	* combine.c (simplify_comparison): Remove useless subregs
+	also inside the loop, not just after it.
+	(make_compound_operation): Recognize some subregs as being
+	masking as well.
+
+2016-11-15  Richard Sandiford  <richard.sandiford@arm.com>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* dwarf2out.c (mem_loc_descriptor): Fix GET_MODE_CLASS/
+	GET_MODE_SIZE typo.
+
+2016-11-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_expand_vector_set): Add support
+	for using xxinsertw and vinsert{b,h} on ISA 3.0.
+
+	* config/rs6000/vsx.md (vsx_extract_<mode>): Update comment.
+	(vsx_set_<mode>_p9): New insn to generate xxinsertw and
+	vinsert{b,h} on ISA 3.0.
+
+2016-11-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
+	and cmpnop in two steps: first the ones not accessed in original gimple
+	expression in a endian independent way and then the ones not accessed
+	in the final result in an endian-specific way.
+	(bswap_replace): Stop doing big endian adjustment.
+
+2016-11-14  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*andndi3_doubleword): Merge operand constraints.
+	(*ashl<mode>3_doubleword): Ditto.
+
+2016-11-14  Martin Liska  <mliska@suse.cz>
+
+	* tree-ssa-dse.c (dse_optimize_stmt): Remove quotes and extra new line.
+
+2016-11-14  Prasad Ghangal  <prasad.ghangal@gmail.com>
+	    Richard Biener  <rguenther@suse.de>
+
+	* doc/invoke.texi (fgimple): Document.
+	* dumpfile.h (TDF_GIMPLE): Add.
+	* dumpfile.c (dump_options): Add gimple.
+	* gimple-pretty-print.c (dump_gimple_switch): Adjust dump
+	for TDF_GIMPLE.
+	(dump_gimple_label): Likewise.
+	(dump_gimple_phi): Likewise.
+	(dump_gimple_bb_header): Likewise.
+	(dump_phi_nodes): Likewise.
+	(pp_cfg_jump): Likewise.  Pass in dump flags.
+	(dump_implicit_edges): Adjust.
+	* passes.c (pass_init_dump_file): Do not dump function header
+	for TDF_GIMPLE.
+	* tree-cfg.c (dump_function_to_file): Dump function return type
+	and __GIMPLE keyword for TDF_GIMPLE.  Change guard for dumping
+	GIMPLE stmts.
+	* tree-pretty-print.c (dump_decl_name): Adjust dump for TDF_GIMPLE.
+	(dump_generic_node): Likewise.
+	* function.h (struct function): Add pass_startwith member.
+	* passes.c (execute_one_pass): Implement startwith.
+	* tree-ssanames.c (make_ssa_name_fn): New argument, check for version
+	and assign proper version for parsed ssa names.
+	* tree-ssanames.h (make_ssa_name_fn): Add new argument to the function.
+	* internal-fn.c (expand_PHI): New function.
+	* internal-fn.h (expand_PHI): Declared here.
+	* internal-fn.def: New defination for PHI.
+	* tree-cfg.c (lower_phi_internal_fn): New function.
+	(build_gimple_cfg): Call it.
+	(verify_gimple_call): Condition for passing label as arg in internal
+	function PHI.
+	* tree-into-ssa.c (rewrite_add_phi_arguments): Handle already
+	present PHIs with arguments.
+
+2016-11-14  Martin Liska  <mliska@suse.cz>
+
+	PR bootstrap/78069
+	* common.opt: Add prefer-atomic as a new enum value for
+	-fprofile-update.
+	* coretypes.h: Likewise.
+	* doc/invoke.texi: Document the new option value.
+	* gcc.c: Replace atomic with prefer-atomic.  Remove warning.
+	* tree-profile.c (tree_profiling): Select default value
+	of -fprofile-update when 'prefer-atomic' is selected.
+
+2016-11-14  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/arm/cortex-a57.md (cortex_a57_alu): Move extend here, bfm...
+	(cortex_a57_alu_shift): ...here.
+
+2016-11-14  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.md (aarch64_ashl_sisd_or_int_<mode>3)
+	Use bfx attribute.
+	(aarch64_lshr_sisd_or_int_<mode>3): Likewise.
+	(aarch64_ashr_sisd_or_int_<mode>3): Likewise.
+	(<optab>si3_insn_uxtw): Likewise.
+	(<optab><mode>3_insn): Likewise.
+	(<ANY_EXTEND:optab><GPI:mode>_ashl<SHORT:mode>): Likewise.
+	(zero_extend<GPI:mode>_lshr<SHORT:mode>): Likewise.
+	(extend<GPI:mode>_ashr<SHORT:mode>): Likewise.
+	(<optab><mode>): Likewise.
+	(insv<mode>): Likewise.
+	(andim_ashift<mode>_bfiz): Likewise.
+	* config/aarch64/thunderx.md (thunderx_shift): Add bfx.
+	* config/arm/cortex-a53.md (cortex_a53_alu_shift): Likewise.
+	* config/arm/cortex-a57.md (cortex_a57_alu): Add bfx.
+	* config/arm/exynos-m1.md (exynos_m1_alu): Add bfx.
+	(exynos_m1_alu_p): Likewise.
+	* config/arm/types.md: Add bfx.
+	* config/arm/xgene1.md (xgene1_bfm): Add bfx.
+
+2016-11-14  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (cortexa57_vector_cost):
+	Change vec_stmt_cost, vec_align_load_cost and vec_unalign_load_cost.
+
+2016-11-14  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/78312
+	* gimple-ssa-backprop.c (backprop::prepare_change): Reset
+	flow-sensitive info.
+
+2016-11-14  Georg-Johann Lay  <avr@gjlay.de>
+
+	PR target/78093
+	* doc/invoke.texi (AVR Options) [-mabsdata]: Document new option.
+	* config/avr/avr.opt (-mabsdata): New option.
+	* config/avr/avr-arch.h (avr_device_specific_features):	Add AVR_ISA_LDS.
+	* config/avr/avr.c (avr_encode_section_info) [AVR_TINY]: If
+	-mabsdata & symbol is not progmem, tag as AVR_SYMBOL_FLAG_TINY_ABSDATA.
+	* config/avr/avr-mcus.def (attiny4/5/9/10/20): Use AVR_ISA_LDS.
+	* config/avr/gen-avr-mmcu-specs.c (print_mcu): Print cc1_absdata
+	spec depending on AVR_ISA_LDS.
+	* config/avr/specs.h (CC1_SPEC): Enhanced by cc1_absdata spec.
+
+2016-11-13  Jakub Jelinek  <jakub@redhat.com>
+
+	* match.pd: Don't try to compare addresses of variables with
+	DECL_VALUE_EXPR.
+
+2016-11-13  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* ipa-cp.c (ipa_get_jf_pass_through_result): Skip unary expressions.
+	(propagate_vr_accross_jump_function): Handle unary expressions.
+	* ipa-prop.c (ipa_set_jf_unary_pass_through): New.
+	(load_from_param_1): New.
+	(load_from_unmodified_param): Factor common part into load_from_param_1.
+	(load_from_param): New.
+	(compute_complex_assign_jump_func): Handle unary expressions.
+	(update_jump_functions_after_inlining): Likewise.
+	(ipa_write_jump_function): Likewise.
+	(ipa_read_jump_function): Likewise.
+
+2016-11-13  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	PR c/35503
+	* doc/invoke.texi: Document Wrestrict.
+	* pretty-print.c (pp_format): Add case for "Z" specifier.
+	(test_pp_format): Test "Z" specifier.
+
+2016-11-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* ipa-icf.c (sem_function::merge): Do not create a wrapper also if the
+	original function needs a static chain.
+
+2016-11-13  David Edelsohn  <dje.gcc@gmail.com>
+
+	PR target/78336
+	* config/rs6000/rs6000.c (rs6000_asm_weaken_decl): Protect
+	ASM_OUTPUT_DEF.
+
+2016-11-12  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR target/77957
+	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
+	return early if !optional_tbtab.
+
+2016-11-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR rtl-optimization/59461
+	* doc/rtl.texi (paradoxical subregs): Add missing word.
+	* combine.c (reg_nonzero_bits_for_combine): Do not discard results
+	in modes with precision larger than that of last_set_mode.
+	* rtlanal.c (nonzero_bits1) <SUBREG>: If WORD_REGISTER_OPERATIONS is
+	set and LOAD_EXTEND_OP is appropriate, propagate results from inner
+	REGs to paradoxical SUBREGs.
+	(num_sign_bit_copies1) <SUBREG>: Likewise.  Check that the mode is not
+	larger than a word before invoking LOAD_EXTEND_OP on it.
+
+2016-11-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/78243
+	* config/rs6000/vsx.md (vsx_extract_<mode>_p9): Correct the
+	element order for little endian ordering.
+
+	* config/rs6000/altivec.md (reduc_plus_scal_<mode>): Use
+	VECTOR_ELT_ORDER_BIG and not BYTES_BIG_ENDIAN to adjust element
+	number.
+
+2016-11-11  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/78310
+	* config/i386/i386.md (rotate to rotatex splitter): Avoid overflow
+	when calculating operand 2.
+	(rotate to rotatex zext splitter): Ditto.
+
+2016-11-11  Jeff Law  <law@redhat.com>
+
+	* gimple-ssa-isolate-paths.c (is_divmod_with_given_divisor): New
+	function.
+	(stmt_uses_name_in_undefined_way): New function, extracted from
+	find_implicit_erroneous_behavior and extended for div/mod case.
+	(stmt_uses_0_or_null_in_undefined_way): New function, extracted from
+	find_explicit_erroneous_behavior and extended for div/mod case.
+	(find_implicit_erroneous_behavior): Use new helper function.
+	(find_explicit_erroneous_behavior): Use new helper function.
+
+2016-11-11  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71575
+	* graphite-isl-ast-to-gimple.c (copy_cond_phi_nodes): Remove
+	bogus assert.
+
+2016-11-11  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/78295
+	* tree-ssa-uninit.c (warn_uninitialized_vars): Do not warn
+	about uninitialized destination arg of BIT_INSERT_EXPR.
+
+2016-11-10  Sandra Loosemore  <sandra@codesourcery.com>
+
+	PR c/37998
+	* doc/invoke.texi (Code Gen Options) [-fno-common]: Use correct
+	terminology.  Expand to remove ambiguity.
+
+2016-11-10  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/78232
+	* combine.c (try_combine): Add a big comment about why reusing i2dest
+	is undesirable.
+	(change_zero_ext): Do not call simplify_gen_binary, do the
+	simplifications manually.
+
+2016-11-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If ISA 3.0,
+	enable HImode and QImode to go in vector registers by default if
+	the -mvsx-small-integer option is enabled.
+	(rs6000_secondary_reload_simple_move): Likewise.
+	(rs6000_preferred_reload_class): Don't force integer constants to
+	be loaded into vector registers that we can easily make into
+	memory (or being created in the GPRs and moved over with direct move).
+	* config/rs6000/vsx.md (UNSPEC_P9_MEMORY): Delete, no longer used.
+	(vsx_extract_<mode>): Rework V4SImode, V8HImode, and V16QImode
+	vector extraction on ISA 3.0 when the scalar integer can be
+	allocated in vector registers.  Generate the VEC_SELECT directy,
+	and don't use UNSPEC's to avoid having the scalar type in a vector
+	register.  Make the expander target registers, and let the
+	combiner fold in results storing to memory, if the machine
+	supports stores.
+	(vsx_extract_<mode>_di): Likewise.
+	(vsx_extract_<mode>_p9): Likewise.
+	(vsx_extract_<mode>_di_p9): Likewise.
+	(vsx_extract_<mode>_store_p9): Likewise.
+	(vsx_extract_si): Likewise.
+	(vsx_extract_<mode>_p8): Likewise.
+	(p9_lxsi<wd>zx): Delete, no longer used.
+	(p9_stxsi<wd>x): Likewise.
+	* config/rs6000/rs6000.md (INT_ISA3): New mode iterator for
+	integers in vector registers for ISA 3.0.
+	(QHI): Update comment.
+	(zero_extendqi<mode>2): Add support for ISA 3.0 scalar load or
+	vector extract instructions in sign/zero extend.
+	(zero_extendhi<mode>): Likewise.
+	(extendqi<mode>): Likewise.
+	(extendhi<mode>2): Likewise.
+	(HImode splitter for load/sign extend in vector register): Likewise.
+	(float<QHI:mode><FP_ISA3:mode>2): Eliminate old method of
+	optimizing floating point conversions to/from small data types and
+	rewrite it to support QImode/HImode being allowed in vector
+	registers on ISA 3.0.
+	(float<QHI:mode><FP_ISA3:mode>2_internal): Likewise.
+	(floatuns<QHI:mode><FP_ISA3:mode>2): Likewise.
+	(floatuns<QHI:mode><FP_ISA3:mode>2_internal): Likewise.
+	(fix_trunc<SFDF:mode><QHI:mode>2): Likewise.
+	(fix_trunc<SFDF:mode><QHI:mode>2_internal): Likewise.
+	(fixuns_trunc<SFDF:mode><QHI:mode>2): Likewise.
+	(fixuns_trunc<SFDF:mode><QHI:mode>2_internal): Likewise.
+	VSPLITISW on ISA 2.07.
+	(movhi_internal): Combine movhi_internal and movqi_internal into
+	one mov<mode>_internal with an iterator.  Add support for QImode
+	and HImode being allowed in vector registers.  Make large number
+	of attributes and constraints easier to read.
+	(movqi_internal): Likewise.
+	(mov<mode>_internal): Likewise.
+	(movdi_internal64): Fix constraint to allow loading -16..15 with
+	VSPLITISW on ISA 2.07.
+	(integer XXSPLTIB splitter): Add support for QI, HI, and SImode as
+	well as DImode.
+
+2016-11-10  Pat Haugen  <pthaugen@us.ibm.com>
+
+	PR rtl-optimization/78241
+	* loop-unroll.c (unroll_loop_runtime_iterations): Don't adjust 'niter',
+	but emit initial peel copy if niter expr is not reliable.
+
+2016-11-10  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* dwarf2cfi.c (dump_cfi_row): Add forward declaration.
+	(maybe_record_trace_start): If the CFI is different on the new and
+	old paths, print out both to the dump file before ICEing.
+
+2016-11-10  Vladimir Makarov  <vmakarov@redhat.com>
+
+	* target.def (additional_allocno_class_p): New.
+	* hooks.h (hook_bool_reg_class_t_false): New prototype.
+	* hooks.c (hook_bool_reg_class_t_false): New.
+	* ira.c (setup_allocno_and_important_classes): Use the new hook.
+	* doc/tm.texi.in (TARGET_ADDITIONAL_ALLOCNO_CLASS_P): Add it.
+	* doc/tm.texi: Update.
+
+2016-11-10  Jason Merrill  <jason@redhat.com>
+
+	* gengtype.c (new_structure): Append to structures list.
+	(find_structure): Likewise.
+
+2016-11-10  Jim Wilson  <jim.wilson@linaro.org>
+
+	* tree-loop-distribution.c (pg_add_dependence_edges): Return 2 if
+	this_dir is 2.  Check for this_dir non-zero before dir != this_dir
+	check.
+
+2016-11-10  Jakub Jelinek  <jakub@redhat.com>
+
+	* omp-low.c (lower_omp_target): Fix up argument to is_reference.
+	(expand_omp_ordered_sink): Handle TREE_PURPOSE of deps being
+	TRUNC_DIV_EXPR.
+	* gimplify.c (gimplify_scan_omp_clauses): Likewise.  Set
+	ctx->target_map_scalars_firstprivate on OMP_TARGET even for Fortran.
+	Remove omp_no_lastprivate callers.  Propagate lastprivate on combined
+	teams distribute parallel for simd even to distribute and teams
+	construct.  For OMP_CLAUSE_DEPEND add missing break at the end of
+	OMP_CLAUSE_DEPEND_SINK case.
+	(omp_notice_variable): Use lang_hooks.decls.omp_scalar_p.
+	(omp_no_lastprivate): Removed.
+	(gimplify_adjust_omp_clauses): Remove omp_no_lastprivate callers.
+	(gimplify_omp_for): Likewise.
+	(computable_teams_clause): Fail for automatic vars from current
+	function not yet seen in bind expr.
+	* langhooks.c (lhd_omp_scalar_p): New function.
+	* langhooks.h (struct lang_hooks_for_decls): Add omp_scalar_p.
+	* varpool.c (varpool_node::get_create): Set node->offloading
+	even for DECL_EXTERNAL decls.
+	* langhooks-def.h (lhd_omp_scalar_p): New prototype.
+	(LANG_HOOKS_OMP_SCALAR_P): Define.
+	(LANG_HOOKS_DECLS): Use it.
+
+2016-11-10  Martin Liska  <mliska@suse.cz>
+
+	PR sanitizer/78270
+	* gimplify.c (gimplify_switch_expr): Create live_switch_vars
+	only when SWITCH_BODY is a BIND_EXPR.
+
+2016-11-10  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	PR debug/78112
+	* dwarf2out.c (dwarf2out_early_global_decl): Call dwarf2out_decl
+	on the context only when it has no DIE yet.
+
+2016-11-10  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm.h (target_cpus): Delete.
+	* arm-opts.h (enum processor_type): Prefix entires with TARGET_CPU_.
+	* arm.c (all_cores): Prefix IDENT with TARGET_CPU_.
+	(all_architectures): Likewise.
+	(arm_option_override): Adjust use of CPU enums.
+	(arm_sched_reorder): Likewise.
+	* vfp.md (movdi_vfp, movdi_vfp_cortexa8): Likewise.
+	* arm.opt (mcpu, mtune): Adjust use of CPU enums.
+	* arm/genopt.sh (processor_type): Prefix enumeration entries with
+	TARGET_CPU_.
+	* arm-tables.opt: Regenerated.
+
+2016-11-10  Siddhesh Poyarekar  <siddhesh.poyarekar@linaro.org>
+
+	* config/aarch64/aarch64-cores.def (qdf24xx): Update part number.
+	(falkor): New core.
+	* config/aarch64/aarch64-tune.md: Regenerated.
+	* config/arm/arm-cores.def (falkor): New core.
+	* config/arm/arm-tables.opt: Regenerated.
+	* config/arm/arm-tune.md: Regenerated.
+	* config/arm/bpabi.h (BE8_LINK_SPEC): Add falkor support.
+	* config/arm/t-aprofile (MULTILIB_MATCHES): Likewise.
+	* doc/invoke.texi (AArch64 Options/-mtune): Document it.
+	(ARM Options/-mtune): Likewise.
+
+2016-11-10  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	Revert
+	2016-11-09  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* ipa-cp.c (ipa_get_jf_pass_through_result): Handle unary expressions.
+	(propagate_vr_accross_jump_function): Likewise.
+	* ipa-prop.c (ipa_set_jf_unary_pass_through): New.
+	(load_from_param_1): New.
+	(load_from_unmodified_param): Factor common part into load_from_param_1.
+	(load_from_param): New.
+	(compute_complex_assign_jump_func): Handle unary expressions.
+	(ipa_write_jump_function): Likewise.
+	(ipa_read_jump_function): Likewise.
+
+2016-11-09  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* simplify-rtx.c (simplify_binary_operation_1): Simplify
+	(xor (and (xor A B) C) B) to (ior (and A C) (and B ~C)) and
+	(xor (and (xor A B) C) A) to (ior (and A ~C) (and B C)) if C
+	is a const_int.
+
+2016-11-09  David Malcolm  <dmalcolm@redhat.com>
+
+	* print-rtl-function.c: Include varasm.h.
+	(print_any_param_name): New function.
+	(print_param): New function.
+	(print_rtx_function): Call print_param for each argument.
+	* print-rtl.c (rtx_writer::finish_directive): New function.
+	* print-rtl.h (rtx_writer::finish_directive): New decl.
+
+2016-11-09  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/78262
+	* config/i386/i386.md (*<shift_insn><mode>3_doubleword): Mark
+	operand 0 as earlyclobber.
+	(*ashl<mode>3_doubleword): Ditto for all operand 0 alternatives.
+
+2016-11-09  Martin Liska  <mliska@suse.cz>
+
+	* fold-const-call.c (fold_const_call): Fix up type of s0 and s1.
+
+2016-11-09  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/77718
+	* builtins.c (expand_builtin_memcmp): Formatting fix.
+
+	* flag-types.h (enum sanitize_code): Add SANITIZE_SHIFT_BASE
+	and SANITIZE_SHIFT_EXPONENT, change SANITIZE_SHIFT to bitwise
+	or of them, renumber other enumerators.
+	* opts.c (sanitizer_opts): Add shift-base and shift-exponent.
+	* doc/invoke.texi: Document -fsanitize=shift-base and
+	-fsanitize-shift-exponent, document -fsanitize=shift as
+	having those 2 suboptions.
+
+2016-11-09  Richard Biener  <rguenther@suse.de>
+
+	* fold-const.c (tree_swap_operands_p): Remove unused arg.
+	* fold-const.c (tree_swap_operands_p): Likewise.
+	(fold_binary_loc): Adjust.
+	(fold_ternary_loc): Likewise.
+	* genmatch.c (dt_operand::gen_gimple_exp): Likewise.
+	* gimple-fold.c (fold_stmt_1): Likewise.
+	* gimple-match-head.c (gimple_resimplify2): Likewise.
+	(gimple_resimplify3): Likewise.
+	(gimple_simplify): Likewise.
+	* tree-ssa-dom.c (record_equality): Likewise.
+	* tree-ssa-reassoc.c (optimize_range_tests_var_bound): Likewise.
+	* tree-ssa-sccvn.c (vn_nary_op_compute_hash): Likewise.
+	* tree-ssa-threadedge.c (simplify_control_stmt_condition_1): Likewise.
+
+2016-11-09  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-dom.c (canonicalize_comparison): Remove.
+	(optimize_stmt): Remove redundant pre-propagation canonicalization
+	of comparison operand order.
+
+2016-11-09  Martin Liska  <mliska@suse.cz>
+
+	* fold-const-call.c (fold_const_call): Fix the folding.
+
+2016-11-09  Richard Biener  <rguenther@suse.de>
+
+	* common.opt (flag_evaluation_order): Remove.
+	* expr.c (expand_operands): Remove code guarded by
+	flag_evaluation_order.
+	* fold-const.c (reorder_operands_p): Remove, it always returns
+	true.
+	(negate_expr_p): Remove calls to reorder_operands_p.
+	(fold_negate_expr): Likewise.
+	(tree_swap_operands_p): Likewise.
+	(fold_binary_loc): Likewise.
+
+2016-11-09  Andreas Schwab  <schwab@suse.de>
+
+	PR target/78254
+	* config/m68k/m68k.md: Reject out-of-range bit pos in bit-fields
+	insns operating on a register.
+
+2016-11-09  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/78007
+	* tree-vect-stmts.c (vectorizable_bswap): New function.
+	(vectorizable_call): Call vectorizable_bswap for
+	BUILT_IN_BSWAP{16,32,64} if arguments are not promoted.
+
+2016-11-09  Richard Biener  <rguenther@suse.de>
+
+	* tree-vect-data-refs.c (vect_compute_data_ref_alignment):
+	Look at the DR_BASE_ADDRESS object for forcing alignment.
+
+2016-11-09  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* ipa-cp.c (ipa_get_jf_pass_through_result): Handle unary expressions.
+	(propagate_vr_accross_jump_function): Likewise.
+	* ipa-prop.c (ipa_set_jf_unary_pass_through): New.
+	(load_from_param_1): New.
+	(load_from_unmodified_param): Factor common part into load_from_param_1.
+	(load_from_param): New.
+	(compute_complex_assign_jump_func): Handle unary expressions.
+	(ipa_write_jump_function): Likewise.
+	(ipa_read_jump_function): Likewise.
+
+2016-11-09  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	PR ipa/78121
+	* ipa-cp.c (propagate_vr_accross_jump_function): Pass param type.
+	Also fold constant passed as argument while computing value range.
+	(propagate_constants_accross_call): Pass param type.
+	* ipa-prop.c: export ipa_get_callee_param_type.
+	* ipa-prop.h: export ipa_get_callee_param_type.
+
+2016-11-09  Maxim Ostapenko  <m.ostapenko@samsung.com>
+
+	* asan.h (asan_intercepted_p): Handle BUILT_IN_STRCSPN,
+	BUILT_IN_STRPBRK, BUILT_IN_STRSPN and BUILT_IN_STRSTR.
+
+2016-11-09  Maxim Ostapenko  <m.ostapenko@samsung.com>
+
+	* asan.h (ASAN_STACK_MAGIC_PARTIAL): Remove.
+	* asan.c (ASAN_STACK_MAGIC_PARTIAL): Replace with
+	ASAN_STACK_MAGIC_MIDDLE.
+	(asan_global_struct): Increase the size of fields.
+	(asan_add_global): Add new field constructor.
+	* sanitizer.def (__asan_version_mismatch_check_v6): Replace with
+	__asan_version_mismatch_check_v8.
+
+2016-11-08  David Edelsohn  <dje.gcc@gmail.com>
+
+	* dwarf2asm.c (USE_LINKONCE_INDIRECT): Test XCOFF_DEBUGGING_INFO
+	at runtime.
+
+2016-11-08  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/70799
+	* config/i386/i386.c (dimode_scalar_to_vector_candidate_p):
+	Handle ASHIFT and LSHIFTRT.
+	(dimode_scalar_chain::compute_convert_gain): Ditto.
+	(dimode_scalar_chain::convert_insn): Ditto.
+
+2016-11-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* gimple-ssa-store-merging.c: Include selftest.h
+	(verify_array_eq): New function.
+	(verify_shift_bytes_in_array): Likewise.
+	(verify_shift_bytes_in_array_right): Likewise.
+	(verify_clear_bit_region): Likewise.
+	(verify_clear_bit_region_be): Likewise.
+	(store_merging_c_tests): Likewise.
+	* selftest.h (store_merging_c_tests): Declare prototype.
+	* selftest-run-tests.c (selftest::run_tests): Run
+	store_merging_c_tests.
+
+2016-11-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/arm/arm.opt (mold-rtx-costs): Delete.
+	(mnew-generic-costs): Delete.
+	* config/arm/arm-protos.h (struct tune_params): Delete rtx_costs field.
+	* config/arm/arm.c (arm_rtx_costs_1): Delete.
+	(arm_size_rtx_costs): Likewise.
+	(arm_slowmul_rtx_costs): Likewise.
+	(arm_fastmul_rtx_costs): Likewise.
+	(arm_xscale_rtx_costs): Likewise.
+	(arm_9e_rtx_costs): Likewise.
+	(arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
+	arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
+	arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
+	arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
+	arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
+	arm_cortex_a5_tune, arm_xgene1_tune, arm_marvell_pj4_tune,
+	arm_cortex_a35_tune, arm_exynosm1_tune, arm_cortex_a73_tune,
+	arm_cortex_m7_tune):
+	Delete rtx_costs field.
+	(arm_new_rtx_costs): Rename to...
+	(arm_rtx_costs_internal): ... This.
+	(arm_rtx_costs): Remove old way of doing rtx costs.
+
+2016-11-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/arm/arm.c (arm_slowmul_tune): Use generic_extra_costs.
+	(arm_fastmul_tune): Likewise.
+	(arm_strongarm_tune): Likewise.
+	(arm_xscale_tune): Likewise.
+	(arm_9e_tune): Likewise.
+	(arm_marvell_pj4_tune): Likewise.
+	(arm_v6t2_tune): Likewise.
+	(arm_v6m_tune): Likewise.
+	(arm_fa726te_tune): Likewise.
+
+2016-11-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR tree-optimization/78234
+	* gimple-ssa-store-merging.c (clear_bit_region): Fix off-by-one error
+	in start != 0 case.
+
+2016-11-08  Martin Liska  <mliska@suse.cz>
+
+	PR testsuite/78242
+	* dbgcnt.def: Add new debug counter asan_use_after_scope.
+	* gimplify.c (gimplify_decl_expr): Do not sanitize vars
+	with a value expr.  Do not add artificial variables to
+	live_switch_vars.  Use the debug counter.
+	(gimplify_target_expr): Use the debug counter.
+	* internal-fn.def: Remove ECF_TM_PURE from ASAN_MARK builtin.
+	* sanitizer.def: Set ATTR_NOTHROW_LEAF_LIST to
+	BUILT_IN_ASAN_CLOBBER_N and BUILT_IN_ASAN_UNCLOBBER_N.
+
+2016-11-08  Richard Biener  <rguenther@suse.de>
+
+	* tree-vect-stmts.c (get_group_load_store_type): If the
+	access is aligned do not trigger peeling for gaps.
+	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not
+	force alignment of vars with DECL_USER_ALIGN.
+
+2016-11-08  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/aarch64/t-aarch64 (aarch64-c.o): Depend on TARGET_H.
+
+2016-11-08  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/78205
+	* tree-vect-stmts.c (vectorizable_load): Move check whether
+	we may run into gaps when BB vectorizing SLP permutations ...
+	* tree-vect-slp.c (vect_supported_load_permutation_p): ...
+	here where we can do a more precise check.
+
+2016-11-08  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/78224
+	* tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
+	Split the fallthru edge in case its successor may have PHIs.
+	Do not free dominance info.
+
+2016-11-07  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/78229
+	* config/i386/i386.c (ix86_gimple_fold_builtin): Do not adjust
+	EH info even for bzhi and pdep/pext.
+
+2016-11-07  Peter Bergner  <bergner@vnet.ibm.com>
+
+	* config.gcc (powerpc*-*-*, rs6000*-*-*): Remove setting of
+	INCLUDE_EXTRA_SPEC for Advance Toolchain builds.
+
+2016-11-07  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.md (div<mode>3): Expand using rs6000_emit_swdiv
+	if appropriate.
+	* config/rs6000/vector.md (div<mode>3): Ditto.
+
+2016-11-07  David Edelsohn  <dje.gcc@gmail.com>
+
+	* configure.ac (.hidden): Change to conftest_s string. Provide string
+	for AIX assembler.
+	(gcc_cv_ld_hidden): Yes for AIX.
+	* configure: Regenerate.
+
+	* dwarf2asm.c (USE_LINKONCE_INDIRECT): Don't set for AIX (XCOFF).
+
+	* config/rs6000/rs6000-protos.h (rs6000_asm_weaken_decl): Declare
+	(rs6000_xcoff_asm_output_aligned_decl_common): Declare.
+	* config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_DECL_NAME): Define.
+	(ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
+	(ASM_OUTPUT_ALIGNED_COMMON): Delete.
+	* config/rs6000/rs6000.c (rs6000_init_builtins): Change clog rename
+	from #if to if.
+	(rs6000_xcoff_visibility): New.
+	(rs6000_xcoff_declare_function_name): Add visibility support.
+	(rs6000_xcoff_asm_globalize_decl_name): New.
+	(rs6000_xcoff_asm_output_aligned_decl_common): New.
+	(rs6000_asm_weaken_decl): New.
+	(rs6000_code_end): Disable HIDDEN_LINKONCE on XCOFF.
+	config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Change definition to
+	reference function.
+
+2016-11-07  Jack Howarth  <howarth.at.gcc@gmail.com>
+
+	PR driver/78206
+	* incpath.c (remove_dup): Also silently ignore EPERM.
+
+2016-11-07  Martin Jambor  <mjambor@suse.cz>
+
+	* tree.c (verify_type_variant): Use pointer comparison to check that
+	TYPE_SIZE_UNIT match.
+
+2016-11-07  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/77834
+	* dse.c (dse_step5): Call scan_reads even if just
+	insn_info->frame_read.  Improve and fix dump file messages.
+
+	PR target/78227
+	* config/i386/i386.c (ix86_expand_sse_cmp): Force dest into
+	cmp_mode argument even for -O0 if cmp_mode != mode and maskcmp.
+
+2016-11-07  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	PR middle-end/35691
+	* match.pd: Add following two patterns:
+	(x == 0 & y == 0) -> (x | typeof(x)(y)) == 0.
+	(x != 0 | y != 0) -> (x | typeof(x)(y)) != 0.
+
+2016-11-07  Bernd Schmidt  <bschmidt@redhat.com>
+
+	* emit-rtl.c (emit_copy_of_insn_after): Duplicate notes in order.
+	* sel-sched-ir.c (create_copy_of_insn_rtx): Likewise.
+	* rtl.h (duplicate_reg_notes): Declare.
+	* rtlanal.c (duplicate_reg_note): New function.
+
+	PR rtl-optimization/77309
+	* combine.c (make_compound_operation): Allow EQ for IN_CODE, and
+	don't assume an equality comparison for plain COMPARE.
+	(simplify_comparison): Pass a more accurate code to
+	make_compound_operation.
+
+2016-11-07  Pat Haugen  <pthaugen@us.ibm.com>
+
+	* target.def (compute_pressure_classes): New target hook.
+	* doc/tm.texi.in: Document it.
+	* doc/tm.texi: Regenerate.
+	* ira.c (setup_pressure_classes): Call target hook if defined.
+
+2016-11-07  David Malcolm  <dmalcolm@redhat.com>
+
+	* print-rtl.c (rtx_writer::operand_has_default_value_p): New
+	method.
+	(rtx_writer::print_rtx): In compact mode, omit trailing operands
+	that have the default values.
+	* print-rtl.h (rtx_writer::operand_has_default_value_p): New
+	method.
+	* rtl-tests.c (selftest::test_dumping_insns): Remove empty
+	label string from expected dump.
+	(seltest::test_uncond_jump): Remove trailing "(nil)" for REG_NOTES
+	from expected dump.
+
+2016-11-07  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/77834
+	* alias.c (nonoverlapping_memrefs_p): If one decl is
+	FUNCTION_DECL or LABEL_DECL and the other is not, return 1.
+
+2016-11-07  Richard Biener  <rguenther@suse.de>
+
+	PR target/78229
+	* config/i386/i386.c (ix86_gimple_fold_builtin): Do not adjust
+	EH info.
+
+2016-11-07  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/78218
+	* gimple-ssa-store-merging.c
+	(pass_store_merging::terminate_all_aliasing_chains):
+	Drop unused argument, fix alias check to also consider uses.
+	(pass_store_merging::execute): Adjust.
+
+2016-11-07  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/78228
+	* tree-ssa-phiopt.c (abs_replacement): Avoid introducing
+	undefined behavior.
+
+2016-11-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/77822
+	* config/aarch64/aarch64.md (*tb<optab><mode>1): Use
+	aarch64_simd_shift_imm_<mode> predicate for operand 1.
+	(<optab>, ANY_EXTRACT): Use tighter predicates on operands 2 and 3
+	to restrict them to an appropriate range and add FAIL check if the
+	region they specify is out of range.  Delete useless constraint
+	strings.
+	(*<optab><mode>, ANY_EXTRACT): Add appropriate predicates on operands
+	2 and 3 to restrict their range and add pattern predicate.
+
+2016-11-07  Martin Liska  <mliska@suse.cz>
+
+	* asan.c (enum asan_check_flags): Move the enum to header file.
+	(asan_init_shadow_ptr_types): Make type creation more generic.
+	(shadow_mem_size): New function.
+	(asan_emit_stack_protection): Use newly added ASAN_SHADOW_GRANULARITY.
+	Rewritten stack unpoisoning code.
+	(build_shadow_mem_access): Add new argument return_address.
+	(instrument_derefs): Instrument local variables if use after scope
+	sanitization is enabled.
+	(asan_store_shadow_bytes): New function.
+	(asan_expand_mark_ifn): Likewise.
+	(asan_sanitize_stack_p): Moved from asan_sanitize_stack_p.
+	* asan.h (enum asan_mark_flags): Moved here from asan.c
+	(asan_protect_stack_decl): Protect all declaration that need
+	to live in memory.
+	(asan_sanitize_use_after_scope): New function.
+	(asan_no_sanitize_address_p): Likewise.
+	* cfgexpand.c (partition_stack_vars): Consider
+	asan_sanitize_use_after_scope in condition.
+	(expand_stack_vars): Likewise.
+	* common.opt (-fsanitize-address-use-after-scope): New option.
+	* doc/invoke.texi (use-after-scope-direct-emission-threshold):
+	Explain the parameter.
+	* flag-types.h (enum sanitize_code): Define SANITIZE_USE_AFTER_SCOPE.
+	* gimplify.c (build_asan_poison_call_expr): New function.
+	(asan_poison_variable): Likewise.
+	(gimplify_bind_expr): Generate poisoning/unpoisoning for local
+	variables that have address taken.
+	(gimplify_decl_expr): Likewise.
+	(gimplify_target_expr): Likewise for C++ temporaries.
+	(sort_by_decl_uid): New function.
+	(gimplify_expr): Unpoison all variables for a label we can jump
+	from outside of a scope.
+	(gimplify_switch_expr): Unpoison variables defined in the switch
+	context.
+	(gimplify_function_tree): Clear asan_poisoned_variables.
+	(asan_poison_variables): New function.
+	(warn_switch_unreachable_r): Handle IFN_ASAN_MARK.
+	* internal-fn.c (expand_ASAN_MARK): New function.
+	* internal-fn.def (ASAN_MARK): Declare.
+	* opts.c (finish_options): Handle -fstack-reuse if
+	-fsanitize-address-use-after-scope is enabled.
+	(common_handle_option): Enable address sanitization if
+	-fsanitize-address-use-after-scope is enabled.
+	* params.def (PARAM_USE_AFTER_SCOPE_DIRECT_EMISSION_THRESHOLD):
+	New parameter.
+	* params.h: Likewise.
+	* sancov.c (pass_sanopt::execute): Handle IFN_ASAN_MARK.
+	* sanitizer.def: Define __asan_poison_stack_memory and
+	__asan_unpoison_stack_memory functions.
+	* asan.c (asan_mark_poison_p): New function.
+	(transform_statements): Handle asan_mark_poison_p calls.
+	* gimple.c (nonfreeing_call_p): Handle IFN_ASAN_MARK.
+
+2016-11-07  Tamar Christina  <tamar.christina@arm.com>
+
+	PR driver/78196
+	* Makefile.in (SELFTEST_FLAGS): Added -o /dev/null.
+
+2016-11-07  Martin Liska  <mliska@suse.cz>
+
+	* tree-profile.c (gimple_gen_time_profiler): Set proper type
+	to time_profiler_counter_ptr.
+
+2016-11-07  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/37150
+	* tree-vectorizer.h (vect_transform_slp_perm_load): Add n_perms
+	parameter.
+	* tree-vect-slp.c (vect_supported_load_permutation_p): Adjust.
+	(vect_analyze_slp_cost_1): Account for the real number of
+	permutations emitted and for dead loads.
+	(vect_transform_slp_perm_load): Add n_perms parameter counting
+	the number of emitted permutations.
+	* tree-vect-stmts.c (vectorizable_load): Adjust.
+
+2016-11-07  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/78189
+	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Fix
+	alignment computation.
+
+2016-11-06  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* ipa-cp.c (ipcp_bits_lattice::meet_with): Remove unreachable code.
+
+2016-11-05  Martin Sebor  <msebor@redhat.com>
+
+	* doc/invoke.texi (Warning Options): Correct typos in -Walloca
+	documentation.
+
+2016-11-05  David Edelsohn  <dje.gcc@gmail.com>
+
+	PR bootstrap/78188
+	PR c++/71848
+	* ipa-comdats.c (pass_ipa_comdats::gate): Require HAVE_COMDAT_GROUP.
+
+2016-11-04  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/77834
+	* alias.c (nonoverlapping_memrefs_p): Return 0 if exprx or expry
+	doesn't have rtl set.
+
+2016-11-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (gimple-ssa.h): New #include.
+	(TARGET_GIMPLE_FOLD_BUILTIN): Define as
+	rs6000_gimple_fold_builtin.
+	(rs6000_gimple_fold_builtin): New function.  Add handling for
+	early expansion of vector addition builtins.
+
+2016-11-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* expr.h (copy_blkmode_from_reg): Delete.
+	* expr.c (copy_blkmode_from_reg): Make static.
+
+2016-11-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* defaults.h (LOAD_EXTEND_OP): Define if not already defined.
+	* combine.c (LOAD_EXTEND_OP): Delete.
+	(simplify_comparison): Fix comment about LOAD_EXTEND_OP.
+	* cse.c (LOAD_EXTEND_OP): Delete.
+	* fold-const.c (LOAD_EXTEND_OP): Likewise.
+	* fwprop.c (free_load_extend): Remove #ifdef LOAD_EXTEND_OP/#endif.
+	* postreload.c (LOAD_EXTEND_OP): Delete.
+	* reload.c (push_reload): Remove #ifdef LOAD_EXTEND_OP/#endif.
+	Convert conditional compilation based on WORD_REGISTER_OPERATIONS.
+	(find_reloads): Likewise.
+	* reload1.c (eliminate_regs_1): Likewise.
+	* rtlanal.c (nonzero_bits1): Remove #ifdef LOAD_EXTEND_OP/#endif.
+	(num_sign_bit_copies1): Likewise.
+
+2016-11-04  David Malcolm  <dmalcolm@redhat.com>
+
+	* config/i386/i386.c: Include "selftest.h" and "selftest-rtl.h".
+	(selftest::ix86_test_dumping_hard_regs): New function.
+	(selftest::ix86_run_selftests): New function.
+	(TARGET_RUN_TARGET_SELFTESTS): When CHECKING_P, wire this up to
+	selftest::ix86_run_selftests.
+	* doc/tm.texi.in (TARGET_RUN_TARGET_SELFTESTS): New.
+	* doc/tm.texi: Regenerate
+	* selftest-rtl.h: New file.
+	* rtl-tests.c: Include "selftest-rtl.h".
+	(selftest::assert_rtl_dump_eq): Make non-static.
+	(ASSERT_RTL_DUMP_EQ): Move to selftest-rtl.h.
+	(selftest::test_dumping_regs): Update comment.
+	* selftest-run-tests.c: Include "target.h".
+	(selftest::run_tests): If non-NULL, call
+	targetm.run_target_selftests.
+	* target.def (run_target_selftests): New hook.
+
+2016-11-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm-arches.def (armv8-m.main+dsp): Set Cortex-M33 as
+	representative core for this architecture.
+	* config/arm/arm-cores.def (cortex-m33): Define new processor.
+	* config/arm/arm-tables.opt: Regenerate.
+	* config/arm/arm-tune.md: Likewise.
+	* config/arm/bpabi.h (BE8_LINK_SPEC): Add Cortex-M33 to the list of
+	valid -mcpu options.
+	* doc/invoke.texi (ARM Options): Document new Cortex-M33 processor.
+
+2016-11-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm-arches.def (armv8-m.base): Set Cortex-M23 as
+	representative core for this architecture.
+	* config/arm/arm-cores.def (cortex-m23): Define new processor.
+	* config/arm/arm-tables.opt: Regenerate.
+	* config/arm/arm-tune.md: Likewise.
+	* config/arm/arm.c (arm_v6m_tune): Add Cortex-M23 to the list of cores
+	this tuning parameters apply to in the comment.
+	* config/arm/bpabi.h (BE8_LINK_SPEC): Add Cortex-M23 to the list of
+	valid -mcpu options.
+	* doc/invoke.texi (ARM Options): Document new Cortex-M23 processor.
+
+2016-11-04  Bin Cheng  <bin.cheng@arm.com>
+
+	* fold-const.c (fold_cond_expr_with_comparison): Remove call
+	to pedantic_non_lvalue_loc.  Remove useless code for lvalue
+	where cond_expr can't be a lvalue.
+
+2016-11-04  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (arc_process_double_reg_moves): Use
+	gen_dexcl_2op call.
+	* config/arc/arc.md (movsi_insn): Disable unsupported move
+	instructions for ARCv2 cores.
+	(movdi): Use prepare_move_operands.
+	(movsf, movdf): Use move_dest_operand predicate.
+	* config/arc/constraints.md (Chs): Enable when barrel shifter is
+	present.
+	* config/arc/fpu.md (divsf3): Change to divsf3_fpu.
+	* config/arc/fpx.md (dexcl_3op_peep2_insn): Dx data register is
+	also a destination.
+	(dexcl_3op_peep2_insn_nores): Likewise.
+	* config/arc/arc.h (SHIFT_COUNT_TRUNCATED): Define to one.
+	(LINK_COMMAND_SPEC): Remove.
+
+2016-11-04  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/78185
+	* loop-invariant.c (find_exits): Record entering inner
+	loops as possibly exiting to handle infinite sub-loops.
+	* tree-ssa-loop-im.c: Include tree-ssa-loop-niter.h.
+	(fill_always_executed_in_1): Honor infinite child loops.
+
+2016-11-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/78192
+	* config/rs6000/vsx.md (vsx_extract_<mode>_di): The element number
+	has already been adjusted for endianness, so don't adjust it any
+	further.
+
+	PR target/77993
+	* config/rs6000/rs6000.h (FLOAT128_IBM_P): Do not allow IFmode or
+	ICmode unless we have standard PowerPC floating point.
+	* config/rs6000/rs6000.md (FP iterator): Likewise.
+	(FMOVE128 iterator): Likewise.
+
+2016-11-03  Jakub Jelinek  <jakub@redhat.com>
+	    Alexandre Oliva  <aoliva@redhat.com>
+	    Jason Merrill  <jason@redhat.com>
+
+	PR debug/28767
+	PR debug/56974
+	* langhooks.h (struct lang_hooks_for_types): Add type_dwarf_attribute
+	langhook.
+	* langhooks.c (lhd_type_dwarf_attribute): New function.
+	* langhooks-def.h (lhd_type_dwarf_attribute): Declare.
+	(LANG_HOOKS_TYPE_DWARF_ATTRIBUTE): Define.
+	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Add
+	LANG_HOOKS_TYPE_DWARF_ATTRIBUTE.
+	(check_qualified_type, check_aligned_type): Call it.
+	* dwarf2out.c (modified_type_die): Don't use type_main_variant
+	for FUNCTION_TYPE or METHOD_TYPE, instead walk over variants with
+	check_base_type and check_lang_type.
+	(gen_ptr_to_mbr_type_die): If lookup_type_die is already non-NULL,
+	return early.  For pointer-to-data-member add DW_AT_use_location
+	attribute.
+	(gen_subroutine_type_die): Add DW_AT_{,rvalue_}reference attribute
+	if needed.
+	(gen_type_die_with_usage): Don't use type_main_variant
+	for FUNCTION_TYPE or METHOD_TYPE, instead walk over variants with
+	check_base_type and check_lang_type.  Formatting fixes. Call
+	get_debug_type langhook.
+
+2016-11-03  Jason Merrill  <jason@redhat.com>
+
+	* tree.c (check_lang_type): New.
+	(check_qualified_type): Use it.
+	(check_aligned_type): Use it.
+	* tree.h: Declare it.
+
+2016-11-03  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config.gcc (arm-wrs-vxworks): Set target_cpu_cname.
+	(arm*-freebsd*): Likewise.
+	(arm*-*-netbsdelf*): Likewise.
+	(arm*-*-linux*): Likewise.
+	(arm*-*-uclinux*eabi*): Likewise.
+	(arm*-*-phoenix*): Likewise.
+	(arm*-*-eabi*, arm*-*-symbianelf*, arm*-*-rtems*): Likewise.
+	(arm*-*-*): Don't clobber target_cpu_cname when --with-cpu is not
+	specified.  Default to arm6 if target_cpu_cname is not set.
+	* arm/arm.c (arm_option_override): Simplify logic.  Assert that the
+	default cpu has been correctly configured.
+	* arm/arm.h (TARGET_CPU_DEFAULT): Delete.
+	(target_cpus): Delete TARGET_CPU_generic, add TARGET_CPU_num_cores.
+	* arm/freebsd.h (SUBTARGET_CPU_DEFAULT): Delete.
+	* arm/linux-eabi.h (SUBTARGET_CPU_DEFAULT): Delete.
+	* arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Delete.
+	* arm/symbian.h (SUBTARGET_CPU_DEFAULT): Delete.
+	* arm/unknown-elf.h (SUBTARGET_CPU_DEFAULT): Delete.
+
+2016-11-03  Jiong Wang  <jiong.wang@arm.com>
+
+	* reg-notes.def (CFA_VAL_EXPRESSION): New entry.
+	* dwarf2cfi.c (dwarf2out_frame_debug_cfa_val_expression): New function.
+	(dwarf2out_frame_debug): Support REG_CFA_VAL_EXPRESSION.
+	(output_cfa_loc): Support DW_CFA_val_expression.
+	(output_cfa_loc_raw): Likewise.
+	(output_cfi): Likewise.
+	(output_cfi_directive): Likewise.
+	* dwarf2out.c (dw_cfi_oprnd1_desc): Support DW_CFA_val_expression.
+	(dw_cfi_oprnd2_desc): Likewise.
+	(mem_loc_descriptor): Recognize new pattern generated for value
+	expression.
+
+2016-11-03  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/78186
+	* combine.c (change_zero_ext): Mask the RHS of a zero_extract as
+	well, when converting to IOR.
+
+2016-11-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/sparc/sparc.md (vec_interleave_lowv8qi): Delete.
+	(vec_interleave_highv8qi): Likewise.
+
+2016-11-03  Martin Liska  <mliska@suse.cz>
+
+	* profile.c (instrument_values): Fix coding style.
+	(branch_prob): Use renamed function.
+	* tree-profile.c (init_ic_make_global_vars): Likewise.
+	(gimple_init_edge_profiler): Rename to
+	gimple_init_gcov_profiler.
+	tree_time_profiler_counter variable declaration.
+	(gimple_gen_time_profiler): Rewrite to do a direct gimple code
+	emission.
+	* value-prof.h: Remove an argument.
+
+2016-11-03  Richard Biener  <rguenther@suse.de>
+
+	* config/rs6000/rs6000.c (rs6000_xcoff_declare_object_name): Use
+	symtab_node::get_create.
+
+2016-11-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* rtlanal.c (nonzero_bits1): Fix WORD_REGISTER_OPERATIONS condition.
+	Move comments into more natural position.
+
+2016-11-03  Vineet Gupta  <vgupta@synopsys.com>
+
+	* config/arc/arc.h (SIZE_TYPE): Define as unsigned int.
+	(PTRDIFF_TYPE): Define as int.
+
+2016-11-03  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* ccmp.c (expand_ccmp_expr_1): Adjust.
+	(expand_ccmp_expr): Likewise.
+	(expand_ccmp_next): Likewise.
+	* config/aarch64/aarch64.c (aarch64_gen_ccmp_next): Likewise.
+	(aarch64_gen_ccmp_first): Likewise.
+	* doc/tm.texi: Regenerate.
+	* target.def (gen_ccmp_first): Change argument types to rtx_insn *.
+	(gen_ccmp_next): Likewise.
+
+2016-11-03  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-vect-loop.c (destroy_loop_vec_info): Handle cond_expr.
+	(vect_is_simple_reduction): Swap cond_reduction by inversion.
+
+2016-11-02  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (ix86_init_libfuncs): New.  Call
+	darwin_rename_builtins here.
+	(ix86_expand_divmod_libfunc): New.
+	(TARGET_INIT_LIBFUNCS): Unconditionally define to ix86_init_libfuncs.
+	(TARGET_EXPAND_DIVMOD_LIBFUNC): Define.
+
+2016-11-02  Cesar Philippidis  <cesar@codesourcery.com>
+	    Nathan Sidwell  <nathan@acm.org>
+
+	* config/nvptx/nvptx.c (PTX_GANG_DEFAULT): Set to zero.
+
+2016-11-02  Max Filippov  <jcmvbkbc@gmail.com>
+
+	* config/xtensa/xtensa.c (xtensa_output_integer_literal_parts):
+	New function.
+	(xtensa_output_literal): Use xtensa_output_integer_literal_parts
+	to format MODE_INT and MODE_PARTIAL_INT literals.
+
+2016-11-02  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR target/78168
+	* config/r6000/rs6000.c (rs6000_get_separate_components): Return
+	NULL if TARGET_SPE_ABI.
+
+2016-11-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* gimple-ssa-store-merging.c (encode_tree_to_bitpos): Don't forget to
+	clear padding bits even when they're less than a byte.
+
+2016-11-02  Richard Biener  <rguenther@suse.de>
+
+	* gimple-ssa-store-merging.c: Include gimplify-me.h.
+	(imm_store_chain_info::output_merged_stores): Force base_addr
+	to be proper GIMPLE for a MEM_REF address.
+	(pass_store_merging::execute): Restrict negative bitpos
+	handling to non-MEM_REF bases.  Remove TREE_THIS_VOLATILE
+	check.  Take into account non-NULL_TREE offset if the base
+	is already addressable.
+
+2016-11-26  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64-simd.md (aarch64_crypto_sha1hv4si):
+	New pattern.
+	(aarch64_be_crypto_sha1hv4si): New pattern.
+
+2016-11-02  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.md (add<mode>3): Remove
+	redundant code.  Don't split frame based additions.
+
+2016-11-02  Richard Biener  <rguenther@suse.de>
+
+	* gimple-ssa-store-merging.c (struct store_immediate_info): Remove
+	redundant val and dest members.
+	(store_immediate_info::store_immediate_info): Adjust.
+	(merged_store_group::merged_store_group): Adjust.
+	(merged_store_group::apply_stores): Likewise.
+	(struct imm_store_chain_info): Add base_addr field.
+	(imm_store_chain_info::imm_store_chain_info): New constructor.
+	(imm_store_chain_info::terminate_and_process_chain): Do not pass base.
+	(imm_store_chain_info::output_merged_store): Likewise.  Use
+	addr_base which is already the address.
+	(imm_store_chain_info::output_merged_stores): Likewise.
+	(pass_tree_store_merging::terminate_all_aliasing_chains): Take
+	imm_store_chain_info instead of base.  Fix alias check.
+	(pass_tree_store_merging::terminate_and_release_chain): Likewise.
+	(imm_store_chain_info::coalesce_immediate_stores): Adjust.
+	(pass_store_merging::execute): Refuse to operate on TARGET_MEM_REF.
+	use the address of the base and adjust for other changes.
+
+2016-11-02  Martin Liska  <mliska@suse.cz>
+
+	* fold-const-call.c (host_size_t_cst_p): Test whether
+	t is convertible to size_t.
+
+2016-11-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR tree-optimization/78170
+	* gimple-ssa-store-merging.c (encode_tree_to_bitpos): Truncate padding
+	introduced by native_encode_expr on little-endian as well.
+
+2016-11-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR tree-optimization/78162
+	* gimple-ssa-store-merging.c (execute): Mark stores with bitpos < 0
+	as invalid.
+
+2016-11-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_register_saved_on_entry): Add
+	function comment.
+	(aarch64_next_callee_save): Likewise.
+	(aarch64_pushwb_single_reg): Likewise.
+	(aarch64_gen_storewb_pair): Likewise.
+	(aarch64_push_regs): Likewise.
+	(aarch64_gen_loadwb_pair): Likewise.
+	(aarch64_pop_regs): Likewise.
+	(aarch64_gen_store_pair): Likewise.
+	(aarch64_gen_load_pair): Likewise.
+	(aarch64_save_callee_saves): Likewise.
+	(aarch64_restore_callee_saves): Likewise.
+
+2016-11-02  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/78035
+	PR tree-optimization/77964
+	* gimple-pretty-print.c (pp_points_to_solution): Print
+	vars_contains_interposable.
+	* tree-ssa-alias.c: Include varasm.h.
+	(ptrs_compare_unequal): Check vars_contains_interposable and
+	decl_binds_to_current_def_p.
+	(dump_points_to_solution): Dump vars_contains_interposable.
+	* tree-ssa-alias.h (struct pt_solution): Add vars_contains_interposable
+	flag.
+	* tree-ssa-structalias.c: Include varasm.h.
+	(set_uids_in_ptset): Record whether vars contains a
+	not decl_binds_to_current_def_p variable in vars_contains_interposable.
+	(ipa_escaped_pt): Update initializer.
+
+2016-11-02  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/78047
+	* tree-ssa-structalias.c (push_fields_onto_fieldstack): Initialize
+	fake field at offset zero conservatively regarding to may_have_pointers.
+
+2016-11-02  Richard Biener  <rguenther@suse.de>
+
+	* tree-vrp.c (evrp_dom_walker::before_dom_children): Call
+	infer_value_range on stmt ops and update value-ranges.
+	Dump visited stmts and blocks.
+	(evrp_dom_walker::push_value_range): Dump changes.
+	(evrp_dom_walker::pop_value_range): Likewise.
+	(evrp_dom_walker::try_find_new_range): Avoid noop changes.
+
+2016-11-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* emit-rtl.c (prev_nonnote_insn_bb): Change argument type to
+	rtx_insn *.
+	* rtl.h (prev_nonnote_insn_bb): Adjust prototype.
+
+2016-11-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* cfgrtl.c (delete_insn_chain): Change argument type to rtx_insn *
+	and adjust for that.
+	* cfgrtl.h (delete_insn_chain): Adjust prototype.
+
+2016-11-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* config/rl78/rl78.c (gen-and_emit_move): Change argument type
+	to rtx_insn *.
+	(transcode_memory_rtx): Likewise.
+	(move_to_acc): Likewise.
+	(move_from_acc): Likewise.
+	(move_acc_to_reg): Likewise.
+	(move_to_x): Likewise.
+	(move_to_hl): Likewise.
+	(move_to_de): Likewise.
+	* config/rs6000/rs6000.c (emit_frame_save): Likewise.
+	(rs6000_emit_savres_rtx): Likewise.
+	(rs6000_emit_prologue): Likewise.
+	* reorg.c (update_reg_unused_notes): Likewise.
+	* rtl.h (remove_note): Adjust prototype.
+	* rtlanal.c (remove_note): Make argument type rtx_insn *.
+
+2016-11-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* config/alpha/alpha.c (alpha_legitimize_address_1): Split up
+	variables so some can be rtx_insn *.
+	(alpha_emit_xfloating_libcall): Likewise.
+	* config/mips/mips.c (mips_call_tls_get_addr): Likewise.
+	(mips_legitimize_tls_address): Likewise.
+	* optabs.c (expand_binop): Likewise.
+	* reload1.c (gen_reload): Likewise.
+
+2016-11-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* reorg.c (relax_delay_slots): Split up the trial variable.
+
+2016-11-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* config/arc/arc.c (arc_emit_call_tls_get_addr): Make the type
+	of variables rtx_insn *.
+	* config/arm/arm.c (arm_call_tls_get_addr): Likewise.
+	(legitimize_tls_address): Likewise.
+	* config/bfin/bfin.c (hwloop_optimize): Likewise.
+	(bfin_gen_bundles): Likewise.
+	* config/c6x/c6x.c (reorg_split_calls): Likewise.
+	(c6x_reorg): Likewise.
+	* config/frv/frv.c (frv_reorder_packet): Likewise.
+	* config/i386/i386.c (ix86_split_idivmod): Likewise.
+	* config/ia64/ia64.c (ia64_expand_compare): Likewise.
+	* config/m32c/m32c.c (m32c_prepare_shift): Likewise.
+	* config/mn10300/mn10300.c: Likewise.
+	* config/rl78/rl78.c: Likewise.
+	* config/s390/s390.c (s390_fix_long_loop_prediction): Likewise.
+	* config/sh/sh-mem.cc (sh_expand_cmpstr): Likewise.
+	(sh_expand_cmpnstr): Likewise.
+	(sh_expand_strlen): Likewise.
+	(sh_expand_setmem): Likewise.
+	* config/sh/sh.md: Likewise.
+	* emit-rtl.c (emit_pattern_before): Likewise.
+	* except.c: Likewise.
+	* final.c: Likewise.
+	* jump.c: Likewise.
+
+2016-11-01  Jason Merrill  <jason@redhat.com>
+
+	* tree-inline.c (copy_tree_body_r): Only copy the taken branch of
+	a COND_EXPR with constant condition.
+
+2016-11-01  Jakub Jelinek  <jakub@redhat.com>
+
+	* dwarf2out.c (gen_variable_die): Remove again origin_die variable
+	and its initialization.
+
+2016-11-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* dwarf2out.c (output_rnglists): Wrap basebuf, len in
+	HAVE_AS_LEB128.
+
+2016-11-01  Jakub Jelinek  <jakub@redhat.com>
+
+	* dwarf2out.c (add_name_and_src_coords_attributes): Add NO_LINKAGE_NAME
+	argument, don't call add_linkage_name if it is true.
+	(gen_variable_die): For C++ inline static data members, consider the
+	initial call when old_die is NULL to be declaration and call
+	add_name_and_src_coords_attributes in that case with true as
+	NO_LINKAGE_NAME.  Add DW_AT_inline attribute if needed.
+	(gen_member_die): For C++ inline static data members, emit a
+	definition DIE right away in DW_TAG_compile_unit context.
+
+2016-11-01  John David Anglin  <danglin@gcc.gnu.org>
+
+	PR target/78166
+	* config/pa/pa.md: Add new shift/add patterns to handle
+	(plus (mult (reg) (mem_shadd_operand)) (reg)) source operand.
+
+2016-11-01  Max Filippov  <jcmvbkbc@gmail.com>
+
+	* config/xtensa/xtensa-protos.h
+	(xtensa_use_return_instruction_p): New prototype.
+	* config/xtensa/xtensa.c (xtensa_current_frame_size,
+	xtensa_callee_save_size): Remove.
+	(struct machine_function): Add new fields: current_frame_size,
+	callee_save_size, frame_laid_out and epilogue_done.
+	(compute_frame_size, xtensa_expand_prologue,
+	xtensa_expand_epilogue): Replace xtensa_callee_save_size with
+	cfun->machine->callee_save_size and xtensa_current_frame_size
+	with cfun->machine->current_frame_size.
+	(compute_frame_size): Update cfun->machine->frame_laid_out and
+	don't update frame layout after reload completion.
+	(xtensa_expand_epilogue): Set cfun->machine->epilogue_done
+	instead of zeroing xtensa_current_frame_size.
+	(xtensa_use_return_instruction_p): New function.
+	* config/xtensa/xtensa.h (xtensa_current_frame_size): Remove
+	declaration.
+	(INITIAL_ELIMINATION_OFFSET): Use return value of
+	compute_frame_size instead of xtensa_current_frame_size value.
+	* config/xtensa/xtensa.md ("return" pattern): Use new predicate
+	function xtensa_use_return_instruction_p instead of inline code.
+
+2016-11-01  Jakub Jelinek  <jakub@redhat.com>
+
+	* tree.h (BLOCK_IN_COLD_SECTION_P): Define.
+	* final.c (final_scan_insn): Set BLOCK_IN_COLD_SECTION_P.
+	* dwarf2out.c (rnglist_idx): New variable.
+	(struct dw_ranges): Add label, idx and maybe_new_sec fields.
+	(DEBUG_RNGLISTS_SECTION): Define.
+	(ranges_base_label): New variable.
+	(size_of_die) <case dw_val_class_range_list>: If using
+	DW_FORM_rnglistx, count size of uleb128 of range list index.
+	(value_format) <case dw_val_class_range_list>: For
+	-gdwarf-5 -gsplit-dwarf return DW_FORM_rnglistx.
+	(output_range_list_offset): Handle -gdwarf-5 .debug_rnglists
+	offsets.  Multiply dwarf < 5 offsets by 2 * DWARF_ADDR_SIZE.
+	(add_ranges_num): Remove useless prototype.  Don't multiply
+	by 2 * DWARF2_ADDR_SIZE.  Add maybe_new_sec argument, adjust
+	for new fields added to dw_ranges struct.
+	(add_ranges): Add maybe_new_sec argument and pass it
+	through to add_ranges_num.
+	(note_rnglist_head): New function.
+	(add_ranges_by_labels): Pass true as maybe_new_sec to
+	add_ranges_num, call note_rnglist_head on the head of the list.
+	(output_ranges): Add function comment.  Switch to
+	.debug_ranges section here and emit .Ldebug_ranges0 label.
+	(index_rnglists, output_rnglists): New functions.
+	(gen_subprogram_die): Formatting fixes.
+	(add_high_low_attributes): Don't divide offsets
+	by 2 * DWARF2_ADDR_SIZE.  Call note_rnglist_head on the
+	first list element or when pointing into the middle of
+	a list.  Pass true as second argument to add_ranges on the
+	first block fragment after cold/hot section switch.
+	(init_sections_and_labels): For -gdwarf-5 use .debug_rnglists
+	section instead of .debug_ranges.  Initialize
+	ranges_base_label if -gdwarf-5 -gsplit-dwarf.
+	(dwarf2out_finish): For -gdwarf-5 -gsplit-dwarf call
+	index_rnglists and add DW_AT_rnglists_base attr.  Don't switch
+	to dwarf_ranges_section here or emit .Ldebug_ranges0 label.
+	Call output_rnglists for -gdwarf-5.
+	(dwarf2out_c_finalize): Clear rnglist_idx.
+
+2016-11-01  Fritz Reese  <fritzoreese@gmail.com>
+
+	* combine.c (simplify_compare_const): Add gcc_fallthrough.
+
+2016-11-01  Bilyan Borisov  <bilyan.borisov@arm.com>
+	    Tamar Christina <tamar.christina@arm.com>
+
+	* config/arm/arm-c.c (arm_cpu_builtins): New macro definition.
+	* config/arm/arm_neon.h (vmaxnm_f32): New intrinsinc.
+	(vmaxnmq_f32): Likewise.
+	(vminnm_f32): Likewise.
+	(vminnmq_f32): Likewise.
+	* config/arm/arm_neon_builtins.def (vmaxnm): New builtin.
+	(vminnm): Likewise.
+	* config/arm/neon.md (neon_<fmaxmin_op><mode>, VCVTF): New
+	expander.
+
+2016-10-31  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/vsx.md (VSX_EXTRACT_FL): New iterator for all
+	binary floating point types supported by the hardware except for
+	double.
+	(vsx_xvcvsxwdp_df): Provide scalar result alternative to the
+	vector instruction for optimizing extracting a SImode from a
+	V4SImode vector and converting it to floating point.
+	(vsx_xvcvuxwdp_df): Likewise.
+	(vsx_extract_si): On ISA 3.0, allow extract target and temporary
+	registers to be any VSX register.  Move stores to the end of the
+	constraints.
+	(vsx_extract_si_<uns>float_df): New combiner pattern and splitter
+	to optimize extracting a SImode from a V4SImode vector and
+	converting it to a binary floating point type supported by the
+	hardware.  Use the vector converts instead of extracting the
+	element, sign extending it, and then converting it to double.
+	Other floating point types  than double first convert to double,
+	then the double is converted to that type.
+	(vsx_extract_si_<uns>float_<mode>): Likewise.
+
+2016-10-31  Andrew Pinski  <apinski@cavium.com>
+
+	* config/aarch64/driver-aarch64.c (host_detect_local_cpu):
+	Rewrite handling of part num to handle the case where
+	multiple implementers share the same part num.
+
+2016-10-31  Jan Kratochvil  <jan.kratochvil@redhat.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	* dwarf2out.c (DWARF_COMPILE_UNIT_HEADER_SIZE): Adjust for -gdwarf-5.
+	(DWARF_COMDAT_TYPE_UNIT_HEADER_SIZE): Likewise.
+
+2016-10-31  Jakub Jelinek  <jakub@redhat.com>
+
+	* dwarf2out.c (dwarf_AT): Handle DW_AT_dwo_name.
+	(use_debug_types): Adjust comment for DWARF5 DW_UT_type units.
+	(new_die): Handle DW_TAG_skeleton_unit like DW_TAG_compile_unit.
+	(is_cu_die, is_unit_die): Likewise.
+	(should_move_die_to_comdat, break_out_comdat_types): Adjust
+	comments for DWARF5 DW_UT_type units.
+	(output_compilation_unit_header): Add UT argument, output
+	start of DWARF5 .debug_info section header.
+	(output_comp_unit): Add dwo_id argument.  Adjust
+	output_compilation_unit_header caller, for DW_UT_split_compile
+	emit dwo_id field, otherwise padding1.  Emit padding2 field.
+	(add_top_level_skeleton_die_attrs): Add DW_AT_dwo_name
+	rather than DW_AT_GNU_dwo_name attr for -gdwarf-5.
+	(output_skeleton_debug_sections): Add dwo_id argument, for
+	-gdwarf-5 emit DWARF 5 DW_UT_skeleton header.
+	(output_comdat_type_unit): For -gdwarf-5 emit .debug_info
+	DW_UT_type or DW_UT_split_type units rather than .debug_types.
+	(dwarf2out_finish): Use DW_TAG_skeleton_unit rather than
+	DW_TAG_compile_unit for skeleton unit die.  Don't add
+	DW_AT_GNU_dwo_id attributes for -gdwarf-5, instead pass checksum
+	address to output_comp_unit and output_skeleton_debug_sections.
+
+	* dwarf2out.c (debug_line_str_section): New variable.
+	(debug_line_str_hash): Likewise.
+	(DEBUG_LINE_STR_SECTION): Define.
+	(set_indirect_string): Handle DW_FORM_line_strp like
+	DW_FORM_strp.
+	(find_string_form): Fix up formatting.
+	(size_of_die): Handle DW_FORM_line_strp like DW_FORM_strp.
+	Fix up indentation.
+	(output_die): Handle DW_FORM_line_strp.
+	(DWARF5_USE_DEBUG_LINE_STR): Define.
+	(output_line_string): New function.
+	(output_file_names): Add -gdwarf-5 support.
+	(output_line_info): Likewise.
+	(init_sections_and_labels): Initialize debug_line_str_section.
+	(output_indirect_string): Change 2nd argument from void *
+	to enum dwarf_form form, compare with form rather than
+	DW_FORM_strp.
+	(output_indirect_strings): Pass DW_FORM_strp to
+	output_indirect_string traversion.
+	(dwarf2out_finish): Output .debug_line_str strings.
+	(dwarf2out_c_finalize): Clear debug_line_str_section and
+	debug_line_str_hash.
+
+2016-10-31  Tom Tromey  <tom@tromey.com>
+
+	PR debug/77315
+	* dwarf2out.c (mem_loc_descriptor): Use DW_OP_form_tls_address.
+	(resolve_args_picking_1): Move DW_OP_form_tls_address case next to
+	DW_OP_GNU_push_tls_address case.
+	(loc_list_from_tree_1): Use DW_OP_form_tls_address.
+
+2016-10-31  Jakub Jelinek  <jakub@redhat.com>
+
+	* dwarf2out.h (struct dw_loc_descr_node): Adjust comment
+	for frame_offset_rel bit.
+	(struct array_descr_info): Add rank field.
+	* dwarf2out.c (struct loc_descr_context): Add placeholder_arg
+	and placeholder_seen fields.
+	(resolve_args_picking_1): Handle also frame_offset_rel DW_OP_dup
+	and DW_OP_over.  Optimize DW_OP_pick 0 into DW_OP_dup and
+	DW_OP_pick 1 into DW_OP_over.
+	(function_to_dwarf_procedure, type_byte_size, field_byte_offset,
+	gen_variant_part): Clear placeholder_{arg,seen}.
+	(loc_list_from_tree_1): Drop const from context argument.
+	Handle integral PLACEHOLDER_EXPR if context->placeholder_arg.
+	(loc_list_for_address_of_addr_expr_of_indirect_ref,
+	loc_list_from_tree, loc_descriptor_from_tree): Drop const from
+	context argument.
+	(add_scalar_info): Drop const from context argument.  Handle
+	context->placeholder_arg.
+	(add_bound_info): Drop const from context argument.
+	(gen_descr_array_type_die): Drop const from ctx variable.
+	Initialize placeholder_arg and placeholder_seen.  Add DW_AT_rank
+	attribute and use a single DW_TAG_generic_subrange instead of
+	7 DW_TAG_subrange_type for assumed rank arrays.
+
+	* dwarf2out.h (enum dw_val_class): Add dw_val_class_loclistsptr.
+	* dwarf2out.c (struct dw_loc_list_struct): Change emitted field
+	from bool to 1-bit uchar bitfield.  Add num_assigned and
+	offset_emitted bitfields.
+	(dw_val_equal_p): Compare v.val_lbl_id rather than v.val_unsigned
+	for dw_val_class_lineptr and dw_val_class_macptr.  Handle
+	dw_val_class_loclistsptr.
+	(new_addr_loc_descr): Fix up formatting.
+	(DEBUG_LOCLISTS_SECTION, DEBUG_DWO_LOCLISTS_SECTION): Define.
+	(add_AT_low_high_pc): Fix up formatting.
+	(add_AT_loclistsptr): New function.
+	(AT_lbl): Allow dw_val_class_loclistsptr.
+	(print_dw_val, attr_checksum, attr_checksum_ordered, same_dw_val_p):
+	Handle dw_val_class_loclistsptr.
+	(loc_list_idx): New variable.
+	(output_loclists_offsets, assign_location_list_indexes): New
+	functions.
+	(size_of_die): For dw_val_class_loc_list -gsplit-dwarf -gdwarf-5
+	add size_of_uleb128 of the index.  Drop never used
+	dwarf_split_debug_info AT_index handling.  Handle
+	dw_val_class_loclistsptr.
+	(value_format): Return DW_FORM_loclistsx for dw_val_class_loc_list
+	if -gsplit-dwarf -gdwarf-5.  Handle dw_val_class_loclistsptr.
+	(output_loc_list): Handle DWARF 5 .debug_loclists* format.
+	(output_loc_list_offset): Handle -gsplit-dwarf -gdwarf-5
+	DW_FORM_loclistx indexes.
+	(output_attr_index_or_value): Fix up formatting.  Don't handle
+	dw_val_class_loc_list here.
+	(output_die): Formatting fixes.  Handle dw_val_class_loclistsptr.
+	For dw_val_class_loc_list call output_loc_list_offset rather than
+	output_attr_index_or_value.
+	(init_sections_and_labels): For -gdwarf-5 use .debug_loclists
+	or .debug_loclists.dwo section name for debug_loc_section.
+	(resolve_addr_in_expr): Formatting fix.
+	(index_location_lists): Likewise.
+	(dwarf2out_finish): If there are any location lists, for
+	-gsplit-dwarf -gdwarf-5 add DW_AT_loclists_base attribute.  Call
+	index_location_lists only if have_location_lists.  Call
+	assign_location_list_indexes for -gsplit-dwarf -gdwarf-5.  Emit
+	.debug_loclists{,.dwo} section header for -gdwarf-5, for -gdwarf-5
+	-gsplit-dwarf also emit offset table.
+
+	* dwarf2out.c (DWARF_LARGEST_DATA_FORM_BITS): Define.
+	(size_of_die, value_format, output_die): Use
+	DW_FORM_data16 for 128-bit dw_val_class_const_double or
+	dw_val_class_wide_int.
+
+	* dwarf2out.c (dwarf_op): Renamed to ...
+	(dwarf_OP): ... this.
+	(convert_descriptor_to_mode, scompare_loc_descriptor,
+	minmax_loc_descriptor, typed_binop, mem_loc_descriptor,
+	implicit_ptr_descriptor, optimize_one_addr_into_implicit_ptr): Adjust
+	callers.
+	(dwarf_AT, dwarf_TAG): New functions.
+	(check_die): Disallow DW_AT_call_all_calls next to
+	DW_AT_GNU_all_call_sites.
+	(gen_call_site_die): Use dwarf_TAG and dwarf_AT with DWARF 5 tag
+	and attributes instead of the corresponding GNU tag and attributes.
+	(gen_subprogram_die): Likewise.  Emit call site information even
+	for -gdwarf-5 -gstrict-dwarf.  Replace DW_AT_GNU_defaulted with
+	DW_AT_defaulted in comment.
+	(resolve_addr): Handle DW_AT_call_origin attribute on
+	DW_TAG_call_site DIE like DW_AT_abstract_origin on
+	DW_TAG_GNU_call_site DIE.
+
+	* dwarf2out.c (dwarf_op): New function.
+	(size_of_loc_descr): Handle DW_OP_{implicit_pointer,entry_value},
+	DW_OP_{const,regval,deref}_type and DW_OP_{convert,reinterpret}.
+	(output_loc_operands, output_loc_operands_raw): Likewise.
+	(resolve_args_picking_1, prune_unused_types_walk_loc_descr,
+	mark_base_types, hash_loc_operands, compare_loc_operands): Likewise.
+	(resolve_addr_in_expr): Likewise.  Only punt for !dwarf_strict
+	if dwarf_version < 5.
+	(convert_descriptor_to_mode): Use dwarf_op (DW_OP_xxx) instead of
+	DW_OP_GNU_xxx.
+	(scompare_loc_descriptor, ucompare_loc_descriptor,
+	minmax_loc_descriptor, typed_binop, mem_loc_descriptor,
+	implicit_ptr_descriptor, optimize_one_addr_into_implicit_ptr,
+	optimize_location_into_implicit_ptr): Likewise.  Only punt for
+	!dwarf_strict if dwarf_version < 5.
+	(string_cst_pool_decl): Adjust comment.
+	(non_dwarf_expression): Handle DW_OP_implicit_pointer.
+
+	* dwarf2out.h (enum dw_val_class): Add dw_val_class_const_implicit,
+	dw_val_class_unsigned_const_implicit and dw_val_class_file_implicit.
+	(struct dw_val_node): Add val_file_implicit field.
+	* dwarf2out.c (dw_val_equal_p, print_dw_val, attr_checksum,
+	attr_checksum_ordered, same_dw_val_p, size_of_die, value_format,
+	output_die): Handle dw_val_class_const_implicit,
+	dw_val_class_unsigned_const_implicit and dw_val_class_file_implicit.
+	(abbrev_die_table): Change into va_gc vec.
+	(abbrev_die_table_allocated, abbrev_die_table_in_use,
+	ABBREV_DIE_TABLE_INCREMENT): Remove.
+	(AT_int, AT_unsigned, AT_file): Allow dw_val_class_*_implicit.
+	(abbrev_opt_start, abbrev_usage_count, sorted_abbrev_dies): New
+	variables.
+	(build_abbrev_table): Adjust for abbrev_die_table being a va_gc vec.
+	If abbrev_opt_start, fill in abbrev_usage_count and abbrev_dies
+	vectors.
+	(die_abbrev_cmp, optimize_implicit_const, optimize_abbrev_table): New
+	functions.
+	(output_die_abbrevs): For DW_FORM_implicit_const emit sleb128 with
+	the implicit value.
+	(output_abbrev_section): Adjust for abbrev_die_table being a va_gc
+	vec.
+	(output_comp_unit): Initialize abbrev_opt_start if emitting the main
+	unit.  Call optimize_abbrev_table.
+	(dwarf2out_init, dwarf2out_finish, dwarf2out_c_finalize): Adjust for
+	abbrev_die_table being a va_gc vec.
+
+	PR tree-optimization/77860
+	* tree-ssa-reassoc.c (eliminate_using_constants): Handle
+	also integral complex and vector constants.
+
+	* dwarf2out.c (dwarf2out_define, dwarf2out_undef, output_macinfo_op,
+	optimize_macinfo_range, save_macinfo_strings): Replace
+	DW_MACRO_GNU_* constants with corresponding DW_MACRO_* constants.
+	(output_macinfo): Likewise.  Emit .debug_macro* rather than
+	.debug_macinfo* even for -gstrict-dwarf -gdwarf-5.
+	(init_sections_and_labels): Use .debug_macro* labels rather than
+	.debug_macinfo* labels even for -gstrict-dwarf -gdwarf-5.
+	(dwarf2out_finish): Use DW_AT_macros instead of DW_AT_macro_info
+	or DW_AT_GNU_macros for -gdwarf-5.
+
+2016-10-31  Waldemar Brodkorb  <wbx@openadk.org>
+
+	* config/microblaze/linux.h (UCLIBC_DYNAMIC_LINKER): Define.
+
+2016-09-11  Le-Chun Wu  <lcwu@google.com>
+	    Mark Wielaard  <mjw@redhat.com>
+
+	* common.opt (Wshadow=global): New option. Default for -Wshadow.
+	(Wshadow=local): New option.
+	(Wshadow-local): Hidden alias for -Wshadow=local.
+	(Wshadow=compatible-local): New option.
+	(Wshadow-compatible-local): Hidden alias for
+	-Wshadow=compatible-local.
+	* doc/invoke.texi: Document Wshadow=global, Wshadow=local and
+	Wshadow=compatible-local.
+
+2016-10-31  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-vect-slp.c (vect_get_and_check_slp_defs): New parameter SWAP.
+	Check slp defs for COND_EXPR by swapping/inverting operands if the
+	new parameter SWAP indicates so.
+	(vect_build_slp_tree_1): New parameter SWAP.  Check COND_EXPR stmt
+	is isomorphic to the first stmt via swapping/inverting.  Store swap
+	information in the new parameter SWAP.
+	(vect_build_slp_tree): New local array SWAP and pass it to function
+	vect_build_slp_tree_1.  Cleanup result handling code for function
+	call to vect_get_and_check_slp_defs.  Skip operand swapping if the
+	order of operands has been fixed as indicated by SWAP[i].
+
+2016-10-31  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-vect-data-refs.c (vect_slp_analyze_node_dependences): Skip
+	unnecessary data dependence check after visited store stmt.
+
+2016-10-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR tree-optimization/71915
+	PR tree-optimization/71490
+	* gimple-ssa-strength-reduction.c (struct slsr_cand_d): Add
+	stride_type field.
+	(find_basis_for_base_expr): Require stride types to match when
+	seeking a basis.
+	(alloc_cand_and_find_basis): Record the stride type.
+	(slsr_process_phi): Pass stride type to alloc_cand_and_find_basis.
+	(backtrace_base_for_ref): Pass types to legal_cast_p_1 rather than
+	the expressions having those types.
+	(slsr_process_ref): Pass stride type to alloc_cand_and_find_basis.
+	(create_mul_ssa_cand): Likewise.
+	(create_mul_imm_cand): Likewise.
+	(create_add_ssa_cand): Likewise.
+	(create_add_imm_cand): Likewise.
+	(legal_cast_p_1): Change interface to accept types rather than the
+	expressions having those types.
+	(legal_cast_p): Pass types to legal_cast_p_1.
+	(slsr_process_cast): Pass stride type to
+	alloc_cand_and_find_basis.
+	(slsr_process_copy): Likewise.
+	(dump_candidate): Display stride type when a cast exists.
+	(create_add_on_incoming_edge): Introduce a cast when necessary for
+	the stride type.
+	(analyze_increments): Change the code checking for invalid casts
+	to rely on the stride type, and update the documentation and
+	example.  Change the code checking for pointer multiplies to rely
+	on the stride type.
+	(insert_initializers): Introduce a cast when necessary for the
+	stride type.  Use the stride type for the type of the initializer.
+
+2016-10-30  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	* config/arm/arm.c (arm_const_not_ok_for_debug_p): Use VAR_P.
+
+2016-10-29  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/77919
+	* expr.c (expand_expr_real_1) <normal_inner_ref>: Only avoid forcing
+	into memory if both modes are complex and their inner modes have the
+	same precision.  If the two modes are different complex modes, convert
+	each part separately and generate a new CONCAT.
+
+2016-10-29  John David Anglin  <danglin@gcc.gnu.org>
+
+	* config/pa/pa64-hpux.h (FINI_SECTION_ASM_OP): Define to null string.
+
+2016-10-29  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/78148
+	* gimple-ssa-store-merging.c
+	(imm_store_chain_info::output_merged_store): Use build_aligned_type
+	instead of SET_TYPE_ALIGN on shared integral type.
+
+2016-10-29  John David Anglin  <danglin@gcc.gnu.org>
+
+	* config/pa/pa.h (BIGGEST_ALIGNMENT): Adjust comment.
+	(MALLOC_ABI_ALIGNMENT): Define to 128 on all targets except SOM.
+	Adjust comment.
+
+2016-10-28  Jeff Law  <law@redhat.com>
+
+	* config/vax/vax.h (REGNO_REG_CLASS): Access the REGNO argument.
+	* config/spu/spu.h (REGNO_REG_CLASS): Likewise.
+
+2016-10-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* doc/sourcebuild.texi (Ada Tests): Remove mention of gcc chapter.
+
+2016-10-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* target.def (min_arithmetic_precision): New hook.
+	* doc/tm.texi.in (Misc): Add TARGET_MIN_ARITHMETIC_PRECISION.
+	* doc/tm.texi: Regenerate.
+	* internal-fn.c (expand_arith_overflow): Adjust handling of target
+	dependent support by means of TARGET_MIN_ARITHMETIC_PRECISION.
+	* targhooks.c (default_min_arithmetic_precision): New function.
+	* targhooks.h (default_min_arithmetic_precision): Declare.
+	* config/sparc/sparc.c (TARGET_MIN_ARITHMETIC_PRECISION): Define.
+	(sparc_min_arithmetic_precision): New function.
+
+2016-10-28  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR target/71847
+	* combine.c (change_zero_ext): Handle zero_ext of hard registers.
+	Swap commutative operands in new RTL if needed.  Handle zero_ext
+	in the set_dest.
+	(recog_for_combine): Pass *pnewpat to change_zero_ext instead of
+	PATTERN (insn).
+
+2016-10-28  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+	    Kugan Vivekanandarajah  <kuganv@linaro.org>
+	    Jim Wilson  <jim.wilson@linaro.org>
+
+	PR tree-optimization/43721
+	* target.def: New hook expand_divmod_libfunc.
+	* doc/tm.texi.in: Add hook for TARGET_EXPAND_DIVMOD_LIBFUNC.
+	* doc/tm.texi: Regenerate.
+	* internal-fn.def: Add new entry for DIVMOD ifn.
+	* internal-fn.c (expand_DIVMOD): New.
+	* tree-ssa-math-opts.c: Include optabs-libfuncs.h, tree-eh.h,
+	targhooks.h.
+	(widen_mul_stats): Add new field divmod_calls_inserted.
+	(target_supports_divmod_p): New.
+	(divmod_candidate_p): Likewise.
+	(convert_to_divmod): Likewise.
+	(pass_optimize_widening_mul::execute): Call calculate_dominance_info,
+	renumber_gimple_stmt_uids at beginning of function. Call
+	convert_to_divmod and record stats for divmod.
+	* config/arm/arm.c (arm_expand_divmod_libfunc): Override hook
+	TARGET_EXPAND_DIVMOD_LIBFUNC.
+	* doc/sourcebuild.texi: Add items for arm_divmod_simode, divmod,
+	divmod_simode.
+
+2016-10-28  Eric Botcazou  <ebotcazou@adacore.com>
+	    Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* dojump.c (do_jump_by_parts_greater_rtx): Invert probability when
+	swapping the arms of the branch.
+	* internal-fn.c (expand_addsub_overflow): Use a straight-line code
+	sequence for the generic signed-signed-signed case.
+
+2016-10-28  Jeff Law  <law@redhat.com>
+
+	* config/bfin/bfin.c (bfin_legitimate_address_p): Add missing
+	fallthru comment.
+	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Likewise.
+
+2016-10-28  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/78029
+	* function.c (prologue_contains, epilogue_contains): New functions.
+	(record_prologue_seq, record_epilogue_seq): New functions.
+	* function.h (prologue_contains, epilogue_contains,
+	record_prologue_seq, record_epilogue_seq): New declarations.
+	* sched-deps.c (sched_analyze_insn): Make dependencies to prevent
+	mixing prologue and epilogue insns.
+	(init_deps): Initialize the new fields in struct deps_desc.
+	* sched-int.h (struct deps_desc): New fields last_prologue,
+	last_epilogue, and last_logue_was_epilogue.
+	* shrink-wrap.c (emit_common_heads_for_components): Record all
+	emitted prologue and epilogue insns.
+	(emit_common_tails_for_components): Ditto.
+	(insert_prologue_epilogue_for_components): Ditto.
+
+2016-10-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR middle-end/22141
+	* Makefile.in (OBJS): Add gimple-ssa-store-merging.o.
+	* common.opt (fstore-merging): New Optimization option.
+	* opts.c (default_options_table): Add entry for
+	OPT_ftree_store_merging.
+	* fold-const.h (can_native_encode_type_p): Declare prototype.
+	* fold-const.c (can_native_encode_type_p): Define.
+	* params.def (PARAM_STORE_MERGING_ALLOW_UNALIGNED): Define.
+	(PARAM_MAX_STORES_TO_MERGE): Likewise.
+	* timevar.def (TV_GIMPLE_STORE_MERGING): New timevar.
+	* passes.def: Insert pass_tree_store_merging.
+	* tree-pass.h (make_pass_store_merging): Declare extern
+	prototype.
+	* gimple-ssa-store-merging.c: New file.
+	* doc/invoke.texi (Optimization Options): Document
+	-fstore-merging.
+	(--param documentation): Document store-merging-allow-unaligned
+	and max-stores-to-merge.
+
+2016-10-28  Will Schmidt <will_schmidt@vnet.ibm.com>
+
+	PR middle-end/72747
+	* gimplify.c (gimplify_init_constructor): Move emit of constructor
+	assignment to earlier in the if/else logic.
+
+2016-10-28  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/78128
+	PR middle-end/71002
+	* fold-const.c (make_bit_field_ref): Only adjust alias set
+	when the original alias set was zero.
+
+2016-10-28  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.c (s390_adjust_loop_scan_osc): New function.
+	(s390_adjust_loops): New function.
+	(s390_reorg): Invoke s390_adjust_loops.
+	* config/s390/s390.md (UNSPEC_OSC_BREAK): New constant.
+	("osc_break"): New insn definition.
+
+2016-10-28  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.opt: Support alternate cpu level naming (archXX).
+	* config.gcc: Support alternate archXX cpu levels with
+	--with-arch= and --with-tune=.
+	* config/s390/linux.h: Translate new archXX cpu levels to the
+	original names when calling GAS.
+	* config/s390/tpf.h: Likewise.
+	* doc/invoke.texi: Document the alternate cpu level names.
+
+2016-10-28  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/77919
+	* expr.c (expand_expr_real_1) <normal_inner_ref>: Force CONCAT into
+	MEM if mode1 is not a complex mode.
+
+	PR rtl-optimization/78132
+	* ree.c (combine_reaching_defs): Give up if copy_needed and
+	!HARD_REGNO_MODE_OK (REGNO (src_reg), dst_mode).
+
+2016-10-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/sparc/sparc.md (<*vlop:code><VL:mode>3): Remove leading '*'.
+
+2016-10-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/constraints.md (wH constraint): Add new
+	constraints for allowing 32-bit integers (and eventually 8/16-bit
+	integers) into the vector registers.
+	(wI constraint): Likewise.
+	(wJ constraint): Likewise.
+	(wK constraint): Likewise.
+	* config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
+	-mvsx-small-integer as a default option for ISA 2.07
+	(i.e. power8).
+	(POWERPC_MASKS): Likewise.
+	* config/rs6000/rs6000.opt (-mvsx-small-integer): Add new debug
+	switch to turn off small integer support in vector registers.
+	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Eliminate
+	test for -mupper-regs-di, since it is already done with the
+	reg_add[mode].scalar_in_vsx_p.  Add support for the switch
+	-mvsx-small-integer.
+	(rs6000_debug_reg_global): Add support for wH, wI, wJ, and wK
+	constraints.
+	(rs6000_setup_reg_addr_masks): Likewise.
+	(rs6000_init_hard_regno_mode_ok): Likewise.
+	(rs6000_option_override_internal): Add consistency checks for
+	-mvsx-small-integer.
+	(rs6000_secondary_reload_simple_move): SImode is a simple move if
+	-mvsx-small-integer.
+	(rs6000_secondary_reload): Use std::swap.
+	(rs6000_preferred_reload_class): Don't prefer FLOAT_REGS over
+	VSX_REGS for small integers in vector registers, since there is no
+	D-FORM address mode for such types.
+	(rs6000_register_move_cost): Use FIRST_FPR_REGNO instead of 32.
+	(rs6000_opt_masks): Add -mvsx-small-integer.
+	* config/rs6000/vsx.md (VSINT_84): Add SImode for small integer
+	support.
+	(VSX_EXTRACT_I2): Clone VSX_EXTRACT_I, but drop V4SI since SImode
+	extracts can be done on ISA 2.07.
+	(vsx_extract_<mode>): Add support for small integers in vsx
+	registers.
+	(vsx_extract_<mode>_p9): Use 'v' instead of VSX_EX, since we no
+	longer support V4SImode in this pattern.
+	(vsx_extract_si): New insn to support extraction of SImode in ISA
+	2.07 using either xxextractuw or vspltw.
+	(vsx_extract_<mode>_p8): Use 'v' instead of VSX_EX, since we no
+	longer support V4SImode in this pattern.
+	* config/rs6000/rs6000.h (enum rs6000_reg_class_enum): Add wH, wI,
+	wJ, and wK constraints.
+	* config/rs6000/rs6000.md (f32_sv): Use correct instruction for
+	storing SDmode with VSX instructions.
+	(zero_extendsi<mode>2): Reorder pattern, so RLDICL comes after the
+	GPR load and before the FPR and VSX loads.  Remove ??, ! from the
+	constraints.  Add MFVSRWZ and XXEXTRACTUW instructions to support
+	small integers in vector registers.
+	(extendsi<mode>2): Reorder pattern, so EXTSW comes after the GPR
+	load and before the FPR and VSX loads.  Remove ??, ! from the
+	constraints.  Add VEXTSW2D support for small integers in vector
+	registers.
+	(lfiwax): Remove ! constraint.  Add VEXTSW2D support for small
+	integers in vector registers.
+	(floatsi<mode>2_lfiwax): If -mvsx-small-integer issue a normal
+	move instead of using an UNSPEC.
+	(lfiwzx): Remove ! constraint.  Add XXEXTRACTUW support for small
+	integers in vector registers.
+	(floatunssi<mode>2_lfiwzx): If -mvsx-small-integer issue a normal
+	move instead of using an UNSPEC.
+	(movsi_internal1): Add support for -mvsx-small-integer.  Align
+	columns so that it is more readable.
+	(SImode splitter for ISA 3.0 constants): Add splitter for
+	-128..127 constants that can easily be constructed on ISA 3.0.
+	* doc/md.texi (PowerPC Constraints): Document wH, wI, wJ, and wK
+	constraints.
+
+2016-10-27  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/78025
+	* omp-simd-clone.c (simd_clone_adjust): Handle noreturn declare simd
+	functions.
+
+2016-10-27  Aldy Hernandez  <aldyh@redhat.com>
+
+	* builtins.c (expand_builtin_nonlocal_goto): Avoid evaluating
+	PIC_OFFSET_TABLE_REGNUM twice.
+
+2016-10-27  Bin Cheng  <bin.cheng@arm.com>
+
+	* match.pd ((convert (op:s (convert@2 @0) (convert?@3 @1)))): Add
+	support for constant operand for OP.
+
+2016-10-27  Jakub Jelinek  <jakub@redhat.com>
+
+	* dwarf2out.c (gen_member_die): Only reparent_child instead of
+	splice_child_die if child doesn't have DW_AT_specification attribute.
+
+2016-10-27  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm.h (TARGET_HAVE_LDREX): Define for ARMv8-M Baseline.
+	(TARGET_HAVE_LDREXBH): Likewise.
+	(TARGET_HAVE_LDACQ): Likewise.
+
+2016-10-27  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm.c (arm_split_atomic_op): Add function comment.  Add
+	logic to to decide whether to copy over old value to register for new
+	value.
+	* config/arm/sync.md: Add comments explaning why mode and code
+	attribute are not defined in iterators.md
+	(thumb1_atomic_op_str): New code attribute.
+	(thumb1_atomic_newop_str): Likewise.
+	(thumb1_atomic_fetch_op_str): Likewise.
+	(thumb1_atomic_fetch_newop_str): Likewise.
+	(thumb1_atomic_fetch_oldop_str): Likewise.
+	(atomic_exchange<mode>): Add new ARMv8-M Baseline only alternatives to
+	mirror the more restrictive constraints of the Thumb-1 insns after
+	split compared to Thumb-2 counterpart insns.
+	(atomic_<sync_optab><mode>): Likewise.  Add comment to keep constraints
+	in sync with non atomic version.
+	(atomic_nand<mode>): Likewise.
+	(atomic_fetch_<sync_optab><mode>): Likewise.
+	(atomic_fetch_nand<mode>): Likewise.
+	(atomic_<sync_optab>_fetch<mode>): Likewise.
+	(atomic_nand_fetch<mode>): Likewise.
+	* config/arm/thumb1.md (thumb1_addsi3): Add comment to keep contraint
+	in sync with atomic version.
+	(thumb1_subsi3_insn): Likewise.
+	(thumb1_andsi3_insn): Likewise.
+	(thumb1_iorsi3_insn): Likewise.
+	(thumb1_xorsi3_insn): Likewise.
+
+2016-10-27  Nick Clifton  <nickc@redhat.com>
+
+	* plugin.c (register_plugin_info): Produce an error message if the
+	plugin is not found in the hash table.
+
+2016-10-27  Bin Cheng  <bin.cheng@arm.com>
+
+	* match.pd ((convert1 (minmax ((convert2 (x) c)))) -> minmax (x c)):
+	New pattern.
+
+2016-10-26  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+	PR target/78056
+	* config/rs6000/rs6000.c (spe_init_builtins): Modify loops to not
+	define builtin functions from the bdesc_spe_predicates or
+	bdesc_spe_evsel arrays if the builtin mask is not compatible with
+	the current compiler configuration.
+	(paired_init_builtins): Modify loop to not define define builtin
+	functions from the bdesc_paried_preds array if the builtin mask is
+	not compatible with the current compiler configuration.
+	(altivec_init_builtins): Modify loops to not define the
+	__builtin_altivec_stxvl function nor the builtin functions from
+	the bdesc_dst or bdesc_altivec_preds, or bdesc_abs arrays if the
+	builtin mask is not compatible with the current compiler
+	configuration.
+
+2016-10-26  Jeff Law  <law@redhat.com>
+
+	* config/sh/sh.c (output_branch): Add missing fallthru comments.
+	(gen_shl_and): Likewise.
+	* config/sh/sh.md (movsicc): Add missing fallthru comments.
+
+	* config/mips/mips.c (mips16_constant_cost): Add missing
+	fallthru comments.
+	(mips16_build_call_stub): Increase buffer size.  Adjust
+	fallthru comment.
+
+2016-10-26  David Malcolm  <dmalcolm@redhat.com>
+
+	* print-rtl.c (rtx_writer::print_rtx_operand_code_u): Print
+	INSN_UIDs for all insns in compact mode.
+	(rtx_writer::print_rtx): Likewise.
+	* print-rtl.h (rtx_writer::flag_compact): Update comment.
+	* rtl-tests.c (selftest::test_dumping_insns): Update expected
+	output to include INSN_UID.
+	(selftest::test_uncond_jump): Likewise.
+
+2016-10-26  Pat Haugen  <pthaugen@us.ibm.com>
+
+	* haifa-sched.c (call_used_regs_num): Rename to...
+	(call_saved_regs_num): ...this.
+	(fixed_regs_num): New variable.
+	(sched_pressure_start_bb): Subtract out fixed_regs. Scale call_saved
+	regs not call_used.
+	(alloc_global_sched_pressure_data): Compute call_saved and fixed regs.
+
+2016-10-26  David Malcolm  <dmalcolm@redhat.com>
+
+	* print-rtl-function.c (print_rtx_function): Rewrite in terms of
+	class rtx_writer.
+	* print-rtl.c (outfile): Delete global.
+	(sawclose): Likewise.
+	(indent): Likewise.
+	(in_call_function_usage): Likewise.
+	(flag_compact): Likewise.
+	(flag_simple): Likewise.
+	(rtx_writer::rtx_writer): New ctor.
+	(print_rtx_operand_code_0): Convert to...
+	(rtx_writer::print_rtx_operand_code_0): ...this.
+	(print_rtx_operand_code_e): Convert to...
+	(rtx_writer::print_rtx_operand_code_e): ...this.
+	(print_rtx_operand_codes_E_and_V): Convert to...
+	(rtx_writer::print_rtx_operand_codes_E_and_V): ...this.
+	(print_rtx_operand_code_i): Convert to...
+	(rtx_writer::print_rtx_operand_code_i): ...this.
+	(print_rtx_operand_code_r): Convert to...
+	(rtx_writer::print_rtx_operand_code_r): ...this.
+	(print_rtx_operand_code_u): Convert to...
+	(rtx_writer::print_rtx_operand_code_u): ...this.
+	(print_rtx_operand): Convert to...
+	(rtx_writer::print_rtx_operand): ...this.
+	(print_rtx): Convert to...
+	(rtx_writer::print_rtx): ...this.
+	(print_inline_rtx): Rewrite in terms of class rtx_writer.
+	(debug_rtx): Likewise.
+	(print_rtl): Convert to...
+	(rtx_writer::print_rtl): ...this.
+	(print_rtl): Reimplement in terms of class rtx_writer.
+	(print_rtl_single): Rewrite in terms of class rtx_writer.
+	(print_rtl_single_with_indent): Convert to..
+	(rtx_writer::print_rtl_single_with_indent): ...this.
+	(print_simple_rtl): Rewrite in terms of class rtx_writer.
+	* print-rtl.h (flag_compact): Delete decl.
+	(class rtx_writer): New class.
+	* rtl-tests.c (selftest::assert_rtl_dump_eq): Rewrite in terms of
+	class rtx_writer.
+
+2016-10-26  Jeff Law  <law@redhat.com>
+
+	* config/microblaze/microblaze.c (tls_mentioned_p): Avoid
+	fallthru.
+
+	* config/arc/arc.c (acr_print_operand): Adjust fallthru comment.
+	(check_if_valid_sleep_operand): Add missing fallthru comment.
+	(arc_register_move_cost): Increase buffer size.
+	* config/arc/arc.md (cbranch4si_scratch): Add missing fallthru
+	comment.
+	* config/arc/predicates.md (move_str_operand): Avoid fallthru.
+
+	* config/cr16/cr16.c (cr16_print_operand): Add missing fallthru
+	comment.  Add gcc_unreachable for path that should never happen.
+
+	* config/epiphany/epiphany.c (epiphany_print_operand): Adjust
+	fallthru comment.
+
+2016-10-26  Jakub Jelinek  <jakub@redhat.com>
+	    Martin Liska  <mliska@suse.cz>
+
+	PR fortran/77973
+	* gimplify.c (gimplify_adjust_omp_clauses_1): For all added map
+	clauses with OMP_CLAUSE_SIZE being a decl, call omp_notice_variable
+	on outer context if any.
+
+2016-10-26  Jakub Jelinek  <jakub@redhat.com>
+
+	* gen-pass-instances.awk (adjust_linenos): Increment pass_lines[p]
+	by increment rather than double it.
+	(insert_remove_pass): Strip leading whitespace from args[3].  Don't
+	emit a space before args[4].
+	(END): Don't emit a space before with_arg.
+
+2016-10-26  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/sync.md (atomic_compare_and_swap<mode>_1): Add new ARMv8-M
+	Baseline only alternatives to (i) hold store atomic success value in a
+	return register rather than a scratch register, (ii) use a low register
+	for it and to (iii) ensure the cbranchsi insn generated by the split
+	respect the constraints of Thumb-1 cbranchsi4_insn and
+	cbranchsi4_scratch.
+	* config/arm/thumb1.md (cbranchsi4_insn): Add comment to indicate
+	constraints must match those in atomic_compare_and_swap.
+	(cbranchsi4_scratch): Likewise.
+
+2016-10-26  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm.c (arm_expand_compare_and_swap): Add new bdst local
+	variable.  Add the new parameter to the insn generator.  Set that
+	parameter to be CC flag for 32-bit targets, bval otherwise.  Set the
+	return value from the negation of that parameter for Thumb-1, keeping
+	the logic unchanged otherwise except for using bdst as the destination
+	register of the compare_and_swap insn.
+	(arm_split_compare_and_swap): Add explanation about how is the value
+	returned to the function comment.  Rename scratch variable to
+	neg_bval.  Adapt initialization of variables holding operands to the
+	new operand numbers.  Use return register to hold result of store
+	exclusive for Thumb-1, scratch register otherwise.  Construct the
+	appropriate cbranch for Thumb-1 targets, keeping the logic unchanged
+	for 32-bit targets.  Guard Z flag setting to restrict to 32bit targets.
+	Use gen_cbranchsi4 rather than hand-written conditional branch to loop
+	for strongly ordered compare_and_swap.
+	* config/arm/predicates.md (cc_register_operand): New predicate.
+	* config/arm/sync.md (atomic_compare_and_swap<mode>_1): Use a
+	match_operand with the new predicate to accept either the CC flag or a
+	destination register for the boolean return value, restricting it to
+	CC flag only via constraint.  Adapt operand numbers accordingly.
+
+2016-10-26  Jeff Law  <law@redhat.com>
+
+	* config/fr30/fr30.c (fr30_print_operand): Adjust fallthru comment.
+
+	* config/frv/frv.c (comparison_string): Do not fall through after
+	an error.
+
+	* config/iq2000/iq2000.c (iq2000_function_arg): Adjust fallthru
+	comment.
+	(expand_one_builtin): Add missing break.
+
+	* config/m32c/m32c.c (encode_pattern_1): Add fallthru comment.
+	(m32c_legitimate_address_p): Likewise.
+
+	* config/m32r/m32r.c (m32r_print_operand): Adjust fallthru comment.
+
+	* config/mcore/mcore.c (mcore_gen_compare): Adjust fallthru comments.
+
+	* config/microblaze/microblaze.c (microblaze_function_arg): Adjust
+	fallthru comment.
+
+	* config/msp430/msp430.c (msp430_legitimate_address_p): Adjust
+	fallthru comment.
+
+	* config/nios2/nios2.c (nios2_rtx_costs): Avoid fallthru.
+
+	* config/rl78/rl78.c (rl78_calculate_death_notes): Add fallthru
+	comment.
+	(rl78_asm_ctor_dtor): Increase buffer size.
+
+	* config/stormy16/stormy16.c (xstormy16_asm_output_destrutor): Increase
+	buffer size.
+	(xstormy16_asm_output_constructor): Likewise.
+
+	* config/pa/pa.c (pa_asm_output_mi_thunk): Increase buffer
+	size.
+
+	* config/h8300/h8300.c (h8300_print_operand): Adjust FALLTHRU
+	comment to silence warning.
+
+	* config/spu/spu.c (spu_sched_reorder): Add missing fallthru comment.
+	(spu_legitimate_address_p): Fix logic error and add missing fallthru
+	comment.
+
+2016-10-26  Michael Matz  <matz@suse.de>
+
+	PR tree-optimization/78060
+	PR tree-optimization/78061
+	PR tree-optimization/78088
+	* tree-ssa-loop-split.c (easy_exit_values): New function.
+	(tree_ssa_split_loops): Use it.
+	(compute_new_first_bound): Change order of operations,
+	fix invalid use of types.
+
+2016-10-26  Georg-Johann Lay  <avr@gjlay.de>
+
+	gen-pass-instances.awk is sensitive to the order in which
+	passes are added; passes that appear later have to be added first.
+
+	PR target/71676
+	PR target/71678
+	* config/avr/avr-passes.def: Swap order of directives for
+	gen-pass-instances.awk.
+
+2016-10-25  Jeff Law  <law@redhat.com>
+
+	* config/vax/vax.c (vad_address_cost_1): Add missing FALLTHRU comment.
+	(vax_notice_update_cc): Likewise.
+
+2016-10-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config.gcc (sparc*-*-solaris2*): Adjust.
+	(sparc64-*-linux*): Likewise.
+	* config/sparc/default-64.h: Rename to...
+	* config/sparc/default64.h: ...this.
+	* config/sparc/sparc.c (sparc_option_override): Replace TARGET_64BIT
+	with TARGET_ARCH64.
+	(sparc_mangle_type): Replace !TARGET_64BIT with TARGET_ARCH32.
+	* config/sparc/sparc.h: Minor tweaks.
+	* config/sparc/sparc.md: Replace !TARGET_64BIT and !TARGET_ARCH64 with
+	TARGET_ARCH32 throughout.  Minor various tweaks throughout.
+
+2016-10-25  David Malcolm  <dmalcolm@redhat.com>
+
+	* input.c (fcache::file_patch): Add comment about lifetime.
+	(selftest::cpp_reader_ptr): New class.
+	(selftest::lexer_test): Convert m_parser from cpp_reader *
+	to a cpp_reader_ptr, and move m_tempfile to after it.
+	(selftest::lexer_test::lexer_test): Update for above reordering.
+	(lexer_test::~lexer_test): Move cleanup of m_parser to
+	cpp_reader_ptr's dtor.
+
+2016-10-25  David Malcolm  <dmalcolm@redhat.com>
+
+	* toplev.c (toplev::main): Remove call to
+	location_adhoc_data_fini.
+
+2016-10-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree.h (wi::fits_to_tree_p): Accept only 0 and 1 for boolean types.
+	* tree.c (int_fits_type_p): Likewise.  Adjust head comment.
+
+2016-10-25  David Malcolm  <dmalcolm@redhat.com>
+
+	* ggc-tests.c (forcibly_ggc_collect): Rename to...
+	(selftest::forcibly_ggc_collect): ...this, and remove "static".
+	(test_basic_struct): Update for above renaming.
+	(test_length): Likewise.
+	(test_union): Likewise.
+	(test_finalization): Likewise.
+	(test_deletable_global): Likewise.
+	(test_inheritance): Likewise.
+	(test_chain_next): Likewise.
+	(test_user_struct): Likewise.
+	(test_tree_marking): Likewise.
+	* selftest-run-tests.c (selftest::run_tests): Call
+	selftest::forcibly_ggc_collect at the end of the selftests.
+	* selftest.h (selftest::forcibly_ggc_collect): New decl.
+
+2016-10-25  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/78102
+	* optabs.def (vcondeq_optab, vec_cmpeq_optab): New optabs.
+	* optabs.c (expand_vec_cond_expr): For comparison codes
+	EQ_EXPR and NE_EXPR, attempt vcondeq_optab as fallback.
+	(expand_vec_cmp_expr): For comparison codes
+	EQ_EXPR and NE_EXPR, attempt vec_cmpeq_optab as fallback.
+	* optabs-tree.h (expand_vec_cmp_expr_p, expand_vec_cond_expr_p):
+	Add enum tree_code argument.
+	* optabs-query.h (get_vec_cmp_eq_icode, get_vcond_eq_icode): New
+	inline functions.
+	* optabs-tree.c (expand_vec_cmp_expr_p): Add CODE argument.  For
+	CODE EQ_EXPR or NE_EXPR, attempt to use vec_cmpeq_optab as
+	fallback.
+	(expand_vec_cond_expr_p): Add CODE argument.  For CODE EQ_EXPR or
+	NE_EXPR, attempt to use vcondeq_optab as fallback.
+	* tree-vect-generic.c (expand_vector_comparison,
+	expand_vector_divmod, expand_vector_condition): Adjust
+	expand_vec_cmp_expr_p and expand_vec_cond_expr_p callers.
+	* tree-vect-stmts.c (vectorizable_condition,
+	vectorizable_comparison): Likewise.
+	* tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern,
+	check_bool_pattern, search_type_for_mask_1): Likewise.
+	* expr.c (do_store_flag): Likewise.
+	* doc/md.texi (@code{vec_cmpeq@var{m}@var{n}},
+	@code{vcondeq@var{m}@var{n}}): Document.
+	* config/i386/sse.md (vec_cmpeqv2div2di, vcondeq<VI8F_128:mode>v2di):
+	New expanders.
+
+2016-10-25  Jeff Law  <law@redhat.com>
+
+	* config/v850/v850.c (v850_handle_data_area_attribute): Fix fallthru
+	comment.
+	(v850_output_aligned_bss): Add missing break.
+
+	* config/m68k/m68k.c (m68k_get_reloc_decoration): Add gcc_unreachable.
+
+2016-10-25  Martin Liska  <mliska@suse.cz>
+
+	PR sanitizer/78106
+	* sanopt.c (imm_dom_path_with_freeing_call): Handle gasm
+	statements as they can also contain possibly a freeing call.
+
+2016-10-25  H.J. Lu  <hongjiu.lu@intel.com>
+	    Martin Liska  <mliska@suse.cz>
+
+	PR ipa/78099
+	* common.opt: Mark flag_ipa_icf_variables as Optimization flag.
+	* ipa-icf.c (sem_function::get_hash): Add target optimization
+	node to hash.
+
+2016-10-25  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	PR target/78041
+	* config/arm/neon.md (ashldi3_neon): Add "r 0 i" and "&r r i" variants.
+	Remove partial overlap check for shift by 1.
+	(ashldi3_neon): Likewise.
+
+2016-10-25  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/constraints.md (Q constraint): Document its use for
+	Thumb-1.
+	(Pf constraint): New constraint for relaxed, consume or relaxed memory
+	models.
+	* config/arm/sync.md (atomic_load<mode>): Add new ARMv8-M Baseline only
+	alternatives to allow any register when memory model matches Pf and
+	thus lda is used, but only low registers otherwise.  Use unpredicated
+	output template for Thumb-1 targets.
+	(atomic_store<mode>): Likewise for stl.
+	(arm_load_exclusive<mode>): Add new ARMv8-M Baseline only alternative
+	whose output template does not have predication.
+	(arm_load_acquire_exclusive<mode>): Likewise.
+	(arm_load_exclusivesi): Likewise.
+	(arm_load_acquire_exclusivesi): Likewise.
+	(arm_store_release_exclusive<mode>): Likewise.
+	(arm_store_exclusive<mode>): Use unpredicated output template for
+	Thumb-1 targets.
+
+2016-10-25  Jakub Jelinek  <jakub@redhat.com>
+
+	* internal-fn.def (LAUNDER): New internal function.
+	* internal-fn.c (expand_LAUNDER): New function.
+
+2016-10-25  Georg-Johann Lay  <avr@gjlay.de>
+	    Pitchumani Sivanupandi  <pitchumani.sivanupandi@microchip.com>
+
+	New avr target pass to work around performance loss by PR fix.
+
+	PR target/71676
+	PR target/71678
+	* config/avr/avr.md (casesi_<mode>_sequence) [qi,hi]: New insn.
+	(*cmp<mode>) [qi,qq,uqq,hi,hq,uhq,ha,uha]: Rename to cmp<mode>3.
+	* config/avr/predicates.md (extend_operator): New.
+	* config/avr/avr-passes.def (avr_pass_casesi): Register new pass.
+	* config/avr/avr-protos.h (avr_casei_sequence_check_operands)
+	(make_avr_pass_casesi): New prototypes.
+	* config/avr/avr.c (print-rtl.h): Include it.
+	(pass_data avr_pass_data_casesi): Data for new pass.
+	(avr_pass_casesi): New class implementing rtl_opt_pass .avr-casesi.
+	(make_avr_pass_casesi, avr_parallel_insn_from_insns)
+	(avr_is_casesi_sequence, avr_casei_sequence_check_operands)
+	(avr_optimize_casesi): New functions.
+
+2016-10-25  Georg-Johann Lay  <avr@gjlay.de>
+	    Pitchumani Sivanupandi  <pitchumani.sivanupandi@microchip.com>
+
+	PR target/71676
+	PR target/71678
+	* config/avr/avr.md (casesi): Rewrite avoiding subregs of SI.
+
+2016-10-24  Jakub Jelinek  <jakub@redhat.com>
+
+	* dwarf2out.c (gen_subprogram_die): Add DW_AT_reference or
+	DW_AT_rvalue_reference attributes.
+
+2016-10-24  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* doc/invoke.text (Wint-in-bool-context): Update documentation.
+	* value-prof.c (stringop_block_profile): Fix a warning.
+
+2016-10-24  Martin Sebor  <msebor@redhat.com>
+
+	PR middle-end/77735
+	* builtins.c (string_length): New function.
+	(c_strlen): Use string_length.  Correctly handle wide strings.
+	* gimple-ssa-sprintf.c (target_max_value, target_size_max): New
+	functions.
+	(target_int_max): Call target_max_value.
+	(format_result::knownrange): New data member.
+	(fmtresult::fmtresult): Define default constructor.
+	(format_integer): Use it and set format_result::knownrange.
+	Handle global constants.
+	(format_floating_max): Add third argument.
+	(format_floating): Recompute maximum value for %a for each argument.
+	(get_string_length): Use fmtresult default ctor.
+	(format_string): Set format_result::knownrange.
+	(format_directive): Check format_result::knownrange.
+	(add_bytes): Same.  Correct caret placement in diagnostics.
+	(pass_sprintf_length::compute_format_length): Set
+	format_result::knownrange.
+	(pass_sprintf_length::handle_gimple_call): Use target_size_max.
+
+2016-10-24  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/i386.c (ix86_in_large_data_p, ix86_expand_builtin): Use
+	VAR_P (x) instead of TREE_CODE (x) == VAR_DECL.
+
+2016-10-24  Ximin Luo  <infinity0@pwned.gg>
+
+	PR debug/77985
+	* dwarf2out.c (file_table_relative_p): Remove.
+	(gen_compile_unit_die, dwarf2out_early_finish): Emit DW_AT_comp_dir
+	also for absolute paths.
+	* doc/tm.texi: Update.
+	* doc/tm.texi.in (SDB and DWARF) <TARGET_FORCE_AT_COMP_DIR>: Remove.
+	* target.def (force_at_comp_dir): Remove hook.
+	* config/darwin.h (TARGET_FORCE_AT_COMP_DIR): Remove define.
+
+2016-10-24  Richard Biener  <rguenther@suse.de>
+
+	* tree-vrp.c (evrp_dom_walker::before_dom_children): Ignore
+	backedges when identifying the single predecessor to take
+	conditional info from.  Use SCEV to get at ranges for loop IVs.
+	* lto-streamer-out.c (lto_write_mode_table): CSE inner mode to
+	avoid false warning.
+
+2016-10-24  Georg-Johann Lay  <avr@gjlay.de>
+
+	PR target/78093
+	* doc/extend.texi (AVR Variable Attributes) [absdata]: Document it.
+	* config/avr/avr.c (AVR_SYMBOL_FLAG_TINY_ABSDATA): New macro.
+	(avr_address_tiny_absdata_p): New static function.
+	(avr_legitimate_address_p, avr_legitimize_address) [AVR_TINY]: Use
+	it to determine validity of constant addresses.
+	(avr_attribute_table) [absdata]: New variable attribute...
+	(avr_handle_absdata_attribute): ...and handler.
+	(avr_decl_absdata_p): New static function.
+	(avr_encode_section_info) [AVR_TINY]: Use it to add flag
+	AVR_SYMBOL_FLAG_TINY_ABSDATA to respective symbols_refs.
+	(avr_address_cost) [AVR_TINY]: absdata addresses cost 2.
+
+2016-10-24  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/78076
+	* tree-ssa-loop-split.c (tree_ssa_split_loops): Reset aux
+	also on the loop tree root.
+
+2016-10-24  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/i386.c (ix86_fold_builtin): Handle
+	IX86_BUILTIN_BEXTR{,I}{32,64}, IX86_BUILTIN_BZHI{32,64},
+	IX86_BUILTIN_PDEP{32,64} and IX86_BUILTIN_PEXT{32,64}.
+	(ix86_gimple_fold_builtin): Handle IX86_BUILTIN_BZHI{32,64},
+	IX86_BUILTIN_PDEP{32,64} and IX86_BUILTIN_PEXT{32,64}.
+
+2016-10-24  Martin Liska  <mliska@suse.cz>
+
+	PR sanitizer/77966
+	* opts.c (finish_options): Skip conditionally.
+
+2016-10-23  Martin Sebor  <msebor@redhat.com>
+
+	PR target/77837
+	* config/rs6000/linux.h (TARGET_PRINTF_POINTER_FORMAT): Define.
+	* config/rs6000/linux64.h (TARGET_PRINTF_POINTER_FORMAT): Likewise.
+
+2016-10-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/sparc/sparc.md (cpu_feature): Minor tweak.
+	(enabled): Likewise.
+	(movsi_insn, movdi_insn_sp32, movdi_insn_sp64, movsf_insn,
+	movdf_insn_sp32, movdf_insn_sp64, zero_extendsidi2_insn_sp64,
+	sign_extendsidi2_insn, mov<VM32:mode>_insn, mov<VM64:mode>_insn_sp64,
+	mov<VM64:mode>_insn_sp32, not_<code><mode>, nand<mode>_vis,
+	<code>_not1<mode>_vi, <code>_not2<mode>_vis, one_cmpl<mode>2,
+	fcmp<code><GCM:gcm_name>, pdistn<mode>_vis): Likewise.
+
+2016-10-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/sparc/sparc-c.c (sparc_target_macros): Replace TARGET_64BIT
+	with TARGET_ARCH64.  Define __VIS to 0x400 if TARGET_VIS4.
+
+2016-10-21  Andrew Pinski  <apinski@cavium.com>
+
+	* config/aarch64/aarch64-cores.def: Rewrite so IMP and PART are
+	integer constants.
+	* config/aarch64/driver-aarch64.c (struct aarch64_core_data): Change
+	implementer_id to unsigned char.
+	Change part_no to unsigned int.
+	(AARCH64_BIG_LITTLE): New define.
+	(INVALID_IMP): New define.
+	(INVALID_CORE): New define.
+	(cpu_data): Change the last element's implementer_id and part_no to
+	integers.
+	(valid_bL_string_p): Rewrite to ..
+	(valid_bL_core_p): this for integers instead of strings.
+	(parse_field): New function.
+	(contains_string_p): Rewrite to ...
+	(contains_core_p): this for integers and only for the part_no.
+	(host_detect_local_cpu): Rewrite handling of implementation and
+	par num to be integers; simplifying the code.
+
+2016-10-21  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* ipa-prop.c (ipa_compute_jump_functions_for_edge): Create nonzero
+	value range for pointers in more cases.
+
+2016-10-21  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_add_constant_internal):
+	Add extra argument to allow emitting the move immediate.
+	Use add/sub with positive immediate.
+	(aarch64_add_constant): Add inline function.
+	(aarch64_add_sp): Likewise.
+	(aarch64_sub_sp): Likewise.
+	(aarch64_expand_prologue): Call aarch64_sub_sp.
+	(aarch64_expand_epilogue): Call aarch64_add_sp.
+	Decide when to leave out move.
+	(aarch64_output_mi_thunk): Call aarch64_add_constant.
+
+2016-10-21  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_layout_frame):
+	Align FP callee-saves.
+
+2016-10-21  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/adxintrin.h (_subborrow_u32, _addcarry_u32,
+	_addcarryx_u32, _subborrow_u64, _addcarry_u64, _addcarryx_u64):
+	Formatting fixes.
+	* config/i386/rdseedintrin.h (_rdseed16_step, _rdseed32_step,
+	_rdseed64_step): Likewise.
+	* config/i386/tbmintrin.h (__bextri_u32): Likewise.
+
+	PR target/78057
+	* config/i386/i386.c: Include fold-const-call.h, tree-vrp.h
+	and tree-ssanames.h.
+	(ix86_fold_builtin): Fold IX86_BUILTIN_[LT]ZCNT{16,32,64}
+	with INTEGER_CST argument.
+	(ix86_gimple_fold_builtin): New function.
+	(TARGET_GIMPLE_FOLD_BUILTIN): Define.
+
+	* dwarf2out.c (ranges_table): Change into vec<dw_ranges, va_gc> *.
+	(ranges_by_label): Change into vec<dw_ranges_by_label, va_gc> *.
+	(ranges_table_allocated, ranges_table_in_use,
+	ranges_by_label_allocated, ranges_by_label_in_use,
+	RANGES_TABLE_INCREMENT): Removed.
+	(add_ranges_num): Use vec_safe_push into ranges_table.
+	(add_ranges_by_labels): Use vec_safe_push into ranges_by_label.
+	(output_ranges): Adjust for ranges_table and ranges_by_label
+	conversion from arrays to vec.
+	(add_high_low_attributes, dwarf2out_finish): Adjust for range_table
+	conversion from arrays to vec.
+	(dwarf2out_c_finalize): Don't clear ranges_table_allocated,
+	ranges_table_in_use, ranges_by_label_allocated and
+	ranges_by_label_in_use.  Set ranges_by_label to NULL instead of 0.
+
+	* dwarf2out.c (gen_variable_die): Emit DW_AT_const_expr attribute
+	if needed.  Re-add origin_die variable and its initialization.
+
+	* gimplify.c (gimplify_bind_expr): Handle oacc_declare_returns
+	even for -fstack-reuse=none, or for volatile vars etc.
+
+2016-10-21  David Malcolm  <dmalcolm@redhat.com>
+
+	* print-rtl-function.c (flag_compact): Move extern decl to...
+	* print-rtl.h (flag_compact): ...here.
+	* rtl-tests.c (selftests::assert_rtl_dump_eq): New function.
+	(ASSERT_RTL_DUMP_EQ): New macro.
+	(selftest::test_dumping_regs): New function.
+	(selftest::test_dumping_insns): New function.
+	(selftest::test_uncond_jump): Add uses of ASSERT_RTL_DUMP_EQ on
+	the insns.
+	(selftest::rtl_tests_c_tests): Call the new test functions.
+
+2016-10-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* cfgcleanup.c (merge_blocks_move_successor_nojumps): Adjust.
+	(outgoing_edges_match): Likewise.
+	(try_crossjump_to_edge): Likewise.
+	* cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
+	(rtl_tidy_fallthru_edge): Likewise.
+	* rtl.h (tablejump_p): Adjust prototype.
+	* rtlanal.c (tablejump_p): Return the label as a rtx_insn *.
+
+2016-10-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* rtl.h (label_ref_label): New function.
+	(set_label_ref_label): New function.
+	(LABEL_REF_LABEL): Delete.
+	* alias.c (rtx_equal_for_memref_p): Adjust.
+	* cfgbuild.c (make_edges): Likewise.
+	(purge_dead_tablejump_edges): Likewise.
+	* cfgexpand.c (convert_debug_memory_address): Likewise.
+	* cfgrtl.c (patch_jump_insn): Likewise.
+	* combine.c (distribute_notes): Likewise.
+	* cse.c (hash_rtx_cb): Likewise.
+	(exp_equiv_p): Likewise.
+	(fold_rtx): Likewise.
+	(check_for_label_ref): Likewise.
+	* cselib.c (rtx_equal_for_cselib_1): Likewise.
+	(cselib_hash_rtx): Likewise.
+	* emit-rtl.c (mark_label_nuses): Likewise.
+	* explow.c (convert_memory_address_addr_space_1): Likewise.
+	* final.c (output_asm_label): Likewise.
+	(output_addr_const): Likewise.
+	* gcse.c (add_label_notes): Likewise.
+	* genconfig.c (walk_insn_part): Likewise.
+	* genrecog.c (validate_pattern): Likewise.
+	* ifcvt.c (cond_exec_get_condition): Likewise.
+	(noce_emit_store_flag): Likewise.
+	(noce_get_alt_condition): Likewise.
+	(noce_get_condition): Likewise.
+	* jump.c (maybe_propagate_label_ref): Likewise.
+	(mark_jump_label_1): Likewise.
+	(redirect_exp_1): Likewise.
+	(rtx_renumbered_equal_p): Likewise.
+	* lra-constraints.c (operands_match_p): Likewise.
+	* print-rtl.c (print_value): Likewise.
+	* reload.c (find_reloads): Likewise.
+	* reload1.c (set_label_offsets): Likewise.
+	* reorg.c (get_branch_condition): Likewise.
+	* rtl-tests.c (test_uncond_jump): Likewise.
+	* rtl.c (rtx_equal_p_cb): Likewise.
+	(rtx_equal_p): Likewise.
+	* rtlanal.c (reg_mentioned_p): Likewise.
+	(rtx_referenced_p): Likewise.
+	(get_condition): Likewise.
+	* varasm.c (const_hash_1): Likewise.
+	(compare_constant): Likewise.
+	(const_rtx_hash_1): Likewise.
+	(output_constant_pool_1): Likewise.
+
+2016-10-21  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
+
+	PR target/71627
+	* reload.c (find_valid_class_1): Allow regclass if atleast one
+	regno in regclass is ok. Compute and use rclass size based on
+	actually available regnos for mode in rclass.
+
+2016-10-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/sparc/sparc-modes.def (CCV): New.
+	(CCXV): Likewise.
+	* config/sparc/predicates.md (v_comparison_operator): New.
+	(icc_comparison_operator): Add support for CCV/CCXV.
+	(xcc_comparison_operator): Likewise.
+	* config/sparc/sparc.c (output_cbranch): Likewise.
+	(sparc_print_operand): Likewise.
+	* config/sparc/sparc.md (UNSPEC_{ADD,SUB,NEG}V): New constants.
+	(uaddvdi4): New expander.
+	(addvdi4): Likewise.
+	(uaddvdi4_sp32): New instruction.
+	(addvdi4_sp32): Likewise.
+	(uaddvsi4): New expander.
+	(addvsi4): Likewise.
+	(cmp_ccc_plus_sltu_set): New instruction.
+	(cmp_ccv_plus): Likewise.
+	(cmp_ccxv_plus): Likewise.
+	(cmp_ccv_plus_set): Likewise.
+	(cmp_ccxv_plus_set): Likewise.
+	(cmp_ccv_plus_sltu_set): Likewise.
+	(uaddvdi4): New expander.
+	(subvdi4): Likewise.
+	(usubdi4_sp32): New instruction.
+	(subvdi4_sp32): Likewise.
+	(usubvsi4): New expander.
+	(subvsi4): Likewise.
+	(cmpsi_minus_sltu_set): New instruction.
+	(cmp_ccv_minus): Likewise.
+	(cmp_ccxv_minus): Likewise.
+	(cmp_ccv_minus_set): Likewise.
+	(cmp_ccxv_minus_set): Likewise.
+	(cmp_ccv_minus_sltu_set): Likewise.
+	(unegvdi3): New expander.
+	(negvdi3): Likewise.
+	(unegdi3_sp32): New instruction.
+	(negvdi3_sp32): Likewise.
+	(unegvsi3): New expander.
+	(negvsi3): Likewise.
+	(cmp_ccc_neg_sltu_set): New instruction.
+	(cmp_ccv_neg): Likewise.
+	(cmp_ccxv_neg): Likewise.
+	(cmp_ccv_neg_set): Likewise.
+	(cmp_ccxv_neg_set): Likewise.
+	(cmp_ccv_neg_sltu_set): Likewise.
+
+	* tree-ssa-loop-split.c: Remove trailing spaces.
+	* match.pd: Likewise.
+
+2016-10-21  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR rtl-optimization/78038
+	* ree.c (get_defs): Return NULL if a defining insn for REG cannot
+	be deduced to set REG through the RTL structure.
+	(make_defs_and_copies_lists): Return false on a failing get_defs call.
+
+2016-10-21  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/78051
+	* tree-vrp.c (evrp_dom_walker::before_dom_children): Update stmt
+	and mark replaced if folding did something.
+
+2016-10-21  David Edelsohn  <dje.gcc@gmail.com>
+
+	* config/rs6000/rs6000.c (rs6000_assemble_visibility): Swap "internal"
+	and "protected" in visibility types.
+	(rs6000_xcoff_declare_function_name): Fix formatting.
+	(rs6000_xcoff_declare_object_name): Fix formatting.
+
+2016-10-21  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (ix86_fold_builtin): Handle IX86_BUILTIN_INFQ
+	and IX86_BUILTIN_HUGE_VALQ here ...
+	(ix86_expand_builtin): ... not here.
+
+2016-10-20  Jakub Jelinek  <jakub@redhat.com>
+
+	* doc/gty.texi (for_user): Use @item next to @findex.
+
+2016-10-20  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/78037
+	* config/i386/bmiintrin.h (__tzcnt_u16): Call __builtin_ia32_tzcnt_u16.
+	(__tzcnt_u32, _tzcnt_u32): Call __builtin_ia32_tzcnt_u32.
+	(__tzcnt_u64, _tzcnt_u64): Call __builtin_ia32_tzcnt_u64.
+	* config/i386/lzcntintrin.h (__lzcnt_u16): Call
+	__builtin_ia32_lzcnt_u16.
+	(__lzcnt_u32, _lzcnt_u32): Call __builtin_ia32_lzcnt_u32.
+	(__lzcnt_u64, _lzcnt_u64): Call __builtin_ia32_lzcnt_u64.
+	* config/i386/i386.md (UNSPEC_LZCNT, UNSPEC_TZCNT): New unspecs.
+	(ctz<mode>2, *ctz<mode>2): Use SWI48 mode iterator.
+	(bmi_tzcnt_<mode>): New expander.
+	(*bmi_tzcnt_<mode>_falsedep_1): New define_insn_and_split pattern.
+	(*bmi_tzcnt_<mode>_falsedep, *bmi_tzcnt_<mode>): New insn patterns.
+	(clz<mode>2_lzcnt, *clz<mode>2_lzcnt): Use SWI48 mode iterator.
+	(lzcnt_<mode>): New expander.
+	(*lzcnt_<mode>_falsedep_1): New define_insn_and_split pattern.
+	(*lzcnt_<mode>_falsedep, *lzcnt_<mode>): New insn patterns.
+	* config/i386/i386-builtin-types.def (UINT_FTYPE_UINT): New.
+	(UINT64_FTYPE_UINT64): New.
+	* config/i386/i386-builtin.def (__builtin_clzs): Remove description.
+	(__builtin_ia32_lzcnt_u16): New description.
+	(__builtin_ia32_lzcnt_u32): Ditto.
+	(__builtin_ia32_lzcnt_u64): Ditto.
+	(__builtin_ctzs): Remove description.
+	(__builtin_ia32_tzcnt_u16): New description.
+	(__builtin_ia32_tzcnt_u32): Ditto.
+	(__builtin_ia32_tzcnt_u64): Ditto.
+	* config/i386/i386.c (ix86_expand_args_builtin): Handle
+	UINT_FTYPE_UINT and UINT64_FTYPE_UINT64.
+
+2016-10-20  Martin Liska  <mliska@suse.cz>
+
+	PR lto/78049
+	* lto-streamer-in.c (fixup_call_stmt_edges_1): Replace value
+	comparison with STMT_UID_NOT_IN_RANGE.
+	(fixup_call_stmt_edges): Do not fixup edges of a thunk in
+	LTRANS.
+
+2016-10-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* compare-elim.c (conforming_compare): Accept UNSPECs.
+	(find_comparison_dom_walker::before_dom_children): Deal with
+	instructions both using and killing the flags register.
+	(equivalent_reg_at_start): New function extracted from...
+	(try_eliminate_compare): ...here.  Use it and add support for
+	registers and UNSPECs as second operand of the compare.
+	* config/visium/visium-modes.def (CCV): New.
+	* config/visium/predicates.md (visium_v_comparison_operator): New.
+	(visium_branch_operator): Deal with CCV mode.
+	* config/visium/visium.c (visium_select_cc_mode): Likewise.
+	(output_cbranch): Likewise.
+	* config/visium/visium.md (UNSPEC_{ADD,SUB,NEG}V): New constants.
+	(uaddv<mode>4): New expander.
+	(addv<mode>4): Likewise.
+	(add<mode>3_insn_set_carry): New instruction.
+	(add<mode>3_insn_set_overflow): Likewise.
+	(addsi3_insn_set_overflow): Likewise.
+	(usubv<mode>4): New expander.
+	(subv<mode>4): Likewise.
+	(sub<mode>3_insn_set_carry): New instruction.
+	(sub<mode>3_insn_set_overflow): Likewise.
+	(subsi3_insn_set_overflow): Likewise.
+	(unegv<mode>3): New expander.
+	(negv<mode>3): Likewise.
+	(neg<mode>2_insn_set_overflow): New instruction.
+	(addv_tst<mode>): Likewise.
+	(subv_tst<mode>): Likewise.
+	(negv_tst<mode>): Likewise.
+	(cbranch<mode>4_addv_insn): New splitter and instruction.
+	(cbranch<mode>4_subv_insn): Likewise.
+	(cbranch<mode>4_negv_insn): Likewise.
+
+2016-10-20  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-alias.c (ptrs_compare_unequal): Remove code duplication.
+	Handle decls possibly not bound.
+	* tree-ssa-structalias.c (get_constraint_for_ssa_var): Add
+	nothing_id for decls that might not be bound if we are interested
+	for the address.
+	(get_constraint_for_component_ref): Deal with that.
+
+2016-10-20  Michael Matz  <matz@suse.de>
+
+	Loop splitting.
+	* common.opt (-fsplit-loops): New flag.
+	* passes.def (pass_loop_split): Add.
+	* opts.c (default_options_table): Add OPT_fsplit_loops entry at -O3.
+	(enable_fdo_optimizations): Add loop splitting.
+	* timevar.def (TV_LOOP_SPLIT): Add.
+	* tree-pass.h (make_pass_loop_split): Declare.
+	* tree-ssa-loop-manip.h (rewrite_into_loop_closed_ssa_1): Declare.
+	* tree-ssa-loop-unswitch.c: Include tree-ssa-loop-manip.h,
+	* tree-ssa-loop-split.c: New file.
+	* Makefile.in (OBJS): Add tree-ssa-loop-split.o.
+	* doc/invoke.texi (fsplit-loops): Document.
+	* doc/passes.texi (Loop optimization): Add paragraph about loop
+	splitting.
+
+2016-10-20  Richard Biener  <rguenther@suse.de>
+
+	* cgraphunit.c (analyze_functions): Set node->definition to
+	false to signal symbol removal to debug_hooks->late_global_decl.
+	* ipa.c (symbol_table::remove_unreachable_nodes): When not in
+	WPA signal symbol removal to the debuginfo machinery.
+	* dwarf2out.c (dwarf2out_late_global_decl): Instead of
+	using early_finised to guard the we're called for symbol
+	removal case look at the symtabs definition flag.
+	(gen_variable_die): Remove redundant check.
+
+2016-10-20  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.md ("prefetch"): Add fallthrough comment.
+
+2016-10-20  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	PR tree-optimization/53979
+	* match.pd ((a ^ b) | a -> a | b): New pattern.
+
+2016-10-19  John David Anglin  <danglin@gcc.gnu.org>
+
+	* config/pa/pa64-hpux.h (PA_INIT_FRAME_DUMMY_ASM_OP): Move to
+	config/pa/pa64-hpux-lib.h.
+	(PA_CRTBEGIN_HACK): Likewise.
+	(DTOR_LIST_BEGIN): Likewise.
+
+2016-10-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* config/arm/arm.c (arm_emit_coreregs_64bit_shift): Clear the result
+	register only if "in" and "out" are different registers.
+
+2016-10-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* omp-low.c (pass_oacc_device_lower::gate): New method.
+	(execute): Always call execute_oacc_device_lower.
+
+2016-10-19  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR tree-optimization/77916
+	PR tree-optimization/77937
+	* gimple-ssa-strength-reduction.c (analyze_increments): Remove
+	stopgap fix.
+	(insert_initializers): Requirement of initializer for -1 should be
+	based on pointer-typedness of the candidate basis.
+
+2016-10-19  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/78005
+	* tree-vect-loop-manip.c (vect_gen_prolog_loop_niters): Compute
+	upper (included) bound for niters of prolog loop.
+	(vect_gen_scalar_loop_niters): Change parameter VF to VFM1.
+	Compute niters of scalar loop above which vectorized loop is
+	preferred, as well as the upper (included) bound for the niters.
+	(vect_do_peeling): Record niter bound for loops accordingly.
+
+2016-10-19  Thomas Schwinge  <thomas@codesourcery.com>
+
+	PR lto/77458
+	* tree-core.h (enum tree_index): Put the complex types after their
+	component types.
+	* tree-streamer.c (verify_common_node_recorded): New function.
+	(preload_common_nodes) <TREE_CODE (node) == COMPLEX_TYPE>: Use it.
+
+2016-10-19  Martin Liska  <mliska@suse.cz>
+
+	* cgraph.h (cgraph_edge::binds_to_current_def_p):
+	Replace NULL with false as a return value.
+
+2016-10-19  Thomas Schwinge  <thomas@codesourcery.com>
+
+	PR tree-optimization/78024
+	* omp-low.c (oacc_loop_discovery): Call clear_bb_flags before, and
+	don't clear BB_VISITED after processing.
+
+2016-10-19  Richard Biener  <rguenther@suse.de>
+
+	* domwalk.c (dom_walker::walk): Use RPO order.
+
+2016-10-19  Richard Biener  <rguenther@suse.de>
+
+	* tree-vrp.c (evrp_dom_walker::evrp_dom_walker): Initialize
+	stmts_to_remove.
+	(evrp_dom_walker::~evrp_dom_walker): Free it.
+	(evrp_dom_walker::stmts_to_remove): Add.
+	(evrp_dom_walker::before_dom_children): Mark PHIs and stmts
+	whose output we fully propagate for removal.  Propagate
+	into BB destination PHI arguments.
+	(execute_early_vrp): Remove queued stmts.  Dump value ranges
+	before stmt removal.
+
+2016-10-18  Aldy Hernandez  <aldyh@redhat.com>
+
+	* Makefile.in (OBJS): Add gimple-ssa-warn-alloca.o.
+	* passes.def: Add two instances of pass_walloca.
+	* tree-pass.h (make_pass_walloca): New.
+	* gimple-ssa-warn-alloca.c: New file.
+	* doc/invoke.texi: Document -Walloca, -Walloca-larger-than=, and
+	-Wvla-larger-than= options.
+
+2016-10-18  Thomas Schwinge  <thomas@codesourcery.com>
+
+	* cfg.c (clear_bb_flags): Use FOR_ALL_BB_FN.
+	* config/nvptx/nvptx.c (nvptx_find_sese): Likewise.
+
+2016-10-18  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+	* config/rs6000/altivec.h (vec_xl_len): New macro.
+	(vec_xst_len): New macro.
+	(vec_cmpnez): New macro.
+	(vec_cntlz_lsbb): New macro.
+	(vec_cnttz_lsbb): New macro.
+	(vec_xlx): New macro.
+	(vec_xrx): New macro.
+	(vec_all_nez): New C++ predicate template.
+	(vec_any_eqz): New C++ predicate template.
+	(vec_all_ne): Revised C++ predicate template under _ARCH_PWR9
+	conditional compilation.
+	(vec_any_eq): Revised C++ predicate template under _ARCH_PWR9
+	conditional compilation.
+	(vec_all_nez): New macro.
+	(vec_any_eqz): New macro.
+	(vec_all_ne): Revised macro under _ARCH_PWR9 conditional
+	compilation.
+	(vec_any_eq): Revised macro under _ARCH_PWR9 conditional
+	compilation.
+	* config/rs6000/vector.md (VI): Moved this mode iterator
+	definition from altivec.md to vector.md.
+	(UNSPEC_NEZ_P): New value.
+	(vector_ne_<mode>_p): New expansion for implementation of
+	vec_all_ne and vec_any_eq built-in functions.
+	(vector_nez_<mode>_p): New expansion for implementation of
+	vec_all_nez and vec_any_eqz built-in functions.
+	(vector_ne_v2di_p): New expansion for implementation of vec_all_ne
+	and vec_any_eq built-in function.
+	(cr6_test_for_zero): New commentary to explain this expansion.
+	(cr6_test_for_zero_reverse): New commentary to explain this expansion.
+	(cr6_test_for_lt): New commentary to explain this expansion.
+	(cr6_test_for_lt_reverse): New commentary to explain this
+	expansion.
+	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
+	overloaded function prototypes for vec_all_ne, vec_all_nez,
+	vec_any_eq, vec_any_eqz, vec_cmpnez, vec_cntlz_lsbb,
+	vec_cnttz_lsbb, vec_xl_len, vec_xst_len, vec_xlx, and vec_xrx
+	built-in functions.
+	(altivec_resolve_overloaded_builtin): Modify the handling of
+	ALTIVEC_BUILTIN_VEC_CMPNE to use the Power9 instructions when
+	the compiler is configured to support TARGET_P9_VECTOR.
+	* config/rs6000/rs6000-builtin.def (BU_ALTIVEC_P): Add commentary
+	to explain the special processing that is given to predicate
+	built-ins introduced using this macro.
+	(BU_ALTIVEC_OVERLOAD_P): Add commentary to alert maintainers to
+	the special processing given to predicate built-ins introduced
+	using this macro.
+	(BU_VSX_P): Likewise.
+	(BU_P8V_AV_P): Likewise.
+	(BU_P9V_AV_P): Likewise.
+	(BU_P9V_AV_X): New macro.
+	(BU_P9V_64BIT_AV_X): New macro.
+	(BU_P9V_VSX_3): New macro.
+	(BU_P9V_OVERLOAD_P): New macro.
+	(LXVL): New BU_P9V_64BIT_VSX_2.
+	(VEXTUBLX): New BU_P9V_AV_2.
+	(VEXTUBRX): Likewise.
+	(VEXTUHLX): Likewise.
+	(VEXTUHRX): Likewise.
+	(VEXTUWLX): Likewise.
+	(VEXTUWRX): Likewise.
+	(STXVL): New BU_P9V_64BIT_AV_X.
+	(VCLZLSBB): New BU_P9V_AV_1.
+	(VCTZLSBB): Likewise.
+	(CMPNEB): New BU_P9V_AV_2.
+	(CMPNEH): Likewise.
+	(CMPNEW): Likewise.
+	(CMPNEF): Likewise.
+	(CMPNED): Likewise.
+	(VCMPNEB_P): New BU_P9V_AV_P.
+	(VCMPNEH_P): Likewise.
+	(VCMPNEW_P): Likewise.
+	(VCMPNED_P): Likewise.
+	(VCMPNEFP_P): Likewise.
+	(VCMPNEDP_P): Likewise.
+	(CMPNEZB): New BU_P9V_AV_2.
+	(CMPNEZH): Likewise.
+	(CMPNEZW): Likewise.
+	(VCMPNEZB_P): New BU_P9V_AV_P.
+	(VCMPNEZH_P): Likewise.
+	(VCMPNEZW_P): Likewise.
+	(LXVL): New BU_P9V_OVERLOAD_2.
+	(STXVL): New BU_P9V_OVERLOAD_3.
+	(VEXTULX): New BU_P9V_OVERLOAD_2.
+	(VEXTURX): Likewise.
+	(CMPNEZ): Likewise.
+	(VCMPNEZ_P): New BU_P9V_OVERLOAD_P.
+	(VCMPNE_P): Likewise.
+	(VCLZLSBB): New BU_P9V_OVERLOAD_1.
+	(VCTZLSBB): Likewise.
+	* config/rs6000/rs6000.c (altivec_expand_predicate_builtin): Add
+	comment to explain mode used for scratch register.
+	(altivec_expand_stxvl_builtin): New function.
+	(altivec_expand_builtin): Add case for new constant P9V_BUILTIN_STXVL.
+	(altivec_init_builtins): Add initialized variable
+	void_ftype_v16qi_pvoid_long and use this type to define the
+	built-in function __builtin_altivec_stxvl.
+	* config/rs6000/vsx.md (UNSPEC_LXVL): New value.
+	(UNSPEC_STXVL): New value.
+	(UNSPEC_VCLZLSBB): New value.
+	(UNSPEC_VCTZLSBB): New value.
+	(UNSPEC_VEXTUBLX): New value.
+	(UNSPEC_VEXTUHLX): New value.
+	(UNSPEC_VEXTUWLX): New value.
+	(UNSPEC_VEXTUBRX): New value.
+	(UNSPEC_VEXTUHRX): New value.
+	(UNSPEC_VEXTUWRX): New value.
+	(UNSPEC_VCMPNEB): New value.
+	(UNSPEC_VCMPNEZB): New value.
+	(UNSPEC_VCMPNEH): New value.
+	(UNSPEC_VCMPNEZH): New value.
+	(UNSPEC_VCMPNEW): New value.
+	(UNSPEC_VCMPNEZW): New value.
+	(*vsx_ne_<mode>_p): New insn for vector test all not equal with
+	vector of integer modes.
+	(*vsx_ne_<mode>_p): New insn for vector test all not equal with
+	vector of float or double modes.
+	(*vector_nez_<mode>_p): New insn for vector test all not equal or
+	zero.
+	(lxvl): New expand for load VSX vector with length.
+	(*lxvl): New insn for load VSX vector with length.
+	(stxvl): New expand for store VSX vector with length.
+	(*stxvl): New insn for store VSX vector with length.
+	(vcmpneb): New insn for vector of byte compare not equal.
+	(vcmpnezb): New insn for vector of byte compare not equal or zero.
+	(vcmpneh): New insn for vector of half word compare not equal.
+	(vcmpnezh): New insn for vector of half word compare not equal or
+	zero.
+	(vcmpnew): New insn for vector of word compare not equal.
+	(vcmpne<VSs>): New insn for vector of float or double compare not
+	equal.
+	(vcmpnezw): New insn for vector of word compare not equal or zero.
+	(vclzlsbb): New insn for vector count leading zero
+	least-significant bits byte.
+	(vctzlsbb): New insn for vector count trailing zero least
+	signficant bits byte.
+	(vextublx): New insn for vector extract unsigned byte left
+	indexed.
+	(vextubrx): New insn for vector extract unsigned byte right
+	indexed.
+	(vextuhlx): New insn for vector extract unsigned half word left
+	indexed.
+	(vextuhrx): New insn for vector extract unsigned half word right
+	indexed.
+	(vextuwlx): New insn for vector extract unsigned word left
+	indexed.
+	(vextuwrx): New insn for vector extract unsigned word right
+	indexed.
+	* config/rs6000/rs6000.h (RS6000_BTC_CONST): Enhance comment to
+	clarify intent of this constant.
+	* config/rs6000/altivec.md (VI): Move this mode iterator to vsx.md.
+	* doc/extend.texi (PowerPC Altivec Built-in Functions): Add
+	documentation for vec_all_nez, vec_any_eqz, vec_cmpnez,
+	vec_cntlz_lsbb, vec_cnttz_lsbb, vec_xl_len, vec_xst_len, vec_xlx,
+	and vec_xrx functions.
+
+2016-10-18  Andrew Pinski  <apinski@cavium.com>
+
+	PR tree-opt/65950
+	* predict.c (is_exit_with_zero_arg): New function.
+	(tree_bb_level_predictions): Don't consider paths leading to exit(0)
+	as nottaken.
+
+2016-10-18  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/77991
+	* config/i386/i386.c (legitimize_tls_address)
+	<case TLS_MODEL_INITIAL_EXEC>: For TARGET_64BIT || TARGET_ANY_GNU_TLS
+	convert dest to Pmode if different than Pmode.
+
+2016-10-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR tree-optimization/77916
+	* gimple-ssa-strength-reduction.c (analyze_increments): Reinstate
+	stopgap fix, as pointers with -1 increment are still broken.
+
+2016-10-18  David Edelsohn  <dje.gcc@gmail.com>
+
+	* config/rs6000/rs6000.c (rs6000_output_symbol_ref): Move storage
+	mapping class decoration from here...
+	(rs6000_xcoff_encode_section): ...to here.
+
+	(rs6000_savres_strategy) [AIX,ELFv2]: Inline FPR save and restore
+	if shrink-wrapping and optimizing for speed.
+
+2016-10-18  Richard Biener  <rguenther@suse.de>
+
+	* tree-vrp.c (evrp_dom_walker::before_dom_children): Handle
+	not visited but non-executable predecessors.  Return taken edge.
+	Simplify conditions and refactor propagation vs. folding step.
+
+2016-10-18  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.c (rs6000_savres_strategy): Do not select
+	{SAVE,REST}_MULTIPLE if shrink-wrapping separate components.
+	(rs6000_get_separate_components): Assert we do not have those
+	strategies selected.
+
+2016-10-18  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-propagate.h (substitute_and_fold): Adjust prototype.
+	* tree-ssa-propagate.c (ssa_prop_fini): Remove final BB_VISITED
+	clearing.
+	(substitute_and_fold_dom_walker): Adjust constructor.
+	(substitute_and_fold_dom_walker::before_dom_children): Remove
+	do_dce flag and handling (always true).
+	(substitute_and_fold): Likewise.
+	* tree-vrp.c (vrp_finalize): Adjust.
+	(execute_early_vrp): Remove final BB_VISITED clearing.
+	* tree-ssa-ccp.c (ccp_finalize): Adjust.
+	* tree-ssa-copy.c (fini_copy_prop): Likewise.
+	* ira.c (ira): Call clear_bb_flags.
+
+2016-10-18  Richard Biener  <rguenther@suse.de>
+
+	* genmatch.c (dt_operand::gen_gimple_expr): Use get_name to
+	get at the operand to look at with TREE_OPERAND for generic
+	sub-nodes.
+
+2016-10-18  David Malcolm  <dmalcolm@redhat.com>
+
+	* genattrtab.c (attr_string): Use rtx_reader_ptr for call to
+	copy_md_ptr_loc.
+	(gen_attr): Use rtx_reader_ptr for lookup_enum_type call.
+	(write_test_expr): Use rtx_reader_ptr for calls to
+	fprint_c_condition.
+	(write_attr_value): Likewise.
+	* genconditions.c (write_one_condition): Use rtx_reader_ptr for
+	call to print_md_ptr_loc.
+	(write_one_condition): Likewise for calls to print_c_condition.
+	* genconstants.c: Include "statistics.h" and "vec.h".
+	(main): Update for conversion to member functions.
+	* genemit.c (emit_c_code): Use rtx_reader_ptr for
+	call to print_md_ptr_loc.
+	* genenums.c: Include "statistics.h" and "vec.h".
+	(main): Update for conversion of traverse_enum_types to a method.
+	* genmddeps.c: Include "statistics.h" and "vec.h".
+	* genoutput.c (process_template): Use rtx_reader_ptr for call to
+	print_md_ptr_loc.
+	* genpreds.c (write_predicate_subfunction): Likewise.
+	(write_predicate_expr): Likewise for calls to print_c_condition.
+	* genrecog.c (print_test): Likewise.
+	* gensupport.c (process_rtx): Likewise for calls to
+	copy_md_ptr_loc and join_c_conditions.
+	(alter_test_for_insn): Likewise for call to join_c_conditions.
+	(process_substs_on_one_elem): Likewise.
+	(gen_mnemonic_setattr): Update for move of string_obstack to a
+	field of rtx_reader.
+	(mnemonic_htab_callback): Likewise.  Fix formatting.
+	(gen_mnemonic_attr): Likewise.
+	* gentarget-def.c (def_target_insn): Use rtx_reader_ptr for calls
+	to print_c_condition.
+	* read-md.c: Include "statistics.h" and "vec.h".
+	(string_obstack): Convert this global to field "m_string_obstack"
+	of class rtx_reader.
+	(ptr_locs): Likewise, as "m_ptr_locs".
+	(ptr_loc_obstack): Likewise, as "m_ptr_loc_obstack".
+	(joined_conditions): Likewise, as "m_joined_conditions".
+	(joined_conditions_obstack): Likewise, as "m_joined_conditions_obstack".
+	(md_constants): Likewise, as "m_md_constants".
+	(enum_types): Likewise, as "m_enum_types".
+	(set_md_ptr_loc): Convert to...
+	(rtx_reader::set_md_ptr_loc): ...member function.
+	(get_md_ptr_loc): Convert to...
+	(rtx_reader::get_md_ptr_loc): ...member function.
+	(copy_md_ptr_loc): Convert to...
+	(rtx_reader::copy_md_ptr_loc): ...member function.
+	(fprint_md_ptr_loc): Convert to...
+	(rtx_reader::fprint_md_ptr_loc): ...member function.
+	(print_md_ptr_loc): Convert to...
+	(rtx_reader::print_md_ptr_loc): ...member function.
+	(join_c_conditions): Convert to...
+	(rtx_reader::join_c_conditions): ...member function.
+	(fprint_c_condition): Convert to...
+	(rtx_reader::fprint_c_condition): ...member function.
+	(print_c_condition): Convert to...
+	(rtx_reader::print_c_condition): ...member function.
+	(read_name): Convert to...
+	(rtx_reader::read_name): ...member function.
+	(read_escape): Convert to...
+	(rtx_reader::read_escape): ...member function.
+	(read_quoted_string): Convert to...
+	(rtx_reader::read_quoted_string): ...member function.
+	(read_braced_string): Convert to...
+	(rtx_reader::read_braced_string): ...member function.
+	(read_string): Convert to...
+	(rtx_reader::read_string): ...member function.
+	(read_skip_construct): Convert to...
+	(rtx_reader::read_skip_construct): ...member function.
+	(handle_constants): Convert to...
+	(rtx_reader::handle_constants): ...member function.
+	(traverse_md_constants): Convert to...
+	(rtx_reader::traverse_md_constants): ...member function.
+	(handle_enum): Convert to...
+	(rtx_reader::handle_enum): ...member function.
+	(lookup_enum_type): Convert to...
+	(rtx_reader::lookup_enum_type): ...member function.
+	(traverse_enum_types): Convert to...
+	(rtx_reader::traverse_enum_types): ...member function.
+	(rtx_reader::rtx_reader): Move initializations
+	of various former global data from rtx_reader::read_md_files to
+	here, as fields, along with the call to unlock_std_streams.
+	(rtx_reader::~rtx_reader): Clean up m_base_dir, and clean up
+	the new fields.
+	(rtx_reader::read_md_files): Move initializations of various
+	global data from here to the ctor.
+	* read-md.h (read_name): Convert to...
+	(rtx_reader::read_name): ...member function.
+	(rtx_reader::read_escape): New method decl.
+	(read_quoted_string): Convert to...
+	(rtx_reader::read_quoted_string): ...member function.
+	(rtx_reader::read_braced_string): New method decl.
+	(read_string): Convert to...
+	(rtx_reader::read_string): ...member function.
+	(rtx_reader::read_skip_construct): New method decl.
+	(rtx_reader::set_md_ptr_loc): New method decl.
+	(rtx_reader::get_md_ptr_loc): New method decl.
+	(copy_md_ptr_loc): Convert to...
+	(rtx_reader::copy_md_ptr_loc): ...member function.
+	(fprint_md_ptr_loc): Convert to...
+	(rtx_reader::fprint_md_ptr_loc): ...member function.
+	(print_md_ptr_loc): Convert to...
+	(rtx_reader::print_md_ptr_loc): ...member function.
+	(rtx_reader::lookup_enum_type): New method decl.
+	(rtx_reader::traverse_enum_types): New method decl.
+	(rtx_reader::handle_constants): New method decl.
+	(traverse_md_constants): Convert to...
+	(rtx_reader::traverse_md_constants): ...member function.
+	(rtx_reader::handle_enum): New method decl.
+	(rtx_reader::join_c_conditions): New method decl.
+	(fprint_c_condition): Convert to...
+	(rtx_reader::fprint_c_condition): ...member function.
+	(print_c_condition): Convert to...
+	(rtx_reader::print_c_condition): ...member function.
+	(rtx_reader::apply_iterator_to_string): New method decl.
+	(rtx_reader::copy_rtx_for_iterators): New method decl.
+	(rtx_reader::read_conditions): New method decl.
+	(rtx_reader::record_potential_iterator_use): New method decl.
+	(rtx_reader::read_mapping): New method decl.
+	(rtx_reader::read_rtx): New method decl.
+	(rtx_reader::read_rtx_code): New method decl.
+	(rtx_reader::read_rtx_operand): New method decl.
+	(rtx_reader::read_nested_rtx): New method decl.
+	(rtx_reader::read_rtx_variadic): New method decl.
+	(rtx_reader::get_string_obstack): New method.
+	(rtx_reader::get_md_constants): New method.
+	(string_obstack): Convert global variable decl to...
+	(rtx_reader::m_string_obstack): ...this new field.
+	(rtx_reader::m_ptr_locs): New field.
+	(rtx_reader::m_ptr_loc_obstack): New field.
+	(rtx_reader::m_joined_conditions): New field.
+	(rtx_reader::m_joined_conditions_obstack): New field.
+	(rtx_reader::m_md_constants): New field.
+	(rtx_reader::m_enum_types): New field.
+	* read-rtl.c (apply_iterator_to_string): Convert to...
+	(rtx_reader::apply_iterator_to_string): ...member function.
+	(copy_rtx_for_iterators): Convert to...
+	(rtx_reader::copy_rtx_for_iterators): ...member function.
+	(add_condition_to_string): Use rtx_reader_ptr for
+	calls join_c_conditions.
+	(apply_iterators): Use rtx_reader_ptr for calls to
+	join_c_conditions and copy_rtx_for_iterators.
+	(read_conditions): Convert to...
+	(rtx_reader::read_conditions): ...member function.
+	(record_potential_iterator_use): Convert to...
+	(rtx_reader::record_potential_iterator_use): ...member function.
+	(read_mapping): Convert to...
+	(rtx_reader::read_mapping): ...member function.
+	(read_subst_mapping): Use rtx_reader_ptr for read_string call.
+	(read_rtx): Convert to...
+	(rtx_reader::read_rtx): ...member function.
+	(read_rtx_code): Convert to...
+	(rtx_reader::read_rtx_code): ...member function.
+	(read_rtx_operand): Convert to...
+	(rtx_reader::read_rtx_operand): ...member function.  Update for move
+	of string_obstack to a field.
+	(read_nested_rtx): Convert to..
+	(rtx_reader::read_nested_rtx): ...member function.
+	(read_rtx_variadic): Convert to..
+	(rtx_reader::read_rtx_variadic): ...member function.
+
+2016-10-18  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* tree-vrp.c (get_value_range): Check get_ptr_nonnull.
+
+2016-10-18  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* ipa-prop.c (ipa_compute_jump_functions_for_edge): Set value range
+	for pointer type too.
+	(ipcp_update_vr): set_ptr_nonnull for pointer.
+
+2016-10-18  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* tree-ssa-alias.h (pt_solution_singleton_or_null_p): Renamed from
+	pt_solution_singleton_p.
+	* tree-ssa-ccp.c (fold_builtin_alloca_with_align): Use renamed
+	pt_solution_singleton_or_null_p from pt_solution_singleton_p.
+	* tree-ssa-structalias.c (find_what_p_points_to): Preserve
+	pointer nonnull computed by VRP.
+	Also Conservatively set pt.null to 1.
+	(pt_solution_reset): Conservatively set pt.null to 1.
+	(pt_solution_singleton_or_null_p): Renamed from
+	pt_solution_singleton_p.
+	* tree-ssanames.h (set_ptr_nonnull): Declare.
+	(get_ptr_nonnull): Likewise.
+	* tree-ssanames.c (set_ptr_nonnull): New.
+	(get_ptr_nonnull): Likewise.
+	* tree-vrp.c (vrp_finalize): Set ptr that are nonnull.
+	(evrp_dom_walker::before_dom_children): Likewise.
+
+2016-10-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/i386/i386.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Move to...
+	* config/i386/i386.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): ...here.
+	* config/ia64/ia64.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Move to...
+	* config/ia64/ia64.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): ...here.
+	* config/rs6000/rs6000.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Move to.
+	* config/rs6000/rs6000.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): ...here.
+	(rs6000_option_override_internal): Clear it if ABI_AIX.
+	* config/sparc/sparc.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Move to...
+	* config/sparc/sparc.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): ... here.
+
+2016-10-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* gimple-ssa-strength-reduction.c (record_increment): Remove
+	garbage comment.
+
+2016-10-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* expmed.c (expand_shift_1): Add MAY_FAIL parameter and do not assert
+	that the result is non-zero if it is true.
+	(maybe_expand_shift): New wrapper around expand_shift_1.
+	(emit_store_flag): Call maybe_expand_shift in lieu of expand_shift.
+
+2016-10-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR tree-optimization/77916
+	* gimple-ssa-strength-reduction.c (create_add_on_incoming_edge):
+	Don't allow a MINUS_EXPR for pointer arithmetic for either known
+	or unknown strides.
+	(record_increment): Increments of -1 for unknown strides just use
+	a multiply initializer like other negative values.
+	(analyze_increments): Remove stopgap solution for -1 increment
+	applied to pointer arithmetic.
+
+2016-10-17  Yuri Rumyantsev  <ysrumyan@gmail.com>
+
+	* dominance.c (dom_info::dom_info): Add new constructor for region
+	which is vector of basic blocks.
+	(dom_init): New method to initialize members common for both
+	constructors.
+	(dom_info::dom_info): Invoke dom_init for partial initialization.
+	(dom_info::get_idom): Add check to corner cases on basic blocks which
+	are not in region.
+	(dom_info::calc_dfs_tree): Check M_FAKE_EXIT_EDGE instead of M_REVERSE
+	to detect unreachable bbs.
+	(dom_info::calc_idoms): Likewise.
+	(compute_dom_fast_query_in_region): New function.
+	(calculate_dominance_info_for_region): Likewise.
+	(free_dominance_info_for_region): Likewise.
+	* dominance.h: Add prototypes for introduced region-based functions
+	* tree-if-conv.c (build_region): New function.
+	(if_convertible_loop_p_1): Invoke local version of post-dominators
+	calculation before basic block predication with subsequent freeing
+	post-dominator info.
+	(tree_if_conversion): Remove free of post-dominator info
+	(pass_if_conversion::execute): Delete detection of infinite loops
+	and fake edges to exit block since post-dominator calculation is
+	performed per if-converted loop only.
+
+2016-10-17  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	PR target/77308
+	* config/arm/arm.c (arm_emit_coreregs_64bit_shift): Clear the result
+	register explicitly.
+	* config/arm/arm.md (ashldi3, ashrdi3, lshrdi3): Don't FAIL if
+	optimizing for size.
+
+2016-10-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64.c: Delete inclusion of
+	cortex-a57-fma-steering.h.
+	(aarch64_override_options): Delete call
+	to aarch64_register_fma_steering.
+	* config/aarch64/aarch64-protos.h (make_pass_fma_steering): Declare.
+	* config/aarch64/cortex-a57-fma-steering.h: Delete.
+	* config/aarch64/aarch64-passes.def: New file.
+	* config/aarch64/cortex-a57-fma-steering.c
+	(aarch64_register_fma_steering): Delete definition.
+	(make_pass_fma_steering): Remove static qualifier.
+	* config/aarch64/t-aarch64 (PASSES_EXTRA): New directive.
+	(cortex-a57-fma-steering.o): Remove dependency on
+	cortex-a57-fma-steering.h.
+
+2016-10-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* explow.c (validize_mem): Do not modify the argument in-place.
+
+2016-10-17  Thomas Schwinge  <thomas@codesourcery.com>
+
+	* tree-streamer.c (record_common_node): Explicitly list expected
+	tree codes.
+
+2016-10-17  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/77988
+	* tree-vrp.c (remove_range_assertions): Use replace_uses_by.
+
+2016-10-17  Marek Polacek  <polacek@redhat.com>
+
+	* Makefile.in (C_COMMON_OBJS): Add c-family/c-attribs.o.
+
+2016-10-17  Richard Biener  <rguenther@suse.de>
+
+	* bb-reorder.c (reorder_basic_blocks_simple): Clear BB_VISITED
+	before using it.
+
+2016-10-17  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	PR tree-optimization/71636
+	* match.pd (x & ((1 << b) - 1) -> x & ~(~0 << b)): New pattern.
+
+2016-10-17  Richard Biener  <rguenther@suse.de>
+
+	* gimplify.c (gimplify_function_tree): Do not move the outer
+	binds block.
+
+2016-10-17  Jakub Jelinek  <jakub@redhat.com>
+
+	* langhooks.h (struct lang_hooks_for_decls): Remove
+	function_decl_explicit_p, function_decl_deleted_p and
+	function_decl_defaulted hooks.  Add decl_dwarf_attribute hook.
+	* langhooks-def.h (lhd_decl_dwarf_attribute): Declare.
+	(LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P,
+	LANG_HOOKS_FUNCTION_DECL_DELETED_P,
+	LANG_HOOKS_FUNCTION_DECL_DEFAULTED): Remove.
+	(LANG_HOOKS_DECL_DWARF_ATTRIBUTE): Define.
+	(LANG_HOOKS_DECLS): Remove LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P,
+	LANG_HOOKS_FUNCTION_DECL_DELETED_P and
+	LANG_HOOKS_FUNCTION_DECL_DEFAULTED.  Add
+	LANG_HOOKS_DECL_DWARF_ATTRIBUTE.
+	* langhooks.c (lhd_decl_dwarf_attribute): New function.
+	* dwarf2out.c (gen_subprogram_die): Use
+	lang_hooks.decls.decl_dwarf_attribute instead of
+	lang_hooks.decls.function_decl_*.
+
+2016-10-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/37139
+	PR ada/67205
+	* common.opt (-ftrampolines): New option.
+	* doc/invoke.texi (Code Gen Options): Document it.
+	* doc/tm.texi.in (Trampolines): Add TARGET_CUSTOM_FUNCTION_DESCRIPTORS.
+	* doc/tm.texi: Regenerate.
+	* builtins.def: Add init_descriptor and adjust_descriptor.
+	* builtins.c (expand_builtin_init_trampoline): Do not issue a warning
+	on platforms with descriptors.
+	(expand_builtin_init_descriptor): New function.
+	(expand_builtin_adjust_descriptor): Likewise.
+	(expand_builtin) <BUILT_IN_INIT_DESCRIPTOR>: New case.
+	<BUILT_IN_ADJUST_DESCRIPTOR>: Likewise.
+	* calls.c (prepare_call_address): Remove SIBCALLP parameter and add
+	FLAGS parameter.  Deal with indirect calls by descriptor and adjust.
+	Set STATIC_CHAIN_REG_P on the static chain register, if any.
+	(call_expr_flags): Set ECF_BY_DESCRIPTOR for calls by descriptor.
+	(expand_call): Likewise.  Move around call to prepare_call_address
+	and pass all flags to it.
+	* cfgexpand.c (expand_call_stmt): Reinstate CALL_EXPR_BY_DESCRIPTOR.
+	* gimple.h (enum gf_mask): New GF_CALL_BY_DESCRIPTOR value.
+	(gimple_call_set_by_descriptor): New setter.
+	(gimple_call_by_descriptor_p): New getter.
+	* gimple.c (gimple_build_call_from_tree): SetCALL_EXPR_BY_DESCRIPTOR.
+	(gimple_call_flags): Deal with GF_CALL_BY_DESCRIPTOR.
+	* langhooks.h (struct lang_hooks): Add custom_function_descriptors.
+	* langhooks-def.h (LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS): Define.
+	(LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS.
+	* rtl.h (STATIC_CHAIN_REG_P): New macro.
+	* rtlanal.c (find_first_parameter_load): Skip static chain registers.
+	* target.def (custom_function_descriptors): New POD hook.
+	* tree.h (FUNC_ADDR_BY_DESCRIPTOR): New flag on ADDR_EXPR.
+	(CALL_EXPR_BY_DESCRIPTOR): New flag on CALL_EXPR.
+	* tree-core.h (ECF_BY_DESCRIPTOR): New mask.
+	Document FUNC_ADDR_BY_DESCRIPTOR and CALL_EXPR_BY_DESCRIPTOR.
+	* tree.c (make_node_stat) <tcc_declaration>: Use FUNCTION_ALIGNMENT.
+	(build_common_builtin_nodes): Initialize init_descriptor and
+	adjust_descriptor.
+	* tree-nested.c: Include target.h.
+	(struct nesting_info): Add 'any_descr_created' field.
+	(get_descriptor_type): New function.
+	(lookup_element_for_decl): New function extracted from...
+	(create_field_for_decl): Likewise.
+	(lookup_tramp_for_decl): ...here.  Adjust.
+	(lookup_descr_for_decl): New function.
+	(convert_tramp_reference_op): Deal with descriptors.
+	(build_init_call_stmt): New function extracted from...
+	(finalize_nesting_tree_1): ...here.  Adjust and deal with descriptors.
+	* defaults.h (FUNCTION_ALIGNMENT): Define.
+	(TRAMPOLINE_ALIGNMENT): Set to above instead of FUNCTION_BOUNDARY.
+	* config/i386/i386.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define.
+	* config/ia64/ia64.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Likewise.
+	* config/rs6000/rs6000.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS):Likewise.
+	* config/sparc/sparc.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Likewise.
+
+2016-10-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/sparc/sparc.c (sparc_expand_vector_init): Only accept literal
+	constants in CONST_VECTORs.
+
+2016-10-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/sparc/sparc.c (sparc_expand_vec_perm_bmask): Use a scratch
+	register as destination of bmask.
+	(vector_init_bshuffle): Likewise.
+	* config/sparc/sparc.md (vec_perm_constv8qi): Likewise.
+	(bmaskdi_vis): Enable only in 64-bit mode.
+
+2016-10-15  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.c (rs6000_get_separate_components): Do not
+	make LR a separately shrink-wrapped component unless savres_strategy
+	contains all of {SAVE,REST}_INLINE_{GPRS,FPRS,VRS}.  Do not wrap
+	GPRs unless both {SAVE,REST}_INLINE_GPRS.  Do not disallow all
+	wrapping when not both {SAVE,REST}_INLINE_GPRS.
+
+2016-10-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* optabs.c (expand_parity): Fix mode mismatch, add final conversion
+	and keep looping on failure.
+
+2016-10-14  David Malcolm  <dmalcolm@redhat.com>
+
+	* print-rtl-function.c (print_edge): Omit "(flags)" when none are
+	set.
+	(print_rtx_function): Update example in comment for...
+	* print-rtl.c (print_rtx_operand_code_r): In compact mode, print
+	non-virtual pseudos with a '%' sigil followed by the regno, offset
+	by (LAST_VIRTUAL_REGISTER + 1), so that the first non-virtual
+	pseudo is dumped as "%0".
+
+2016-10-14  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/77959
+	* expr.c (expand_expr_real_1) <case CONST_DECL>: For EXPAND_WRITE
+	return a MEM.
+
+2016-10-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/sparc/sparc-passes.def: New file.
+	* config/sparc/t-sparc (PASSES_EXTRA): Add sparc-passes.def.
+	* config/sparc/sparc-protos.h (make_pass_work_around_errata): New.
+	* config/sparc/sparc.c (sparc_option_override): Don't register passes.
+
+2016-10-14  Pat Haugen  <pthaugen@us.ibm.com>
+
+	* loop-unroll.c (unroll_loop_runtime_iterations): Condition initial
+	loop peel to loops with exit test at the beginning.
+
+2016-10-14  Pat Haugen  <pthaugen@us.ibm.com>
+
+	PR rtl-optimization/68212
+	* cfgloopmanip.c (duplicate_loop_to_header_edge): Use preheader edge
+	frequency when computing scale factor for peeled copies.
+	* loop-unroll.c (unroll_loop_runtime_iterations): Fix freq/count
+	values for switch/peel blocks/edges.
+
+2016-10-14  Pedro Alves  <palves@redhat.com>
+
+	* coretypes.h (OVERRIDE, FINAL): Delete, moved to include/ansidecl.h.
+
+2016-10-14  Catherine Moore  <clm@codesourcery.com>
+
+	* config/mips/mips.c (mips_prepare_pch_save): Initialize
+	micromips_globals to zero.
+
+2016-10-14  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/77979
+	* tree-vrp.c (compare_name_with_value): Handle released SSA names
+	in the equivalency sets.
+	(compare_names): Likewise.
+
+2016-10-14  Martin Liska  <mliska@suse.cz>
+
+	* builtins.h(target_char_cst_p): Declare the function.
+	* builtins.c (fold_builtin_memchr): Remove.
+	(target_char_cst_p): Move the function from gimple-fold.c.
+	(fold_builtin_3): Do not call the function.
+	* gimple-fold.c (gimple_fold_builtin_memchr): New function.
+	(gimple_fold_builtin): Call the function.
+	* fold-const-call.c (fold_const_call_1): Handle CFN_BUILT_IN_MEMCHR.
+
+2016-10-14  Martin Liska  <mliska@suse.cz>
+
+	* builtins.c (fold_builtin_strcmp): Remove function.
+	(fold_builtin_strncmp): Likewise.
+	(fold_builtin_2): Remove call of the function.
+	(fold_builtin_3): Likewise.
+	* fold-const-call.c (fold_const_call): Add constant folding
+	for CFN_BUILT_IN_STRCASECMP and CFN_BUILT_IN_STRNCASECMP.
+	* fold-const-call.h (build_cmp_result): Declare the function.
+	* gimple-fold.c (gimple_load_first_char): New function.
+	(gimple_fold_builtin_string_compare): Likewise.
+	(gimple_fold_builtin): Call the function.
+
+2016-10-14  Nathan Sidwell  <nathan@acm.org>
+
+	* gcov-io.c (gcov_open): Deconstify 'mode'.
+
+2016-10-14  Martin Liska  <mliska@suse.cz>
+
+	* fold-const.c (c_getstr): Support of properly \0-terminated
+	string constants.  New argument is added.
+	* fold-const.h: New argument is added.
+
+2016-10-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_print_hint_for_core_or_arch):
+	New function.
+	(aarch64_print_hint_for_core): Likewise.
+	(aarch64_print_hint_for_arch): Likewise.
+	(aarch64_validate_march): Use it.  Fix indentation in type signature.
+	(aarch64_validate_mcpu): Use aarch64_print_hint_for_core_or_arch.
+	(aarch64_validate_mtune): Likewise.
+	(aarch64_handle_attr_arch): Likewise.
+	(aarch64_handle_attr_cpu): Likewise.
+	(aarch64_handle_attr_tune): Likewise.
+
+2016-10-14  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	* optabs.def: Remove optab function gen_int_libfunc for sdivmod_optab
+	and udivmod_optab.
+
+2016-10-13  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* config/m68k/m68k.c (m68k_option_override): Check
+	opt_fstack_limit_symbol_arg and opt_fstack_limit_register_no
+	instead of stack_limit_rtx.
+
+2016-10-13  Jakub Jelinek  <jakub@redhat.com>
+
+	* dwarf2out.c (gen_member_die): Handle inline static data member
+	definitions.
+
+2016-10-13  Nathan Sidwell  <nathan@acm.org>
+
+	* gcov-io.c (gcov_open): Fix documentation.  Simplify setting
+	gcov_var.mode.  Remove unnecessary fstat.
+
+2016-10-13  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR bootstrap/77962
+	* function.c (thread_prologue_and_epilogue_insns): Call all
+	make_*logue_seq in the same order as traditional.  Call them
+	all a second time if shrink_wrapped_separate.
+
+2016-10-13  Marek Polacek  <polacek@redhat.com>
+
+	* Makefile.in (insn-attrtab.o-warn, insn-dfatab.o-warn,
+	insn-latencytab.o-warn, insn-output.o-warn, insn-emit.o-warn): Don't
+	use -Wno-error.
+
+2016-10-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR tree-optimization/77937
+	* gimple-ssa-strength-reduction.c (analyze_increments): Set cost
+	to infinite when we have a pointer with an increment of -1.
+
+2016-10-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* coretypes.h: Move MEMMODEL_* macros and enum memmodel definition
+	into ...
+	* memmodel.h: This file.
+	* alias.c, asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c,
+	  caller-save.c, calls.c, ccmp.c, cfgbuild.c, cfgcleanup.c,
+	  cfgexpand.c, cfgloopanal.c, cfgrtl.c, cilk-common.c, combine.c,
+	  combine-stack-adj.c, common/config/aarch64/aarch64-common.c,
+	  common/config/arm/arm-common.c, common/config/bfin/bfin-common.c,
+	  common/config/c6x/c6x-common.c, common/config/i386/i386-common.c,
+	  common/config/ia64/ia64-common.c, common/config/nvptx/nvptx-common.c,
+	  compare-elim.c, config/aarch64/aarch64-builtins.c,
+	  config/aarch64/aarch64-c.c, config/aarch64/cortex-a57-fma-steering.c,
+	  config/arc/arc.c, config/arc/arc-c.c, config/arm/arm-builtins.c,
+	  config/arm/arm-c.c, config/avr/avr.c, config/avr/avr-c.c,
+	  config/avr/avr-log.c, config/bfin/bfin.c, config/c6x/c6x.c,
+	  config/cr16/cr16.c, config/cris/cris.c, config/darwin-c.c,
+	  config/darwin.c, config/epiphany/epiphany.c,
+	  config/epiphany/mode-switch-use.c,
+	  config/epiphany/resolve-sw-modes.c, config/fr30/fr30.c,
+	  config/frv/frv.c, config/ft32/ft32.c, config/h8300/h8300.c,
+	  config/i386/i386-c.c, config/i386/winnt.c, config/iq2000/iq2000.c,
+	  config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
+	  config/m68k/m68k.c, config/mcore/mcore.c,
+	  config/microblaze/microblaze.c, config/mmix/mmix.c,
+	  config/mn10300/mn10300.c, config/moxie/moxie.c,
+	  config/msp430/msp430.c, config/nds32/nds32-cost.c,
+	  config/nds32/nds32-intrinsic.c, config/nds32/nds32-md-auxiliary.c,
+	  config/nds32/nds32-memory-manipulation.c,
+	  config/nds32/nds32-predicates.c, config/nds32/nds32.c,
+	  config/nios2/nios2.c, config/nvptx/nvptx.c, config/pa/pa.c,
+	  config/pdp11/pdp11.c, config/rl78/rl78.c, config/rs6000/rs6000-c.c,
+	  config/rx/rx.c, config/s390/s390-c.c, config/s390/s390.c,
+	  config/sh/sh.c, config/sh/sh-c.c, config/sh/sh-mem.cc,
+	  config/sh/sh_treg_combine.cc, config/sol2.c, config/spu/spu.c,
+	  config/stormy16/stormy16.c, config/tilegx/tilegx.c,
+	  config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
+	  config/visium/visium.c, config/vms/vms-c.c, config/xtensa/xtensa.c,
+	  coverage.c, cppbuiltin.c, cprop.c, cse.c, cselib.c, dbxout.c, dce.c,
+	  df-core.c, df-problems.c, df-scan.c, dojump.c, dse.c, dwarf2asm.c,
+	  dwarf2cfi.c, dwarf2out.c, emit-rtl.c, except.c, explow.c, expmed.c,
+	  expr.c, final.c, fold-const.c, function.c, fwprop.c, gcse.c,
+	  ggc-page.c, haifa-sched.c, hsa-brig.c, hsa-gen.c, hw-doloop.c,
+	  ifcvt.c, init-regs.c, internal-fn.c, ira-build.c, ira-color.c,
+	  ira-conflicts.c, ira-costs.c, ira-emit.c, ira-lives.c, ira.c, jump.c,
+	  loop-doloop.c, loop-invariant.c, loop-iv.c, loop-unroll.c,
+	  lower-subreg.c, lra.c, lra-assigns.c, lra-coalesce.c,
+	  lra-constraints.c, lra-eliminations.c, lra-lives.c, lra-remat.c,
+	  lra-spills.c, mode-switching.c, modulo-sched.c, omp-low.c, passes.c,
+	  postreload-gcse.c, postreload.c, predict.c, print-rtl-function.c,
+	  recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c,
+	  reload.c, reload1.c, reorg.c, resource.c, rtl-chkp.c, rtl-tests.c,
+	  rtlanal.c, rtlhooks.c, sched-deps.c, sched-rgn.c, sdbout.c,
+	  sel-sched-ir.c, sel-sched.c, shrink-wrap.c, simplify-rtx.c,
+	  stack-ptr-mod.c, stmt.c, stor-layout.c, target-globals.c,
+	  targhooks.c, toplev.c, tree-nested.c, tree-outof-ssa.c,
+	  tree-profile.c, tree-ssa-coalesce.c, tree-ssa-ifcombine.c,
+	  tree-ssa-loop-ivopts.c, tree-ssa-loop.c, tree-ssa-reassoc.c,
+	  tree-ssa-sccvn.c, tree-vect-data-refs.c, ubsan.c, valtrack.c,
+	  var-tracking.c, varasm.c: Include memmodel.h.
+	* genattrtab.c (write_header): Include memmodel.h in generated file.
+	* genautomata.c (main): Likewise.
+	* gengtype.c (open_base_files): Likewise.
+	* genopinit.c (main): Likewise.
+	* genconditions.c (write_header): Include memmodel.h earlier in
+	generated file.
+	* genemit.c (main): Likewise.
+	* genoutput.c (output_prologue): Likewise.
+	* genpeep.c (main): Likewise.
+	* genpreds.c (write_insn_preds_c): Likewise.
+	* genrecog.c (write_header): Likewise.
+	* Makefile.in (PLUGIN_HEADERS): Include memmodel.h
+
+2016-10-13  David Malcolm  <dmalcolm@redhat.com>
+
+	* function-tests.c (selftest::test_expansion_to_rtl): Add "true"
+	for new "compact" param of print_rtx_function.  Check for "cinsn"
+	rather than "insn".
+	* print-rtl-function.c (flag_compact): New decl.
+	(print_rtx_function): Add param "compact" and use it to set
+	flag_compact, adding a description of the effect to the leading
+	comment, and updating the example output.
+	* print-rtl.c (flag_compact): New variable.
+	(print_rtx_operand_code_0): Omit the JUMP_LABEL reference in compact
+	mode.
+	(print_rtx_operand_code_i): When printing source locations, wrap
+	xloc.file in quotes.  Don't print INSN_CODEs in compact mode.
+	(print_rtx_operand_code_r): Don't print regnos for hard regs and
+	virtuals in compact mode.
+	(print_rtx_operand_code_u): Don't print insn UIDs in compact mode,
+	apart from in LABEL_REFs.
+	(print_rtx_operand): In case 'w', don't print in hex in compact mode.
+	Don't print basic block ids in compact mode.
+	(print_rtx):  In compact mode, prefix the code of insns with "c",
+	only print the INSN_UID of CODE_LABELs, and omit their LABEL_NUSES.
+	* print-rtl.h (print_rtx_function): Add "compact" param.
+
+2016-10-13  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm.h (TARGET_VFP): Delete.
+	(TARGET_VFPD32): Remove references to TARGET_VFP.
+	(TARGET_VFP3, TARGET_VFP5): Likewise.
+	(TARGET_VFP_SINGLE, TARGET_VFP_DOUBLE): Likewise.
+	(TARGET_NEON_FP16): Likewise.
+	(TARGET_FMA): Likewise.
+	(TARGET_CRYPTO): Likewise.
+	(TARGET_NEON): Likewise.
+	(SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
+	(FUNCTION_ARG_REGNO_P): Likewise.
+	* arm.c (arm_option_check_internal): Likewise.
+	(arm_option_override): Likewise.
+	(use_return_insn): Likewise.
+	(arm_function_value_regno_p): Likewise.
+	(arm_apply_result_size): Likewise.
+	(use_vfp_abi): Likewise.
+	(arm_legitimate_address_outer_p): Likewise.
+	(thumb2_legitimate_address_p): Likewise.
+	(arm_legitimate_index_p): Likewise.
+	(thumb2_legitimate_index_p): Likewise.
+	(arm_legitimate_address): Likewise.
+	(arm_get_vfp_saved_size): Likewise.
+	(arm_emit_vfp_multi_reg_pop): Likewise.
+	(arm_get_frame_offsets): Likewise.
+	(arm_save_coproc_regs): Likewise.
+	(arm_hard_regno_mode_ok): Likewise.
+	(arm_expand_epilogue_apcs_frame): Likewise.
+	(arm_expand_epilogue): Likewise.
+	(arm_file_start): Likewise.
+	(arm_conditional_register_usage): Likewise.
+	(arm_validize_comparison): Use vfp_compare_operand directly.
+	* arm-builtins.c (arm_init_builtins): Remove references to TARGET_VFP.
+	(arm_expand_vfp_builtin): Use TARGET_HARD_FLOAT for detecting
+	unsupported usage.
+	(arm_atomic_assign_expand_fenv): Likewise.
+	* arm.md (divsf3): Likewise.
+	(arm_negsi2): Likewise.
+	(absdf2): Likewise.
+	(arm_movdi): Likewise.
+	(arm_movt): Likewise.
+	(cbranchsf4): Change predicate to vfp_compare_operand.
+	(cbranchdf4): Change predicate to vfp_compare_operand.
+	(cstorehf4): Change predicate to vfp_compare_operand.
+	(cstoresf4): Change predicate to vfp_compare_operand.
+	(cstoredf4): Change predicate to vfp_compare_operand.
+	(vfp_pop_multiple_with_writeback): Remove references to TARGET_VFP.
+	(movhi_insn_arch4, movhi_bytes): Likewise.
+	* constraints.md (Dt): Likewise.
+	(Dp): Likewise.
+	* iterators.md (SDF): Likewise.
+	* predicates.md (arm_float_compare_operand): Delete.
+	(const_double_vcvt_power_of_two_reciprocal): Remove references to
+	TARGET_VFP.
+	(const_double_vcvt_power_of_two): Likewise.
+	* thumb2.md thumb2_movsi_insn): Likewise.
+	* vfp.md (arm_movhi_vfp, thumb2_movhi_vfp): Likewise.
+	(movhf_vfp): Likewise.
+	(arm_movsi_vfp, thumb2_movsi_vfp): Likewise.
+	(movdi_vfp, movdi_vfp_cortexa8): Likewise.
+	(movsf_vfp, thumb2_movsf_vfp): Likewise.
+	(movdf_vfp, thumb2_movdf_vfp): Likewise.
+	(movsfcc_vfp, abssf2_vfp, negsf2_vfp, addsf3_vfp): Likewise.
+	(subsf3_vfp, divsf3_vfp): Likewise.
+	(mulsf3_vfp, mulsf3negsf_vfp, negmulsf3_vfp): Likewise.
+	(mulsf3addsf_vfp, (mulsf3subsf_vfp, mulsf3negsfaddsf_vfp): Likewise.
+	(mulsf3negsfsubsf_vfp): Likewise.
+	(truncsisf2_vfp, fixuns_truncsfsi2, floatsisf2_vfp): Likewise.
+	(floatunssisf2, sqrtsf2_vfp): Likewise.
+	(movcc_vfp): Likewise.
+	(cmpsf_split_vfp, cmpsf_trap_split_vfp): Likewise.
+	(cmpsf_vfp, cmpsf_trap_vfp): Likewise.
+	(push_multi_vfp): Likewise.
+	(set_fpscr, get_fpscr): Likewise.
+	* arm-c.c (arm_cpu_builtins): Unconditionally define __VFP_FP__.
+
+2016-10-13  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm.h (TARGET_VFP): Unconditionally define to 1.
+	(arm_fpu_desc): Remove 'model' field.
+	(TARGET_FPU_MODEL): Delete.
+	* arm.c (all_fpus): Don't initialize the model field.
+	(arm_can_inline_p): Don't check the FPU model.
+	* arm-fpus.def: Remove redundant model field from all FPU
+	descriptions.
+
+2016-10-13  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/77826
+	* genmatch.c (struct capture): Add value_match member.
+	(commutate): Preserve value_match.
+	(lower_opt_convert): Likewise.
+	(lower_cond): Likewise.
+	(replace_id): Likewise.
+	(struct dt_operand): Add value_match member.
+	(decision_tree::cmp_node): Compare it.
+	(decision_tree::insert_operand): Honor it when finding and
+	when appending a DT_MATCH.
+	(dt_operand::gen_match_op): Generate a type check after
+	operand_equal_p if ! value_match for both GENERIC and GIMPLE.
+	(parser::get_internal_capture_id): New helper.
+	(parser::finish_match_operand): New function lowering @@<id>.
+	(parser::parse_capture): Parse @@<id> as value-match.
+	(parser::parse_expr): Use get_internal_capture_id.
+	(parser::parse_simplify): Call finish_match_operand.
+	(walk_captures): New helper.
+	* match.pd (X - (X / Y) * Y -> X % Y): Use value-matching instead
+	of operand_equal_p.
+	((X /[ex] A) * A -> X): Likewise.
+	((X | Y) ^ X -> Y & ~ X): Handle constants properly by using
+	convert[12] and value-matching.
+	((A | B) & (A | C) ->  A | (B & C)): Likewise.
+	((X | Y) | Y -> X | Y): Likewise.
+	((X ^ Y) ^ Y -> X): Likewise.
+	(A - (A & B) -> ~B & A): Likewise.
+	((T)(P + A) - (T)P -> (T) A): Likewise.
+	((T)P - (T)(P + A) -> -(T) A): Likewise.
+	((T)(P + A) - (T)(P + B) -> (T)A - (T)B): Likewise.
+	* doc/match-and-simplify.texi: Amend capture section.
+
+2016-10-13  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.md (umul_600): Remove predicated variant.
+	(umul64_600): Likewise.
+
+2016-10-13  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.h (INSN_LENGTH_ALIGNMENT): Change.
+
+2016-10-13  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-vect-loop.c (loop_niters_no_overflow): New func.
+	(vect_transform_loop): Call loop_niters_no_overflow.  Pass the
+	no-overflow information to vect_do_peeling_for_loop_bound and
+	vect_gen_vector_loop_niters.
+
+2016-10-13  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-predcom.c (tree_predictive_commoning_loop): Skip loop that only
+	iterates 1 time.
+
+2016-10-13  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-vect-loop-manip.c (adjust_vec_debug_stmts): Don't release
+	adjust_vec automatically.
+	(slpeel_add_loop_guard): Remove param cond_expr_stmt_list.  Rename
+	param exit_bb to guard_to.
+	(slpeel_checking_verify_cfg_after_peeling):
+	(set_prologue_iterations):
+	(create_lcssa_for_virtual_phi): New func which is factored out from
+	slpeel_tree_peel_loop_to_edge.
+	(slpeel_tree_peel_loop_to_edge):
+	(iv_phi_p): New func.
+	(vect_can_advance_ivs_p): Call iv_phi_p.
+	(vect_update_ivs_after_vectorizer): Call iv_phi_p.  Directly insert
+	new gimple stmts in basic block.
+	(vect_gen_niters_for_prolog_loop): Rename to...
+	(vect_gen_prolog_loop_niters): ...Rename from.  Change parameters and
+	adjust implementation.
+	(vect_update_inits_of_drs): Fix code style issue.  Convert niters to
+	sizetype if necessary.
+	(vect_build_loop_niters): Move to here from tree-vect-loop.c.  Change
+	it to external function.
+	(vect_gen_scalar_loop_niters, vect_gen_vector_loop_niters): New.
+	(vect_gen_vector_loop_niters_mult_vf): New.
+	(slpeel_update_phi_nodes_for_loops): New.
+	(slpeel_update_phi_nodes_for_guard1): Reimplement.
+	(find_guard_arg, slpeel_update_phi_nodes_for_guard2): Reimplement.
+	(slpeel_update_phi_nodes_for_lcssa, vect_do_peeling): New.
+	* tree-vect-loop.c (vect_build_loop_niters): Move to file
+	tree-vect-loop-manip.c
+	(vect_generate_tmps_on_preheader): Delete.
+	(vect_transform_loop): Rename vectorization_factor to vf.  Call
+	vect_do_peeling instead of vect_do_peeling-* functions.
+	* tree-vectorizer.h (vect_do_peeling): New decl.
+	(vect_build_loop_niters, vect_gen_vector_loop_niters): New decls.
+	(vect_do_peeling_for_loop_bound): Delete.
+	(vect_do_peeling_for_alignment): Delete.
+
+2016-10-13  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg): Put
+	duplicated loop after its preheader and after the original loop.
+
+2016-10-13  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-vect-loop.c (vect_analyze_loop_2): Check and skip loop if it
+	has no enough iterations for LOOP_VINFO_PEELING_FOR_GAPS.
+
+2016-10-13  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-vect-loop.c (vectorizable_live_operation): Support handling
+	for live variable outside loop but not in lcssa form.
+
+2016-10-13  Bin Cheng  <bin.cheng@arm.com>
+
+	* cfg.c (reset_original_copy_tables): New func.
+	* cfg.h (reset_original_copy_tables): New decl.
+
+2016-10-13  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/77946
+	* tree.h (FALLTHROUGH_LABEL_P): Use private_flag instead of
+	public_flag.
+	* varasm.c (default_binds_local_p_3): Formatting fix.
+
+2016-10-13  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-vect-loop-manip.c (slpeel_can_duplicate_loop_p): Fix code
+	style issue.
+	(vect_do_peeling_for_loop_bound, vect_do_peeling_for_alignment):
+	Remove useless code.
+
+2016-10-13  Martin Liska  <mliska@suse.cz>
+
+	PR tree-optimization/77943
+	* tree-ssa-tail-merge.c (merge_stmts_p): Do not merge BBs with
+	a different EH landing pads.
+
+2016-10-13  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/77957
+	* hooks.h (hook_tree_void_null): Declare.
+	* hooks.c (hook_tree_void_null): New function.
+	* langhooks.c (lhd_return_null_tree_v): Remove.
+	* langhooks-def.h (lhd_return_null_tree_v): Remove.
+	* cfgexpand.c (stack_protect_prologue): If guard_decl is NULL,
+	set y to const0_rtx.
+	* function.c (stack_protect_epilogue): Likewise.
+	* config/tilepro/tilepro.c (TARGET_STACK_PROTECT_GUARD): Redefine
+	if TARGET_THREAD_SSP_OFFSET is defined.
+	* config/s390/s390.c (TARGET_STACK_PROTECT_GUARD): Likewise.
+	* config/sparc/sparc.c (TARGET_STACK_PROTECT_GUARD): Likewise.
+	* config/tilegx/tilegx.c (TARGET_STACK_PROTECT_GUARD): Likewise.
+	* config/rs6000/rs6000.c (TARGET_STACK_PROTECT_GUARD): Likewise.
+	* config/i386/i386.c (TARGET_STACK_PROTECT_GUARD): Likewise.
+	(ix86_stack_protect_guard): New function.
+
+2016-10-13  Richard Biener  <rguenther@suse.de>
+
+	* dwarf2out.c (tree_add_const_value_attribute): Do not try
+	rtl_for_decl_init during early phase.
+	(gen_variable_die): Do not create locations during early phase.
+	(gen_label_die): Likewise.
+	(decls_for_scope): Do not waste time handling BLOCK_NONLOCALIZED_VARs
+	twice.
+
+2016-10-12  Richard Biener  <rguenther@suse.de>
+
+	* tree-vrp.c (evrp_dom_walker::try_find_new_range): Renamed from
+	try_add_new_range and made to eturn new range.
+	(evrp_dom_walker::before_dom_children): Push op1 value range before
+	pushing op0 value range.
+
+2016-10-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR tree-optimization/77937
+	* gimple-ssa-strength-reduction.c (analyze_increments): Use
+	POINTER_TYPE_P on the candidate type to determine whether
+	candidates in this chain require pointer arithmetic.
+
+2016-10-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/visium/visium.c (visium_gimplify_va_arg): Emit a big-endian
+	correction if the type is smaller than a word.
+	(visium_select_cc_mode): Add ... fall through ... comment.
+
+2016-10-12  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.c (machine_function): Add new fields
+	gpr_is_wrapped_separately and lr_is_wrapped_separately.
+	(TARGET_SHRINK_WRAP_GET_SEPARATE_COMPONENTS,
+	TARGET_SHRINK_WRAP_COMPONENTS_FOR_BB,
+	TARGET_SHRINK_WRAP_DISQUALIFY_COMPONENTS,
+	TARGET_SHRINK_WRAP_EMIT_PROLOGUE_COMPONENTS,
+	TARGET_SHRINK_WRAP_EMIT_EPILOGUE_COMPONENTS,
+	TARGET_SHRINK_WRAP_SET_HANDLED_COMPONENTS): Define.
+	(rs6000_get_separate_components): New function.
+	(rs6000_components_for_bb): New function.
+	(rs6000_disqualify_components): New function.
+	(rs6000_emit_prologue_components): New function.
+	(rs6000_emit_epilogue_components): New function.
+	(rs6000_set_handled_components): New function.
+	(rs6000_emit_prologue): Don't emit LR save if lr_is_wrapped_separately.
+	Don't emit GPR saves if gpr_is_wrapped_separately for that register.
+	(restore_saved_lr): Don't restore LR if lr_is_wrapped_separately.
+	(rs6000_emit_epilogue): Don't emit GPR restores if
+	gpr_is_wrapped_separately for that register.  Don't make a
+	REG_CFA_RESTORE note for registers we did not restore, either.
+
+2016-10-12  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* function.c (thread_prologue_and_epilogue_insns): Call
+	try_shrink_wrapping_separate.  Compute the prologue_seq afterwards,
+	if it has possibly changed.  Compute the split_prologue_seq and
+	epilogue_seq later, too.
+	* shrink-wrap.c: #include cfgbuild.h and insn-config.h.
+	(dump_components): New function.
+	(struct sw): New struct.
+	(SW): New function.
+	(init_separate_shrink_wrap): New function.
+	(fini_separate_shrink_wrap): New function.
+	(place_prologue_for_one_component): New function.
+	(spread_components): New function.
+	(disqualify_problematic_components): New function.
+	(emit_common_heads_for_components): New function.
+	(emit_common_tails_for_components): New function.
+	(insert_prologue_epilogue_for_components): New function.
+	(try_shrink_wrapping_separate): New function.
+	* shrink-wrap.h: Declare try_shrink_wrapping_separate.
+
+2016-10-12  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* regrename.c (build_def_use): Invalidate chains that have a
+	REG_CFA_RESTORE on some instruction.
+
+2016-10-12  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* dce.c (delete_unmarked_insns): Don't delete instructions with
+	a REG_CFA_RESTORE note.
+
+2016-10-12  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* common.opt (-fshrink-wrap-separate): New flag.
+	* doc/invoke.texi: Document it.
+	* doc/tm.texi.in (Shrink-wrapping separate components): New subsection.
+	* doc/tm.texi: Regenerate.
+	* emit-rtl.h (struct rtl_data): New field shrink_wrapped_separate.
+	* target.def (shrink_wrap): New hook vector.
+	(get_separate_components, components_for_bb, disqualify_components,
+	emit_prologue_components, emit_epilogue_components,
+	set_handled_components): New hooks.
+
+2016-10-12  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.c (rs6000_return_in_memory): Warn for
+	vector return by reference only if -Wpsabi.
+	(rs6000_pass_by_reference): Similarly, for argument passing.
+
+2016-10-12  David Malcolm  <dmalcolm@redhat.com>
+
+	* function-tests.c: Include "print-rtl.h".
+	(selftest::test_expansion_to_rtl): Call print_rtx_function on the
+	function, and verify what is dumped.
+	* print-rtl-function.c (print_edge): New function.
+	(begin_any_block): New function.
+	(end_any_block): New function.
+	(can_have_basic_block_p): New function.
+	(print_rtx_function): Track the basic blocks of insns in the
+	chain, wrapping those that are within blocks within "(block)"
+	directives.  Remove the "(cfg)" directive.
+
+2016-10-12  David Malcolm  <dmalcolm@redhat.com>
+
+	* selftest.c (selftest::read_file): New function.
+	(selftest::test_read_file): New function.
+	(selftest::selftest_c_tests): Call test_read_file.
+	* selftest.h (selftest::read_file): New decl.
+
+2016-10-12  Richard Biener  <rguenther@suse.de>
+
+	PR debug/77947
+	* cgraphunit.c (analyze_functions): Preserve cgraph nodes
+	function context.
+
+2016-10-12  Thomas Schwinge  <thomas@codesourcery.com>
+
+	* lto-streamer.c: Fix LTO_STREAMER_DEBUG build.
+
+	* dwarf2out.c (dwarf2_lineno_debug_hooks): Use
+	dwarf2out_assembly_start.
+
+	* Makefile.in (SELFTEST_FLAGS): Add -nostdinc.
+
+	* Makefile.in (SELFTEST_FLAGS): New variable.
+	(s-selftest, selftest-gdb, selftest-valgrind): Use it.
+
+	* vmsdbgout.c (vmsdbg_debug_hooks): Add filename parameter to
+	early_finish hook.
+
+2016-10-12  Georg-Johann Lay  <avr@gjlay.de>
+
+	* rtl.h (struct rtx_def): Comment how RTX_FLAGS will be
+	dumped in RTL dumps.
+
+2016-10-12  Martin Liska  <mliska@suse.cz>
+
+	* gimple-fold.c (create_tmp_reg_or_ssa_name): New function.
+	(gimple_fold_builtin_memory_op): Use the function.
+	(gimple_fold_builtin_strchr): Likewise.
+	(gimple_fold_builtin_strcat): Likewise.
+	(gimple_build): Likewise.
+
+2016-10-12  Nathan Sidwell  <nathan@acm.org>
+
+	* diagnostic.c (diagnostc_report_diagnostic): Fix formatting.
+
+2016-10-12  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* dwarf2out.c (int_loc_descriptor): Generate opcodes for another
+	equivalent 32-bit constant (modulo 2**32) when that yields
+	smaller instructions.
+	(size_of_int_loc_descriptor): Update accordingly.
+
+2016-10-12  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* dwarf2out.c (dwarf2out_early_global_decl): For nested
+	functions, call dwarf2out_decl on the parent function first.
+
+2016-10-12  Richard Biener  <rguenther@suse.de>
+
+	* match.pd ((X /[ex] A) * A -> X): Remove unnecessary constraint
+	on the conversion.
+
+2016-10-12  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-propagate.c
+	(substitute_and_fold_dom_walker::before_dom_children): Do not
+	ignore ASSERT_EXPRs but only preserve them.
+	* tree-vrp.c (remove_range_assertions): Deal with ASSERT_EXPRs
+	that have been propagated into.
+	(vrp_finalize): Enable DCE for substitute_and_fold.
+
+2016-10-12  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/77920
+	* tree-vrp.c (simplify_div_or_mod_using_ranges): Simplify.
+	(simplify_min_or_max_using_ranges): Pass in gsi and use it.
+	(simplify_abs_using_ranges): Likewise.
+	(simplify_conversion_using_ranges): Likewise.
+	(simplify_stmt_using_ranges): Adjust.
+
+2016-10-12  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/77929
+	* tree-ssa-reassoc.c (optimize_range_tests_var_bound): Handle
+	(*ops)[ranges[i].idx]->op != ranges[i].exp case.
+
+2016-10-12  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
+
+	PR target/77934
+	* config/rs6000/vmx.md (vsx_concat_<mode>): The mtvsrdd instruction
+	needs a base register for arg 1.
+
+2016-10-12  Jakub Jelinek  <jakub@redhat.com>
+
+	* common.opt (Wimplicit-fallthrough) Turn into alias to
+	-Wimplicit-fallthrough=3.  Remove EnabledBy.
+	(Wimplicit-fallthrough=): New option.
+	* gimplify.c (warn_implicit_fallthrough_r): Use
+	OPT_Wimplicit_fallthrough_ instead of OPT_Wimplicit_fallthrough.
+	* doc/invoke.texi (-Wimplicit-fallthrough): Document as alias
+	to -Wimplicit-fallthrough=3.
+	(-Wimplicit-fallthrough=): Document.
+
+2016-10-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/sparc/sparc.c (emit_scc_insn): Remove direct support for EQ
+	and GEU in DImode if TARGET_SUBXC.
+	* config/sparc/sparc.md (seqdi<W:mode>_zero): Remove TARGET_SUBXC.
+	(seqdi<W:mode>_zero_subxc): Delete.
+	(neg_seqdi<W:mode>_zero): Remove TARGET_VIS3.
+	(neg_seqdi<W:mode>_zero_vis3): Delete.
+	(plus_seqdi<W:mode>_zero): Likewise.
+	(minus_seqdi<W:mode>_zero): Likewise.
+	(plus_plus_sltu<W:mode>): Accept only register.
+	(addx<W:mode>): Likewise.
+	(plus_sltu<W:mode>_vis3): Likewise.
+	(plus_plus_sltu<W:mode>_vis3): Likewise.
+	(neg_sgeu<W:mode>_vis3): Delete.
+	(minus_sgeu<W:mode>_vis3): Likewise.
+	(addxc<W:mode>): Accept only registers.
+	(neg_sltu<W:mode>_subxc): Write %%g0 instead of 0.
+	(minus_neg_sltu<W:mode>_subxc): Accept only register.
+	(neg_plus_sltu<W:mode>_subxc): Likewise.
+	(minus_sltu<W:mode>_subxc): Write %%g0 instead of 0.
+	(minus_minus_sltu<W:mode>_subxc): Accept only register.
+	(sgeu<W:mode>_insn_subxc): Delete.
+	(plus_sgeu<W:mode>_subxc): Likewise.
+	(subxc<W:mode>): Accept only register.
+	(scc splitter): Split always GEU again.
+
+2016-10-11  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/77424
+	* tree-ssa-threadupdate.c (thread_through_all_blocks): Remove
+	dead conditionals.  Assert that all e->aux fields are NULL.
+
+2016-10-11  David Malcolm  <dmalcolm@redhat.com>
+
+	* print-rtl.c (print_rtx): Rename "i" to "idx".  Split out the
+	operand-printing "switch" statement into...
+	(print_rtx_operand_code_0): ...this new function, ...
+	(print_rtx_operand_code_e): ...this new function, ...
+	(print_rtx_operand_codes_E_and_V): ...this new function, ...
+	(print_rtx_operand_code_i): ...this new function, ...
+	(print_rtx_operand_code_r): ...this new function, ...
+	(print_rtx_operand_code_u): ...this new function, ...
+	(print_rtx_operand): ...and this new function.
+
+2016-10-11  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/alpha/alpha-passes.def: New file.
+	* config/alpha/t-alpha: New file.
+	* config/alpha/alpha-protos.h (gcc::context, rtl_opt_pass): Declare.
+	(make_pass_handle_trap_shadows): New prototype.
+	(make_pass_align_insns): Ditto.
+	* config/alpha/alpha.c (alpha_option_override): Don't register
+	passes here.
+	* config.gcc (alpha*-*-*) Add alpha/t-alpha to tmake_file.
+
+2016-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/77924
+	* config/rs6000/rs6000.c (rs6000_init_builtins): Only create the
+	distinct __ibm128 IBM extended double type if long doubles are
+	128-bits and the default format for long double is IEEE 128-bit.
+
+2016-10-11  Richard Biener  <rguenther@suse.de>
+
+	* dwarf2out.c (DEBUG_STR_OFFSETS_SECTION): Remove conditional.
+	(init_sections_and_labels): Use DEBUG_DWO_STR_OFFSETS_SECTION.
+	(verify_die): New function.
+	(dwarf2out_finish): Call it.
+	(output_line_info): Handle case of -gsplit-dwarf without
+	DWARF2_ASM_LINE_DEBUG_INFO.
+
+2016-10-11  Richard Biener  <rguenther@suse.de>
+
+	PR debug/77931
+	* gimple-low.c (lower_gimple_bind): Handle arbitrary common
+	sub-chains of BLOCK_VARS and gimple_bind_vars.
+
+2016-10-11  Venkataramanan Kumar  <Venkataramanan.kumar@amd.com>
+
+	* config/i386/znver1.md : Fix imov/imovx load type reservations.
+
+2016-10-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/sparc/sparc.opt (msubxc): New option.
+	* doc/invoke.texi (SPARC options): Document it and tidy up.
+	* doc/tm.texi.in (Condition Codes): Adjust SPARC example.
+	* doc/tm.texi: Regenerate.
+	* config/sparc/sparc-modes.def (CC_NOOV): Rename into...
+	(CCNZ): ...this.
+	(CCX_NOOV): Rename into...
+	(CCXNZ): ...this.
+	(CCC): New.
+	(CCXC): Likewise.
+	* config/sparc/predicates.m (fcc_register_operand): Simplify.
+	(fcc0_register_operand): Likewise.
+	(icc_register_operand): New.
+	(icc_or_fcc_register_operand): Simplify.
+	(nz_comparison_operator): New.
+	(c_comparison_operator): Likewise.
+	(noov_compare_operator): Rename into...
+	(icc_comparison_operator): ...this.  Use above predicates.
+	(noov_compare64_operator): Rename into...
+	(v9_comparison_operator): ...this and tidy up.
+	(fcc_comparison_operator): New.
+	(icc_or_fcc_comparison_operator): Likewise.
+	(v9_register_compare_operator): Rename info...
+	(v9_register_comparison_operator): ...this.
+	* config/sparc/sparc.c (TARGET_FIXED_CONDITION_CODE_REGS): Define.
+	(sparc_option_override): Remove redundant VIS masks and add MASK_SUBXC
+	for Niagara-7.
+	(sparc_fixed_condition_code_regs): New function.
+	(select_cc_mode): Remove ATTRIBUTE_UNUSED.  Adjust for CCNZ/CCXNZ
+	renaming and add support for CCC/CCXC.
+	(output_cbranch): Likewise.
+	(sparc_print_operand): Likewise.
+	(gen_v9_scc): Remove obsolete assertion.
+	(emit_scc_insn): Emit RTL directly for EQ and NE.  Add direct support
+	for EQ in DImode if TARGET_SUBXC.  Remove test on TARGET_VIS3 for GEU.
+	(output_cbcond): Remove bogus handling of CC modes.
+	(sparc_register_move_cost): Return 100 for NO_REGS.
+	* config/sparc/sparc.md (W): New mode iterator.
+	(length): Adjust for noov_compare64_operator renaming.
+	(cmpsi_sne): New instruction.
+	(cmpdi_sne): Likewise.
+	(seqdi_special): Delete.
+	(seqdi_special): Likewise.
+	(snesi<P:mode>_special): Likewise.
+	(snedi_special): Likewise.
+	(snedi_special_vis3): Likewise.
+	(snesi patterns): Use W iterator.
+	(snedi patterns): Likewise.  Add TARGET_SUBXC patterns.
+	(sltu patterns): Likewise.
+	(sgeu patterns): Likewise.
+	(scc splitter): Do not split GEU in DImode if TARGET_SUBXC.
+	(normal_branch): Use icc_comparison_operator predicate.
+	(inverted_branch): Likewise.
+	(cbcond_sp32): Use comparison_operator predicate.
+	(cbcond_sp64): Likewise.
+	(normal_int_branch_sp64): Adjust for renaming
+	(inverted_int_branch_sp64): Likewise.
+	(mov<I:mode>_cc_reg_sp64): Likewise.
+	(movsf_cc_reg_sp6): Likewise.
+	(movdf_cc_reg_sp64): Likewise.
+	(movtf_cc_reg_hq_sp64): Likewise.
+	(movtf_cc_reg_sp64): Likewise.
+	(mov<I:mode>_cc_v9): Use icc_or_fcc_comparison_operator predicate.
+	(movsf_cc_v9): Likewise.
+	(movdf_cc_v9): Likewise.
+	(movtf_cc_hq_v9): Likewise.
+	(movtf_cc_v9): Likewise.
+	(adddi3): Call gen_adddi3_sp32.
+	(adddi3_insn_sp32): Rename to...
+	(adddi3_sp32): ...this.  Accept only register_operand as operand #1
+	and use CCCmode for the carry.
+	(addx_extend_sp32): Use CCCmode for the carry.
+	(addx_extend_sp64): Delete.
+	(adddi3_extend_sp32): Use CCCmode for the carry.
+	(cmp_plus patterns): Use CCNZ/CCXNZ mode and add C variants.
+	(subdi3): Call gen_subdi3_sp32.
+	(subdi3_insn_sp32): Rename to...
+	(subdi3_sp32): ...this and use CCmode for the carry.
+	(subx_extend_sp32): Use CCCmode for the carry.
+	(subx_extend_sp64): Delete.
+	(subdi3_extend_sp32): Use CCmode for the carry.
+	(cmp_minus patterns): Use CCNZ/CCXNZ mode and add C variants.
+	(negdi3): Call gen_negdi3_sp32.
+	(negdi3_sp32): Use CCCmode for the carry.
+	(cmp_neg patterns): Use CCNZ/CCXNZ mode and add C variants.
+	(cmp_nz_ashift_1): Use CCNZ mode.
+	(cmp_nz_set_ashift_1): Likewise.
+	(ctrapsi4): Use comparison_operator predicate.
+	(ctrapdi4): Likewise.
+	(trapsi_insn): Use icc_comparison_operator predicate.
+	(trapdi_insn): Likewise.
+	(edge8 patterns): Use CCNZmode.
+	(edge16 patterns): Likewise.
+	(edge32 patterns): Likewise.
+
+2016-10-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/visium/visium-modes.def (CC_NOOV): Rename into...
+	(CCNZ): ...this.
+	(CC_BTST): Rename into...
+	(CCC): ...this.
+	* config/visium/predicates.md (real_add_operand): New.
+	(visium_btst_operator): Rename into...
+	(visium_equality_comparison_operator): ...this.
+	(visium_noov_operator): Rename into...
+	(visium_nz_comparison_operator): ...this.
+	(visium_c_comparison_operator): New.
+	(visium_branch_operator): Adjust and deal with all CC modes.
+	* config/visium/visium.c (visium_adjust_cost): Adjust.
+	(visium_split_double_add): Use the *_set_carry patterns.
+	(visium_select_cc_mode): Add support for CCC mode and adjust.
+	(output_cbranch): Adjust and use the carry-based operators for
+	floating-point comparisons.
+	* config/visium/visium.md (flags_subst_arith): Adjust.
+	(addsi3_insn_set_carry): New instruction.
+	(subsi3_insn_set_carry): Likewise.
+	(negsi2_insn_set_carry): Likewise.
+	(btst): Adjust.
+	(cmp<mode>_sne): Likewise.
+	(cbranch<mode>4): Use ordered_comparison_operator.
+	(cbranch<mode>4_insn): Likewise.
+	(cbranchsi4_btst_insn): Adjust.
+
+2016-10-11  Tom de Vries  <tom@codesourcery.com>
+
+	PR middle-end/77558
+	* builtins.c (std_canonical_va_list_type): Remove RECORD_TYPE
+	special-casing.
+
+2016-10-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree.h (build_complex_type): Add second parameter with default.
+	* tree.c (build_complex_type): Add NAMED second parameter and adjust
+	recursive call.  Create a TYPE_DECL only if NAMED is true.
+	(build_common_tree_nodes): Pass true in calls to build_complex_type.
+
+2016-10-11  Georg-Johann Lay  <avr@gjlay.de>
+
+	New avr-passes.def to register AVR specific passes.
+
+	* config/avr/avr-passes.def: New file.
+	* config/avr/t-avr (PASSES_EXTRA): Add avr-passes.def.
+	* config/avr/avr-protos.h (gcc::context, rtl_opt_pass): Declare.
+	(make_avr_pass_recompute_note): New proto.
+	* config/avr/avr.c (make_avr_pass_recompute_notes): New function.
+	(avr_pass_recompute_notes): Use anonymous namespace.
+	(avr_register_passes): Remove function...
+	(avr_option_override): ...and its call.
+
+2016-10-11  Robert Suchanek  <robert.suchanek@imgtec.com>
+
+	* config/mips/mips-cpus.def: Replace PTF_AVOID_BRANCHLIKELY with
+	PTF_AVOID_BRANCHLIKELY_ALWAYS for generic architecture and with
+	PTF_AVOID_BRANCHLIKELY_SPEED for others.
+	(mips2, mips3, mips4): Add PTF_AVOID_BRANCHLIKELY_SIZE to tune
+	flags.
+	* config/mips/mips.c (mips_option_override): Enable the branch
+	likely depending on the tune flags and optimization level.
+	* config/mips/mips.h (PTF_AVOID_BRANCHLIKELY): Remove.
+	(PTF_AVOID_BRANCHLIKELY_SPEED): Define.
+	(PTF_AVOID_BRANCHLIKELY_SIZE): Likewise.
+	(PTF_AVOID_BRANCHLIKELY_ALWAYS): Likewise.
+
+2016-10-11  Richard Biener  <rguenther@suse.de>
+
+	* lto-streamer-out.c (collect_block_tree_leafs): New helper.
+	(output_function): Properly stream the whole block tree.
+	* lto-streamer-in.c (input_function): Likewise.
+
+2016-10-11  Marek Polacek  <polacek@redhat.com>
+
+	* Makefile.in (C_COMMON_OBJS): Add c-family/c-warn.o.
+
+2016-10-11  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* tree-vrp.c (evrp_dom_walker::try_add_new_range): New.
+	(evrp_dom_walker::before_dom_children): Infer and push new value
+	ranges for x in y < x.
+
+2016-10-10  Joseph Myers  <joseph@codesourcery.com>
+
+	PR target/77586
+	* config/ia64/ia64.c (ia64_libgcc_floating_mode_supported_p)
+	(TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Remove.
+	* config/ia64/elf.h (IA64_NO_LIBGCC_TFMODE): Likewise.
+	* config/ia64/freebsd.h (IA64_NO_LIBGCC_TFMODE): Likewise.
+	* config/ia64/vms.h (IA64_NO_LIBGCC_XFMODE)
+	(IA64_NO_LIBGCC_TFMODE): Likewise.
+
+2016-10-11  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* tree-vrp.c (vrp_intersect_ranges_1): Allocate bitmap before
+	  copying.
+
+2016-10-10  Andreas Tobler  <andreast@gcc.gnu.org>
+
+	* config.gcc: Add aarch64-*-freebsd* support.
+	* config.host: Likewise.
+	* config/aarch64/aarch64-freebsd.h: New file.
+	* config/aarch64/t-aarch64-freebsd: Ditto.
+
+2016-10-10  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/71947
+	* tree-ssa-dom.c (cprop_into_stmt): Avoid replacing A with B, then
+	B with A within a single statement.
+
+2016-10-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR tree-optimization/77824
+	* gimple-ssa-strength-reduction.c (stmt_cost): Explicitly return
+	zero cost for copies.
+	(find_candidates_dom_walker::before_dom_children): Replace
+	MODIFY_EXPR with SSA_NAME.
+	(replace_mult_candidate): Likewise.
+	(replace_profitable_candidates): Likewise.
+
+2016-10-10  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.h: Wrap more macros args in brackets and fix
+
+2016-10-10  Georg-Johann Lay  <avr@gjlay.de>
+
+	* config/avr/gen-avr-mmcu-texi.c (string.h): Include.
+
+2016-10-10  Andreas Schwab  <schwab@suse.de>
+
+	PR target/77738
+	* config/ia64/ia64.md ("doloop_end"): Reject if mode of loop
+	pseudo is not DImode.
+
+2016-10-10  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* common/config/arc/arc-common.c (arc_option_optimization_table):
+	Remove compact casesi option.
+	* config/arc/arc.c (arc_override_options): Use compact casesi
+	option only for pre-ARCv2 cores.
+	* doc/invoke.texi (mcompact-casesi): Update text.
+
+2016-10-09  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.h (TARGET_EFFICIENT_OVERLAPPING_UNALIGNED):
+	Add macro to say we can efficiently handle overlapping unaligned
+	loads.
+	* config/rs6000/rs6000.c (expand_block_compare): Avoid generating
+	poor code for processors older than p8.
+
+2016-10-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gen-pass-instances.awk: Remove GNUism.
+
+2016-10-09  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	* ipa-prop.c (ipcp_transform_function): Set fields m_vr and bits to
+	NULL of (*ipcp_transformations)][node->uid].
+
+2016-10-09  John David Anglin  <danglin@gcc.gnu.org>
+
+	* config/pa/pa.h (BIGGEST_ALIGNMENT): Adjust comment.
+	(MALLOC_ABI_ALIGNMENT): Define.
+
+2016-10-09  Jakub Jelinek  <jakub@redhat.com>
+
+	* tree-ssa.c (target_for_debug_bind, verify_phi_args,
+	ssa_undefined_value_p, maybe_optimize_var): Use VAR_P and/or
+	VAR_OR_FUNCTION_DECL_P macros.
+	* tree-chkp.c (chkp_register_var_initializer, chkp_make_static_bounds,
+	chkp_get_bounds_for_decl_addr, chkp_parse_array_and_component_ref,
+	chkp_find_bounds_1): Likewise.
+	* ipa-polymorphic-call.c (decl_maybe_in_construction_p): Likewise.
+	* hsa-gen.c (get_symbol_for_decl): Likewise.
+	* cgraphunit.c (check_global_declaration, analyze_functions,
+	handle_alias_pairs, thunk_adjust, cgraph_node::expand_thunk):
+	Likewise.
+	* gimple-fold.c (can_refer_decl_in_current_unit_p,
+	canonicalize_constructor_val, gimple_get_virt_method_for_vtable):
+	Likewise.
+	* tree.c (set_decl_section_name, copy_node_stat,
+	need_assembler_name_p, free_lang_data_in_decl, find_decls_types_r,
+	merge_dllimport_decl_attributes, handle_dll_attribute,
+	decl_init_priority_insert, auto_var_in_fn_p, array_at_struct_end_p,
+	verify_type): Likewise.
+	* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behavior,
+	find_explicit_erroneous_behavior): Likewise.
+	* sdbout.c (sdbout_toplevel_data, sdbout_late_global_decl): Likewise.
+	* ipa.c (process_references): Likewise.
+	* tree-chkp-opt.c (chkp_get_check_result): Likewise.
+	* varasm.c (get_block_for_decl, use_blocks_for_decl_p, make_decl_rtl,
+	notice_global_symbol, assemble_variable, mark_decl_referenced,
+	build_constant_desc, output_constant_def_contents, do_assemble_alias,
+	make_decl_one_only, default_section_type_flags,
+	categorize_decl_for_section, default_encode_section_info): Likewise.
+	* trans-mem.c (requires_barrier): Likewise.
+	* gimple-expr.c (mark_addressable): Likewise.
+	* cfgexpand.c (add_scope_conflicts_1, expand_one_var,
+	expand_used_vars_for_block, clear_tree_used, stack_protect_decl_p,
+	expand_debug_expr): Likewise.
+	* tree-dump.c (dequeue_and_dump): Likewise.
+	* ubsan.c (instrument_bool_enum_load): Likewise.
+	* tree-pretty-print.c (print_declaration): Likewise.
+	* simplify-rtx.c (delegitimize_mem_from_attrs): Likewise.
+	* tree-ssa-uninit.c (warn_uninitialized_vars): Likewise.
+	* asan.c (asan_protect_global, instrument_derefs): Likewise.
+	* tree-into-ssa.c (rewrite_stmt, maybe_register_def,
+	pass_build_ssa::execute): Likewise.
+	* var-tracking.c (var_debug_decl, track_expr_p): Likewise.
+	* tree-ssa-loop-ivopts.c (force_expr_to_var_cost, split_address_cost):
+	Likewise.
+	* ipa-split.c (test_nonssa_use, consider_split, mark_nonssa_use):
+	Likewise.
+	* tree-inline.c (insert_debug_decl_map, remap_ssa_name,
+	can_be_nonlocal, remap_decls, copy_debug_stmt,
+	initialize_inlined_parameters, add_local_variables,
+	reset_debug_binding, replace_locals_op): Likewise.
+	* dse.c (can_escape): Likewise.
+	* ipa-devirt.c (compare_virtual_tables, referenced_from_vtable_p):
+	Likewise.
+	* tree-diagnostic.c (default_tree_printer): Likewise.
+	* tree-streamer-in.c (unpack_ts_decl_common_value_fields,
+	unpack_ts_decl_with_vis_value_fields,
+	lto_input_ts_decl_common_tree_pointers): Likewise.
+	* builtins.c (builtin_save_expr, fold_builtin_expect,
+	readonly_data_expr): Likewise.
+	* tree-ssa-structalias.c (new_var_info, get_constraint_for_ssa_var,
+	create_variable_info_for, set_uids_in_ptset, visit_loadstore):
+	Likewise.
+	* gimple-streamer-out.c (output_gimple_stmt): Likewise.
+	* gimplify.c (force_constant_size, gimplify_bind_expr,
+	gimplify_decl_expr, gimplify_var_or_parm_decl,
+	gimplify_compound_lval, gimplify_init_constructor,
+	gimplify_modify_expr, gimplify_asm_expr, gimplify_oacc_declare,
+	gimplify_type_sizes): Likewise.
+	* cgraphbuild.c (record_reference, record_type_list, mark_address,
+	mark_load, mark_store, pass_build_cgraph_edges::execute): Likewise.
+	* tree-ssa-live.c (mark_all_vars_used_1, remove_unused_scope_block_p,
+	remove_unused_locals): Likewise.
+	* tree-ssa-alias.c (ptr_deref_may_alias_decl_p, ptrs_compare_unequal,
+	ref_maybe_used_by_call_p_1, call_may_clobber_ref_p_1): Likewise.
+	* function.c (instantiate_expr, instantiate_decls_1,
+	setjmp_vars_warning, add_local_decl): Likewise.
+	* alias.c (ao_ref_from_mem, get_alias_set, compare_base_symbol_refs):
+	Likewise.
+	* tree-stdarg.c (find_va_list_reference, va_list_counter_struct_op,
+	va_list_ptr_read, va_list_ptr_write, check_all_va_list_escapes,
+	optimize_va_list_gpr_fpr_size): Likewise.
+	* tree-nrv.c (pass_nrv::execute): Likewise.
+	* tsan.c (instrument_expr): Likewise.
+	* tree-ssa-dce.c (remove_dead_stmt): Likewise.
+	* vtable-verify.c (verify_bb_vtables): Likewise.
+	* tree-dfa.c (ssa_default_def, set_ssa_default_def,
+	get_ref_base_and_extent): Likewise.
+	* toplev.c (wrapup_global_declaration_1, wrapup_global_declaration_2):
+	Likewise.
+	* tree-sra.c (static bool constant_decl_p, find_var_candidates,
+	analyze_all_variable_accesses): Likewise.
+	* tree-nested.c (get_nonlocal_debug_decl,
+	convert_nonlocal_omp_clauses, note_nonlocal_vla_type,
+	note_nonlocal_block_vlas, convert_nonlocal_reference_stmt,
+	get_local_debug_decl, convert_local_omp_clauses,
+	convert_local_reference_stmt, nesting_copy_decl, remap_vla_decls):
+	Likewise.
+	* tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Likewise.
+	* stmt.c (decl_overlaps_hard_reg_set_p): Likewise.
+	* dbxout.c (dbxout_late_global_decl, dbxout_type_fields,
+	dbxout_symbol, dbxout_common_check): Likewise.
+	* expr.c (expand_assignment, expand_expr_real_2, expand_expr_real_1,
+	string_constant): Likewise.
+	* hsa.c (hsa_get_declaration_name): Likewise.
+	* passes.c (rest_of_decl_compilation): Likewise.
+	* tree-ssanames.c (make_ssa_name_fn): Likewise.
+	* tree-streamer-out.c (pack_ts_decl_common_value_fields,
+	pack_ts_decl_with_vis_value_fields,
+	write_ts_decl_common_tree_pointers): Likewise.
+	* stor-layout.c (place_field): Likewise.
+	* symtab.c (symtab_node::maybe_create_reference,
+	symtab_node::verify_base, symtab_node::make_decl_local,
+	symtab_node::copy_visibility_from,
+	symtab_node::can_increase_alignment_p): Likewise.
+	* dwarf2out.c (add_var_loc_to_decl, tls_mem_loc_descriptor,
+	decl_by_reference_p, reference_to_unused, rtl_for_decl_location,
+	fortran_common, add_location_or_const_value_attribute,
+	add_scalar_info, add_linkage_name, set_block_abstract_flags,
+	local_function_static, gen_variable_die, dwarf2out_late_global_decl,
+	optimize_one_addr_into_implicit_ptr,
+	optimize_location_into_implicit_ptr): Likewise.
+	* gimple-low.c (record_vars_into): Likewise.
+	* ipa-visibility.c (update_vtable_references): Likewise.
+	* tree-ssa-address.c (fixed_address_object_p, copy_ref_info):
+	Likewise.
+	* lto-streamer-out.c (tree_is_indexable, get_symbol_initial_value,
+	DFS::DFS_write_tree_body, write_symbol): Likewise.
+	* langhooks.c (lhd_warn_unused_global_decl,
+	lhd_set_decl_assembler_name): Likewise.
+	* attribs.c (decl_attributes): Likewise.
+	* except.c (output_ttype): Likewise.
+	* varpool.c (varpool_node::get_create, ctor_for_folding,
+	varpool_node::assemble_decl, varpool_node::create_alias): Likewise.
+	* fold-const.c (fold_unary_loc): Likewise.
+	* ipa-prop.c (ipa_compute_jump_functions_for_edge,
+	ipa_find_agg_cst_from_init): Likewise.
+	* omp-low.c (expand_omp_regimplify_p, expand_omp_taskreg,
+	expand_omp_target, lower_omp_regimplify_p,
+	grid_reg_assignment_to_local_var_p, grid_remap_prebody_decls,
+	find_link_var_op): Likewise.
+	* tree-chrec.c (chrec_contains_symbols): Likewise.
+	* tree-cfg.c (verify_address, verify_expr, verify_expr_location_1,
+	gimple_duplicate_bb, move_stmt_op, replace_block_vars_by_duplicates,
+	execute_fixup_cfg): Likewise.
+
+	PR tree-optimization/77901
+	* tree-ssa-reassoc.c (optimize_range_tests_var_bound): Only optimize
+	if ranges[i].exp is SSA_NAME when looking for >= and only when
+	ranges[i].exp is NULL or SSA_NAME when looking for the other
+	comparison.
+
+2016-10-09  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	* ipa-cp.c (ipcp_alignment_lattice): Remove.
+	(ipcp_param_lattices): Remove field alignment.
+	(print_all_lattices): Remove call to ipcp_alignment_lattice::print.
+	(set_all_contains_variable): Remove call to
+	ipcp_alignment_lattice::set_to_bottom.
+	(initialize_node_lattices): Likewise.
+	(propagate_alignment_accross_jump_function): Remove.
+	(propagate_constants_accross_call): Remove call to
+	propagate_alignment_accross_jump_function.
+	(ipcp_store_alignment_results): Remove.
+	(ipcp_driver): Remove call to ipcp_store_alignment_results.
+	(propagate_bits_accross_jump_function): Handle ancestor jump function.
+	* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Remove
+	pretty-printing of alignment jump function.
+	(ipa_set_jf_unknown): Remove assignment to jfunc->alignment.known.
+	(ipa_compute_jump_functions_for_edge): Adjust ipa_bits jump function for
+	alignments and remove computing ipa_alignment jump function.
+	(ipa_node_params_t::duplicate): Remove copying of src_trans->alignments.
+	(ipa_write_jump_functions): Remove streaming for ipa_alignment.
+	(ipa_read_jump_function): Remove reading of ipa_alignment.
+	(write_ipcp_transformation_info): Remove streaming for alignment
+	propagation summary.
+	(read_ipcp_transformation_info): Remove reading of alignment
+	propagation summary.
+	(ipcp_update_alignments): Remove.
+	(ipcp_update_bits): Adjust to set alignment for parameters of pointer
+	type.
+	(ipcp_transform_function): Remove call to ipcp_update_alignments()
+	and remove assignment to (*ipcp_transformations)[node->uid].alignments.
+	* ipa-prop.h (ipa_alignment): Remove.
+	(ipa_jump_func): Remove field alignment.
+	(ipcp_transformation_summary): Remove field alignments.
+	* doc/invoke.texi: Mark fipa-cp-alignment as obsolete.
+	* opts.c (default_options_table): Remove entry for fipa-cp-alignment.
+	(enable_fdo_optimizations): Remove checking for fipa-cp-alignment.
+
+2016-10-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/sparc/sparc.h (FIXED_REGISTERS): Add %icc.
+
+	* config/visium/visium.c (visium_expand_int_cstore): Revert latest
+	change.
+	(visium_expand_fp_cstore): Likewise.
+
+2016-10-08  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	* diagnostic-core.h (warning_at_rich_loc_n): Declare.
+	* diagnostic.c (warning_at_rich_loc_n): New function.
+	(diagnostic_n_impl_richloc): Likewise.
+	(diagnostic_n_impl): Move most of the function to
+	diagnostic_n_impl_richloc and call it.
+
+2016-10-08  Jakub Jelinek  <jakub@redhat.com>
+
+	* gen-pass-instances.awk: Rewritten.
+	* Makefile.in (pass-instances.def): Depend on $(PASSES_EXTRA), pass
+	$(PASSES_EXTRA) after passes.def to the script.
+	* config/i386/t-i386 (PASSES_EXTRA): Add i386-passes.def.
+	* config/i386/i386-passes.def: New file.
+	* config/i386/i386-protos.h (make_pass_insert_vzeroupper,
+	make_pass_stv): Declare.
+	* config/i386/i386.c (pass_stv::pass_stv): Initialize timode_p to
+	false.
+	(pass_stv::gate): Depending on timode_p member require TARGET_64BIT
+	or !TARGET_64BIT.
+	(pass_stv::clone, pass_stv::set_pass_param): New methods.
+	(pass_stv::timode_p): New non-static data member.
+	(ix86_option_override): Don't register passes here.
+
+	* doc/invoke.texi: Document accepting Else, fallthrough.
+
+	* doc/invoke.texi (-Wimplicit-fallthrough): Document FALLTHRU comment
+	style changes.
+
+	* doc/invoke.texi (-Wimplicit-fallthrough): Document the accepted
+	FALLTHRU comment styles.
+
+2016-10-07  Andrew Pinski  <apinski@cavium.com>
+
+	* config/aarch64/aarch64-arches.def (AARCH64_ARCH): #undef at the end.
+	* config/aarch64/aarch64-cores.def (AARCH64_CORE): Likewise.
+	* config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSION_PAIR):
+	Likewise.
+	* config/aarch64/aarch64-option-extensions.def (AARCH64_OPT_EXTENSION):
+	Likewise.
+	* config/aarch64/aarch64-tuning-flags.def (AARCH64_EXTRA_TUNING_OPTION):
+	Likewise.
+	* config/aarch64/aarch64-opts.h (AARCH64_CORE): Don't #undef here.
+	(AARCH64_ARCH): Likewise.
+	* common/config/aarch64/aarch64-common.c (AARCH64_OPT_EXTENSION):
+	Likewise.
+	(AARCH64_CORE): Likewise.
+	(AARCH64_ARCH): Likewise.
+	* config/aarch64/aarch64-protos.h (AARCH64_FUSION_PAIR): Likewise.
+	(AARCH64_EXTRA_TUNING_OPTION): Likewise.
+	* config/aarch64/aarch64.c (AARCH64_FUION_PAIR): Likewise.
+	(AARCH64_EXTRA_TUNING_OPTION): Likewise.
+	(AARCH64_ARCH): Likewise.
+	(AARCH64_CORE): Likewise.
+	* config/aarch64/aarch64.h (AARCH64_CORE): Likewise.
+	* config/aarch64/driver-aarch64.c (AARCH64_OPT_EXTENSION): Likewise.
+	(AARCH64_CORE): Likewise.
+	(AARCH64_ARCH): Likewise.
+
+2016-10-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Split
+	-mfloat128 into -mfloat128-type that enables the IEEE 128-bit
+	floating point type infrastructre, and -mfloat128 that enables the
+	keyword.  Define __FLOAT128__ if -mfloat128, and __FLOAT128_TYPE__
+	if -mfloat128-type.  Define __ibm128 to be long double by default.
+	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Print whether
+	the IEEE 128-bit floating point type infrastructure should
+	automatically be enabled.
+	(rs6000_init_hard_regno_mode_ok): Switch to use -mfloat128-type
+	instead of -mfloat128 to enable KFmode.
+	(rs6000_option_override_internal): Split the option -mfloat128
+	into -mfloat128-type and -mfloat128.  On Linux PowerPC 64-bit
+	systems, automatically set -mfloat128-type, but don't enable it on
+	other operating systems.  Move setting the long double size and
+	IEEE quad support before the IEEE 128-bit floating point changes.
+	(rs6000_init_builtins): Do not create a unique type for __ibm128
+	if long double is IBM extended double, instead rely on __ibm128
+	being defined as 'long double'.  If -mfloat128-type and not
+	-mfloat128, create the KFmode type with an undocumented __ieee128
+	keyword.
+	(rs6000_init_libfuncs): Use -mfloat128-type instead of
+	-mfloat128 for tests about the types, but keep tests for
+	-mfloat128 to enable the keyword support.
+	(rs6000_complex_function_value): Likewise.
+	(rs6000_scalar_mode_supported_p): Likewise.
+	(rs6000_floatn_mode): Likewise.
+	(rs6000_c_mode_for_suffix): Likewise.
+	(rs6000_opt_masks): Add -mfloat128-type.
+	* config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add support for
+	-mfloat128-type being split from -mfloat128.  Add
+	-mfloat128-hardware, which was missing.
+	* config/rs6000/rs6000.opt (-mfloat128): Split -mfloat128 into
+	-mfloat128 and -mfloat128-type:
+	(-mfloat128-type): Likewise.
+	* config/rs6000/linux64.h (TARGET_FLOAT128_ENABLE_TYPE): Define so
+	that 64-bit Linux systems with enable -mfloat128-type by default
+	on VSX systems.
+	* config/rs6000/rs6000.h (TARGET_FLOAT128_ENABLE_TYPE): Likewise.
+	(FLOAT128_VECTOR_P): Switch IEEE 128-bit floating points to use
+	-mfloat128-type instead of -mfloat128.
+	(FLOAT128_2REG_P): Likewise.
+	(MASK_FLOAT128_TYPE): Likewise.
+	(ALTIVEC_ARG_MAX_RETURN): Likewise.
+	(RS6000_BTM_FLOAT128): Likewise.
+	(TARGET_FLOAT128): Poison old identifiers.
+	(OPTION_MASK_FLOAT128): Likewise.
+	(MASK_FLOAT128): Likewise.
+	* config/rs6000/rs6000.md (FP): Likewise.
+	(FLOAT128): Likewise.
+	(fix_trunc<mode>di2): Likewise.
+	(fixuns_trunc<IEEE128:mode><SDI:mode>2): Likewise.
+	(floatdi<mode>2): Likewise.
+	(floatuns<SDI:mode><IEEE128:mode>2): Likewise.
+	(neg<mode>2, FLOAT128 iterator): Likewise.
+	(abs<mode>2, FLOAT128 iterator): Likewise.
+	(ieee_128bit_negative_zero): Likewise.
+	(ieee_128bit_vsx_neg<mode>2): Likewise.
+	(ieee_128bit_vsx_neg<mode>2_internal): Likewise.
+	(ieee_128bit_vsx_abs<mode>2): Likewise.
+	(ieee_128bit_vsx_abs<mode>2_internal): Likewise.
+	(ieee_128bit_vsx_nabs<mode>2): Likewise.
+	(ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
+	(extendiftf2): Likewise.
+	(extendifkf2): Likewise.
+	(extendtfkf2): Likewise.
+	(trunciftf2): Likewise.
+	(truncifkf2): Likewise.
+	(trunckftf2): Likewise.
+	(trunctfif2): Likewise.
+	(extendkftf2): Likewise.
+	(trunctfkf2): Likewise.
+
+2016-10-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* simplify-rtx.c (simplify_immed_subreg): Zero-initialize tmp array
+	before merging in bytes to pass down to real_from_target.
+
+2016-10-07  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-propagate.c (replace_phi_args_in): Remove no longer
+	required hack.
+	(substitute_and_fold_dom_walker::before_dom_children):
+	Substitute and fold before pass specific folding to avoid
+	feeding that with SSA names that will be later released.
+	* tree-ssa-ccp.c (get_value_for_expr): Guard for new SSA names
+	introduced by folding and visited by evaluate_stmt called during
+	ccp_fold_stmt.
+	(likely_value): Likewise.
+	(evaluate_stmt): Likewise.
+	* tree-vrp.c (simplify_truth_ops_using_ranges): Fold modified stmt.
+	(simplify_div_or_mod_using_ranges): Likewise.
+	(simplify_min_or_max_using_ranges): Likewise.
+	(simplify_abs_using_ranges): Likewise.
+	(simplify_conversion_using_ranges): Likewise.
+	(simplify_float_conversion_using_ranges): Likewise.
+	(simplify_stmt_using_ranges): Likewise.
+
+2016-10-07  Marek Polacek  <polacek@redhat.com>
+
+	* gimplify.c (should_warn_for_implicit_fallthrough): Check for
+	FALLTHROUGH_LABEL_P here...
+	(warn_implicit_fallthrough_r): ...not here.
+
+2016-10-07  Bernd Schmidt  <bschmidt@redhat.com>
+
+	PR tree-optimization/77880
+	* expr.c (by_pieces_ninsns): Use unsigned HOST_WIDE_INT where
+	necessary.
+
+2016-10-07  Marek Polacek  <polacek@redhat.com>
+
+	PR c++/77803
+	* gimplify.c (last_stmt_in_scope): Add check for FALLTHROUGH ().
+
+2016-10-07  Richard Biener  <rguenther@suse.de>
+
+	* bitmap.h: Document constraints on bitmap modification while
+	iterating over it.
+
+2016-10-07  Richard Biener  <rguenther@suse.de>
+
+	* bitmap.c (bitmap_elem_to_freelist): Set indx to -1.
+	* bitmap.h (bmp_iter_set): When advancing to the next element
+	check that we didn't remove the current one.
+	(bmp_iter_and): Likewise.
+	(bmp_iter_and_compl): Likewise.
+	* tree-ssa.c (release_defs_bitset): Do not remove worklist bit
+	we currently iterate on but keep a one-level queue.
+	* sched-deps.c (remove_from_deps): Do not clear current bit
+	but keep a one-level queue.
+
+2016-10-07  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/77664
+	* tree-ssa-reassoc.c (update_range_test): Also clear low and high
+	for the other ranges.
+	(optimize_range_tests_diff): Fix up formatting.
+	(optimize_range_tests_var_bound): New function.
+	(optimize_range_tests): Use it.
+
+2016-10-07  Martin Liska  <mliska@suse.cz>
+
+	* coverage.c (build_gcov_exit_decl): Fix priority what
+	should be really 99.
+
+2016-10-07  Richard Biener  <rguenther@suse.de>
+
+	* gimple-low.c (lower_gimple_bind): Clear DECL_CHAIN of
+	vars in gimple_bind_vars but not in BLOCK_VARS.
+
+2016-10-07  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/77879
+	* tree-ssa-structalias.c (handle_const_call): Properly handle
+	NRV return slots.
+	(handle_pure_call): Likewise.
+
+2016-10-06  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor)
+	(rs6000_elf_asm_out_destructor): increase size of buf to avoid
+	possible overflow.
+
+2016-10-06  Andrew Pinski  <apinski@cavium.com>
+
+	* config/aarch64/aarch64-cores.def: Add a comment before each
+	set of cores.
+
+2016-10-06  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	PR tree-optimization/77862
+	* tree-vrp.c (add_equivalence): Use get_value_range so that
+	num_vr_values is checked before accessing vr_values.
+
+2016-10-06  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* tree-vrp.c (evrp_dom_walker::before_dom_children): Handle
+	  POINTER_TYPE_P.
+
+2016-10-05  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/71661
+	* tree-cfgcleanup.c (remove_forwarder_block_with_phi): Handle case when
+	removal of a forwarder exposes a new natural loop.
+
+2016-10-06  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/sse.md (andnot<mode>3): Add FALLTHRU comments.
+	Introduce ssesuffix variable.
+	(<mask_codefor><code><mode>3<mask_name>): Ditto.
+	(*<code><mode>3): Ditto.
+
+2016-10-06  Jan Hubicka  <hubicka@ucw.cz>
+
+	* postreload.c (reload_cse_simplify): Skip also USE when detecting
+	noop move.
+
+2016-10-06  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/77855
+	* tree-ssa-pre.c (prune_clobbered_mems): Queue exprs to remove
+	instead of removing the current item while iterating over the set
+	which is not safe.
+
+2016-10-06  James Clarke  <jrtc27@jrtc27.com>
+	    Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR target/77759
+	* config/sparc/sparc.c (classify_data_t): Remove int_regs field.
+	(classify_registers): Don't set it
+	(function_arg_slotno): Don't initialize and test it.  Tidy up.
+
+2016-10-06  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/77839
+	* tree-ssa-sccvn.c (set_ssa_val_to): Forbid value -> constant value
+	lattice transition.
+
+2016-10-06  Martin Liska  <mliska@suse.cz>
+
+	* gcc.c: Set -fprofile-update=atomic when profiling is
+	enabled and -pthread is set.  Warn when one combines
+	-pthread and -fprofile-update=single for an app using
+	profiling code.
+
+2016-10-06  Martin Liska  <mliska@suse.cz>
+
+	PR bootstrap/77788
+	* expmed.h (mul_highpart_cost_ptr): Add an gcc_assert.
+	* gimple-ssa-strength-reduction.c (slsr_process_cast):
+	Initialize a pointer to NULL.
+	(slsr_process_copy): Likewise.
+	* input.c (location_get_source_line): Likewise.
+	* tree-ssa-ccp.c (optimize_atomic_bit_test_and): Likewise.
+
+2016-10-05  Andrew Senkevich  <andrew.senkevich@intel.com>
+
+	* common/config/i386/i386-common.c (OPTION_MASK_ISA_PCOMMIT_UNSET,
+	OPTION_MASK_ISA_PCOMMIT_SET): Deleted definitions.
+	(ix86_handle_option): Deleted handle of OPT_mpcommit.
+	* config.gcc: Deleted pcommitintrin.h
+	* config/i386/pcommitintrin.h: Deleted file.
+	* config/i386/cpuid.h (bit_PCOMMIT): Deleted.
+	* config/i386/driver-i386.c (host_detect_local_cpu): Deleted pcommit
+	detection.
+	* config/i386/i386-c.c (ix86_target_macros_internal): Deleted define
+	__PCOMMIT__.
+	* config/i386/i386.c (ix86_target_string): Deleted -mpcommit.
+	(PTA_PCOMMIT): Deleted define.
+	(ix86_option_override_internal): Deleted handle of option.
+	(ix86_valid_target_attribute_inner_p): Deleted pcommit.
+	* config/i386/i386-builtin.def (IX86_BUILTIN_PCOMMIT,
+	__builtin_ia32_pcommit): Deleted.
+	* config/i386/i386.h (TARGET_PCOMMIT, TARGET_PCOMMIT_P): Deleted.
+	* config/i386/i386.md (unspecv): Deleted UNSPECV_PCOMMIT.
+	(pcommit): Deleted instruction.
+	* config/i386/i386.opt: Mention -mpcommit deprecation.
+	* config/i386/x86intrin.h: Deleted inclusion of pcommitintrin.h.
+
+2016-10-05  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/77874
+	* config/i386/sse.md (<mask_codefor><code><mode>3<mask_name>):
+	Remove wrong assert.
+	(<floatsuffix>float<sseintvecmodelower><mode>2<mask_name><round_name>:
+	Use <round_constraint> as operand 1 constraint.
+
+2016-10-05  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/66343
+	* ubsan.c (ubsan_create_data): Call initialize_sanitizer_builtins here.
+	(ubsan_instrument_float_cast): And not here.
+
+	PR sanitizer/66343
+	* ubsan.c (ubsan_ids): New GTY(()) array.
+	(ubsan_type_descriptor, ubsan_create_data): Use ubsan_ids
+	instead of static local counters.
+
+2016-10-05  Martin Sebor  <msebor@redhat.com>
+
+	PR bootstrap/77819
+	* config/linux.h (TARGET_PRINTF_POINTER_FORMAT): Define macro.
+	* config/linux.c (gnu_libc_printf_pointer_format): Remove.
+	* targhooks.c [DEFAULT_LIBC == LIBC_UCLIBC) && SINGLE_LIBC]
+	(default_printf_pointer_format): Define function.
+	* targhooks.c (linux_printf_pointer_format): Define new function.
+	* targhooks.h (linux_printf_pointer_format): Declare.
+	(gnu_libc_printf_pointer_format): Remove declaration.
+
+2016-10-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* fold-const.c (native_encode_real): Fix logic for selecting offset
+	to write to when BYTES_BIG_ENDIAN.
+
+2016-10-05  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* builtins.c (fold_builtin_strchr): Remove function.
+	(fold_builtin_strrchr): Likewise.
+	(fold_builtin2): Remove strchr, index, strrchr, rindex cases.
+	* gimple-fold.c (target_char_cst_p): New function.
+	(gimple_fold_builtin_strchr) Add more foldings.
+	(gimple_fold_builtin): Add index, strrchr, rindex cases.
+
+2016-10-05  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/77863
+	* genmatch.c (capture_info::walk_c_expr): Diagnose unknown
+	capture ids in c-exprs.
+
+2016-10-05  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/77826
+	* genmatch.c (dt_operand::gen_match_op): Amend operand_equal_p
+	with types_match for GIMPLE code gen to handle type mismatched
+	constants properly.
+	(dt_operand::gen): Adjust.
+	* match.pd ((X /[ex] A) * A -> X): Properly handle converted
+	and constant A.
+
+2016-10-05  Richard Biener  <rguenther@suse.de>
+
+	* match.pd (copysign(x, CST) -> [-]abs (x)): New pattern.
+
+2016-10-05  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/77842
+	* genmatch.c (parser::parse_c_expr): Handle premature EOF.
+
+2016-10-05  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* dwarf2out.c (dwarf2out_imported_module_or_decl): Move DWARF
+	version check to protect only DW_TAG_imported_module generation.
+
+2016-10-05  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/55152
+	* match.pd (min(a,-a) -> -abs(a)): New pattern.
+
+2016-10-04  Ian Lance Taylor  <iant@golang.org>
+
+	* explow.c (allocate_dynamic_stack_space): Call
+	do_pending_stack_adjust before handling flag_split_stack.
+
+2016-10-04  David Malcolm  <dmalcolm@redhat.com>
+
+	* genattrtab.c (make_internal_attr): Supply dummy column number to
+	file_location ctor.
+	(main): Likewise.
+	* genoutput.c (init_insn_for_nothing): Likewise.
+	* gensupport.c (add_define_attr): Likewise.
+	* read-md.c (message_at_1): Print column number.
+	(fatal_with_file_and_line): Likewise.
+	(rtx_reader::read_char): Track column numbers.
+	(rtx_reader::unread_char): Likewise.
+	(rtx_reader::rtx_reader): Initialize m_read_md_colno.
+	(rtx_reader::handle_include): Stash and restore m_read_md_colno.
+	(rtx_reader::handle_file): Initialize m_read_md_colno.
+	(rtx_reader::get_current_location): Supply column number to
+	file_location ctor.
+	* read-md.h (struct file_location): Add field "colno".
+	(file_location::file_location): Likewise.
+	(rtx_reader::get_colno): New accessor.
+	(rtx_reader::m_read_md_colno): New field.
+	(rtx_reader::m_last_line_colno): New field.
+
+2016-10-04  Jakub Jelinek  <jakub@redhat.com>
+
+	* doc/extend.texi (Java Exceptions): Remove.
+	(java_interface): Remove.
+
+2016-10-04  Doug Gilmore  <doug.gilmore@imgtec.com>
+
+	PR tree-optimization/77808
+	* tree-ssa-loop-prefetch.c (issue_prefetch_ref): Check base_addr
+	and addr are different before copying points-to information.
+
+2016-10-04  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/x86-tune.def (X86_TUNE_VECTORIZE_DOUBLE): Remove.
+	* config/i386/i386.h (TARGET_VECTORIZE_DOUBLE): Remove.
+	* config/i386/i386.c (ix86_add_stmt_cost): Use TARGET_BONNEL instead
+	of !TARGET_VECTORIZE_DOUBLE when penalizing DFmode vector ops.
+
+2016-10-04  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/77399
+	* tree-ssa-forwprop.c (simplify_vector_constructor): Properly
+	verify the target can convert.
+
+2016-10-04  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/77833
+	* explow.c (plus_constant): Verify the mode of the constant
+	pool offset before calling plus_constant.
+
+2016-10-04  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/77407
+	* match.pd (X / abs (X) -> X < 0 ? -1 : 1): Drop vector
+	type support, mark with :C.
+	(X / -X -> -1): Mark with :C.
+
+2016-10-04  Jakub Jelinek  <jakub@redhat.com>
+
+	* defaults.h (JCR_SECTION_NAME, TARGET_USE_JCR_SECTION): Remove.
+	* system.h (JCR_SECTION_NAME, TARGET_USE_JCR_SECTION): Poison.
+	* doc/tm.texi.in (TARGET_USE_JCR_SECTION): Remove.
+	* doc/tm.texi: Regenerated.
+	* config/i386/mingw32.h (TARGET_USE_JCR_SECTION): Remove.
+	* config/i386/cygming.h (TARGET_USE_JCR_SECTION): Remove.
+	* config/darwin.h (JCR_SECTION_NAME): Remove.
+	* config/pa/pa64-hpux.h (JCR_SECTION_NAME): Remove.
+	* config/rs6000/aix71.h (TARGET_USE_JCR_SECTION): Remove.
+	* config/rs6000/aix51.h (TARGET_USE_JCR_SECTION): Remove.
+	* config/rs6000/aix52.h (TARGET_USE_JCR_SECTION): Remove.
+	* config/rs6000/aix53.h (TARGET_USE_JCR_SECTION): Remove.
+	* config/rs6000/aix61.h (TARGET_USE_JCR_SECTION): Remove.
+
+2016-10-03  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	* ipa-cp.c (propagate_bits_accross_jump_function): Introduce space
+	between "because" and "param" in dump message in call to fprintf.
+
+2016-10-03  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/71550
+	PR tree-optimization/71403
+	* tree-ssa-threadbackward.c: Include tree-vectorizer.h
+	(profitable_jump_thread_path): Also return boolean indicating if
+	the realized path will create an irreducible loop.
+	Remove loop depth tests from 71403.
+	(fsm_find_control_statement_thread_paths): Remove loop depth tests
+	from 71403.  If threading will create an irreducible loop, then
+	throw away loop iteration and related information.
+
+2016-10-03  Uros Bizjak  <ubizjak@gmail.com>
+
+	* configure.ac (strict_warn): Merge -Wmissing-format-attribute and
+	-Woverloaded-virtual checks for warning options.
+	* configure: Regenerate.
+
+2016-10-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	PR preprocessor/77699
+	* input.c (maybe_grow): Don't allocate one byte extra headroom.
+	(get_next_line): Return false on error.
+	(read_next_line): Removed, use get_next_line instead.
+	(read_line_num): Don't copy the line.
+	(location_get_source_line): Don't use static data.
+	(selftest::test_reading_source_line): Add more test cases.
+
+2016-10-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	Revert
+	2016-09-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* ifcvt.c (noce_try_avoid_const_materialization): New function.
+	(noce_process_if_block): Use it.
+
+2016-10-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* doc/invoke.texi: Update -Wint-in-bool-context.
+
+2016-10-02  Jakub Jelinek  <jakub@redhat.com>
+
+	* dwarf2out.c (output_fde, output_call_frame_info,
+	dwarf2out_do_cfi_startproc, set_indirect_string,
+	gen_internal_sym, output_die, output_line_info): Use
+	MAX_ARTIFICIAL_LABEL_BYTES as char array sizes for
+	ASM_GENERATE_INTERNAL_LABEL output.
+
+2016-10-01  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/77798
+	* genmatch.c (get_operand_type): Add operand position arg
+	and handle COND_EXPR comparison operand with fixed boolean_type_node.
+	(expr::gen_transform): Adjust.
+	(dt_simplify::gen_1): Likewise.
+
+2016-10-01  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/sse.md (<mask_codefor><code><mode>): Add FALLTHRU
+	comments.  Simplify asserts, remove unnecessary conditions.
+	Formatting fixes.
+	(*<code><mode>3): Likewise.
+
+2016-09-30  Jakub Jelinek  <jakub@redhat.com>
+
+	* doc/invoke.texi (-Wregister): Document.
+
+2016-09-30  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* configure.ac: Split CHECKING_P into CHECKING_P and
+	ENABLE_EXTRA_CHECKING.
+	* configure: Regenerated.
+	* config.in: Adjust commment of CHECKING_P.  Add ENABLE_EXTRA_CHECKING.
+	* common.opt (flag_checking): Use CHECKING_P and ENABLE_EXTRA_CHECKING.
+
+2016-09-30  Prasad Ghangal  <prasad.ghangal@gmail.com>
+
+	PR other/31566
+	* gcc.c (process_command): For @filename handling, output
+	the correct name if the file does not exist.
+
+2016-09-30  Marek Polacek  <polacek@redhat.com>
+
+	* config/aarch64/aarch64-simd.md: Adjust fall through comments.
+	* config/alpha/predicates.md: Likewise.
+
+2016-09-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* ifcvt.c (noce_try_avoid_const_materialization): New function.
+	(noce_process_if_block): Use it.
+
+2016-09-30  Martin Liska  <mliska@suse.cz>
+
+	* doc/invoke.texi: Document asan-use-after-return that
+	it's disabled by default in runtime.
+
+2016-09-30  Richard Biener  <rguenther@suse.de>
+
+	* tree-vrp.c (intersect_ranges): If we failed to handle
+	the intersection choose a constant singleton range if available.
+
+2016-09-30  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/77399
+	* tree-ssa-forwprop.c (simplify_vector_constructor): Handle
+	float <-> int conversions.
+
+2016-09-30  Alan Modra  <amodra@gmail.com>
+
+	* config/rs6000/rs6000.c (rs6000_opt_vars): Revert last change.
+
+2016-09-29  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/driver-i386.c (host_detect_local_cpu): Check maximum
+	ext_level before calling CPUID with 0x80000008.
+	Simplify xgetbv checks.
+
+2016-09-29  David Malcolm  <dmalcolm@redhat.com>
+
+	* Makefile.in (OBJS): Add print-rtl-function.o.
+	* print-rtl-function.c: New file.
+	* print-rtl.h (print_rtx_function): New decl.
+
+2016-09-29  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/77756
+	* config/i386/cpuid.h (__get_cpuid_count): New.
+	(__get_cpuid): Rename __level to __leaf.
+
+2016-09-29  Marek Polacek  <polacek@redhat.com>
+
+	* genattrtab.c (write_attr_case): Also emit FALLTHRU marker.
+
+2016-09-29  Bernd Schmidt  <bschmidt@redhat.com>
+
+	PR target/77718
+	* builtins.c (expand_builtin_memcmp): Don't swap args unless
+	result is only being compared with zero.
+
+2016-09-29  Marek Polacek  <polacek@redhat.com>
+
+	* dwarf2out.c (loc_descriptor): Add fall through comment.
+	(add_const_value_attribute): Likewise.
+
+2016-09-29  Matthew Wahab  <matthew.wahab@arm.com>
+
+	* config/arm/arm.md (*arm_movsi_insn): Replace "t2" arch attribute
+	with "v6t2".  Move "arch" attribute above "pool_range".
+	* config/arm/vfp.md (*arm_movhi_vfp): Replace "t2" arch attribute
+	with "v6t2".
+	(*thumb2_movhi_vfp): Likewise.
+	(*arm_movhi_fp16): Likewise.
+	(*thumb2_movhi_fp16): Likewise.
+	(*arm_movsi_vfp): Remove "arch" attribute.
+	(*thumb2_movsi_vfp): Likewise.
+
+2016-09-29  Martin Liska  <mliska@suse.cz>
+
+	* doc/extend.texi: Remove limitation of Objective C for
+	__attribute__((constructor)) and __attribute__((destructor)).
+
+2016-09-29  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/77768
+	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
+	Handle stores to readonly memory when removing redundant stores.
+
+2016-09-29  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/77407
+	* match.pd: Add X / abs (X) -> X < 0 ? -1 : 1 and
+	X / -X -> -1 simplifications.
+
+2016-09-29  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/55152
+	* match.pd: Add max(a,-a) -> abs(a) pattern.
+	* tree-ssa-phiopt.c (minmax_replacement): Disable for
+	HONOR_SIGNED_ZEROS types.
+
+2016-09-29  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* defaults.h (TARGET_FLT_EVAL_METHOD_NON_DEFAULT): Remove.
+	* system.h (TARGET_FLT_EVAL_METHOD_NON_DEFAULT): Poison.
+
+2016-09-29  Richard Biener  <rguenther@suse.de>
+
+	* tree-vrp.c (set_defs_to_varying): New helper avoiding
+	writing to vr_const_varying.
+	(vrp_initialize): Call it.
+	(vrp_visit_stmt): Likewise.
+	(evrp_dom_walker::before_dom_children): Likewise.
+
+2016-09-29  Richard Biener  <rguenther@suse.de>
+
+	* tree-vect-stmts.c (vectorizable_load): Avoid emitting vector
+	constructors with vector elements.
+
+2016-09-29  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/77768
+	* tree-ssa-sccvn.c (visit_reference_op_store): Properly deal
+	with stores to a place we know has a constant value.
+
+2016-09-29  Alan Modra  <amodra@gmail.com>
+
+	* config/rs6000/sysv4.opt (mgnu-attribute): New option.
+	* doc/invoke.texi: Document it.
+	* config/rs6000/rs6000.c (HAVE_LD_PPC_GNU_ATTR_LONG_DOUBLE): Define.
+	(rs6000_passes_float): Comment.
+	(rs6000_passes_long_double): New static var.
+	(call_ABI_of_interest): Return false unless rs6000_gnu_attr is set.
+	(init_cumulative_args): Set up to emit fp .gnu_attribute for
+	ELF 64-bit ABIs as well as 32-bit ELF.  Correct rs6000_passes_float
+	to include fp values returned in vectors.
+	Set rs6000_passes_long_double.
+	(rs6000_function_arg_advance_1): Likewise for function args.
+	(rs6000_elf_file_end): Emit fp .gnu_attribute for ELF 64-bit ABIs,
+	and SPE.  Emit long double tag value too.
+	(rs6000_opt_vars): Add gnu-attr.
+	* configure.ac (HAVE_LD_PPC_GNU_ATTR_LONG_DOUBLE): New ppc32 test.
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
+2016-09-28  Jakub Jelinek  <jakub@redhat.com>
+
+	* gimple-ssa-sprintf.c (pass_sprintf_length::gate): Use x > 0 instead
+	of 0 < x.
+	(format_floating, format_string, format_directive,
+	get_destination_size, pass_sprintf_length::handle_gimple_call):
+	Likewise.
+
+2016-09-28  Jakub Jelinek  <jakub@redhat.com>
+
+	* gimple-ssa-sprintf.c: Fix comment formatting.
+	(format_integer): Use is_gimple_assign.
+	(pass_sprintf_length::handle_gimple_call): Use gimple_call_builtin_p
+	and gimple_call_fndecl.  Reorder case BUILT_IN_SPRINTF_CHK.  Fix up
+	BUILT_IN_SNPRINTF_CHK comment.  Replace "to to" with "to" in comment.
+	(pass_sprintf_length::execute): Use is_gimple_call.
+
+2016-09-28  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* gimple-fold.c (gimple_fold_builtin): After failing to fold
+	strchr, also try the generic folding.
+
+2016-09-28  Martin Sebor  <msebor@redhat.com>
+
+	PR c/77762
+	* gimple-ssa-sprintf.c (pass_sprintf_length::handle_gimple_call):
+	Fix typos.
+
+2016-09-28  Martin Sebor  <msebor@redhat.com>
+
+	PR middle-end/77683
+	* gimple-ssa-sprintf.c (format_integer): Fail gracefully when
+	length modifier is not expected.
+	(format_floating): Ignore l length modifier and fail gracefuly
+	when it isn't one of the other expected ones.
+
+2016-09-28  Martin Sebor  <msebor@redhat.com>
+
+	PR bootstrap/77753
+	* varasm.c (assemble_addr_to_section): Increase local buffer size.
+
+2016-09-27  Richard Biener  <rguenther@suse.de>
+
+	* dwarf2out.c (cu_die_list): New global.
+	(dwarf2out_finish): Walk cu_die_list instead of limbo DIEs.  Add
+	main_comp_unit_die to cu_die_list if we created it.
+	Move break_out_includes ...
+	(dwarf2out_early_finish): ... here.  Push created CU DIEs onto
+	the cu_die_list.
+
+2016-09-28  Richard Biener  <rguenther@suse.de>
+
+	* dwarf2out.c (struct die_struct): Add removed flag.
+	(lookup_type_die): If the DIE is marked as removed, clear
+	TYPE_SYMTAB_DIE and return NULL.
+	(lookup_decl_die): If the DIE is marked as removed, remove it
+	from the hash and return NULL.
+	(mark_removed): New helper.
+	(prune_unused_types_prune): Call it for removed DIEs.
+	(gen_subprogram_die): Move the premark_used_types call to after
+	DIEs for the functions scopes are generated.
+	(process_scope_var): Do not re-create pruned types or type decls.
+	Make sure to also re-parent type decls.
+	(dwarf2out_finish): Move unused type pruning and debug_types
+	handling ...
+	(dwarf2out_early_finish): ... here.
+
+2016-09-29  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc-c.c: New file.
+	* config/arc/arc-c.def: Likewise.
+	* config/arc/t-arc: Likewise.
+	* config.gcc: Include arc-c.o as c and cpp object.
+	* config/arc/arc-protos.h (arc_cpu_cpp_builtins): Add prototype.
+	* config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Use
+	arc_cpu_cpp_builtins.
+
+2016-09-29  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.md (*rotrsi3_cnt1): New pattern.
+	(*ashlsi2_cnt1, *lshrsi3_cnt1, *ashrsi3_cnt1): Likewise.
+
+2016-09-28  Nathan Sidwell  <nathan@acm.org>
+
+	* gimple-pretty-print.c (dump_gimple_call_args): Simplify "' "
+	printing.
+
+2016-09-28  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	PR tree-optimization/61056
+	* gimple-fold.c (gimple_fold_builtin_strchr):
+	New function to optimize strchr (s, 0) to strlen.
+	(gimple_fold_builtin): Add BUILT_IN_STRCHR case.
+
+2016-09-27  Robin Dapp  <rdapp@linux.vnet.ibm.com>
+
+	PR tree-optimization/77724
+	* tree-vect-loop-manip.c (create_intersect_range_checks_index):
+	Add tree_fits_shwi_p check.
+
+2016-09-27  Jakub Jelinek  <jakub@redhat.com>
+
+	* auto-inc-dec.c (try_merge): Remove break after return.
+	* cselib.c (autoinc_split): Likewise.
+	* explow.c (promote_mode): Likewise.
+	* fixed-value.c (fixed_arithmetic): Likewise.
+	* hsa.c (hsa_internal_fn::get_arity): Likewise.
+	* rtlanal.c (modified_between_p, modified_in_p): Likewise.
+	* trans-mem.c (get_attrs_for): Likewise.
+	* tree-if-conv.c (if_convertible_stmt_p): Likewise.
+	* tree-vrp.c (simplify_stmt_using_ranges): Likewise.
+	* config/aarch64/aarch64-builtins.c (aarch64_fold_builtin): Likewise.
+	* config/aarch64/aarch64.c (aarch64_get_condition_code_1): Likewise.
+	* config/c6x/c6x.c (c6x_get_unit_specifier): Likewise.
+	* config/cr16/cr16.c (legitimate_pic_operand_p): Likewise.
+	* config/cris/cris.c (cris_op_str): Likewise.
+	* config/mn10300/mn10300.c (cc_flags_for_code): Likewise.
+	* config/tilepro/tilepro.c (tilepro_emit_setcc_internal_di): Likewise.
+
+2016-09-27  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* internal-fn.h (IFN_UNIQUE_CODES, IFN_GOACC_LOOP_CODES,
+	IFN_GOACC_REDUCTION_CODES): New.
+	(enum ifn_unique_kind, enum ifn_goacc_loop_kind, enum
+	ifn_goacc_reduction_kind): Use them.
+	* gimple-pretty-print.c (dump_gimple_call_args): Decode first arg
+	of internal functions, when applicable.
+
+2016-09-27  Maciej W. Rozycki  <macro@imgtec.com>
+
+	* config/mips/constraints.md (d): Fix documentation.
+	* doc/md.texi (Machine Constraints): Update accordingly.
+
+2016-09-27  Richard Biener  <rguenther@suse.de>
+
+	* dwarf2out.c (dwarf2out_init): Move text_section_line_info,
+	cur_line_info_table initialization ...
+	(dwarf2out_assembly_start): ... here.
+
+2016-09-27  Matthew Wahab  <matthew.wahab@arm.com>
+
+	* config/arm/arm.md (*arm_movsi_insn): Add "arch" attribute.
+	* config/arm/vfp.md (*arm_movhi_vfp): Likewise.
+	(*thumb2_movhi_vfp): Likewise.
+	(*arm_movhi_fp16): Remove predication operand from VMOV.F16
+	template.  Expand predicable attribute to mark VMOV.F16 as not
+	predicable.  Add "arch" attribute.
+	(*thumb2_movhi_fp16): Likewise.
+	(*arm_movsi_vfp): Break a long line.  Add "arch" attribute.
+	(*thumb2_movsi_vfp): Add "arch" attribute.
+
+2016-09-27  David Edelsohn  <dje.gcc@gmail.com>
+
+	* config/rs6000/rs6000.c (rs6000_output_symbol): Don't modify
+	VAR_DECL string.
+
+2016-09-27  Marek Polacek  <polacek@redhat.com>
+
+	* config/ia64/ia64.c (ia64_print_operand): Adjust fall through
+	comment.
+
+	* config/c6x/c6x.h: Adjust fall through comment.
+	* config/sh/sh.c (final_prescan_insn): Likewise.
+	* config/visium/visium.c (visium_expand_int_cstore): Likewise.
+	(visium_expand_fp_cstore): Likewise.
+
+2016-09-27  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/arm/arm.c (const_ok_for_op): Use "Fall through" comment form
+	expected by -Wimplicit-fallthrough.
+	(thumb1_size_rtx_costs): Likewise.
+	(thumb2_reorg): Likewise.
+	(tls_mentioned_p): Add "Fall through" comment.
+	(thumb2_reorg): Likewise.
+	* config/arm/arm-builtins.c (arm_expand_neon_args): Use "Fall through"
+	comment form expected by -Wimplicit-fallthrough.
+
+2016-09-27  Martin Liska  <mliska@suse.cz>
+
+	PR gcov-profile/46266
+	* input.h (RESERVED_LOCATION_P): New macro.
+	* profile.c (branch_prob): Use RESERVED_LOCATION_P and
+	instread of comparison with UNKNOWN_LOCATION.
+
+2016-09-27  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/77745
+	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
+	When removing redundant stores make sure to check compatibility
+	of the TBAA state for downstream accesses.
+	* tree-ssa-sccvn.c (visit_reference_op_store): Likewise for when
+	value-numbering virtual operands for store matches.
+
+2016-09-27  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	PR target/51244
+	* config/sh/sh.c (sh_rtx_costs): Fix return value of SET of movt and
+	movrt patterns.  Match them before anything else in the SET case.
+
+2016-09-27  Martin Liska  <mliska@suse.cz>
+
+	PR gcov-profile/7970
+	PR gcov-profile/16855
+	PR gcov-profile/44779
+	* coverage.c (build_gcov_exit_decl): New function.
+	(coverage_obj_init): Call the function and generate __gcov_exit
+	destructor.
+	* doc/gcov.texi: Document when __gcov_exit function is called.
+
+2016-09-27  Marek Polacek  <polacek@redhat.com>
+
+	PR bootstrap/77751
+	* Makefile.in (insn-attrtab.o-warn, insn-dfatab.o-warn,
+	insn-latencytab.o-warn, insn-output.o-warn, insn-emit.o-warn): Use
+	-Wno-error instead of -Wno-implicit-fallthrough.
+
+2016-09-27  Martin Liska  <mliska@suse.cz>
+
+	PR bootstrap/77749
+	* gcov-counter.def: Remove GCOV_COUNTER_V_DELTA.
+
+2016-09-27  Jakub Jelinek  <jakub@redhat.com>
+
+	* combine.c (simplify_comparison): Add canonical FALLTHROUGH comments.
+	* config/i386/i386.c (ix86_dep_by_shift_count_body): Add FALLTHROUGH
+	comments.  Remove break after return.
+	(ix86_fp_compare_code_to_integer, has_dispatch,
+	ix86_simd_clone_usable): Remove break after return.
+
+2016-09-27  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	PR rlt-optimization/77714
+	* lra-eliminations.c (eliminate_regs_in_insn): Avoid alias on
+	REG_EQUAL note.
+
+2016-09-27  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	PR ipa/77677
+	* ipa-prop.c (ipa_compute_jump_functions_for_edge): Use
+	extract_range_from_unary_expr to convert value_range.
+	* tree-vrp.c (extract_range_from_unary_expr_1): Rename to.
+	(extract_range_from_unary_expr): This.
+	* tree-vrp.h (extract_range_from_unary_expr): Declare.
+
+2016-09-27  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.md (movcc_internal1): Disparage using CTR or LR.
+
+2016-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* config/i386/i386.c (ix86_print_operand)
+	[HAVE_AS_IX86_CMOV_SUN_SYNTAX]: Add gcc_fallthrough.
+	* config/sparc/sparc.c (check_pic): Add fallthrough comment.
+	(epilogue_renumber): Likewise.
+
+2016-09-26  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	PR middle-end/77719
+	* tree-ssa-reassoc.c (make_new_ssa_for_def): Use gimple_get_lhs
+	to get lhs instead of gimple_assign_lhs as stmt can be builtins too.
+
+2016-09-26  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* tree.h (memmodel_from_int, memmodel_base, is_mm_relaxed,
+	is_mm_consume, is_mm_acquire, is_mm_release, is_mm_acq_rel,
+	is_mm_seq_cst, is_mm_sync): Move to ...
+	* memmodel.h: This.  New file.
+	* builtins.c: Include memmodel.h.
+	* optabs.c: Likewise.
+	* tsan.c: Likewise.
+	* config/aarch64/aarch64.c: Likewise.
+	* config/alpha/alpha.c: Likewise.
+	* config/arm/arm.c: Likewise.
+	* config/i386/i386.c: Likewise.
+	* config/ia64/ia64.c: Likewise.
+	* config/mips/mips.c: Likewise.
+	* config/rs6000/rs6000.c: Likewise.
+	* config/sparc/sparc.c: Likewise.
+	* genconditions.c: Include memmodel.h in generated file.
+	* genemit.c: Likewise.
+	* genoutput.c: Likewise.
+	* genpeep.c: Likewise.
+	* genpreds.c: Likewise.
+	* genrecog.c: Likewise.
+
+2016-09-26  David Malcolm  <dmalcolm@redhat.com>
+
+	* read-rtl.c (read_rtx_code): Rename local "i" to "idx", and use
+	"c" instead when parsing characters.  Move operand parsing into...
+	(read_rtx_operand): ...this new function, renaming "i" to "idx",
+	and tightening the scope of various locals.
+
+2016-09-26  Liu Hao  <lh_mouse@126.com>
+
+	* config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Fix typo.
+
+2016-09-26  Marek Polacek  <polacek@redhat.com>
+
+	* system.h: Use __has_attribute to check whether the fallthrough
+	attribute is supported.
+
+2016-09-26  Marek Polacek  <polacek@redhat.com>
+
+	* ipa-inline-analysis.c (find_foldable_builtin_expect): Use
+	gimple_call_internal_p.
+	* ipa-split.c (find_return_bb): Likewise.
+	(execute_split_functions): Likewise.
+	* omp-low.c (dump_oacc_loop_part): Likewise.
+	(oacc_loop_xform_head_tail): Likewise.
+	* predict.c (predict_loops): Likewise.
+	* sanopt.c (pass_sanopt::execute): Likewise.
+	* tree-cfg.c (get_abnormal_succ_dispatcher): Likewise.
+	* tree-parloops.c (oacc_entry_exit_ok_1): Likewise.
+	* tree-stdarg.c (gimple_call_ifn_va_arg_p): Remove function.
+	(expand_ifn_va_arg_1): Use gimple_call_internal_p.
+	(expand_ifn_va_arg): Likewise.
+	* tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
+	(optimize_mask_stores): Likewise.
+	* tree-vect-stmts.c (vect_simd_lane_linear): Likewise.
+	(vect_transform_stmt): Likewise.
+	* tree-vectorizer.c (vect_loop_vectorized_call): Likewise.
+	* tsan.c (instrument_memory_accesses): Likewise.
+
+2016-09-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+	    Alexander Monakov  <amonakov@ispras.ru>
+
+	* regrename.c (rename_chains): Check
+	HARD_FRAME_POINTER_IS_FRAME_POINTER rather than
+	HARD_FRAME_POINTER_REGNUM when picking unavailable registers.
+	* sel-sched.c (mark_unavailable_hard_regs): Likewise.
+
+2016-09-26  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.c (s390_rtx_costs): Add /* fallthrough */.
+	(s390_sched_score): Likewise.
+
+2016-09-26  Martin Liska  <mliska@suse.cz>
+
+	* doc/gcov.texi: Update program output of gcov tool.
+
+2016-09-26  Martin Liska  <mliska@suse.cz>
+
+	PR gcov-profile/23332
+	* profile.c (instrument_values): Do not handle HIST_TYPE_CONST_DELTA.
+	* tree-profile.c (gimple_gen_const_delta_profiler): Remove.
+	* value-prof.c (dump_histogram_value): Do not handle
+	HIST_TYPE_CONST_DELTA.
+	(stream_in_histogram_value): Likewise.
+	(gimple_find_values_to_profile): Likewise.
+	* value-prof.h (enum hist_type): Likewise.
+
+2016-09-26  Martin Liska  <mliska@suse.cz>
+
+	* common.opt: Exclude SANITIZE_UNREACHABLE and SANITIZE_RETURN
+	from default sanitize recover values.
+	* doc/invoke.texi: Fix documentation related to -fsanitize=leak,
+	-fsanitize=address, -fsanitize=thread and -fsanitize-recover.
+	* flag-types.h: Replace couple of 1 << x to 1UL << x, make it
+	consistent.
+	* opts.c (finish_options): Do a generic loop over options
+	that can be recovered.
+	(parse_sanitizer_options): Exclude SANITIZE_UNREACHABLE and
+	SANITIZE_RETURN.
+	(common_handle_option): Likewise.
+	* opts.h: Declare can_recover to sanitizer_opts_s.
+
+2016-09-26  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+	* target.def(elf_flags_numeric): Change documentation to present tense.
+	* doc/tm.texi: Regenerate.
+
+2016-09-26  Marek Polacek  <polacek@redhat.com>
+
+	PR c/7652
+	* Makefile.in (insn-attrtab.o-warn, insn-dfatab.o-warn,
+	insn-latencytab.o-warn, insn-output.o-warn, insn-emit.o-warn): Add
+	-Wno-switch-fallthrough.
+	* builtins.c (expand_builtin_int_roundingfn_2): Add gcc_fallthrough.
+	(expand_builtin): Likewise.
+	* config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass): Likewise.
+	* convert.c (convert_to_real_1): Likewise.
+	(convert_to_integer_1): Likewise.
+	* final.c (output_alternate_entry_point): Likewise.
+	* genattrtab.c (make_canonical): Likewise.
+	(write_test_expr): Likewise.
+	* genpreds.c (validate_exp): Likewise.
+	* gimple-ssa-strength-reduction.c
+	(find_candidates_dom_walker::before_dom_children): Likewise.
+	* godump.c (go_format_type): Likewise.
+	* reload1.c (elimination_effects): Likewise.
+	* resource.c (mark_referenced_resources): Likewise.
+	(mark_set_resources): Likewise.
+	* tree-ssa-loop-ivopts.c (find_deriving_biv_for_expr): Likewise.
+	* varasm.c (output_addressed_constants): Likewise.
+
+2016-09-26  Marek Polacek  <polacek@redhat.com>
+
+	PR c/7652
+	* common.opt (Wimplicit-fallthrough): New option.
+	* doc/extend.texi: Document statement attributes and the fallthrough
+	attribute.
+	* doc/invoke.texi: Document -Wimplicit-fallthrough.
+	* gimple.h (gimple_call_internal_p): New function.
+	* gimplify.c (struct gimplify_ctx): Add in_switch_expr.
+	(struct label_entry): New struct.
+	(find_label_entry): New function.
+	(case_label_p): New function.
+	(collect_fallthrough_labels): New function.
+	(last_stmt_in_scope): New function.
+	(should_warn_for_implicit_fallthrough): New function.
+	(warn_implicit_fallthrough_r): New function.
+	(maybe_warn_implicit_fallthrough): New function.
+	(expand_FALLTHROUGH_r): New function.
+	(expand_FALLTHROUGH): New function.
+	(gimplify_switch_expr): Call maybe_warn_implicit_fallthrough and
+	expand_FALLTHROUGH for the innermost GIMPLE_SWITCH.
+	(gimplify_label_expr): New function.
+	(gimplify_case_label_expr): Set location.
+	(gimplify_expr): Call gimplify_label_expr.
+	* internal-fn.c (expand_FALLTHROUGH): New function.
+	* internal-fn.def (FALLTHROUGH): New internal function.
+	* langhooks.c (lang_GNU_OBJC): New function.
+	* langhooks.h (lang_GNU_OBJC): Declare.
+	* system.h (gcc_fallthrough): Define.
+	* tree-core.h: Add FALLTHROUGH_LABEL_P comment.
+	* tree.h (FALLTHROUGH_LABEL_P): Define.
+
+2016-09-26  Richard Biener  <rguenther@suse.de>
+
+	* dwarf2out.c (stripattributes): Remove unused function.
+	(DEBUG_NORM_MACINFO_SECTION): Rename to DEBUG_MACINFO_SECTION.
+	Push dwarf_split_debug_info handling into init_sections_and_labels.
+	(DEBUG_NORM_MACRO_SECTION): Likewise to DEBUG_MACRO_SECTION.
+	(DEBUG_MACRO_SECTION_FLAGS): Remove.
+	(debug_macinfo_section_name): New global.
+	(output_macinfo): Use debug_macinfo_section_name.
+	(init_sections_and_labels): Split out section and label generation
+	from dwarf2out_init.  Set debug_macinfo_section_name.
+	(dwarf2out_init): Move text section label generation and emission
+	to ...
+	(dwarf2out_assembly_start): ... here.
+	(dwarf2out_finish): Call init_sections_and_labels before DWARF
+	output starts.
+
+2016-09-26  Richard Biener  <rguenther@suse.de>
+
+	PR debug/77692
+	* cgraphunit.c (analyze_functions): Before early removing
+	global vars calls the late_global_decl debug handler mark
+	the variable as readonly.
+
+2016-09-25  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	PR target/51244
+	* config/sh/sh.c (sh_movt_set_dest, sh_movrt_set_dest): Add overloads.
+	(sh_rtx_costs): Handle SET of movt and movrt patterns.
+	* cnofig/sh/sh-protos.h (sh_movt_set_dest, sh_movrt_set_dest): Forward
+	declare new overloads.
+	* config/sh/sh.md (*cset_zero): Add variant that takes a treg_set_expr
+	operand.
+
+2016-09-24  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (expand_block_compare, do_load_for_compare):
+	Change TARGET_LITTLE_ENDIAN to !BYTES_BIG_ENDIAN.
+
+2016-09-24  David Edelsohn  <dje.gcc@gmail.com>
+
+	* configure.ac (gcc_cv_as_aix_dwloc): Fix typo in assembly fragment.
+	* configure: Regenerate.
+
+2016-09-24  Marek Polacek  <polacek@redhat.com>
+
+	PR c/77490
+	* doc/invoke.texi: Document -Wbool-operation.
+
+2016-09-23  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.md (cmpmemsi): New define_expand.
+	* config/rs6000/rs6000.c (expand_block_compare): New function used by
+	cmpmemsi pattern to do builtin expansion of memcmp ().
+	(compute_current_alignment): Add helper function for
+	expand_block_compare used to compute alignment as the compare proceeds.
+	(select_block_compare_mode): Used by expand_block_compare to select
+	the mode used for reading the next chunk of bytes in the compare.
+	(do_load_for_compare): Used by expand_block_compare to emit the load
+	insns for the compare.
+	(rs6000_emit_dot_insn): Moved this function to avoid a forward
+	reference from expand_block_compare ().
+	* config/rs6000/rs6000-protos.h (expand_block_compare): Add a
+	prototype for this function.
+	* config/rs6000/rs6000.opt (mblock-compare-inline-limit): Add a new
+	target option for controlling how much code inline expansion of
+	memcmp() will be allowed to generate.
+
+2016-09-23  Jakub Jelinek  <jakub@redhat.com>
+
+	* hooks.c (hook_bool_bool_false, hook_bool_bool_gcc_optionsp_false,
+	hook_bool_mode_false, hook_bool_mode_true,
+	hook_bool_mode_const_rtx_false, hook_bool_mode_const_rtx_true,
+	hook_bool_mode_rtx_false, hook_bool_mode_rtx_true,
+	hook_bool_const_rtx_insn_const_rtx_insn_true,
+	hook_bool_mode_uhwi_false, hook_void_FILEptr_constcharptr,
+	hook_bool_FILEptr_rtx_false, hook_bool_gsiptr_false,
+	hook_bool_const_tree_hwi_hwi_const_tree_false,
+	hook_bool_const_tree_hwi_hwi_const_tree_true,
+	default_can_output_mi_thunk_no_vcall, hook_int_uint_mode_1,
+	hook_int_const_tree_0, hook_int_const_tree_const_tree_1,
+	hook_int_rtx_0, hook_int_rtx_bool_0, hook_void_tree,
+	hook_void_constcharptr, hook_void_tree_treeptr, hook_void_int_int,
+	hook_bool_tree_false, hook_bool_const_tree_false, hook_bool_tree_true,
+	hook_bool_const_tree_true, hook_bool_tree_tree_false,
+	hook_bool_tree_tree_true, hook_bool_tree_bool_false,
+	hook_bool_rtx_insn_true, hook_bool_rtx_false,
+	hook_bool_uintp_uintp_false,
+	hook_bool_rtx_mode_int_int_intp_bool_false, hook_rtx_rtx_null,
+	hook_rtx_tree_int_null, hook_uint_mode_0,
+	hook_constcharptr_const_tree_null, hook_tree_tree_int_treep_bool_null,
+	hook_tree_tree_tree_null, hook_tree_tree_tree_tree_null,
+	hook_constcharptr_const_rtx_insn_null,
+	hook_constcharptr_const_tree_const_tree_null,
+	hook_constcharptr_int_const_tree_null,
+	hook_constcharptr_int_const_tree_const_tree_null,
+	hook_tree_const_tree_null, hook_bool_rtx_insn_int_false,
+	hook_void_rtx_insn_int, hook_void_gcc_optionsp): For arguments with
+	ATTRIBUTE_UNUSED, remove parameter name as well as ATTRIBUTE_UNUSED.
+
+	* vec.h (vNULL): Extend comment to say = vNULL initialization
+	isn't needed for static vars.
+
+	* sel-sched-ir.c (sel_global_bb_info, sel_region_bb_info,
+	loop_nests, s_i_d, last_added_blocks): Remove unnecessary
+	= vNULL initialization of file scope vec.
+	* passes.c (pass_tab, enabled_pass_uid_range_tab,
+	disabled_pass_uid_range_tab): Likewise.
+	* haifa-sched.c (sched_luids, h_i_d): Likewise.
+	* tree-chkp-opt.c (check_infos): Likewise.
+	* sel-sched.c (vec_av_set, vec_temp_moveop_nops): Likewise.
+
+	* vec.h (vnull::operator vec): Add constexpr keyword for
+	C++11 and later.
+
+2016-09-23  Doug Gilmore  <doug.gilmore@imgtec.com>
+
+	PR tree-optimization/77654
+	* tree-ssa-loop-prefetch.c (issue_prefetch_ref): Add call
+	to duplicate_ssa_name_ptr_info.
+
+2016-09-23  David Malcolm  <dmalcolm@redhat.com>
+
+	PR preprocessor/77672
+	* input.c (selftest::test_lexer_string_locations_simple): Update
+	test to expect location information of the terminator character
+	at the location of the final closing quote.
+	(selftest::test_lexer_string_locations_hex): Likewise.
+	(selftest::test_lexer_string_locations_oct): Likewise.
+	(selftest::test_lexer_string_locations_letter_escape_1): Likewise.
+	(selftest::test_lexer_string_locations_letter_escape_2): Likewise.
+	(selftest::test_lexer_string_locations_ucn4): Likewise.
+	(selftest::test_lexer_string_locations_ucn8): Likewise.
+	(selftest::test_lexer_string_locations_u8): Likewise.
+	(selftest::test_lexer_string_locations_utf8_source): Likewise.
+	(selftest::test_lexer_string_locations_concatenation_1): Likewise.
+	(selftest::test_lexer_string_locations_concatenation_2): Likewise.
+	(selftest::test_lexer_string_locations_concatenation_3): Likewise.
+	(selftest::test_lexer_string_locations_macro): Likewise.
+	(selftest::test_lexer_string_locations_long_line): Likewise.
+
+2016-09-23  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-sccvn.c (visit_reference_op_call): Value number
+	virtual definition to virtual use if the call devirtualizes
+	to a const or pure function.
+	(visit_use): Also visit calls we can devirtualize to a
+	const or pure function.
+
+2016-09-23  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/77697
+	* tree-ssa-forwprop.c (defcodefor_name): Remove bogus code,
+	signal error if we have sth ternary or unhandled.
+
+2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
+
+	* config/arm/arm_neon.h (vabd_f16): New.
+	(vabdq_f16): New.
+	(vabs_f16): New.
+	(vabsq_f16): New.
+	(vadd_f16): New.
+	(vaddq_f16): New.
+	(vcage_f16): New.
+	(vcageq_f16): New.
+	(vcagt_f16): New.
+	(vcagtq_f16): New.
+	(vcale_f16): New.
+	(vcaleq_f16): New.
+	(vcalt_f16): New.
+	(vcaltq_f16): New.
+	(vceq_f16): New.
+	(vceqq_f16): New.
+	(vceqz_f16): New.
+	(vceqzq_f16): New.
+	(vcge_f16): New.
+	(vcgeq_f16): New.
+	(vcgez_f16): New.
+	(vcgezq_f16): New.
+	(vcgt_f16): New.
+	(vcgtq_f16): New.
+	(vcgtz_f16): New.
+	(vcgtzq_f16): New.
+	(vcle_f16): New.
+	(vcleq_f16): New.
+	(vclez_f16): New.
+	(vclezq_f16): New.
+	(vclt_f16): New.
+	(vcltq_f16): New.
+	(vcltz_f16): New.
+	(vcltzq_f16): New.
+	(vcvt_f16_s16): New.
+	(vcvt_f16_u16): New.
+	(vcvt_s16_f16): New.
+	(vcvt_u16_f16): New.
+	(vcvtq_f16_s16): New.
+	(vcvtq_f16_u16): New.
+	(vcvtq_s16_f16): New.
+	(vcvtq_u16_f16): New.
+	(vcvta_s16_f16): New.
+	(vcvta_u16_f16): New.
+	(vcvtaq_s16_f16): New.
+	(vcvtaq_u16_f16): New.
+	(vcvtm_s16_f16): New.
+	(vcvtm_u16_f16): New.
+	(vcvtmq_s16_f16): New.
+	(vcvtmq_u16_f16): New.
+	(vcvtn_s16_f16): New.
+	(vcvtn_u16_f16): New.
+	(vcvtnq_s16_f16): New.
+	(vcvtnq_u16_f16): New.
+	(vcvtp_s16_f16): New.
+	(vcvtp_u16_f16): New.
+	(vcvtpq_s16_f16): New.
+	(vcvtpq_u16_f16): New.
+	(vcvt_n_f16_s16): New.
+	(vcvt_n_f16_u16): New.
+	(vcvtq_n_f16_s16): New.
+	(vcvtq_n_f16_u16): New.
+	(vcvt_n_s16_f16): New.
+	(vcvt_n_u16_f16): New.
+	(vcvtq_n_s16_f16): New.
+	(vcvtq_n_u16_f16): New.
+	(vfma_f16): New.
+	(vfmaq_f16): New.
+	(vfms_f16): New.
+	(vfmsq_f16): New.
+	(vmax_f16): New.
+	(vmaxq_f16): New.
+	(vmaxnm_f16): New.
+	(vmaxnmq_f16): New.
+	(vmin_f16): New.
+	(vminq_f16): New.
+	(vminnm_f16): New.
+	(vminnmq_f16): New.
+	(vmul_f16): New.
+	(vmul_lane_f16): New.
+	(vmul_n_f16): New.
+	(vmulq_f16): New.
+	(vmulq_lane_f16): New.
+	(vmulq_n_f16): New.
+	(vneg_f16): New.
+	(vnegq_f16): New.
+	(vpadd_f16): New.
+	(vpmax_f16): New.
+	(vpmin_f16): New.
+	(vrecpe_f16): New.
+	(vrecpeq_f16): New.
+	(vrnd_f16): New.
+	(vrndq_f16): New.
+	(vrnda_f16): New.
+	(vrndaq_f16): New.
+	(vrndm_f16): New.
+	(vrndmq_f16): New.
+	(vrndn_f16): New.
+	(vrndnq_f16): New.
+	(vrndp_f16): New.
+	(vrndpq_f16): New.
+	(vrndx_f16): New.
+	(vrndxq_f16): New.
+	(vrsqrte_f16): New.
+	(vrsqrteq_f16): New.
+	(vrecps_f16): New.
+	(vrecpsq_f16): New.
+	(vrsqrts_f16): New.
+	(vrsqrtsq_f16): New.
+	(vsub_f16): New.
+	(vsubq_f16): New.
+
+2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
+
+	* config.gcc (extra_headers): Add arm_fp16.h
+	* config/arm/arm_fp16.h: New.
+	* config/arm/arm_neon.h: Include "arm_fp16.h".
+
+2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
+
+	* config/arm/arm_neon_builtins.def (vadd): New (v8hf, v4hf
+	variants).
+	(vmulf): New (v8hf, v4hf variants).
+	(vfma): New (v8hf, v4hf variants).
+	(vfms): New (v8hf, v4hf variants).
+	(vsub): New (v8hf, v4hf variants).
+	(vcage): New (v8hf, v4hf variants).
+	(vcagt): New (v8hf, v4hf variants).
+	(vcale): New (v8hf, v4hf variants).
+	(vcalt): New (v8hf, v4hf variants).
+	(vceq): New (v8hf, v4hf variants).
+	(vcgt): New (v8hf, v4hf variants).
+	(vcge): New (v8hf, v4hf variants).
+	(vcle): New (v8hf, v4hf variants).
+	(vclt): New (v8hf, v4hf variants).
+	(vceqz): New (v8hf, v4hf variants).
+	(vcgez): New (v8hf, v4hf variants).
+	(vcgtz): New (v8hf, v4hf variants).
+	(vcltz): New (v8hf, v4hf variants).
+	(vclez): New (v8hf, v4hf variants).
+	(vabd): New (v8hf, v4hf variants).
+	(vmaxf): New (v8hf, v4hf variants).
+	(vmaxnm): New (v8hf, v4hf variants).
+	(vminf): New (v8hf, v4hf variants).
+	(vminnm): New (v8hf, v4hf variants).
+	(vpmaxf): New (v4hf variant).
+	(vpminf): New (v4hf variant).
+	(vpadd): New (v4hf variant).
+	(vrecps): New (v8hf, v4hf variants).
+	(vrsqrts): New (v8hf, v4hf variants).
+	(vabs): New (v8hf, v4hf variants).
+	(vneg): New (v8hf, v4hf variants).
+	(vrecpe): New (v8hf, v4hf variants).
+	(vrnd): New (v8hf, v4hf variants).
+	(vrnda): New (v8hf, v4hf variants).
+	(vrndm): New (v8hf, v4hf variants).
+	(vrndn): New (v8hf, v4hf variants).
+	(vrndp): New (v8hf, v4hf variants).
+	(vrndx): New (v8hf, v4hf variants).
+	(vrsqrte): New (v8hf, v4hf variants).
+	(vmul_lane): Add v4hf and v8hf variants.
+	(vmul_n): Add v4hf and v8hf variants.
+	(vext): New (v8hf, v4hf variants).
+	(vcvts): New (v8hi, v4hi variants).
+	(vcvts): New (v8hf, v4hf variants).
+	(vcvtu): New (v8hi, v4hi variants).
+	(vcvtu): New (v8hf, v4hf variants).
+	(vcvts_n): New (v8hf, v4hf variants).
+	(vcvtu_n): New (v8hi, v4hi variants).
+	(vcvts_n): New (v8hi, v4hi variants).
+	(vcvtu_n): New (v8hf, v4hf variants).
+	(vbsl): New (v8hf, v4hf variants).
+	(vcvtas): New (v8hf, v4hf variants).
+	(vcvtau): New (v8hf, v4hf variants).
+	(vcvtms): New (v8hf, v4hf variants).
+	(vcvtmu): New (v8hf, v4hf variants).
+	(vcvtns): New (v8hf, v4hf variants).
+	(vcvtnu): New (v8hf, v4hf variants).
+	(vcvtps): New (v8hf, v4hf variants).
+	(vcvtpu): New (v8hf, v4hf variants).
+
+2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
+
+	* config/arm/arm-builtins.c (hf_UP): New.
+	(si_UP): New.
+	(vfp_builtin_data): New.  Update comment.
+	(enum arm_builtins): Include "arm_vfp_builtins.def".
+	(ARM_BUILTIN_VFP_PATTERN_START): New.
+	(arm_init_vfp_builtins): New.
+	(arm_init_builtins): Add arm_init_vfp_builtins.
+	(arm_expand_vfp_builtin): New.
+	(arm_expand_builtins): Update for arm_expand_vfp_builtin.  Fix
+	long line.
+	* config/arm/arm_vfp_builtins.def: New file.
+	* config/arm/t-arm (arm.o): Add arm_vfp_builtins.def.
+	(arm-builtins.o): Likewise.
+
+2016-09-23  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	PR ipa/77677
+	* ipa-cp.c (propagate_vr_accross_jump_function): Drop TREE_OVERFLOW
+	from constant while creating value range.
+
+2016-09-23  Renlin Li  <renlin.li@arm.com>
+
+	* ira.c (ira): Move ira_use_lra_p initialization code to ...
+	(ira_init_once): Here.
+
+2016-09-23  Uros Bizjak  <ubizjak@gmail.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	* hooks.h (hook_uint_uintp_false): Rename to...
+	(hook_bool_uint_uintp_false): ... this.
+	* hooks.c (hook_uint_uintp_false): Rename to...
+	(hook_bool_uint_uintp_false): ... this.
+	* target.def (elf_flags_numeric): Use hook_bool_uint_uintp_false
+	instead of hook_uint_uintp_false.
+
+2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
+
+	* config/arm/arm-builtins.c (arm_init_neon_builtin): New.
+	(arm_init_builtins): Move body of a loop to the standalone
+	function arm_init_neon_builtin.
+	(arm_expand_neon_builtin_1): New.  Update comment.  Function body
+	moved from arm_neon_builtin with some white-space fixes.
+	(arm_expand_neon_builtin): Move code into the standalone function
+	arm_expand_neon_builtin_1.
+
+2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
+
+	* config/arm/iterators.md (VCVTHI): New.
+	(NEON_VCMP): Add UNSPEC_VCLT and UNSPEC_VCLE.  Fix a long line.
+	(NEON_VAGLTE): New.
+	(VFM_LANE_AS): New.
+	(VH_CVTTO): New.
+	(V_reg): Add HF, V4HF and V8HF.  Fix white-space.
+	(V_HALF): Add V4HF.  Fix white-space.
+	(V_if_elem): Add HF, V4HF and V8HF.  Fix white-space.
+	(V_s_elem): Likewise.
+	(V_sz_elem): Fix white-space.
+	(V_elem_ch): Likewise.
+	(VH_elem_ch): New.
+	(scalar_mul_constraint): Add V8HF and V4HF.
+	(Is_float_mode): Fix white-space.
+	(Is_d_reg): Add V4HF and V8HF.  Fix white-space.
+	(q): Add HF.  Fix white-space.
+	(float_sup): New.
+	(float_SUP): New.
+	(cmp_op_unsp): Add UNSPEC_VCALE and UNSPEC_VCALT.
+	(neon_vfm_lane_as): New.
+	* config/arm/neon.md (add<mode>3_fp16): New.
+	(sub<mode>3_fp16): New.
+	(mul<mode>3add<mode>_neon): New.
+	(fma<VH:mode>4_intrinsic): New.
+	(fmsub<VCVTF:mode>4_intrinsic): Fix white-space.
+	(fmsub<VH:mode>4_intrinsic): New.
+	(<absneg_str><mode>2): New.
+	(neon_v<absneg_str><mode>): New.
+	(neon_v<fp16_rnd_str><mode>): New.
+	(neon_vrsqrte<mode>): New.
+	(neon_vpaddv4hf): New.
+	(neon_vadd<mode>): New.
+	(neon_vsub<mode>): New.
+	(neon_vmulf<mode>): New.
+	(neon_vfma<VH:mode>): New.
+	(neon_vfms<VH:mode>): New.
+	(neon_vc<cmp_op><mode>): New.
+	(neon_vc<cmp_op><mode>_fp16insn): New
+	(neon_vc<cmp_op_unsp><mode>_fp16insn_unspec): New.
+	(neon_vca<cmp_op><mode>): New.
+	(neon_vca<cmp_op><mode>_fp16insn): New.
+	(neon_vca<cmp_op_unsp><mode>_fp16insn_unspec): New.
+	(neon_vc<cmp_op>z<mode>): New.
+	(neon_vabd<mode>): New.
+	(neon_v<maxmin>f<mode>): New.
+	(neon_vp<maxmin>fv4hf: New.
+	(neon_<fmaxmin_op><mode>): New.
+	(neon_vrecps<mode>): New.
+	(neon_vrsqrts<mode>): New.
+	(neon_vrecpe<mode>): New (VH variant).
+	(neon_vdup_lane<mode>_internal): New.
+	(neon_vdup_lane<mode>): New.
+	(neon_vcvt<sup><mode>): New (VCVTHI variant).
+	(neon_vcvt<sup><mode>): New (VH variant).
+	(neon_vcvt<sup>_n<mode>): New (VH variant).
+	(neon_vcvt<sup>_n<mode>): New (VCVTHI variant).
+	(neon_vcvt<vcvth_op><sup><mode>): New.
+	(neon_vmul_lane<mode>): New.
+	(neon_vmul_n<mode>): New.
+	* config/arm/unspecs.md (UNSPEC_VCALE): New
+	(UNSPEC_VCALT): New.
+	(UNSPEC_VFMA_LANE): New.
+	(UNSPECS_VFMS_LANE): New.
+
+2016-09-23  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	* config/s390/s390.md ("*extzv<mode>_zEC12", "*extzv<mode>_z10")
+	("*extzv<mode><clobbercc_or_nocc>"):
+	Correct a typo in a comment.
+	Merged patterns.
+	("*insv<mode>_zEC12", "*insv<mode>_z10")
+	("*insv<mode><clobbercc_or_nocc>"): Ditto.
+	("*insv<mode>_zEC12_appendbitsleft")
+	("*insv<mode><clobbercc_or_nocc>_appendbitsleft")
+	("*insv<mode>_z10_appendbitsleft"): Ditto.
+	("*insv<mode>_zEC12_noshift", "*insv<mode>_z10_noshift")
+	("*insv<mode><clobbercc_or_nocc>_noshift"): Ditto.
+	Provide pattern with operands switched.
+	("*pre_z10_extv<mode>"):
+	Use new subst patterns.
+	("*extzvdi<clobbercc_or_nocc>_lshiftrt", "*<risbg_n>_ior_and_sr_ze")
+	("*extvsidi<clobbercc_or_nocc>", "*<risbg_n>_and_subregdi_rotr")
+	("*<risbg_n>_and_subregdi_rotl", "*<risbg_n>_di_and_rot")
+	("*insv_z10_noshift_cc", "*insv_z10_noshift_cconly")
+	("*<risbg_n>_<mode>_ior_and_lshiftrt")
+	("*<risbg_n>_sidi_ior_and_lshiftrt")
+	("*trunc_sidi_and_subreg_lshrt<clobbercc_or_nocc>"):
+	New patterns.
+	("*extzv_<mode>_sll", "*extzv_<mode>_srl")
+	("*extzv_<mode>_srl<clobbercc_or_nocc>")
+	("*extzv_<mode>_sll<clobbercc_or_nocc>"): Renamed patterns, use risbgn
+	on zEC12.
+	("SINT"): New mode_iterator with SI, HI, QI.
+	* config/s390/subst.md ("clobbercc_or_nocc_subst", "z10_or_zEC12_cond")
+	("clobbercc_or_nocc", "risbg_n"): New constructs for risbg pattern
+	duplication.
+
+2016-09-23  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	* config/s390/predicates.md ("contiguous_bitmask_operand"): Adapt to
+	new interface of s390_contiguous_bitmask_p.
+	("contiguous_bitmask_nowrap_operand"): New predicate.
+	("*anddi3_cc", "*anddi3_cconly", "*anddi3"): Replace NxxDq with NxxDw.
+	* config/s390/constraints.md ("NxxDw", "NxxSq"): Adapt to new interface
+	of s390_contiguous_bitmask_p.
+	("NxxDw"): Rename NxxDq constraint to NxxDw.
+	("NxxSw"): New constraint.
+	* config/s390/s390.md ("*andsi3_zarch"): Enable bitmask wraparound.
+	* config/s390/s390-protos.h (s390_contiguous_bitmask_p): Updated
+	interface.
+	(s390_contiguous_bitmask_nowrap_p): Export.
+	* config/s390/s390.c (s390_contiguous_bitmask_nowrap_p): New name of
+	former s390_contiguous_bitmask_p.
+	(s390_contiguous_bitmask_p): Use s390_contiguous_bitmask_nowrap_p to
+	detect contiguous bit ranges with wraparound.  Change signature to
+	return START and END position instead of POS and LENGTH.
+	(s390_contiguous_bitmask_vector_p): Remove extra code for continous bit
+	ranges with wraparound.
+	(s390_extzv_shift_ok): Use s390_contiguous_bitmask_nowrap_p.
+	(s390_contiguous_bitmask_vector_p,s390_extzv_shift_ok,print_operand):
+	Adapt to new signature of s390_contiguous_bitmask_p.
+
+2016-09-23  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-vect-loop-manip.c (create_intersect_range_checks_index): New.
+	(create_intersect_range_checks): New.
+	(vect_create_cond_for_alias_checks): Call above function.
+
+2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
+
+	* config/arm/iterators.md (Code iterators): Fix some white-space
+	in the comments.
+	(GLTE): New.
+	(ABSNEG): New
+	(FCVT): Moved from vfp.md.
+	(VCVT_HF_US_N): New.
+	(VCVT_SI_US_N): New.
+	(VCVT_HF_US): New.
+	(VCVTH_US): New.
+	(FP16_RND): New.
+	(absneg_str): New.
+	(FCVTI32typename): Moved from vfp.md.
+	(sup): Add UNSPEC_VCVTA_S, UNSPEC_VCVTA_U, UNSPEC_VCVTM_S,
+	UNSPEC_VCVTM_U, UNSPEC_VCVTN_S, UNSPEC_VCVTN_U, UNSPEC_VCVTP_S,
+	UNSPEC_VCVTP_U, UNSPEC_VCVT_HF_S_N, UNSPEC_VCVT_HF_U_N,
+	UNSPEC_VCVT_SI_S_N, UNSPEC_VCVT_SI_U_N,  UNSPEC_VCVTH_S_N,
+	UNSPEC_VCVTH_U_N, UNSPEC_VCVTH_S and UNSPEC_VCVTH_U.
+	(vcvth_op): New.
+	(fp16_rnd_str): New.
+	(fp16_rnd_insn): New.
+	* config/arm/unspecs.md (UNSPEC_VCVT_HF_S_N): New.
+	(UNSPEC_VCVT_HF_U_N): New.
+	(UNSPEC_VCVT_SI_S_N): New.
+	(UNSPEC_VCVT_SI_U_N): New.
+	(UNSPEC_VCVTH_S): New.
+	(UNSPEC_VCVTH_U): New.
+	(UNSPEC_VCVTA_S): New.
+	(UNSPEC_VCVTA_U): New.
+	(UNSPEC_VCVTM_S): New.
+	(UNSPEC_VCVTM_U): New.
+	(UNSPEC_VCVTN_S): New.
+	(UNSPEC_VCVTN_U): New.
+	(UNSPEC_VCVTP_S): New.
+	(UNSPEC_VCVTP_U): New.
+	(UNSPEC_VCVTP_S): New.
+	(UNSPEC_VCVTP_U): New.
+	(UNSPEC_VRND): New.
+	(UNSPEC_VRNDA): New.
+	(UNSPEC_VRNDI): New.
+	(UNSPEC_VRNDM): New.
+	(UNSPEC_VRNDN): New.
+	(UNSPEC_VRNDP): New.
+	(UNSPEC_VRNDX): New.
+	* config/arm/vfp.md (<absneg_str>hf2): New.
+	(neon_vabshf): New.
+	(neon_v<fp16_rnd_str>hf): New.
+	(neon_vrndihf): New.
+	(addhf3): New.
+	(subhf3): New.
+	(divhf3): New.
+	(mulhf3): New.
+	(*mulsf3neghf_vfp): New.
+	(*negmulhf3_vfp): New.
+	(*mulsf3addhf_vfp): New.
+	(*mulhf3subhf_vfp): New.
+	(*mulhf3neghfaddhf_vfp): New.
+	(*mulhf3neghfsubhf_vfp): New.
+	(fmahf4): New.
+	(neon_vfmahf): New.
+	(fmsubhf4_fp16): New.
+	(neon_vfmshf): New.
+	(*fnmsubhf4): New.
+	(*fnmaddhf4): New.
+	(neon_vsqrthf): New.
+	(neon_vrsqrtshf): New.
+	(FCVT): Move to iterators.md.
+	(FCVTI32typename): Likewise.
+	(neon_vcvth<sup>hf): New.
+	(neon_vcvth<sup>si): New.
+	(neon_vcvth<sup>_nhf_unspec): New.
+	(neon_vcvth<sup>_nhf): New.
+	(neon_vcvth<sup>_nsi_unspec): New.
+	(neon_vcvth<sup>_nsi): New.
+	(neon_vcvt<vcvth_op>h<sup>si): New.
+	(neon_<fmaxmin_op>hf): New.
+
+2016-09-23  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	* config/s390/s390.md (bitoff, bitoff_plus): Neq mode attributes.
+	("*extzv<mode>_zEC12", "*insv<mode>_zEC12", "*insv<mode>_z10")
+	("*insv<mode>_zEC12_appendbitsleft")
+	("*insv<mode>_z10_appendbitsleft", "*r<noxa>sbg_<mode>_sll")
+	("*r<noxa>sbg_<mode>_srl"): Use new attributes.
+
+2016-09-23  Jakub Jelinek  <jakub@redhat.com>
+
+	* ipa-cp.c (ipcp_store_vr_results): Avoid static local var zero.
+	* sreal.h (sreal::min, sreal::max): Avoid static local vars,
+	construct values without normalization.
+	* tree-ssa-sccvn.c (vn_reference_lookup_3): Don't initialize
+	static local lhs_ops to vNULL.
+
+2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
+	    Jiong Wang <jiong.wang@arm.com>
+
+	* config/arm/arm.c (coproc_secondary_reload_class): Make HFmode
+	available when FP16 instructions are available.
+	(output_move_vfp): Add support for 16-bit data moves.
+	(arm_validize_comparison): Fix some white-space.  Support HFmode
+	by conversion to SFmode.
+	* config/arm/arm.md (truncdfhf2): Fix a comment.
+	(extendhfdf2): Likewise.
+	(cstorehf4): New.
+	(movsicc): Fix some white-space.
+	(movhfcc): New.
+	(movsfcc): Fix some white-space.
+	(*cmovhf): New.
+	* config/arm/vfp.md (*arm_movhi_vfp): Disable when VFP FP16
+	instructions are available.
+	(*thumb2_movhi_vfp): Likewise.
+	(*arm_movhi_fp16): New.
+	(*thumb2_movhi_fp16): New.
+	(*movhf_vfp_fp16): New.
+	(*movhf_vfp_neon): Disable when VFP FP16 instructions are available.
+	(*movhf_vfp): Likewise.
+	(extendhfsf2): Enable when VFP FP16 instructions are available.
+	(truncsfhf2):  Enable when VFP FP16 instructions are available.
+
+2016-09-23  Martin Liska  <mliska@suse.cz>
+
+	* config/s390/vx-builtins.md: Replace 'adress' with 'address'.
+
+2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
+
+	* config/arm/arm.c (arm_evpc_neon_vuzp): Add support for V8HF and
+	V4HF modes.
+	(arm_evpc_neon_vtrn): Likewise.
+	(arm_evpc_neon_vrev): Likewise.
+	(arm_evpc_neon_vext): Likewise.
+	* config/arm/arm_neon.h (vbsl_f16): New.
+	(vbslq_f16): New.
+	(vdup_n_f16): New.
+	(vdupq_n_f16): New.
+	(vdup_lane_f16): New.
+	(vdupq_lane_f16): New.
+	(vext_f16): New.
+	(vextq_f16): New.
+	(vmov_n_f16): New.
+	(vmovq_n_f16): New.
+	(vrev64_f16): New.
+	(vrev64q_f16): New.
+	(vtrn_f16): New.
+	(vtrnq_f16): New.
+	(vuzp_f16): New.
+	(vuzpq_f16): New.
+	(vzip_f16): New.
+	(vzipq_f16): New.
+	* config/arm/arm_neon_buillins.def (vdup_n): New (v8hf, v4hf variants).
+	(vdup_lane): New (v8hf, v4hf variants).
+	(vext): New (v8hf, v4hf variants).
+	(vbsl): New (v8hf, v4hf variants).
+	* config/arm/iterators.md (VDQWH): New.
+	(VH): New.
+	(V_double_vector_mode): Add V8HF and V4HF.  Fix white-space.
+	(Scalar_mul_8_16): Fix white-space.
+	(Is_d_reg): Add V4HF and V8HF.
+	* config/arm/neon.md (neon_vdup_lane<mode>_internal): New.
+	(neon_vdup_lane<mode>): New.
+	(neon_vtrn<mode>_internal): Replace VDQW with VDQWH.
+	(*neon_vtrn<mode>_insn): Likewise.
+	(neon_vzip<mode>_internal): Likewise. Also fix white-space.
+	(*neon_vzip<mode>_insn): Likewise
+	(neon_vuzp<mode>_internal): Likewise.
+	(*neon_vuzp<mode>_insn): Likewise
+	* config/arm/vec-common.md (vec_perm_const<mode>): New.
+
+2016-09-23  Jiong Wang  <jiong.wang@arm.com>
+	    Matthew Wahab  <matthew.wahab@arm.com>
+
+	* config/arm/arm.c (output_move_vfp): Weaken assert to allow HImode.
+	(arm_hard_regno_mode_ok): Allow HImode values in VFP registers.
+	* config/arm/arm.md (*movhi_bytes): Disable when VFP registers are
+	available.  Also fix some white-space.
+	* config/arm/vfp.md (*arm_movhi_vfp): New.
+	(*thumb2_movhi_vfp): New.
+
+2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
+
+	* config/arm/arm-c.c (arm_cpu_builtins): Define
+	"__ARM_FEATURE_FP16_SCALAR_ARITHMETIC" and
+	"__ARM_FEATURE_FP16_VECTOR_ARITHMETIC".
+
+2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
+
+	* doc/sourcebuild.texi (ARM-specific attributes): Add anchor for
+	arm_v8_1a_neon_ok.  Add entries for arm_v8_2a_fp16_scalar_ok,
+	arm_v8_2a_fp16_scalar_hw, arm_v8_2a_fp16_neon_ok and
+	arm_v8_2a_fp16_neon_hw.
+	(Add options): Add entries for arm_v8_1a_neon, arm_v8_2a_scalar,
+	arm_v8_2a_neon.
+
+2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
+
+	* doc/sourcebuild.texi (ARM-specific attributes): Add entries for
+	arm_fp16_alternative_ok and arm_fp16_none_ok.
+
+2016-09-23  Martin Liska  <mliska@suse.cz>
+
+	* ipa-icf.c (sem_variable::merge): Replace adress with address.
+
+2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
+
+	* config/arm/arm-arches.def ("armv8.1-a"): Add FL_CRC32.
+	("armv8.2-a"): New.
+	("armv8.2-a+fp16"): New.
+	* config/arm/arm-protos.h (FL2_ARCH8_2): New.
+	(FL2_FP16INST): New.
+	(FL2_FOR_ARCH8_2A): New.
+	* config/arm/arm-tables.opt: Regenerate.
+	* config/arm/arm.c (arm_arch8_2): New.
+	(arm_fp16_inst): New.
+	(arm_option_override): Set arm_arch8_2 and arm_fp16_inst.  Check
+	for incompatible fp16-format settings.
+	* config/arm/arm.h (TARGET_VFP_FP16INST): New.
+	(TARGET_NEON_FP16INST): New.
+	(arm_arch8_2): Declare.
+	(arm_fp16_inst): Declare.
+	* config/arm/bpabi.h (BE8_LINK_SPEC): Add entries for
+	march=armv8.2-a and march=armv8.2-a+fp16.
+	* config/arm/t-aprofile (Arch Matches): Add entries for armv8.2-a
+	and armv8.2-a+fp16.
+	* doc/invoke.texi (ARM Options): Add "-march=armv8.1-a",
+	"-march=armv8.2-a" and "-march=armv8.2-a+fp16".
+
+2016-09-23  Martin Liska  <mliska@suse.cz>
+
+	* doc/extend.texi: Remove fused-madd from i386 target options.
+
+2016-09-23  Martin Liska  <mliska@suse.cz>
+
+	* config/i386/i386.c (ix86_valid_target_attribute_inner_p):
+	Handle movbe.
+
+2016-09-23  Martin Liska  <mliska@suse.cz>
+
+	* config/i386/i386.c (ix86_valid_target_attribute_inner_p):
+	Handle crc32.
+
+2016-09-23  Martin Liska  <mliska@suse.cz>
+
+	PR target/71652
+	* config/i386/i386.c (ix86_option_override_internal): Change
+	signature and return false when there's an error related to
+	arch string.
+	(release_options_strings): New function.
+	(ix86_valid_target_attribute_tree): Call the function.
+
+2016-09-23  Jakub Jelinek  <jakub@redhat.com>
+
+	* hsa-gen.c (hsa_op_immed::hsa_op_immed Use CONSTRUCTOR_NELTS (...)
+	instead of vec_safe_length (CONSTRUCTOR_ELTS (...)).
+	(gen_hsa_ctor_assignment): Likewise.
+	* print-tree.c (print_node): Likewise.
+	* tree-dump.c (dequeue_and_dump): Likewise.
+	* tree-sra.c (sra_modify_constructor_assign): Likewise.
+	* expr.c (store_constructor): Likewise.
+	* fold-const.c (operand_equal_p): Likewise.
+	* tree-pretty-print.c (dump_generic_node): Likewise.
+	* hsa-brig.c (hsa_op_immed::emit_to_buffer): Likewise.
+	* ipa-icf-gimple.c (func_checker::compare_operand): Likewise.
+
+2016-09-23  Richard Biener  <rguenther@suse.de>
+
+	* hooks.h (hook_uint_uintp_false): Declare.
+
+2016-09-22  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
+
+	* config/avr/avr.c (avr_rtx_costs_1): Handle DImode MULT.
+	(avr_address_cost): Replace 61 with MAX_LD_OFFSET(mode).
+
+2016-09-22  Martin Sebor  <msebor@redhat.com>
+
+	PR target/77676
+	* gimple-ssa-sprintf.c (target_int_min, target_int_max): Use
+	HOST_BITS_PER_WIDE_INT, make a static local variable auto.
+	(target_int_min): Correct computation.
+	(format_integer): Use long long as the argument for the ll length
+	modifier.
+	(format_floating): Use target_int_max().
+	(get_string_length): Same.
+	(format_string): Avoid setting the bounded flag for strings
+	of unknown length.
+	(try_substitute_return_value): Avoid setting range info when
+	the result isn't bounded.
+	* varasm.c (assemble_name): Increase buffer size.
+
+2016-09-22  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+	    Terry Guo  <terry.guo@arm.com>
+
+	* target.def (elf_flags_numeric): New target hook.
+	* targhooks.h (default_asm_elf_flags_numeric): New.
+	* varasm.c (default_asm_elf_flags_numeric): New.
+	(default_elf_asm_named_section): Use new target hook.
+	* config/arm/arm.opt (mpure-code): New.
+	* config/arm/arm.h (SECTION_ARM_PURECODE): New.
+	* config/arm/arm.c (arm_asm_init_sections): Add section
+	attribute to default text section if -mpure-code.
+	(arm_option_check_internal): Diagnose use of option with
+	non supported targets and/or options.
+	(arm_asm_elf_flags_numeric): New.
+	(arm_function_section): New.
+	(arm_elf_section_type_flags): New.
+	* config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Disable
+	for -mpure-code.
+	* doc/texi (TARGET_ASM_ELF_FLAGS_NUMERIC): New.
+	* doc/texi.in (TARGET_ASM_ELF_FLAGS_NUMERIC): Likewise.
+
+2016-09-22  Jan Hubicka  <hubicka@ucw.cz>
+
+	* regcprop.c (copyprop_hardreg_forward_1): Remove noop moves.
+
+2016-09-22  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* emit-rtl.c (next_cc0_user): Make argument type rtx_insn *.
+	* rtl.h: Adjust prototype.
+
+2016-09-22  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* emit-rtl.c (next_active_insn): Change argument type to rtx_insn *.
+	(prev_active_insn): Likewise.
+	(active_insn_p): Likewise.
+	* rtl.h: Adjust prototypes.
+	* cfgcleanup.c (merge_blocks_move_successor_nojumps): Adjust.
+	* config/arc/arc.md: Likewise.
+	* config/pa/pa.c (branch_to_delay_slot_p): Likewise.
+	(branch_needs_nop_p): Likewise.
+	(use_skip_p): Likewise.
+	* config/sh/sh.c (gen_block_redirect): Likewise.
+	(split_branches): Likewise.
+	* reorg.c (optimize_skip): Likewise.
+	(fill_simple_delay_slots): Likewise.
+	(fill_slots_from_thread): Likewise.
+	(relax_delay_slots): Likewise.
+	* resource.c (mark_target_live_regs): Likewise.
+
+2016-09-22  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* config/cris/cris.c (cris_asm_output_case_end): Change argument
+	type to rtx_insn *.
+	* emit-rtl.c (next_nonnote_nondebug_insn): Likewise.
+	(prev_nonnote_nondebug_insn): Likewise.
+	* config/cris/cris-protos.h: Adjust prototype.
+	* rtl.h: Likewise.
+	* jump.c (rtx_renumbered_equal_p): Adjust.
+
+2016-09-22  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* emit-rtl.c (prev_real_insn): Change argument type to rtx_insn *.
+	* rtl.h: Adjust prototype.
+	* config/sh/sh.md: Adjust.
+	* dwarf2out.c (add_var_loc_to_decl): Likewise.
+
+2016-09-22  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* emit-rtl.c (next_nondebug_insn): Change argument type to rtx_insn *.
+	(prev_nondebug_insn): Likewise.
+	* loop-doloop.c (doloop_condition_get): Likewise.
+	* rtl.h: Adjust prototype.
+	* cfgloop.h: Likewise.
+
+2016-09-22  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* emit-rtl.c (next_nonnote_insn): Change argument type to rtx_insn *.
+	(prev_nonnote_insn): Likewise.
+	* jump.c (reversed_comparison_code_parts): Likewise.
+	(reversed_comparison): Likewise.
+	* rtl.h: Adjust prototypes.
+	* config/arc/arc.md: Adjust.
+	* cse.c (find_comparison_args): Likewise.
+	* reorg.c (redundant_insn): Change return type to rtx_insn *.
+	(fix_reg_dead_note): Change argument type to rtx_insn *.
+	(delete_prior_computation): Likewise.
+	(delete_computation): Likewise.
+	(fill_slots_from_thread): Adjust.
+	(relax_delay_slots): Likewise.
+	* simplify-rtx.c (simplify_unary_operation_1): Likewise.
+	(simplify_relational_operation_1): Likewise.
+	(simplify_ternary_operation): Likewise.
+
+2016-09-22  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* config/arc/arc-protos.h (arc_label_align): Change type of
+	variables from rtx to rtx_insn *.
+	* config/arc/arc.c (arc_label_align): Likewise.
+	* config/arm/arm.c (any_sibcall_could_use_r3): Likewise.
+	* config/bfin/bfin.c (workaround_speculation): Likewise.
+	* config/c6x/c6x.c (find_next_cycle_insn): Likewise.
+	(find_last_same_clock): Likewise.
+	(reorg_split_calls): Likewise.
+	* config/cris/cris-protos.h (cris_cc0_user_requires_cmp): Likewise.
+	* config/cris/cris.c (cris_cc0_user_requires_cmp): Likewise.
+	* config/h8300/h8300-protos.h (same_cmp_preceding_p): Likewise.
+	(same_cmp_following_p): Likewise.
+	* config/h8300/h8300.c (same_cmp_preceding_p): Likewise.
+	(same_cmp_following_p): Likwise.
+	* config/m32r/m32r.c (m32r_expand_epilogue): Likewise.
+	* config/nds32/nds32-protos.h (nds32_target_alignment): Likewise.
+	* config/nds32/nds32.c (nds32_target_alignment): Likewise.
+	* config/rl78/rl78.c (rl78_alloc_physical_registers_op2): Likewise.
+	(rl78_alloc_physical_registers_cmp): Likewise.
+	(rl78_alloc_physical_registers_umul): Likewise.
+	(rl78_calculate_death_notes): Likewise.
+	* config/s390/s390-protos.h (s390_label_align): Likewise.
+	* config/s390/s390.c (s390_label_align): Likewise.
+	* config/sh/sh.c (barrier_align): Likewise.
+	* config/sparc/sparc-protos.h (emit_cbcond_nop): Likewise.
+	* config/sparc/sparc.c (sparc_asm_function_epilogue): Likewise.
+	(emit_cbcond_nop): Likewise.
+
+2016-09-22  Martin Liska  <mliska@suse.cz>
+
+	PR ipa/77653
+	* ipa-icf.c (sem_variable::merge): Yield merge operation if
+	alias address matters, not necessarily address of original.
+
+2016-09-22  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/77697
+	* gimple-fold.c (fold_array_ctor_reference): Turn asserts into
+	fold fails.
+
+2016-09-22  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/77677
+	* gimple-match-head.c (gimple_resimplify1): Drop TREE_OVERFLOW
+	from constant folding results.
+	(gimple_resimplify2): Likewise.
+	(gimple_resimplify3): Likewise.
+
+2016-09-22  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/77678
+	* expr.c (expand_expr_real_1): Guard array access against negative
+	offset.
+
+2016-09-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* gimple-ssa-sprintf.c (format_floating_max): Use GMP_RNDN instead
+	of MPFR_RNDN.
+	(format_floating): Likewise.
+
+2016-09-22  Jakub Jelinek  <jakub@redhat.com>
+
+	PR fortran/77665
+	* tree-inline.c (remap_gimple_stmt): Set has_simduid_loops
+	for all IFN_GOMP_SIMD_* internal fns, not just for
+	IFN_GOMP_SIMD_ORDERED_*.
+
+2016-09-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/77670
+	* config/rs6000/predicates.md (invert_fpmask_comparison_operator):
+	New predicate that matches the ISA 3.0 XSCMP{EQ,GT,GE}DP
+	instructions when you want to invert the test.
+	* config/rs6000/rs6000.md (fpmask<mode>): Use the arguments in the
+	correct order for XXSEL.
+	(mov<SFDF:mode><SFDF2:mode>cc_invert_p9): Define the inverted test
+	for using XSCMP{EQ,GT,GE}DP.
+
+2016-09-21  David Malcolm  <dmalcolm@redhat.com>
+
+	* genconstants.c (main): Introduce noop_reader and convert call
+	to read_md_files to a method call.
+	* genenums.c (main): Likewise.
+	* genmddeps.c (main): Likewise.
+	* genpreds.c (write_tm_constrs_h): Replace use of "in_fname" with
+	rtx_reader_ptr->get_top_level_filename ().
+	(write_tm_preds_h): Likewise.
+	(write_insn_preds_c): Likewise.
+	* gensupport.c (class gen_reader): New subclass of rtx_reader.
+	(rtx_handle_directive): Convert to...
+	(gen_reader::handle_unknown_directive): ...this.
+	(init_rtx_reader_args_cb): Convert return type from bool to
+	rtx_reader *.  Create a gen_reader instance, using it for the
+	call to read_md_files.  Return it if no errors occur.
+	(init_rtx_reader_args): Convert return type from bool to
+	rtx_reader *.
+	* gensupport.h (init_rtx_reader_args_cb): Likewise.
+	(init_rtx_reader_args_cb): Likewise.
+	* read-md.c (struct file_name_list): Move to class rtx_reader.
+	(read_md_file): Delete in favor of rtx_reader::m_read_md_file.
+	(read_md_filename): Delete in favor of
+	rtx_reader::m_read_md_filename.
+	(read_md_lineno): Delete in favor of rtx_reader::m_read_md_lineno.
+	(in_fname): Delete in favor of rtx_reader::m_toplevel_fname.
+	(base_dir): Delete in favor of rtx_reader::m_base_dir.
+	(first_dir_md_include): Delete in favor of
+	rtx_reader::m_first_dir_md_include.
+	(last_dir_md_include_ptr): Delete in favor of
+	rtx_reader::m_last_dir_md_include_ptr.
+	(max_include_len): Delete.
+	(rtx_reader_ptr): New.
+	(fatal_with_file_and_line): Use get_filename and get_lineno
+	accessors of rtx_reader_ptr.
+	(require_char_ws): Likewise.
+	(rtx_reader::read_char): New method, based on ::read_char.
+	(rtx_reader::unread_char): New method, based on ::unread_char.
+	(read_escape): Use get_filename and get_lineno accessors of
+	rtx_reader_ptr.
+	(read_braced_string): Use get_lineno accessor of rtx_reader_ptr.
+	(read_string): Use get_filename and get_lineno accessors of
+	rtx_reader_ptr.
+	(rtx_reader::rtx_reader): New ctor.
+	(rtx_reader::~rtx_reader): New dtor.
+	(handle_include): Convert from a function to...
+	(rtx_reader::handle_include): ...this method, converting
+	handle_directive from a callback to a virtual function.
+	(handle_file): Likewise, converting to...
+	(rtx_reader::handle_file): ...this method.
+	(handle_toplevel_file): Likewise, converting to...
+	(rtx_reader::handle_toplevel_file): ...this method.
+	(rtx_reader::get_current_location): New method.
+	(parse_include): Convert from a function to...
+	(rtx_reader::add_include_path): ...this method, dropping redundant
+	update to unused max_include_len.
+	(read_md_files): Convert from a function to...
+	(rtx_reader::read_md_files): ...this method, converting
+	handle_directive from a callback to a virtual function.
+	(noop_reader::handle_unknown_directive): New method.
+	* read-md.h (directive_handler_t): Delete this typedef.
+	(in_fname): Delete.
+	(read_md_file): Delete.
+	(read_md_lineno): Delete.
+	(read_md_filename): Delete.
+	(class rtx_reader): New class.
+	(rtx_reader_ptr): New decl.
+	(class noop_reader): New subclass of rtx_reader.
+	(read_char): Reimplement in terms of rtx_reader::read_char.
+	(unread_char): Reimplement in terms of rtx_reader::unread_char.
+	(read_md_files): Delete.
+	* read-rtl.c (read_rtx_code): Update for deletion of globals
+	read_md_filename and read_md_lineno.
+
+2016-09-21  Jason Merrill  <jason@redhat.com>
+
+	* input.h (from_macro_definition_at): New.
+
+2016-09-21  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* doc/rtl.texi (JUMP_LABEL): Document RETURN and SIMPLE_RETURN values.
+
+2016-09-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	PR tree-optimization/77550
+	* tree-vect-stmts.c (create_array_ref): Change parameters.
+	(get_group_alias_ptr_type): New function.
+	(vectorizable_store, vectorizable_load): Use get_group_alias_ptr_type.
+
+2016-09-21  Marek Polacek  <polacek@redhat.com>
+
+	* gimple-ssa-sprintf.c (pass_sprintf_length::compute_format_length):
+	Add falls through comment.
+
+2016-09-21  Richard Biener  <rguenther@suse.de>
+
+	* dwarf2out.c (remove_child_with_prev): Clear child->die_sib.
+	(replace_child): Likewise.
+	(remove_child_TAG): Adjust.
+	(move_marked_base_types): Likewise.
+	(prune_unused_types_prune): Clear die_sib of removed children.
+
+2016-09-21  Georg-Johann Lay  <avr@gjlay.de>
+
+	PR target/77326
+	* config/avr/avr.c (avr_notice_update_cc) [CC_NONE]: If insn
+	touches some regs mentioned in cc_status, do CC_STATUS_INIT.
+
+2016-09-21  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/77648
+	* tree-ssa-structalias.c (process_constraint): Handle all DEREF
+	with complex RHS.
+	(make_transitive_closure_constraints): Adjust comment.
+	(make_any_offset_constraints): New function.
+	(handle_rhs_call): Make sure to first expand a pointer to all
+	subfields before transitively closing it.
+	(handle_const_call): Likewise.  Properly expand returned
+	pointers as well.
+	(handle_pure_call): Likewise.
+
+2016-09-21  Richard Biener  <rguenther@suse.de>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/77621
+	* tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Split
+	group at non-vectorizable stmts.
+
+2016-09-21  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	PR tree-optimization/72835
+	* tree-ssa-reassoc.c (make_new_ssa_for_def): New.
+	(make_new_ssa_for_all_defs): Likewise.
+	(zero_one_operation): Replace all SSA_NAMEs defined in the chain.
+
+2016-09-20  Martin Sebor  <msebor@redhat.com>
+
+	PR middle-end/49905
+	* Makefile.in (OBJS): Add gimple-ssa-sprintf.o.
+	* config/linux.h (TARGET_PRINTF_POINTER_FORMAT): Redefine.
+	* config/linux.c (gnu_libc_printf_pointer_format): New function.
+	* config/sol2.h (TARGET_PRINTF_POINTER_FORMAT): Same.
+	* config/sol2.c (solaris_printf_pointer_format): New function.
+	* doc/invoke.texi (-Wformat-length, -fprintf-return-value): New
+	options.
+	* doc/tm.texi.in (TARGET_PRINTF_POINTER_FORMAT): Document.
+	* doc/tm.texi: Regenerate.
+	* gimple-fold.h (get_range_strlen): New function.
+	(get_maxval_strlen): Declare existing function.
+	* gimple-fold.c (get_range_strlen): Add arguments and compute both
+	maximum and minimum.
+	 (get_range_strlen): Define overload.
+	(get_maxval_strlen): Adjust.
+	* gimple-ssa-sprintf.c: New file and pass.
+	* passes.def (pass_sprintf_length): Add new pass.
+	* targhooks.h (default_printf_pointer_format): Declare new function.
+	(gnu_libc_printf_pointer_format): Same.
+	(solaris_libc_printf_pointer_format): Same.
+	* targhooks.c (default_printf_pointer_format): Define new function.
+	* tree-pass.h (make_pass_sprintf_length): Declare new function.
+	* print-tree.c: Increase buffer size.
+
+2016-09-21  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* tree-vrp.c (get_value_range): Teach PARM_DECL to use ipa-vrp results.
+
+2016-09-21  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* common.opt: New option -fipa-vrp.
+	* ipa-cp.c (ipa_get_vr_lat): New.
+	(ipcp_vr_lattice::print): Likewise.
+	(print_all_lattices): Call ipcp_vr_lattice::print.
+	(ipcp_vr_lattice::meet_with): New.
+	(ipcp_vr_lattice::meet_with_1): Likewise.
+	(ipcp_vr_lattice::top_p): Likewise.
+	(ipcp_vr_lattice::bottom_p): Likewsie.
+	(ipcp_vr_lattice::set_to_bottom): Likewise.
+	(set_all_contains_variable): Call VR set_to_bottom.
+	(initialize_node_lattices): Init VR lattices.
+	(propagate_vr_accross_jump_function): New.
+	(propagate_constants_accross_call): Call
+	propagate_vr_accross_jump_function.
+	(ipcp_store_vr_results): New.
+	(ipcp_driver): Handle VR.
+	* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Handle VR.
+	(ipa_set_jf_unknown): Likewise.
+	(ipa_compute_jump_functions_for_edge): Likewise.
+	(ipa_node_params_t::duplicate): Likewise.
+	(ipa_write_jump_function): Likewise.
+	(ipa_read_jump_function): Likewise.
+	(write_ipcp_transformation_info): Likewise.
+	(read_ipcp_transformation_info): Likewise.
+	(ipcp_update_vr): New.
+	(ipcp_transform_function): Handle VR.
+	* ipa-prop.h (struct ipa_vr): New.
+	* cgraph.c: Include tree-vrp.h.
+	* cgraphunit.c: Likewise.
+	* ipa-utils.c: Likewise.
+	* ipa.c: Likewise.
+	* opts.c: Likewise.
+	* toplev.c: Likewise.
+	* ipa-devirt.c: Likewise.
+	* ipa-inline-transform.c: Likewise.
+	* ipa-inline.c: Likewise.
+	* ipa-profile.c: Likewise.
+
+2016-09-21  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* doc/invoke.texi: Document -fdump-tree-evrp.
+	* passes.def: Define new pass_early_vrp.
+	* timevar.def: Define new TV_TREE_EARLY_VRP.
+	* tree-pass.h (make_pass_early_vrp): New.
+	* tree-ssa-propagate.c: Make replace_uses_in non static.
+	* tree-ssa-propagate.h: Export replace_uses_in.
+	* tree-vrp.c (extract_range_for_var_from_comparison_expr): New.
+	(extract_range_from_assert): Factor out
+	extract_range_for_var_from_comparison_expr.
+	(vrp_initialize_lattice): New.
+	(vrp_initialize): Factor out vrp_initialize_lattice.
+	(vrp_valueize): Fix it to reject complex value ranges.
+	(vrp_free_lattice): New.
+	(evrp_dom_walker::before_dom_children): Likewise.
+	(evrp_dom_walker::after_dom_children): Likewise.
+	(evrp_dom_walker::push_value_range): Likewise.
+	(evrp_dom_walker::pop_value_range): Likewise.
+	(execute_early_vrp): Likewise.
+	(execute_vrp): Call vrp_initialize_lattice and vrp_free_lattice.
+	(make_pass_early_vrp): New.
+
+2016-09-20  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (mult->ashift peephole2s): Use pow2p_hwi
+	instead of exact_log2.
+
+2016-09-20  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/77621
+	* config/i386/i386.c (ix86_preferred_simd_mode) <case DFmode>:
+	Don't return word_mode for !TARGET_VECTORIZE_DOUBLE.
+	(ix86_add_stmt_cost): Penalize DFmode vector operations
+	for !TARGET_VECTORIZE_DOUBLE.
+
+2016-09-20  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/invoke.texi (Warning Options): Simplify language.
+	(Optimize Options): Complete sentence.
+
+2016-09-20  David Edelsohn  <dje.gcc@gmail.com>
+
+	* dbxout.c (xcoff_debug_hooks):  Add filename parameter to
+	early_finish hook.
+
+2016-09-20  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/71395
+	* config/rs6000/rs6000.c (rs6000_expand_vector_init): For V4SF
+	inits on power8 and above, use the VMRGEW instruction instead of a
+	permute.
+
+	* config/rs6000/altivec.md (UNSPEC_VMRGEW_DIRECT): New unspec.
+	(p8_vmrgew_v4sf_direct): New VMRGEW insn for V4SF floating
+	initialization.
+
+2016-09-20  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/aarch64/arm_neon.h
+	(vst2_s64, vst2_u64, vst2_f64, vst2_s8): Add missing attributes.
+	(vst3_s64, vst3_u64, vst3_f64, vst3_s8): Likewise.
+	(vst4_s64, vst4_u64, vst4_f64, vst4_s8): Likewise.
+
+2016-09-20  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* config/var/vax.h (ELIMINABLE_REGS): Define.
+	(INITIAL_ELIMINATION_OFFSET): Define.
+
+2016-09-20  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/77624
+	* builtins.c (fold_builtin_atomic_always_lock_free): Only look through
+	cast to void * if the cast is from some other pointer type.
+
+2016-09-20  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/77646
+	* tree-ssa-sccvn.c (visit_reference_op_call): Always value-number
+	a VDEF.
+
+2016-09-20  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/aarch64/arm_neon.h: Add gnu_inline and artificial
+	attributes to all inlined functions and make them extern.
+
+2016-09-20  Richard Biener  <rguenther@suse.de>
+
+	* debug.h (gcc_debug_hooks): Add filename parameter to early_finish
+	hook.
+	* debug.c (do_nothing_debug_hooks): Adjust.
+	* dbxout.c (dbx_debug_hooks): Likewise.
+	* sdbout.c (sdb_debug_hooks): Likewise.
+	* dwarf2out.c (dwarf2_lineno_debug_hooks): Likewise.
+	(dwarf2out_finish): Move producer, filename and
+	path annotation ...
+	(dwarf2out_early_finish): ... here.  Remove in_lto_p special-casing.
+	* cgraphunit.c (symbol_table::finalize_compilation_unit): Adjust.
+
+2016-09-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	PR c++/77434
+	* doc/invoke.texi: Document -Wint-in-bool-context.
+
+	PR middle-end/77421
+	* dwarf2out.c (output_loc_operands): Fix an assertion.
+
+2016-09-19  Joseph Myers  <joseph@codesourcery.com>
+
+	* ginclude/float.h [__STDC_WANT_IEC_60559_BFP_EXT__]
+	(CR_DECIMAL_DIG): New macro.
+
+2016-09-19  Joseph Myers  <joseph@codesourcery.com>
+
+	* ginclude/stddef.h (max_align_t) [__i386__]: Add __float128
+	element.
+
+2016-09-19  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-optimization/77416
+	* lra-remat.c (operand_to_remat): Process hard coded insn
+	registers.
+
+2016-09-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* simplify-rtx.c (simplify_relational_operation_1): Add transformation
+	(GTU (PLUS a C) (C - 1)) --> (LTU a -C).
+
+2016-09-19  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* target.def (lra_p): Wordsmithing.
+	* doc/tm.texi: Regenerate.
+
+2016-09-19  Jakub Jelinek  <jakub@redhat.com>
+	    Jan Hubicka  <jh@suse.cz>
+
+	PR target/77587
+	* cgraph.c (cgraph_node::rtl_info): Pass &avail to
+	ultimate_alias_target call, return NULL if avail < AVAIL_AVAILABLE.
+	Call ultimate_alias_target just once, not up to 4 times.
+
+2016-09-19  Richard Biener  <rguenther@suse.de>
+
+	* dwarf2out.c (early_dwarf_finished): New global.
+	(set_early_dwarf::set_early_dwarf): Assert early_dwarf_finished
+	is false.
+	(dwarf2out_early_finish): Set early_dwarf_finished at the end,
+	if called from LTO exit early.
+	(dwarf2out_late_global_decl): When being during the early
+	debug phase do not add locations but only const value attributes.
+	Adjust the way we generate early DIEs for LTO.
+
+2016-09-19  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/77605
+	* tree-data-ref.c (analyze_subscript_affine_affine): Use the
+	proper niter to bound the loops.
+
+2016-09-19  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/77514
+	* tree-ssa-pre.c (create_expression_by_pieces): Optimize
+	search for folded stmt.
+
+2016-09-17  Jan Hubicka  <hubicka@ucw.cz>
+
+	* passes.def (pass_early_thread_jumps): Schedule after forwprop.
+	* tree-pass.h (make_pass_early_thread_jumps): Declare.
+	* tree-ssa-threadbackward.c (fsm_find_thread_path,
+	fsm_find_thread_path, profitable_jump_thread_path,
+	fsm_find_control_statement_thread_paths,
+	find_jump_threads_backwards): Add speed_p parameter.
+	(pass_data_early_thread_jumps): New pass.
+	(make_pass_early_thread_jumps): New function.
+
+2016-09-17  Andreas Schwab  <schwab@suse.de>
+
+	* config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Add cast.
+	* config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Likewise.
+
+2016-09-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* recog.c (rest_of_handle_split_after_reload): Delete.
+	(pass_split_after_reload::gate): New method.
+	(pass_split_after_reload::execute): Call split_all_insns directly.
+
+2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
+
+	* doc/extend.texi (Integer Overflow Builtins): Fix type of out
+	parameters for functions taking long long arguments.
+
+2016-09-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR target/77613
+	* config/rs6000/rs6000.c (rtx_is_swappable_p): Add support for
+	splat with truncate.
+
+2016-09-16  Jason Merrill  <jason@redhat.com>
+
+	* hwint.h (least_bit_hwi, pow2_or_zerop, pow2p_hwi, ctz_or_zero):
+	New.
+	* hwint.c (exact_log2): Use pow2p_hwi.
+	(ctz_hwi, ffs_hwi): Use least_bit_hwi.
+	* alias.c (memrefs_conflict_p): Use pow2_or_zerop.
+	* builtins.c (get_object_alignment_2, get_object_alignment)
+	(get_pointer_alignment, fold_builtin_atomic_always_lock_free): Use
+	least_bit_hwi.
+	* calls.c (compute_argument_addresses, store_one_arg): Use
+	least_bit_hwi.
+	* cfgexpand.c (expand_one_stack_var_at): Use least_bit_hwi.
+	* combine.c (force_to_mode): Use least_bit_hwi.
+	(contains_muldiv, find_split_point, combine_simplify_rtx)
+	(simplify_if_then_else, simplify_set, force_to_mode)
+	(if_then_else_cond, simplify_and_const_int_1)
+	(simplify_compare_const): Use pow2p_hwi.
+	* cse.c (fold_rtx): Use pow2p_hwi.
+	* emit-rtl.c (set_mem_attributes_minus_bitpos, adjust_address_1):
+	Use least_bit_hwi.
+	* expmed.c (synth_mult, expand_divmod): Use ctz_or_zero, ctz_hwi.
+	(init_expmed_one_conv): Use pow2p_hwi.
+	* expr.c (is_aligning_offset): Use pow2p_hwi.
+	* fold-const.c (round_up_loc, round_down_loc): Use pow2_or_zerop.
+	(fold_binary_loc): Use pow2p_hwi.
+	* function.c (assign_parm_find_stack_rtl): Use least_bit_hwi.
+	* gimple-fold.c (gimple_fold_builtin_memory_op): Use pow2p_hwi.
+	* gimple-ssa-strength-reduction.c (replace_ref): Use least_bit_hwi.
+	* hsa-gen.c (gen_hsa_addr_with_align, hsa_bitmemref_alignment):
+	Use least_bit_hwi.
+	* ifcvt.c (noce_try_store_flag_constants): Use pow2p_hwi.
+	* ipa-cp.c (ipcp_alignment_lattice::meet_with_1): Use least_bit_hwi.
+	* ipa-prop.c (ipa_modify_call_arguments): Use least_bit_hwi.
+	* omp-low.c (oacc_loop_fixed_partitions)
+	(oacc_loop_auto_partitions): Use least_bit_hwi.
+	* rtlanal.c (nonzero_bits1): Use ctz_or_zero.
+	* stor-layout.c (place_field): Use least_bit_hwi.
+	* tree-pretty-print.c (dump_generic_node): Use pow2p_hwi.
+	* tree-sra.c (build_ref_for_offset): Use least_bit_hwi.
+	* tree-ssa-ccp.c (ccp_finalize): Use least_bit_hwi.
+	* tree-ssa-math-opts.c (bswap_replace): Use least_bit_hwi.
+	* tree-ssa-strlen.c (handle_builtin_memcmp): Use pow2p_hwi.
+	* tree-vect-data-refs.c (vect_analyze_group_access_1)
+	(vect_grouped_store_supported, vect_grouped_load_supported)
+	(vect_permute_load_chain, vect_shift_permute_load_chain)
+	(vect_transform_grouped_load): Use pow2p_hwi.
+	* tree-vect-generic.c (expand_vector_divmod): Use ctz_or_zero.
+	* tree-vect-patterns.c (vect_recog_divmod_pattern): Use ctz_or_zero.
+	* tree-vect-stmts.c (vectorizable_mask_load_store): Use
+	least_bit_hwi.
+	* tsan.c (instrument_expr): Use least_bit_hwi.
+	* var-tracking.c (negative_power_of_two_p): Use pow2_or_zerop.
+
+2016-09-16  Andreas Schwab  <schwab@suse.de>
+
+	* config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Use parameter
+	OFFSET, not offset.
+	* config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Likewise.
+
+2016-09-16  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/77526
+	* combine.c (rest_of_handle_combine): If any edges have been purged,
+	free dominators if available.
+
+2016-09-16  Jakub Jelinek  <jakub@redhat.com>
+	    Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR middle-end/77594
+	* internal-fn.c (expand_arith_overflow) <case MINUS_EXPR>: Don't fall
+	through into expand_addsub_overflow after expand_neg_overflow.
+
+2016-09-15  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic-show-locus.c
+	(selftest::test_fixit_insert_containing_newline): New function.
+	(selftest::test_fixit_replace_containing_newline): New function.
+	(selftest::diagnostic_show_locus_c_tests): Call the above.
+
+2016-09-15  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/77503
+	* tree-vect-loop.c (vectorizable_reduction): Record reduction
+	code for CONST_COND_REDUCTION at analysis stage and use it at
+	transform stage.
+	* tree-vectorizer.h (struct _stmt_vec_info): New field.
+	(STMT_VINFO_VEC_CONST_COND_REDUC_CODE): New macro.
+	* tree-vect-stmts.c (new_stmt_vec_info): Initialize above new
+	field.
+
+2016-09-15  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/77544
+	* fold-const.c (split_tree): Do not split constant ~X.
+
+2016-09-15  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/77425
+	* sched-int.h (sd_iterator_cond): Don't update it_ptr->linkp if list
+	is NULL.
+
+	PR middle-end/77475
+	* config/i386/i386.c (ix86_parse_stringop_strategy_string): Simplify,
+	use %qs instead of %s where desirable, use argument instead of arg in
+	the diagnostic wording, add list of supported strategies and
+	spellcheck hint.
+	(ix86_option_override_internal): Emit target("m...") instead of
+	option("m...") in the diagnostic.  Use %qs instead of %s in invalid
+	-march/-mtune option diagnostic.  Add list of supported arches/tunings
+	and spellcheck hint.  Remove prefix, suffix and sw variables, use
+	main_args_p ? "..." : "..." in diagnostics to make translation
+	possible.
+
+2016-09-15  Richard Biener  <rguenther@suse.de>
+
+	* dwarf2asm.h (dw2_asm_output_offset): Add overload with
+	extra offset argument.
+	* dwarf2asm.c (dw2_asm_output_offset): Implement that.
+	* doc/tm.texi.in (ASM_OUTPUT_DWARF_OFFSET): Adjust documentation
+	to reflect new offset parameter.
+	* doc/tm.texi: Regenerate.
+	* config/darwin.h (ASM_OUTPUT_DWARF_OFFSET): Adjust.
+	* config/darwin-protos.h (darwin_asm_output_dwarf_delta): Add
+	offset argument.
+	(darwin_asm_output_dwarf_offset): Likewise.
+	* config/darwin.c (darwin_asm_output_dwarf_delta): Add offset
+	argument.
+	(darwin_asm_output_dwarf_offset): Pass offset argument through.
+	* config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Adjust.
+	* config/i386/cygmin.h (ASM_OUTPUT_DWARF_OFFSET): Likewise.
+
+2016-09-15  Chung-Lin Tang  <cltang@codesourcery.com>
+
+	PR fortran/72743
+	* ipa-icf.c (set_alias_uids): New function.
+	(sem_variable::merge): Use set_alias_uids to set DECL_PT_UID of
+	all the merged variable's referring aliases.
+
+2016-09-15  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/77514
+	* tree-ssa-pre.c (create_expression_by_pieces): Handle garbage
+	only forced_stmts sequence.
+
+2016-09-15  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* tree-ssanames.h (FOR_EACH_SSA_NAME): New.
+	* cfgexpand.c (update_alias_info_with_stack_vars): Use
+	FOR_EACH_SSA_NAME to iterate over SSA variables.
+	(pass_expand::execute): Likewise.
+	* omp-simd-clone.c (ipa_simd_modify_function_body): Likewise.
+	* tree-cfg.c (dump_function_to_file): Likewise.
+	* tree-into-ssa.c (pass_build_ssa::execute): Likewise.
+	(update_ssa): Likewise.
+	* tree-ssa-alias.c (dump_alias_info): Likewise.
+	* tree-ssa-ccp.c (ccp_finalize): Likewise.
+	* tree-ssa-coalesce.c (build_ssa_conflict_graph): Likewise.
+	(create_outofssa_var_map): Likewise.
+	(coalesce_ssa_name): Likewise.
+	* tree-ssa-operands.c (dump_immediate_uses): Likewise.
+	* tree-ssa-pre.c (compute_avail): Likewise.
+	* tree-ssa-sccvn.c (init_scc_vn): Likewise.
+	(scc_vn_restore_ssa_info): Likewise.
+	(free_scc_vn): Likwise.
+	(run_scc_vn): Likewise.
+	* tree-ssa-structalias.c (compute_points_to_sets): Likewise.
+	* tree-ssa-ter.c (new_temp_expr_table): Likewise.
+	* tree-ssa-copy.c (fini_copy_prop): Likewise.
+	* tree-ssa.c (verify_ssa): Likewise.
+
+2016-09-14  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* config.gcc (mips*-mti-elf*, mips*-mti-linux*): Set mips32r2
+	and mips64r2 as default 32-bit and 64-bit architectures.
+	(mips*-img-elf*, mips*-img-linux*): Set mips32r6 and mips64r6
+	as default 32-bit and 64-bit architectures.
+
+2016-09-14  Pat Haugen  <pthaugen@us.ibm.com>
+
+	* loop-unroll.c (unroll_loop_runtime_iterations): Set probability
+	of succ edge.
+
+2016-09-14  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* target.def (lra_p): Change commentary (for the manual) for the
+	new default.
+	* doc/tm.texi: Regenerate.
+
+2016-09-14  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/aarch64/aarch64.c (TARGET_LRA_P): Delete macro.
+	* config/arm/arm.c (TARGET_LRA_P): Delete macro.
+	* config/i386/i386.c (TARGET_LRA_P): Delete macro.
+	* config/nds32/nds32.c (TARGET_LRA_P): Delete macro.
+
+2016-09-14  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* targhooks.c (default_lra_p): Return true instead of false.
+
+2016-09-14  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/alpha/alpha.c (TARGET_LRA_P): New macro, defined to
+	hook_bool_void_false.
+	* config/avr/avr.c: Ditto.
+	* config/bfin/bfin.c: Ditto.
+	* config/c6x/c6x.c: Ditto.
+	* config/cr16/cr16.c: Ditto.
+	* config/cris/cris.c: Ditto.
+	* config/epiphany/epiphany.c: Ditto.
+	* config/fr30/fr30.c: Ditto.
+	* config/frv/frv.c: Ditto.
+	* config/h8300/h8300.c: Ditto.
+	* config/ia64/ia64.c: Ditto.
+	* config/iq2000/iq2000.c: Ditto.
+	* config/lm32/lm32.c: Ditto.
+	* config/m32c/m32c.c: Ditto.
+	* config/m32r/m32r.c: Ditto.
+	* config/m68k/m68k.c: Ditto.
+	* config/mcore/mcore.c: Ditto.
+	* config/microblaze/microblaze.c: Ditto.
+	* config/mmix/mmix.c: Ditto.
+	* config/mn10300/mn10300.c: Ditto.
+	* config/moxie/moxie.c: Ditto.
+	* config/msp430/msp430.c: Ditto.
+	* config/nios2/nios2.c: Ditto.
+	* config/nvptx/nvptx.c: Ditto.
+	* config/pa/pa.c: Ditto.
+	* config/pdp11/pdp11.c: Ditto.
+	* config/rl78/rl78.c: Ditto.
+	* config/sparc/sparc.c: Ditto.
+	* config/spu/spu.c: Ditto.
+	* config/stormy16/stormy16.c: Ditto.
+	* config/tilegx/tilegx.c: Ditto.
+	* config/tilepro/tilepro.c: Ditto.
+	* config/v850/v850.c: Ditto.
+	* config/vax/vax.c: Ditto.
+	* config/visium/visium.c: Ditto.
+	* config/xtensa/xtensa.c: Ditto.
+
+2016-09-14  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/68260
+	* tsan.c: Include target.h.
+	(enum tsan_atomic_action): Add bool_clear and bool_test_and_set.
+	(BOOL_CLEAR, BOOL_TEST_AND_SET): Define.
+	(tsan_atomic_table): Add BUILT_IN_ATOMIC_CLEAR and
+	BUILT_IN_ATOMIC_TEST_AND_SET entries.
+	(instrument_builtin_call): Handle bool_clear and bool_test_and_set.
+
+2016-09-14  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+	    Martin Liska  <mliska@suse.cz>
+
+	PR middle-end/77574
+	* predict.c (force_edge_cold): Add braces to a condition.
+
+2016-09-13  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	PR rtl-optimization/77289
+	* lra-constraints.c (get_final_hard_regno): Removed.
+	(get_hard_regno): Add new parameter final_p.
+	(get_reg_class): Directly call lra_get_elimination_hard_regno.
+	(operands_match_p): Adjust call to get_hard_regno.
+	(uses_hard_regs_p): Likewise.
+	(process_alt_operands): Likewise.
+
+2016-09-13  Joe Seymour  <joe.s@somniumtech.com>
+
+	PR target/70713
+	* config/msp430/msp430.c (msp430_start_function): Emit an error
+	if a function is both weak and specifies an interrupt number.
+
+2016-09-13  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/77454
+	* tree-ssa-dom.c (optimize_stmt): Set modified flag on stmt after
+	changing GIMPLE_COND.  Move update_stmt_if_modified call after this.
+	Formatting fix.
+
+2016-09-13  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/aarch64/aarch64-builtins.c
+	(aarch64_init_simd_builtins): Fix builtin type signature printing.
+
+2016-09-13  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/alpha/alpha.c (alpha_pass_by_reference): Pass un-named
+	SFmode and SCmode arguments by reference.
+
+2016-09-13  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic-show-locus.c (selftest::test_one_liner_fixit_insert):
+	Rename to...
+	(selftest::test_one_liner_fixit_insert_before): ...this, and update
+	for renaming of add_fixit_insert to add_fixit_insert_before.
+	(selftest::test_one_liner_fixit_insert_after): New function.
+	(selftest::test_one_liner_fixit_validation_adhoc_locations):
+	Update for renaming of add_fixit_insert to add_fixit_insert_before.
+	(selftest::test_one_liner_many_fixits): Likewise.
+	(selftest::test_diagnostic_show_locus_one_liner): Update for
+	renaming, call new test function.
+	(selftest::test_diagnostic_show_locus_fixit_lines): Update for
+	renaming of add_fixit_insert to add_fixit_insert_before.
+	(selftest::test_fixit_consolidation): Likewise.
+	* diagnostic.c (selftest::test_print_parseable_fixits_insert):
+	Likewise.
+	* edit-context.c (selftest::test_applying_fixits_insert): Rename to...
+	(selftest::test_applying_fixits_insert_before): ...this.
+	(selftest::test_applying_fixits_insert): Update for renaming of
+	add_fixit_insert to add_fixit_insert_before.
+	(selftest::test_applying_fixits_insert_after): New function.
+	(selftest::test_applying_fixits_insert_after_at_line_end): New
+	function.
+	(selftest::test_applying_fixits_insert_after_failure): New function.
+	(selftest::test_applying_fixits_multiple): Update for renaming of
+	add_fixit_insert to add_fixit_insert_before.
+	(selftest::change_line): Likewise.
+	(selftest::test_applying_fixits_unreadable_file): Likewise.
+	(selftest::test_applying_fixits_line_out_of_range): Likewise.
+	(selftest::test_applying_fixits_column_validation): Likewise.
+	(selftest::test_applying_fixits_column_validation): Likewise.
+	(selftest::edit_context_c_tests): Update for renamed test function;
+	call new test functions.
+
+2016-09-13  Pat Haugen  <pthaugen@us.ibm.com>
+
+	PR tree-optimization/77536
+	PR rtl-optimization/68212
+	* config/rs6000/rs6000.md (div->recip splitter): Remove
+	optimize_insn_for_speed_p condition.
+
+2016-09-13  Maciej W. Rozycki  <macro@imgtec.com>
+
+	* optabs.c (prepare_cmp_insn): Update documentation comment.
+
+2016-09-13  Jakub Jelinek  <jakub@redhat.com>
+	    Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	PR middle-end/77475
+	* opts.h (candidates_list_and_hint): Declare.
+	* opts-common.c (candidates_list_and_hint): New function.
+	(cmdline_handle_error): Use it.
+
+2016-09-12  David Malcolm  <dmalcolm@redhat.com>
+
+	* edit-context.c (edited_line::get_len): New accessor.
+	(edited_file::print_diff): Split out hunk-printing into...
+	(edited_file::print_diff_hunk): New method.
+	(edited_file::print_diff_line): New method.
+
+2016-09-12  Andrew Pinski  <apinski@cavium.com>
+
+	* config/aarch64/aarch64-tuning-flags.def (SLOW_UNALIGNED_LDPW):
+	New tuning option.
+	* config/aarch64/aarch64.c (thunderx_tunings): Enable
+	AARCH64_EXTRA_TUNE_SLOW_UNALIGNED_LDPW.
+	(aarch64_operands_ok_for_ldpstp): Return false if
+	AARCH64_EXTRA_TUNE_SLOW_UNALIGNED_LDPW and the mode
+	was SImode and the alignment is less than 8 byte.
+	(aarch64_operands_adjust_ok_for_ldpstp): Likewise.
+
+2016-09-12  Orlando Arias  <oarias@knights.ucf.edu>
+
+	PR target/77570
+	* config/msp430/msp430.md (delay_cycles_32x): Fix pushm/popm.
+
+2016-09-12  Marek Polacek  <polacek@redhat.com>
+
+	* doc/extend.texi: Use lowercase "boolean".
+	* doc/invoke.texi: Likewise.
+	* doc/md.texi: Likewise.
+	* target.def: Likewise.
+	* doc/tm.texi: Regenerated.
+
+2016-09-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR middle-end/77426
+	* expmed.c (synth_mult): Delete duplicate mode check.
+
+2016-09-10  Tom de Vries  <tom@codesourcery.com>
+
+	PR C/71602
+	* builtins.c (std_canonical_va_list_type): Strictly return non-null for
+	va_list type only.
+	* config/i386/i386.c (ix86_canonical_va_list_type): Same.
+	* gimplify.c (gimplify_va_arg_expr): Handle &va_list.
+
+2016-09-09  Peter Bergner  <bergner@vnet.ibm.com>
+
+	PR rtl-optimization/77289
+	* lra-constraints.c (get_final_hard_regno): Add support for non hard
+	register numbers.  Remove support for subregs.
+	(get_hard_regno): Use SUBREG_P.  Don't call get_final_hard_regno().
+	(get_reg_class): Delete removed get_final_hard_regno() argument.
+	(uses_hard_regs_p): Call get_final_hard_regno().
+
+2016-09-09  Martin Sebor  <msebor@redhat.com>
+
+	PR c/77520
+	PR c/77521
+	* pretty-print.c (pp_quoted_string): New function.
+	(pp_format): Call it for %c and %s directives.
+
+2016-09-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* doc/tm.texi.in (INITIAL_FRAME_POINTER_OFFSET): Remove.
+	(ELIMINABLE_REGS, TARGET_CAN_ELIMINATE,
+	INITIAL_ELIMINATION_OFFSET) : Update documentation.
+	* target.def (frame_pointer_required, can_eliminate): Likewise.
+	* doc/tm.texi: Regenerated.
+	* builtins.c (expand_builtin_setjmp_receiver): Remove #ifdef
+	ELIMINABLE_REGS.
+	* df-scan.c (df_hard_reg_init): Likewise.
+	* ira.c (ira_setup_eliminable_regset): Likewise.
+	* lra-eliminations.c (reg_eliminate_1, (update_reg_eliminate,
+	init_elim_table): Likewise.
+	* reload1.c (reg_eliminate_1, verify_initial_elim_offsets,
+	set_initial_elim_offsets, update_eliminables,
+	init_elim_table): Likewise.
+	* rtlanal.c (get_initial_register_offset): Likewise.
+	* config/ft32/ft32.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
+	* config/m32r/m32r.h (INITIAL_FRAME_POINTER_OFFSET): Likewise.
+	* config/moxie/moxie.h (INITIAL_FRAME_POINTER_OFFSET): Likewise.
+	* config/vax/vax.h (INITIAL_FRAME_POINTER_OFFSET): Likewise.
+	* config/fr30/fr30.h: Fix comment.
+	* config/frv/frv.c: Likewise.
+	* config/frv/frv.h: Likewise.
+	* config/ft32/ft32.h: Likewise.
+	* config/visium/visium.h: Likewise.
+	* config/pa/pa64-linux.h: Likewise.
+	* config/v850/v850.h: Likewise.
+	* config/cris/cris.c: Likewise.
+	* config/ia64/ia64.h: Likewise.
+	* config/moxie/moxie.h: Likewise.
+	* config/m32r/m32r.h: Likewise.
+
+2016-09-10  Alexander Ivchenko  <alexander.ivchenko@intel.com>
+
+	PR target/77267
+	* config.in: Regenerate.
+	* config/i386/linux-common.h (MPX_LD_AS_NEEDED_GUARD_PUSH):
+	New macro.
+	(MPX_LD_AS_NEEDED_GUARD_PUSH): Ditto.
+	(LIBMPXWRAPPERS_SPEC): Remove "--no-whole-archive" from
+	static-libmpxwrappers case.
+	(LIBMPX_SPEC): Add guards with MPX_LD_AS_NEEDED_GUARD_PUSH and
+	MPX_LD_AS_NEEDED_GUARD_POP.
+	* configure: Regenerate.
+	* configure.ac (HAVE_LD_PUSHPOPSTATE_SUPPORT): New variable.
+	defined if linker support "--push-state"/"--pop-state".
+
+2016-09-09  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* doc/cpp.texi (__*_WIDTH__): Small wording fixes.
+
+2016-09-09  Joseph Myers  <joseph@codesourcery.com>
+
+	* doc/cpp.texi (__SCHAR_WIDTH__, __SHRT_WIDTH__, __INT_WIDTH__)
+	(__LONG_WIDTH__, __LONG_LONG_WIDTH__, __PTRDIFF_WIDTH__)
+	(__SIG_ATOMIC_WIDTH__, __SIZE_WIDTH__, __WCHAR_WIDTH__)
+	(__WINT_WIDTH__, __INT_LEAST8_WIDTH__, __INT_LEAST16_WIDTH__)
+	(__INT_LEAST32_WIDTH__, __INT_LEAST64_WIDTH__)
+	(__INT_FAST8_WIDTH__, __INT_FAST16_WIDTH__, __INT_FAST32_WIDTH__)
+	(__INT_FAST64_WIDTH__, __INTPTR_WIDTH__, __INTMAX_WIDTH__):
+	Document.
+	* ginclude/stdint-gcc.h [__STDC_WANT_IEC_60559_BFP_EXT__]: Define
+	width macros from TS 18661-1.
+	* glimits.h [__STDC_WANT_IEC_60559_BFP_EXT__]: Likewise.
+
+2016-09-08  Jakub Jelinek  <jakub@redhat.com>
+
+	PR fortran/77516
+	* omp-low.c (lower_rec_simd_input_clauses): Use max_vf for non-positive
+	OMP_CLAUSE_SAFELEN_EXPR.
+
+2016-09-07  David Malcolm  <dmalcolm@redhat.com>
+
+	* Makefile.in (OBJS): Add substring-locations.o.
+	* langhooks-def.h (class substring_loc): New forward decl.
+	(lhd_get_substring_location): New decl.
+	(LANG_HOOKS_GET_SUBSTRING_LOCATION): New macro.
+	(LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_GET_SUBSTRING_LOCATION.
+	* langhooks.c (lhd_get_substring_location): New function.
+	* langhooks.h (class substring_loc): New forward decl.
+	(struct lang_hooks): Add field get_substring_location.
+	* substring-locations.c: New file, taking definition of
+	format_warning_va and format_warning_at_substring from
+	c-family/c-format.c, making them non-static.
+	* substring-locations.h (class substring_loc): Move class here
+	from c-family/c-common.h.  Add and rewrite comments.
+	(format_warning_va): New decl.
+	(format_warning_at_substring): New decl.
+	(get_source_location_for_substring): Add comment.
+
+2016-09-07  Eric Gallager  <egall@gwmail.gwu.edu>
+
+	* config/i386/i386.c: Add 'U' suffix to processor feature bits
+	to avoid -Wnarrowing warning.
+	* config/i386/x86-tune.def: Likewise for DEF_TUNE selector bitmasks.
+	* opts.c: Likewise for SANITIZER_OPT bitmasks.
+
+2016-09-07  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_legitimize_address):
+	Avoid use of base_offset if offset already in range.
+
+2016-09-07  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	* config/sh/sh-protos.h (struct sh_atomic_model,
+	selected_atomic_model, TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT,
+	TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS,
+	TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Move to...
+	* config/sh/sh.h (struct sh_atomic_model,
+	selected_atomic_model, TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT,
+	TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS,
+	TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): ...here.
+	Guard with __cplusplus.
+
+2016-09-06  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/69255
+	* config/i386/i386.c (ix86_expand_builtin): For builtin with
+	unsupported or unknown ISA, use expand_call.
+
+2016-09-06  Martin Liska  <mliska@suse.cz>
+
+	PR gcov-profile/77378
+	PR gcov-profile/77466
+	* tree-profile.c (tree_profiling): Detect whether target can use
+	-fprofile-update=atomic.
+
+2016-09-06  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/77479
+	* tree-vrp.c (update_value_range): Extend overflow handling to
+	VARYING.
+
+2016-09-05  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/77476
+	* config/i386/i386.md (isa): Add x64_avx512bw.
+	(*zero_extendsidi2): For alternative 11 use x64_avx512bw isa.
+	(kmov_isa): New mode attr.
+	(zero_extend<mode>di2): Use <kmov_isa> isa for the last alternative.
+	(*zero_extend<mode>si2): Likewise.
+	(*zero_extendqihi2): Use avx512dq isa for the last alternative.
+
+2016-09-05  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/invoke.texi (SPU Options): nops -> NOPs.
+	(x86 Options): Ditto.
+
+2016-09-05  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/77475
+	* toplev.c (process_options): Temporarily set input_location
+	to UNKNOWN_LOCATION around targetm.target_option.override () call.
+
+2016-09-05  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR rtl-optimization/77452
+	* explow.c (plus_constant) <case MEM>: Extract scalar constant from
+	inner-mode reference to a CONST_VECTOR constant in the constant pool.
+
+2016-09-05  Marek Polacek  <polacek@redhat.com>
+
+	PR c/77423
+	* doc/invoke.texi: Update -Wlogical-not-parentheses documentation.
+
+2016-09-05  Jakub Jelinek  <jakub@redhat.com>
+
+	PR other/77421
+	* gensupport.c (alter_output_for_subst_insn): Remove redundant
+	*insn_out == '*' test.  Don't copy unnecessary to yet another
+	memory buffer, and don't leak it.
+
+	PR rtl-optimization/77425
+	* ipa-devirt.c (get_odr_type): Set val->id unconditionally.
+
+2016-09-03  Kirill Yukhin  <kirill.yukhin@intel.com>
+
+	* ubsan.c (ubsan_use_new_style_p): Fix check for empty string.
+
+2016-09-02  David Malcolm  <dmalcolm@redhat.com>
+
+	* common.opt (fdiagnostics-generate-patch): New option.
+	* diagnostic.c: Include "edit-context.h".
+	(diagnostic_initialize): Initialize context->edit_context_ptr.
+	(diagnostic_finish): Delete context->edit_context_ptr.
+	(diagnostic_report_diagnostic): Add fix-it hints from the
+	diagnostic to context->edit_context_ptr, if any.
+	* diagnostic.h (class edit_context): Add forward decl.
+	(struct diagnostic_context): Add field "edit_context_ptr".
+	* doc/invoke.texi (Diagnostic Message Formatting Options): Add
+	-fdiagnostics-generate-patch.
+	(-fdiagnostics-generate-patch): New item.
+	* toplev.c: Include "edit-context.h".
+	(process_options): Set global_dc->edit_context_ptr to a new
+	edit_context if the options need one.
+	(toplev::main): Handle -fdiagnostics-generate-patch by using
+	global_dc->edit_context_ptr.
+
+2016-09-02  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/65467
+	* gimplify.c (gimplify_adjust_omp_clauses_1): Diagnose implicit
+	map and firstprivate clauses on target construct for _Atomic
+	qualified decls.
+	(gimplify_adjust_omp_clauses): Diagnose explicit firstprivate clauses
+	on target construct for _Atomic qualified decls.
+	* omp-low.c (use_pointer_for_field): Return true for _Atomic qualified
+	decls.
+	* omp-simd-clone.c (simd_clone_clauses_extract): Warn and give up for
+	_Atomic qualified arguments not mentioned in uniform clause.
+
+2016-09-02  David Malcolm  <dmalcolm@redhat.com>
+
+	* Makefile.in (OBJS-libcommon): Add edit-context.o.
+	* diagnostic-color.c (color_dict): Add "diff-filename",
+	"diff-hunk", "diff-delete", and "diff-insert".
+	(parse_gcc_colors): Update default value of GCC_COLORS in comment
+	to reflect above changes.
+	* doc/invoke.texi (-fdiagnostics-color): Update description of
+	default GCC_COLORS, and of the supported capabilities.
+	* edit-context.c: New file.
+	* edit-context.h: New file.
+	* input.c (struct fcache): Add field "missing_trailing_newline".
+	(diagnostics_file_cache_forcibly_evict_file): Initialize it to
+	true.
+	(add_file_to_cache_tab): Likewise.
+	(fcache::fcache): Likewise.
+	(get_next_line): Update c->missing_trailing_newline.
+	(location_missing_trailing_newline): New function.
+	* input.h (location_missing_trailing_newline): New decl.
+	* selftest-run-tests.c (selftest::run_tests): Call
+	edit_context_c_tests.
+	* selftest.h (edit_context_c_tests): New decl.
+
+2016-09-02  Jakub Jelinek  <jakub@redhat.com>
+	    Richard Biener  <rguenth@suse.de>
+
+	PR tree-optimization/77444
+	* tree-ssa-loop-ivopts.c (cand_value_at): For pointers use sizetype
+	as steptype, remove redundant initialization.
+
+2016-09-02  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/77396
+	* sanopt.c: Include gimple-ssa.h, tree-phinodes.h and ssa-iterators.h.
+	(sanopt_optimize_walker): Optimize away
+	__asan_before_dynamic_init (...) followed by
+	__asan_after_dynamic_init () without intervening memory loads/stores.
+	* ipa-pure-const.c (special_builtin_state): Handle
+	BUILT_IN_ASAN_BEFORE_DYNAMIC_INIT and
+	BUILT_IN_ASAN_AFTER_DYNAMIC_INIT.
+
+2016-09-02  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	* cfg.c (free_original_copy_tables): Replace second assignment of
+	bb_copy = NULL by bb_original = NULL.
+
+2016-09-02  Jakub Jelinek  <jakub@redhat.com>
+
+	PR other/77421
+	* config/i386/i386.c (ix86_expanded_args_builtin): Remove redundant
+	assignment added in r216794.
+
+2016-09-02  David Malcolm  <dmalcolm@redhat.com>
+
+	* Makefile.in (OBJS): Add typed-splay-tree.o.
+	* selftest-run-tests.c (selftest::run_tests): Call
+	typed_splay_tree_c_tests.
+	* selftest.h (typed_splay_tree_c_tests): New decl.
+	* typed-splay-tree.c: New file.
+	* typed-splay-tree.h (typed_splay_tree::foreach_fn): New typedef.
+	(typed_splay_tree::max): New method.
+	(typed_splay_tree::min): New method.
+	(typed_splay_tree::foreach): New method.
+	(typed_splay_tree::closure): New struct.
+	(typed_splay_tree::inner_foreach_fn): New function.
+
+2016-09-02  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	* ipa-cp.c (ipcp_store_bits_results): Change option name from
+	-fipa-cp-bit to -fipa-bit-cp.
+
+2016-09-01  Martin Sebor  <msebor@redhat.com>
+
+	PR tree-optimization/71831
+	* tree-object-size.h: Return bool instead of the size and add
+	argument for the size.
+	* tree-object-size.c (compute_object_offset): Update signature.
+	(addr_object_size): Same.
+	(compute_builtin_object_size): Return bool instead of the size
+	and add argument for the size.  Handle POINTER_PLUS_EXPR when
+	optimization is disabled.
+	(expr_object_size): Adjust.
+	(plus_stmt_object_size): Adjust.
+	(pass_object_sizes::execute): Adjust.
+	* builtins.c (fold_builtin_object_size): Adjust.
+	* doc/extend.texi (Object Size Checking): Update.
+	* ubsan.c (instrument_object_size): Adjust.
+
+2016-09-01  Martin Sebor  <msebor@redhat.com>
+
+	* genmatch.c (parser::parse_expr): Increase buffer size to guarantee
+	it fits the output of the formatted function regardless of its
+	arguments.
+	* genmodes.c (parser::parse_expr): Same.
+	* gimplify.c (gimplify_asm_expr): Same.
+	* passes.c (pass_manager::register_one_dump_file): Same.
+	* print-tree.c (print_node): Same.
+
+2016-09-01  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/altivec.md: Use VSCR_REGNO instead of 110 throughout.
+
+2016-09-01  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/altivec.md: Use VRSAVE_REGNO instead of 109 throughout.
+
+2016-09-01  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/altivec.md: Use CR6_REGNO instead of 74 throughout.
+	* config/rs6000/vector.md: Ditto.
+	* config/rs6000/vsx.md: Ditto.
+
+2016-09-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* ipa-inline-analysis.c (param_change_prob): Get to the base object
+	first in all cases.
+
+2016-09-01  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.md (*restore_gpregs_<mode>_r11,
+	*restore_gpregs_<mode>_r12, *restore_gpregs_<mode>_r1,
+	*return_and_restore_gpregs_<mode>_r11,
+	*return_and_restore_gpregs_<mode>_r12,
+	*return_and_restore_gpregs_<mode>_r1,
+	*return_and_restore_fpregs_<mode>_r11,
+	*return_and_restore_fpregs_<mode>_r12,
+	*return_and_restore_fpregs_<mode>_r1): Use the hard register LR_REGNO
+	directly instead of via the "l" constraint.  Renumber operands.
+	Fix whitespace.
+
+2016-09-01  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/altivec.md (*save_world, *save_vregs_<mode>_r11,
+	save_vregs_<mode>_r12, *restore_vregs_<mode>_r11,
+	*restore_vregs_<mode>_r12): Use LR_REGNO instead of 65.
+	* config/rs6000/darwin.md (load_macho_picbase, load_macho_picbase_si,
+	load_macho_picbase_di, *call_indirect_nonlocal_darwin64,
+	*call_nonlocal_darwin64, *call_value_indirect_nonlocal_darwin64,
+	*call_value_nonlocal_darwin64, reload_macho_picbase,
+	reload_macho_picbase_si, reload_macho_picbase_di): Ditto.
+	* config/rs6000/rs6000.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Ditto.
+	* config/rs6000/rs6000.md (*save_gpregs_<mode>_r11,
+	*save_gpregs_<mode>_r12, *save_gpregs_<mode>_r1,
+	*save_fpregs_<mode>_r11, *save_fpregs_<mode>_r12,
+	*save_fpregs_<mode>_r1): Ditto.
+	* config/rs6000/spe.md (*save_gpregs_spe, *restore_gpregs_spe,
+	*return_and_restore_gpregs_spe): Ditto.
+
+2016-09-01  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.md
+	(define_insn "*return_and_restore_fpregs_aix_<mode>_r11"): Delete
+	the use of the link register.
+	(define_insn "*return_and_restore_fpregs_aix_<mode>_r1"): Ditto.
+
+2016-09-01  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+	    Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/72827
+	* config/rs6000/rs6000.c (rs6000_legitimize_address): Avoid
+	reg+reg addressing for TImode.
+	(rs6000_legitimate_address_p): Only allow register indirect
+	addressing for TImode, even without TARGET_QUAD_MEMORY.
+
+2016-09-01  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/77436
+	* tree-chrec.c (tree_fold_binomial): Use widest_int, properly
+	check whether the result fits the desired result type.
+
+2016-09-01  Nathan Sidwell  <nathan@acm.org>
+
+	* config/nvptx/nvptx.md (cbranch<mode>4): Op 2 can be const.
+
+2016-09-01  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_legitimize_address_displacement):
+	New function.
+	(TARGET_LEGITIMIZE_ADDRESS_DISPLACEMENT): Define.
+
+2016-09-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64.md (*ands<mode>_compare0): New pattern.
+	* config/aarch64/aarch64.c (aarch64_select_cc_mode): Return CC_NZmode
+	for comparisons of integer ZERO_EXTEND against zero.
+
+2016-09-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/i386/i386.c (ix86_option_override_internal): Also disable the
+	STV pass if -mstackrealign is enabled.
+
+2016-08-31  Ilya Verbin  <iverbin@gmail.com>
+
+	* config/i386/driver-i386.c (host_detect_local_cpu): Fix detection of
+	AVX512IFMA.
+
+2016-08-31  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic-show-locus.c (class layout): Add field m_fixit_hints.
+	(layout_range::intersects_line_p): New method.
+	(test_range_contains_point_for_single_point): Rename to...
+	(test_layout_range_for_single_point): ...this, and add testing
+	for layout_range::intersects_line_p.
+	(test_range_contains_point_for_single_line): Rename to...
+	(test_layout_range_for_single_line): ...this,  and add testing
+	for layout_range::intersects_line_p.
+	(test_range_contains_point_for_multiple_lines): Rename to...
+	(test_layout_range_for_multiple_lines): ...this,  and add testing
+	for layout_range::intersects_line_p.
+	(layout::layout): Populate m_fixit_hints.
+	(layout::get_expanded_location): Handle the case of a line-span
+	for a fix-it hint.
+	(layout::validate_fixit_hint_p): New method.
+	(get_line_span_for_fixit_hint): New function.
+	(layout::calculate_line_spans): Add spans for fixit-hints.
+	(layout::should_print_annotation_line_p): New method.
+	(layout::print_any_fixits): Drop param "richloc", instead using
+	validated fixits in m_fixit_hints.  Add "const" to hint pointers.
+	(diagnostic_show_locus): Avoid printing blank annotation lines.
+	(selftest::test_diagnostic_context::test_diagnostic_context):
+	Initialize show_column and start_span.
+	(selftest::test_diagnostic_context::start_span_cb): New static
+	function.
+	(selftest::test_diagnostic_show_locus_fixit_lines): New function.
+	(selftest::diagnostic_show_locus_c_tests): Update for function
+	renamings.  Call test_diagnostic_show_locus_fixit_lines.
+
+2016-08-31  Marc Glisse  <marc.glisse@inria.fr>
+
+	PR tree-optimization/73714
+	* match.pd (a * (1 << b)): Revert change from 2016-05-23.
+
+2016-08-31  David Malcolm  <dmalcolm@redhat.com>
+
+	* selftest.c: Move "namespace selftest {" to top of file,
+	removing explicit "selftest::" qualifiers throughout.
+
+2016-08-31  Marc Glisse  <marc.glisse@inria.fr>
+
+	* config/i386/avx512fintrin.h (__m512_u, __m512i_u, __m512d_u):
+	New types.
+	(_mm512_loadu_pd, _mm512_storeu_pd, _mm512_loadu_ps,
+	_mm512_storeu_ps, _mm512_loadu_si512, _mm512_storeu_si512):
+	Replace builtin with vector extension.
+	* config/i386/avxintrin.h (__m256_u, __m256i_u, __m256d_u):
+	New types.
+	(_mm256_loadu_pd, _mm256_storeu_pd, _mm256_loadu_ps,
+	_mm256_storeu_ps, _mm256_loadu_si256, _mm256_storeu_si256):
+	Replace builtin with vector extension.
+	* config/i386/emmintrin.h (__m128i_u, __m128d_u): New types.
+	(_mm_loadu_pd, _mm_storeu_pd, _mm_loadu_si128, _mm_storeu_si128):
+	Replace builtin with vector extension.
+	* config/i386/xmmintrin.h (__m128_u): New type.
+	(_mm_loadu_ps, _mm_storeu_ps): Replace builtin with vector extension.
+	(_mm_load_ps, _mm_store_ps): Simplify.
+
+2016-08-31  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/arm/arm.c (thumb1_size_rtx_costs) <SET>: Add missing guard.
+
+2016-08-30  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic-show-locus.c (colorizer::begin_state): Support more
+	than 3 ranges per diagnostic by alternating between color 1 and
+	color 2.
+	(layout::layout): Replace use of rich_location::MAX_RANGES
+	with richloc->get_num_locations ().
+	(layout::calculate_line_spans): Replace use of
+	rich_location::MAX_RANGES with m_layout_ranges.length ().
+	(layout::print_annotation_line): Handle arbitrary numbers of
+	ranges in caret-printing by defaulting to '^'.
+	(selftest::test_one_liner_many_fixits): New function.
+	(test_diagnostic_show_locus_one_liner): Call it.
+	* diagnostic.c (diagnostic_initialize): Update for renaming
+	of rich_location::MAX_RANGES to
+	rich_location::STATICALLY_ALLOCATED_RANGES.
+	* diagnostic.h (struct diagnostic_context): Likewise.
+
+2016-08-30  David Malcolm  <dmalcolm@redhat.com>
+
+	* selftest.c (selftest::named_temp_file::named_temp_file): New
+	ctor.
+	(selftest::temp_source_file::~temp_source_file): Move to...
+	(selftest::named_temp_file::~named_temp_file): ...here.
+	(selftest::test_named_temp_file): New function.
+	(selftest::selftest_c_tests): Call test_named_temp_file.
+	* selftest.h (class named_temp_file): New class.
+	(class temp_source_file): Convert to a subclass of named_temp_file.
+
+2016-08-30  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.c (rs6000_emit_epilogue): Do not emit
+	USEs of LR_REGNO in returns and sibcalls.
+	(rs6000_output_mi_thunk): Similar.
+	(rs6000_sibcall_aix): Similar.
+	* config/rs6000/rs6000.md (sibcall, sibcall_value, sibcall_local32,
+	sibcall_local64, sibcall_value_local32, sibcall_value_local64,
+	sibcall_nonlocal_sysv<mode>, sibcall_value_nonlocal_sysv<mode>):
+	Remove the USE of LR_REGNO from the patterns as well.  Delete an
+	obsolete comment.
+	(return_internal_<mode>): Delete.
+
+2016-08-30  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/aarch64/aarch64-simd.md
+	(aarch64_ld2<mode>_dreg_le): New.
+	(aarch64_ld2<mode>_dreg_be): New.
+	(aarch64_ld2<mode>_dreg): Removed.
+	(aarch64_ld3<mode>_dreg_le): New.
+	(aarch64_ld3<mode>_dreg_be): New.
+	(aarch64_ld3<mode>_dreg): Removed.
+	(aarch64_ld4<mode>_dreg_le): New.
+	(aarch64_ld4<mode>_dreg_be): New.
+	(aarch64_ld4<mode>_dreg): Removed.
+	(aarch64_ld<VSTRUCT:nregs><VDC:mode>): Wrapper around _le, _be.
+
+2016-08-30  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic-show-locus.c (test_one_liner_fixit_insert): Remove
+	redundant location param.
+	(test_one_liner_fixit_remove): Likewise.
+	(test_one_liner_fixit_replace): Likewise.
+	(test_one_liner_fixit_replace_equal_secondary_range): Likewise.
+	* gcc-rich-location.c
+	(gcc_rich_location::add_fixit_misspelled_id): Eliminate call to
+	get_range_from_loc.  Drop overload taking a const char *.
+	* gcc-rich-location.h
+	(gcc_rich_location::add_fixit_misspelled_id): Drop overload taking
+	a const char *.
+
+2016-08-30  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+	* config/linux.c (linux_libc_has_function): Return true on musl.
+
+2016-08-30  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+	* config.gcc (*-*-*musl*): Disable gnu-indirect-function.
+
+2016-08-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* postreload-gcse.c (bb_has_well_behaved_predecessors): Tweak criterion
+	used for abnormal egdes.
+
+2016-08-30  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/72866
+	* tree-vect-patterns.c (search_type_for_mask): Turn into
+	a small wrapper, move all code to ...
+	(search_type_for_mask_1): ... this new function.  Add caching
+	and adjust recursive calls.
+
+	PR debug/77363
+	* dwarf2out.c (modified_type_die): Use lookup_type_die (type)
+	instead of lookup_type_die (type_main_variant (type)) even for array
+	types.
+
+	PR middle-end/77377
+	* simplify-rtx.c (avoid_constant_pool_reference): For out of bounds
+	constant pool reference return x instead of c.
+
+2016-08-29  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): Do not
+	include MQ.
+
+2016-08-29  David Malcolm  <dmalcolm@redhat.com>
+
+	* input.c
+	(selftest::test_make_location_nonpure_range_endpoints): Fix
+	header comment.
+
+2016-08-29  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic-show-locus.c
+	(selftest::test_one_liner_fixit_validation_adhoc_locations): New
+	function.
+	(selftest::test_diagnostic_show_locus_one_liner): Call it.
+	* input.c (get_pure_location): Move to libcpp/line-map.c.
+	* input.h (get_pure_location): Convert decl to an inline function
+	calling implementation in libcpp.
+
+2016-08-29  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/77403
+	* config/i386/sse.md (vec_set_lo_<mode><mask_name>): Fix assembler
+	template for intel asm dialect.
+	(vec_set_hi_<mode><mask_name>): Ditto.
+
+2016-08-29  David Malcolm  <dmalcolm@redhat.com>
+
+	* selftest.h (selftest::fail): Add ATTRIBUTE_NORETURN.
+	(selftest::fail_formatted): Likewise.
+
+2016-08-29  David Malcolm  <dmalcolm@redhat.com>
+
+	* input.c (make_location): Call get_start and get_finish
+	on the endpoints to avoid storing packed ranges or ad-hoc
+	ranges in them.
+	(selftest::test_make_location_nonpure_range_endpoints): New function.
+	(selftest::input_c_tests): Call it.
+	* input.h (get_start): New inline function.
+
+2016-08-29  Tom de Vries  <tom@codesourcery.com>
+
+	PR c/77398
+	* gimplify.c (gimplify_va_arg_expr): Replace first argument type error
+	with assert.
+
+2016-08-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* Makefile.in (gcov-iov.h): Add dummy recipe.
+
+2016-08-29  Nathan Sidwell  <nathan@acm.org>
+
+	* config/nvptx/nvptx.c: #include tree-vrp.h.
+
+2016-08-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR target/77324
+	* config/sparc/sparc.c (sparc_legitimate_address_p): Accept special
+	HIGH+LO construct during reload.
+
+2016-08-28  Tom de Vries  <tom@codesourcery.com>
+
+	PR lto/70955
+	* config/i386/i386.c (ix86_build_builtin_va_list_64): Tag type with
+	'sysv_abi va_list' attribute.
+	(ix86_build_builtin_va_list): Tag type with 'ms_abi va_list' attribute.
+	(ix86_canonical_va_list_type): Handle 'sysv_abi/ms_abi va_list'
+	attributes.
+
+2016-08-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* emit-rtl.h (struct rtl_data): Make stack_slot_list a vector.
+	* emit-rtl.c (unshare_all_rtl_1): Adjust.
+	(unshare_all_rtl_again): Likewise.
+	* function.c (assign_stack_local_1): Likewise.
+	(assign_stack_temp_for_type): Likewise.
+
+2016-08-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* cfgbuild.c (make_edges): Adjust.
+	* cfgrtl.c (can_delete_label_p): Likewise.
+	* dwarf2cfi.c (create_trace_edges): Likewise.
+	* except.c (sjlj_emit_dispatch_table): Likewise.
+	* function.h (struct expr_status): make x_forced_labels a vector.
+	* jump.c (rebuild_jump_labels_1): Adjust.
+	* reload1.c (set_initial_label_offsets): Likewise.
+	* stmt.c (force_label_rtx): Likewise.
+	(expand_label): Likewise.
+
+2016-08-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* haifa-sched.c (fix_recovery_deps): Make ready_list a vector.
+
+2016-08-27  Patrick Palka  <ppalka@gcc.gnu.org>
+
+	PR tree-optimization/71077
+	PR tree-optimization/68542
+	* fold-const.c (fold_relational_const): Fix folding of
+	VECTOR_CST comparisons that have a scalar boolean result type.
+	(selftest::test_vector_folding): New static function.
+	(selftest::fold_const_c_tests): Call it.
+
+2016-08-27  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/extend.texi (SPU Built-in Functions): Remove stale
+	references to material formerly at IBM and Sony.
+
+2016-08-26  David Edelsohn  <dje.gcc@gmail.com>
+
+	PR target/77349
+	* config/rs6000/xcoff.h (DWARF_OFFSET_SIZE): Define as PTR_SIZE.
+
+2016-08-26  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic-show-locus.c
+	(selftest::test_fixit_consolidation): New function.
+	(selftest::diagnostic_show_locus_c_tests): Call it.
+	* gcc-rich-location.h (gcc_rich_location): Eliminate unused
+	constructor based on source_range.
+
+2016-08-26  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic-color.c (color_dict): Add "fixit-insert" and
+	"fixit-delete".
+	(parse_gcc_colors): Update description of default GCC_COLORS.
+	* diagnostic-show-locus.c (colorizer::set_fixit_hint): Delete.
+	(colorizer::set_fixit_insert): New method.
+	(colorizer::set_fixit_delete): New method.
+	(colorizer::get_color_by_name): New method.
+	(colorizer::STATE_FIXIT_INSERT): New constant.
+	(colorizer::STATE_FIXIT_DELETE): New constant.
+	(class colorizer): Drop "_cs" suffix from fields.  Delete "_ce"
+	fields in favor of new field "m_stop_color".  Add fields
+	"m_fixit_insert" and "m_fixit_delete".
+	(colorizer::colorizer): Update for above changes.  Replace
+	colorize_start calls with calls to get_color_by_name.
+	(colorizer::begin_state): Handle STATE_FIXIT_INSERT and
+	STATE_FIXIT_DELETE.  Update for field renamings.
+	(colorizer::finish_state): Simplify by using m_stop_color,
+	rather than multiple identical "*_ce" fields.
+	(colorizer::get_color_by_name): New method.
+	(layout::print_any_fixits): Print insertions and replacements
+	using the "fixit-insert" color, and deletions using the
+	"fixit-delete" color.
+	* doc/invoke.texi (-fdiagnostics-color): Update description of
+	default GCC_COLORS, and of the supported capabilities.
+
+2016-08-26  Max Filippov  <jcmvbkbc@gmail.com>
+
+	* config/xtensa/xtensa.c (xtensa_expand_prologue): Update
+	current_function_static_stack_size variable with the static
+	stack frame size of the current function when
+	flag_stack_usage_info is enabled.
+
+2016-08-26  Nathan Sidwell  <nathan@acm.org>
+
+	* ipa-inline-analysis.c (inline_write_summary): Remove unnecessary
+	assignment inside if condition.
+
+2016-08-26  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69047
+	* tree-ssa.c (maybe_rewrite_mem_ref_base): Handle general bitfield
+	extracts similar to what FRE does.
+	(non_rewritable_mem_ref_base): Likewise.
+
+2016-08-26  Joseph Myers  <joseph@codesourcery.com>
+
+	* config/i386/i386.c (ix86_libgcc_floating_mode_supported_p)
+	(TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Remove.
+	* config/i386/i386elf.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
+	* config/i386/lynx.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
+	* config/i386/netbsd-elf.h (IX86_MAYBE_NO_LIBGCC_TFMODE):
+	Likewise.
+	* config/i386/netbsd64.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
+	* config/i386/nto.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
+	* config/i386/openbsd.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
+	* config/i386/rtemself.h (IX86_NO_LIBGCC_TFMODE): Likewise.
+	* config/i386/vxworks.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
+
+2016-08-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/70473
+	* config/arm/cortex-a8-neon.md (cortex_a8_vfp_muld): Reduce
+	reservation duration to 15 cycles.
+	(cortex_a8_vfp_macs): Likewise.
+	(cortex_a8_vfp_macd): Likewise.
+	(cortex_a8_vfp_divs): Likewise.
+	(cortex_a8_vfp_divd): Likewise.
+
+2016-08-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/arm/arm.c (arm_sets_movw_movt_fusible_p): New function.
+	(aarch_macro_fusion_pair_p): Use above to avoid early return.
+
+2016-08-26  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+	    Martin Jambhor  <mjambor@suse.cz>
+
+	* common.opt: New option -fipa-bit-cp.
+	* doc/invoke.texi: Document -fipa-bit-cp.
+	* opts.c (default_options_table): Add entry for -fipa-bit-cp.
+	(enable_fdo_optimizations): Check for flag_ipa_bit_cp.
+	* tree-ssa-ccp.h: New header file.
+	* tree-ssa-ccp.c: Include tree-ssa-ccp.h
+	(bit_value_binop_1): Change to bit_value_binop_1 and export it.
+	Replace all occurences of tree parameter by two new params: signop, int.
+	(bit_value_unop_1): Change to bit_value_unop and export it.
+	Replace all occurences of tree parameter by two new params: signop,
+	int.
+	(bit_value_binop): Change call from bit_value_binop_1 to
+	bit_value_binop.
+	(bit_value_assume_aligned): Likewise.
+	(bit_value_unop): Change call from bit_value_unop_1 to bit_value_unop.
+	(do_ssa_ccp): Pass nonzero_p || flag_ipa_cp_bit instead of nonzero_p
+	to ccp_finalize.
+	(ccp_finalize): Skip processing if val->mask == 0.
+	* ipa-cp.c: Include tree-ssa-ccp.h
+	(ipcp_bits_lattice): New class.
+	(ipcp_param_lattice (bits_lattice): New member.
+	(print_all_lattices): Call ipcp_bits_lattice::print.
+	(set_all_contains_variable): Call ipcp_bits_lattice::set_to_bottom.
+	(initialize_node_lattices): Likewise.
+	(propagate_bits_accross_jump_function): New function.
+	(propagate_constants_accross_call): Call
+	propagate_bits_accross_jump_function.
+	(ipcp_propagate_stage): Store parameter types when in_lto_p is true.
+	(ipcp_store_bits_results): New function.
+	(ipcp_driver): Call ipcp_store_bits_results.
+	* ipa-prop.h (ipa_bits): New struct.
+	(ipa_jump_func): Add new member bits of type ipa_bits.
+	(ipa_param_descriptor): Change decl to decl_or_type.
+	(ipa_get_param): Change decl to decl_or_type and assert on
+	PARM_DECL.
+	(ipa_get_type): New function.
+	(ipcp_transformation_summary): New member bits.
+	* ipa-prop.c (ipa_get_param_decl_index_1): s/decl/decl_or_type.
+	(ipa_populate_param_decls): Likewise.
+	(ipa_dump_param): Likewise.
+	(ipa_print_node_jump_functions_for_edge): Pretty-print ipa_bits jump
+	function.
+	(ipa_set_jf_unknown): Set ipa_bits::known to false.
+	(ipa_compute_jump_functions_for_edge): Compute jump function for bits
+	propagation.
+	(ipa_node_params_t::duplicate): Copy src->bits into dst->bits.
+	(ipa_write_jump_function): Add streaming for ipa_bits.
+	(ipa_read_jump_function): Add support for reading streamed ipa_bits.
+	(write_ipcp_transformation_info): Add streaming for ipa_bits
+	summary for ltrans.
+	(read_ipcp_transfomration_info): Add support for reading streamed
+	ipa_bits.
+	(ipcp_update_bits): New function.
+	(ipcp_transform_function): Call ipcp_update_bits.
+
+2016-08-25  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+	* config/mips/linux.h (MUSL_DYNAMIC_LINKER32): Update.
+	(MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERN32): Update.
+
+2016-08-25  David Edelsohn  <dje.gcc@gmail.com>
+
+	* multiple_target.c (pass_data_dispatcher_calls): Fix typo.
+
+2016-08-25  Richard Biener  <rguenther@suse.de>
+
+	* dwarf2out.c (gen_remaining_tmpl_value_param_die_attributes):
+	Only add locations in late dwarf.
+	(gen_scheduled_generic_parms_dies): Do not set early dwarf here.
+	(dwarf2out_early_finish): But do it here.
+
+2016-08-24  Michael Collison  <michael.collison@linaro.org>
+	    Michael Collison  <michael.collison@arm.com>
+
+	* config/arm/arm-modes.def: Add new condition code mode CC_V
+	to represent the overflow bit.
+	* config/arm/arm.c (maybe_get_arm_condition_code):
+	Add support for CC_Vmode.
+	(arm_gen_unlikely_cbranch): New function to generate common
+	rtl conditional branches for overflow patterns.
+	* config/arm/arm-protos.h: Add prototype for
+	arm_gen_unlikely_cbranch.
+	* config/arm/arm.md (addv<mode>4, add<mode>3_compareV,
+	addsi3_compareV_upper): New patterns to support signed
+	builtin overflow add operations.
+	(uaddv<mode>4, add<mode>3_compareC, addsi3_compareV_upper):
+	New patterns to support unsigned builtin add overflow operations.
+	(subv<mode>4, sub<mode>3_compare1): New patterns to support signed
+	builtin overflow subtract operations,
+	(usubv<mode>4): New patterns to support unsigned builtin subtract
+	overflow operations.
+	(negvsi3, negvdi3, negdi2_compare, negsi2_carryin_compare): New patterns
+	to support builtin overflow negate operations.
+
+2016-08-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	Revert
+	2016-08-23  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	* explow.c (get_dynamic_stack_size): Take known alignment of stack
+	pointer + STACK_DYNAMIC_OFFSET into account when calculating the size
+	needed.
+
+2016-08-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* doc/fragments.texi (MULTILIB_REUSE): Mention that only options in
+	MULTILIB_OPTIONS should be used.  Small wording fixes.
+	* genmultilib: Memorize set of all option combinations in
+	combination_space.  Detect if RHS of MULTILIB_REUSE uses an option not
+	found in MULTILIB_OPTIONS by checking if option set is listed in
+	combination_space.  Output new and existing error message to stderr.
+
+2016-08-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/t-aprofile (MULTILIB_MATCHES): Add mapping for
+	-mcpu=cortex-a7, -mfpu=neon-fp16, -mfpu=fpv5-d16 and -mfpu=fp-armv8.
+	Fix typo in -mfpu=vfpv3-d16-fp16 mapping.
+	(MULTILIB_REUSE): Remove reuse rules for option set including
+	-mfpu=fp-armv8 and -mfpu=vfpv4
+
+2016-08-24  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+	* config/arm/t-rtems: Add vfp multilib.
+
+2016-08-23  Ian Lance Taylor  <iant@golang.org>
+
+	* config/s390/s390.c (s390_asm_file_start): Call
+	default_file_start.
+
+2016-08-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_expand_vector_init): Set
+	initialization of all 0's to the 0 constant, instead of directly
+	generating XOR.  Add support for V4SImode vector initialization on
+	64-bit systems with direct move, and rework the ISA 3.0 V4SImode
+	initialization.  Change variables used in V4SFmode vector
+	intialization.  For V4SFmode vector splat on ISA 3.0, make sure
+	any memory addresses are in index form.  Add support for using
+	VSPLTH/VSPLTB to initialize vector short and vector char vectors
+	with all of the same element.
+	(regno_or_subregno): New helper function to return a register
+	number for either REG or SUBREG.
+	(rs6000_adjust_vec_address): Do not generate ADDI <reg>,R0,<num>.
+	Use regno_or_subregno where possible.
+	(rs6000_split_v4si_init_di_reg): New helper function to build up a
+	DImode value from two SImode values in order to generate V4SImode
+	vector initialization on 64-bit systems with direct move.
+	(rs6000_split_v4si_init): Split up the insns for a V4SImode vector
+	initialization.
+	(rtx_is_swappable_p): V4SImode vector initialization insn is not
+	swappable.
+	* config/rs6000/rs6000-protos.h (rs6000_split_v4si_init): Add
+	declaration.
+	* config/rs6000/vsx.md (VSX_SPLAT_I): New mode iterators and
+	attributes to initialize V8HImode and V16QImode vectors with the
+	same element.
+	(VSX_SPLAT_COUNT): Likewise.
+	(VSX_SPLAT_SUFFIX): Likewise.
+	(UNSPEC_VSX_VEC_INIT): New unspec.
+	(vsx_concat_v2sf): Eliminate using 'preferred' register classes.
+	Allow SFmode values to come from Altivec registers.
+	(vsx_init_v4si): New insn/split for V4SImode vector initialization
+	on 64-bit systems with direct move.
+	(vsx_splat_<mode>, VSX_W iterator): Rework V4SImode and V4SFmode
+	vector initializations, to allow V4SImode vector initializations
+	on 64-bit systems with direct move.
+	(vsx_splat_v4si): Likewise.
+	(vsx_splat_v4si_di): Likewise.
+	(vsx_splat_v4sf): Likewise.
+	(vsx_splat_v4sf_internal): Likewise.
+	(vsx_xxspltw_<mode>, VSX_W iterator): Eliminate using 'preferred'
+	register classes.
+	(vsx_xxspltw_<mode>_direct, VSX_W iterator): Likewise.
+	(vsx_vsplt<VSX_SPLAT_SUFFIX>_di): New insns to support
+	initializing V8HImode and V16QImode vectors with the same
+	element.
+	* config/rs6000/rs6000.h (TARGET_DIRECT_MOVE_64BIT): Disallow
+	optimization if -maltivec=be.
+
+2016-08-23  Christophe Lyon  <christophe.lyon@linaro.org>
+
+	* config/arm/arm.md (arm_movqi_insn): Swap predicable_short_it
+	attribute for alternatives 3 and 4.
+
+2016-08-23  David Malcolm  <dmalcolm@redhat.com>
+
+	* selftest.c (selftest::assert_str_contains): New function.
+	(selftest::test_assertions): Verify ASSERT_STR_CONTAINS.
+	* selftest.h (selftest::assert_str_contains): New decl.
+	(ASSERT_STR_CONTAINS): New macro.
+
+2016-08-23  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/77286
+	* tree-vect-loop.c (vect_analyze_loop_form_1): Do not modify
+	the CFG here.
+	(vect_transform_loop): Split exit edges of loop and scalar
+	loop if required and at the appropriate time.
+
+2016-08-23  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	* explow.c (get_dynamic_stack_size): Take known alignment of stack
+	pointer + STACK_DYNAMIC_OFFSET into account when calculating the size
+	needed.
+	Correct a typo in a comment.
+
+2016-08-23  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	* config/s390/s390.md ("*andc_split"): New splitter for and with
+	complement.
+
+2016-08-23  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/27336
+	* tree-vrp.c (infer_value_range): Handle stmts that can throw
+	by looking for a non-EH edge.
+	(process_assert_insertions_for): Likewise.
+
+2016-08-23  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/77305
+	* statistics.c (statistics_counter_event): Robustify against
+	NULL current_pass.
+
+2016-08-23  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
+
+	* config/i386/i386.c (processor_alias_table): Enable PTA_PRFCHW
+	for targets amdfam10 and barcelona.
+
+2016-08-22  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*zero_extendsidi2): Add (*r,*k) alternative.
+	(zero_extend<mode>di2): Ditto.
+	(*zero_extend<mode>si2): Ditto.
+	(*zero_extendqihi2): Ditto.
+
+2016-08-22  Joseph Myers  <joseph@codesourcery.com>
+
+	PR middle-end/77269
+	* builtins.c (fold_builtin_classify): Use builtin_decl_explicit
+	(BUILT_IN_SIGNBIT) to expand __builtin_isinf_sign.
+
+2016-08-22  Patrick Palka  <ppalka@gcc.gnu.org>
+
+	* print-tree.c (print_node) [VECTOR_CST]: Coalesce the output of
+	identical consecutive elements.
+	[SSA_NAME]: Print the name's def stmt on its own line.  When printing
+	the node's def stmt, avoid printing an unwanted trailing newline by
+	replacing the call to print_gimple_stmt() with its inlined body and
+	adjusting it to not set pp_needs_newline and to call pp_flush()
+	instead of pp_newline_and_flush().
+
+2016-08-22  Joseph Myers  <joseph@codesourcery.com>
+
+	* tree.h (CASE_FLT_FN_FLOATN_NX, float16_type_node)
+	(float32_type_node, float64_type_node, float32x_type_node)
+	(float128x_type_node): New macros.
+	* builtin-types.def (BT_FLOAT16, BT_FLOAT32, BT_FLOAT64)
+	(BT_FLOAT128, BT_FLOAT32X, BT_FLOAT64X, BT_FLOAT128X)
+	(BT_FN_FLOAT16, BT_FN_FLOAT32, BT_FN_FLOAT64, BT_FN_FLOAT128)
+	(BT_FN_FLOAT32X, BT_FN_FLOAT64X, BT_FN_FLOAT128X)
+	(BT_FN_FLOAT16_FLOAT16, BT_FN_FLOAT32_FLOAT32)
+	(BT_FN_FLOAT64_FLOAT64, BT_FN_FLOAT128_FLOAT128)
+	(BT_FN_FLOAT32X_FLOAT32X, BT_FN_FLOAT64X_FLOAT64X)
+	(BT_FN_FLOAT128X_FLOAT128X, BT_FN_FLOAT16_CONST_STRING)
+	(BT_FN_FLOAT32_CONST_STRING, BT_FN_FLOAT64_CONST_STRING)
+	(BT_FN_FLOAT128_CONST_STRING, BT_FN_FLOAT32X_CONST_STRING)
+	(BT_FN_FLOAT64X_CONST_STRING, BT_FN_FLOAT128X_CONST_STRING)
+	(BT_FN_FLOAT16_FLOAT16_FLOAT16, BT_FN_FLOAT32_FLOAT32_FLOAT32)
+	(BT_FN_FLOAT64_FLOAT64_FLOAT64, BT_FN_FLOAT128_FLOAT128_FLOAT128)
+	(BT_FN_FLOAT32X_FLOAT32X_FLOAT32X)
+	(BT_FN_FLOAT64X_FLOAT64X_FLOAT64X)
+	(BT_FN_FLOAT128X_FLOAT128X_FLOAT128X): New type definitions.
+	* builtins.def (DEF_GCC_FLOATN_NX_BUILTINS): New macro.
+	(copysign, fabs, huge_val, inf, nan, nans): Use it.
+	* builtins.c (expand_builtin): Use CASE_FLT_FN_FLOATN_NX for fabs
+	and copysign.
+	(fold_builtin_0): Use CASE_FLT_FN_FLOATN_NX for inf and huge_val.
+	(fold_builtin_1): Use CASE_FLT_FN_FLOATN_NX for fabs.
+	* doc/extend.texi (Other Builtins): Document these built-in
+	functions.
+	* fold-const-call.c (fold_const_call): Use CASE_FLT_FN_FLOATN_NX
+	for nan and nans.
+
+2016-08-22  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/install.texi (Binaries): www.opencsw.org now uses https.
+
+2016-08-22  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-forwprop.c (pass_forwprop::execute): Use RPO order.
+
+2016-08-21  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/77270
+	* config/i386/i386.md (prefetch): When TARGET_PRFCHW or
+	TARGET_PREFETCHWT1 are disabled, emit 3dNOW! write prefetches for
+	non-SSE2 athlons only, otherwise prefer SSE prefetches.
+
+2016-08-20  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* tree-vrp.c (vrp_visit_assignment_or_call): Changed to Return VR.
+	(vrp_visit_cond_stmt): Just sets TAKEN_EDGE_P.
+	(vrp_visit_switch_stmt): Likewise.
+	(extract_range_from_stmt): Factored out from vrp_visit_stmt.
+	(extract_range_from_phi_node): Factored out from vrp_visit_phi_stmt.
+	(vrp_visit_stmt): Use extract_range_from_stmt.
+	(vrp_visit_phi_node): Use extract_range_from_phi_node.
+
+2016-08-20  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* Makefile.in: Add tree-vrp.h to GTFILES.
+	* gengtype.c (open_base_files): Add tree-vrp.h.
+	* asan.c: Add tree-vrp.h which now has the definition value_range_type.
+	* builtins.c: Likewise.
+	* fold-const.c: Likewise.
+	* gimple-builder.c: Likewise.
+	* gimple-laddress.c: Likewise.
+	* hsa-gen.c: Likewise.
+	* internal-fn.c: Likewise.
+	* ssa.h: Likewise.
+	* targhooks.c: Liewise,
+	* tree-ssa-address.c: Likewise.
+	* tree-ssanames.h (value_range_type: Move to tree-vrp.h.
+	* tree-vrp.c (struct value_range): Move to tree-vrp.h
+	* tree-vrp.h: New file.
+
+2016-08-20  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	PR tree-optimization/61839
+	* tree-vrp.c (two_valued_val_range_p): New.
+	(simplify_stmt_using_ranges): Convert CST BINOP VAR where VAR is
+	two-valued to VAR == VAL1 ? (CST BINOP VAL1) : (CST BINOP VAL2).
+	Also Convert VAR BINOP CST where VAR is two-valued to
+	VAR == VAL1 ? (VAL1 BINOP CST) : (VAL2 BINOP CST).
+
+2016-08-19  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic-show-locus.c
+	(layout::annotation_line_showed_range_p): New method.
+	(layout::print_any_fixits): Remove case fixit_hint::REMOVE.
+	Reimplement case fixit_hint::REPLACE to cover removals, and
+	replacements where the range of the replacement isn't one
+	of the ranges in the rich_location.
+	(test_one_liner_fixit_replace): Likewise.
+	(selftest::test_one_liner_fixit_replace_non_equal_range): New
+	function.
+	(selftest::test_one_liner_fixit_replace_equal_secondary_range):
+	New function.
+	(selftest::test_diagnostic_show_locus_one_liner): Call the new
+	functions.
+	* diagnostic.c (print_parseable_fixits): Remove case
+	fixit_hint::REMOVE.
+
+2016-08-19  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/77270
+	* config/i386/i386.c (ix86_option_override_internal): Remove
+	PTA_PRFCHW from entries that also have PTA_3DNOW flag.
+	Enable SSE prefetch also for TARGET_PREFETCHWT1.
+	Do not try to enable TARGET_PRFCHW ISA flag here.
+	* config/i386/i386.md (prefetch): Enable also for TARGET_3DNOW.
+	Rewrite expander function body.
+	(*prefetch_3dnow): Enable for TARGET_3DNOW and TARGET_PREFETCHWT1.
+
+2016-08-19  Joseph Myers  <joseph@codesourcery.com>
+
+	PR c/32187
+	* tree-core.h (TI_COMPLEX_FLOAT16_TYPE)
+	(TI_COMPLEX_FLOATN_NX_TYPE_FIRST, TI_COMPLEX_FLOAT32_TYPE)
+	(TI_COMPLEX_FLOAT64_TYPE, TI_COMPLEX_FLOAT128_TYPE)
+	(TI_COMPLEX_FLOAT32X_TYPE, TI_COMPLEX_FLOAT64X_TYPE)
+	(TI_COMPLEX_FLOAT128X_TYPE, TI_FLOAT16_TYPE, TI_FLOATN_TYPE_FIRST)
+	(TI_FLOATN_NX_TYPE_FIRST, TI_FLOAT32_TYPE, TI_FLOAT64_TYPE)
+	(TI_FLOAT128_TYPE, TI_FLOATN_TYPE_LAST, TI_FLOAT32X_TYPE)
+	(TI_FLOATNX_TYPE_FIRST, TI_FLOAT64X_TYPE, TI_FLOAT128X_TYPE)
+	(TI_FLOATNX_TYPE_LAST, TI_FLOATN_NX_TYPE_LAST): New enum
+	tree_index values.
+	(NUM_FLOATN_TYPES, NUM_FLOATNX_TYPES, NUM_FLOATN_NX_TYPES): New
+	macros.
+	(struct floatn_type_info): New structure type.
+	(floatn_nx_types): New variable declaration.
+	* tree.h (FLOATN_TYPE_NODE, FLOATN_NX_TYPE_NODE)
+	(FLOATNX_TYPE_NODE, float128_type_node, float64x_type_node)
+	(COMPLEX_FLOATN_NX_TYPE_NODE): New macros.
+	* tree.c (floatn_nx_types): New variable.
+	(build_common_tree_nodes): Initialize _FloatN, _FloatNx and
+	corresponding complex types.
+	* target.def (floatn_mode): New hook.
+	* targhooks.c: Include "real.h".
+	(default_floatn_mode): New function.
+	* targhooks.h (default_floatn_mode): New prototype.
+	* doc/extend.texi (Floating Types): Document _FloatN and _FloatNx
+	types.
+	* doc/sourcebuild.texi (float@var{n}, float@var{n}x): Document new
+	effective-target and dg-add-options keywords.
+	(float@var{n}_runtime, float@var{n}x_runtime, floatn_nx_runtime):
+	Document new effective-target keywords.
+	* doc/tm.texi.in (TARGET_FLOATN_MODE): New @hook.
+	* doc/tm.texi: Regenerate.
+	* ginclude/float.h (LDBL_DECIMAL_DIG): Define to
+	__LDBL_DECIMAL_DIG__, not __DECIMAL_DIG__.
+	[__STDC_WANT_IEC_60559_TYPES_EXT__]: Define macros from TS
+	18661-3.
+	* real.h (struct real_format): Add field ieee_bits.
+	* real.c (ieee_single_format, mips_single_format)
+	(motorola_single_format, spu_single_format, ieee_double_format)
+	(mips_double_format, motorola_double_format)
+	(ieee_extended_motorola_format, ieee_extended_intel_96_format)
+	(ieee_extended_intel_128_format)
+	(ieee_extended_intel_96_round_53_format, ibm_extended_format)
+	(mips_extended_format, ieee_quad_format, mips_quad_format)
+	(vax_f_format, vax_d_format, vax_g_format, decimal_single_format)
+	(decimal_double_format, decimal_quad_format, ieee_half_format)
+	(arm_half_format, real_internal_format: Initialize ieee_bits
+	field.
+	* config/i386/i386.c (ix86_init_builtin_types): Do not initialize
+	float128_type_node.  Set float80_type_node to float64x_type_node
+	if appropriate and long_double_type_node not appropriate.
+	* config/ia64/ia64.c (ia64_init_builtins): Likewise.
+	* config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format):
+	Initialize ieee_bits field.
+	* config/rs6000/rs6000.c (TARGET_FLOATN_MODE): New macro.
+	(rs6000_init_builtins): Set ieee128_float_type_node to
+	float128_type_node.
+	(rs6000_floatn_mode): New function.
+
+2016-08-19  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/rdseedintrin.h (_rdseed16_step, _rdseed32_step,
+	_rdseed64_step): Uglify argument names and/or local variable names
+	in inline functions.
+	* config/i386/rtmintrin.h (_xabort): Likewise.
+	* config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64,
+	_mm256_mask_ternarylogic_epi64, _mm256_maskz_ternarylogic_epi64,
+	_mm256_ternarylogic_epi32, _mm256_mask_ternarylogic_epi32,
+	_mm256_maskz_ternarylogic_epi32, _mm_ternarylogic_epi64,
+	_mm_mask_ternarylogic_epi64, _mm_maskz_ternarylogic_epi64,
+	_mm_ternarylogic_epi32, _mm_mask_ternarylogic_epi32,
+	_mm_maskz_ternarylogic_epi32): Likewise.
+	* config/i386/lwpintrin.h (__llwpcb, __lwpval32, __lwpval64,
+	__lwpins32, __lwpins64): Likewise.
+	* config/i386/avx2intrin.h (_mm_i32gather_pd, _mm_mask_i32gather_pd,
+	_mm256_i32gather_pd, _mm256_mask_i32gather_pd, _mm_i64gather_pd,
+	_mm_mask_i64gather_pd, _mm256_i64gather_pd, _mm256_mask_i64gather_pd,
+	_mm_i32gather_ps, _mm_mask_i32gather_ps, _mm256_i32gather_ps,
+	_mm256_mask_i32gather_ps, _mm_i64gather_ps, _mm_mask_i64gather_ps,
+	_mm256_i64gather_ps, _mm256_mask_i64gather_ps, _mm_i32gather_epi64,
+	_mm_mask_i32gather_epi64, _mm256_i32gather_epi64,
+	_mm256_mask_i32gather_epi64, _mm_i64gather_epi64,
+	_mm_mask_i64gather_epi64, _mm256_i64gather_epi64,
+	_mm256_mask_i64gather_epi64, _mm_i32gather_epi32,
+	_mm_mask_i32gather_epi32, _mm256_i32gather_epi32,
+	_mm256_mask_i32gather_epi32, _mm_i64gather_epi32,
+	_mm_mask_i64gather_epi32, _mm256_i64gather_epi32,
+	_mm256_mask_i64gather_epi32): Likewise.
+	* config/i386/pmm_malloc.h (_mm_malloc, _mm_free): Likewise.
+	* config/i386/ia32intrin.h (__writeeflags): Likewise.
+	* config/i386/pkuintrin.h (_wrpkru): Likewise.
+	* config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd,
+	_mm512_mask_prefetch_i32gather_ps, _mm512_mask_prefetch_i64gather_pd,
+	_mm512_mask_prefetch_i64gather_ps, _mm512_prefetch_i32scatter_pd,
+	_mm512_prefetch_i32scatter_ps, _mm512_mask_prefetch_i32scatter_pd,
+	_mm512_mask_prefetch_i32scatter_ps, _mm512_prefetch_i64scatter_pd,
+	_mm512_prefetch_i64scatter_ps, _mm512_mask_prefetch_i64scatter_pd,
+	_mm512_mask_prefetch_i64scatter_ps): Likewise.
+	* config/i386/gmm_malloc.h (_mm_malloc, _mm_free): Likewise.
+	* config/i386/avx512fintrin.h (_mm512_ternarylogic_epi64,
+	_mm512_mask_ternarylogic_epi64, _mm512_maskz_ternarylogic_epi64,
+	_mm512_ternarylogic_epi32, _mm512_mask_ternarylogic_epi32,
+	_mm512_maskz_ternarylogic_epi32, _mm512_i32gather_ps,
+	_mm512_mask_i32gather_ps, _mm512_i32gather_pd, _mm512_i64gather_ps,
+	_mm512_i64gather_pd, _mm512_i32gather_epi32, _mm512_i32gather_epi64,
+	_mm512_i64gather_epi32, _mm512_i64gather_epi64): Likewise.
+
+	* config/i386/fxsrintrin.h (_fxsave): Remove return keyword in inlines
+	returning void.
+	(_fxrstor, _fxsave64, _fxrstor64): Likewise.
+	* config/i386/xsaveintrin.h (_xsave, _xrstor, _xsave64, _xrstor64):
+	Likewise.
+	* config/i386/xsaveoptintrin.h (_xsaveopt, _xsaveopt64): Likewise.
+	* config/i386/pkuintrin.h (_wrpkru): Likewise.  Add space after
+	function name.
+	(_rdpkru_u32): Add space after function name.
+
+	* config/i386/t-i386 (i386-c.o): Don't depend on
+	i386-builtin-types.inc.
+	(i386.o): Depend on i386-builtin-types.inc.
+
+2016-08-19  Matthew Wahab  <matthew.wahab@arm.com>
+
+	PR target/77281
+	* config/arm/arm.c (neon_valid_immediate): Delete declaration.
+	Use const_vec_duplicate to check for duplicated elements.
+
+2016-08-19  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/77290
+	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
+	Fix flag_tree_parallelize_loops check.
+
+2016-08-19  Richard Biener  <rguenther@suse.de>
+
+	* match.pd (x | 0 -> x): Add.
+
+2016-08-19  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/77286
+	* tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
+	Deal with virtual PHIs being out-of-order.
+
+2016-08-18  David Malcolm  <dmalcolm@redhat.com>
+
+	* doc/invoke.texi (fverbose-asm): Note that source code lines
+	are emitted, and provide an example.
+	* final.c (asm_show_source): New function.
+	(final_scan_insn): Call asm_show_source.
+
+2016-08-18  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic-show-locus.c (colorizer::colorizer): Replace diagnostic
+	param with diagnostic_kind.
+	(class colorizer): Similarly replace field m_diagnostic with
+	m_diagnostic_kind.
+	(colorizer::colorizer): Replace diagnostic
+	param with diagnostic_kind.
+	(colorizer::begin_state): Update for above field change.
+	(layout::layout): Replace diagnostic param with rich_location *
+	and diagnostic_kind.
+	(diagnostic_show_locus): Replace diagnostic param with richloc
+	and diagnostic_kind.
+	(class selftest::test_diagnostic_context): New class.
+	(selftest::test_diagnostic_show_locus_unknown_location): New
+	function.
+	(selftest::test_one_liner_simple_caret): New function.
+	(selftest::test_one_liner_caret_and_range): New function.
+	(selftest::test_one_liner_multiple_carets_and_ranges): New
+	function.
+	(selftest::test_one_liner_fixit_remove): New function.
+	(selftest::test_one_liner_fixit_replace): New function.
+	(selftest::test_diagnostic_show_locus_one_liner): New function.
+	(selftest::diagnostic_show_locus_c_tests): Call the new test
+	functions.
+	* diagnostic.c (diagnostic_initialize): Initialize
+	colorize_source_p, show_ruler_p and parseable_fixits_p.
+	(default_diagnostic_finalizer): Update for change to
+	diagnostic_show_locus.
+	(diagnostic_append_note): Likewise.
+	* diagnostic.h (diagnostic_show_locus): Replace
+	const diagnostic_info * param with location * and diagnostic_t.
+
+2016-08-18  David Malcolm  <dmalcolm@redhat.com>
+
+	* input.c (saved_line_table): New global.
+	(class selftest::temp_line_table): Rename to line_table_test and
+	move declaration to selftest.h, and drop field m_old_line_table.
+	(selftest::temp_line_table::temp_line_table): Rename ctor to...
+	(selftest::line_table_test::line_table_test): ...this.  Add a
+	default ctor.  Store current value of line_table within
+	saved_line_table.
+	(selftest::temp_line_table::~temp_line_table): Rename dtor to...
+	(selftest::line_table_test::~line_table_test): ...this, and
+	restore line_table from the saved_line_table, rather than
+	m_old_line_table.
+	(selftest::test_accessing_ordinary_linemaps): Update for above
+	renaming.
+	(selftest::test_lexer): Likewise.
+	(struct selftest::lexer_test): Likewise.
+	(selftest::lexer_test::lexer_test): Likewise.
+	(selftest::input_c_tests): Move the looping over test cases from
+	here into...
+	(selftest::for_each_line_table_case): New function.
+	* input.h (saved_line_table): New decl.
+	* selftest.h (struct selftest::line_table_case): New forward decl.
+	(class selftest::line_table_test): New class, moved here from
+	selftest::temp_line_table in input.c, and renamed.
+	(selftest::for_each_line_table_case): New decl.
+
+2015-08-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/72839
+	* config/i386/i386.c (lakemont_cost): Set MOVE_RATIO to 17.
+
+2016-08-18  Chung-Lin Tang  <cltang@codesourcery.com>
+
+	PR middle-end/70895
+	* gimplify.c (omp_add_variable): Adjust/add variable mapping on
+	enclosing parallel construct for reduction variables on OpenACC loop
+	directives.
+
+2016-08-18  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* dwarf2out.c (copy_dwarf_procedure): Remove obsolete comment.
+	(new_dwarf_proc_die): Emit DW_TAG_dwarf_procedure DIEs even for
+	-gdwarf-3.
+	(function_to_dwarf_procedure): Update comment.
+
+2016-08-18  David Malcolm  <dmalcolm@redhat.com>
+
+	* input.c (diagnostics_file_cache_forcibly_evict_file): New
+	function.
+	* input.h (diagnostics_file_cache_forcibly_evict_file): New
+	declaration.
+	* selftest.c (selftest::temp_source_file::~temp_source_file):
+	Evict m_filename from the diagnostic file cache.
+
+2016-08-18  Richard Biener  <rguenther@suse.de>
+
+	* tree-pass.h (make_pass_materialize_all_clones): Declare.
+	* ipa.c (pass_data_materialize_all_clones, pass_materialize_all_clones,
+	make_pass_materialize_all_clones): New simple IPA pass encapsulating
+	clone materialization.
+	* passes.def (all_late_ipa_passes): Start with
+	pass_materialize_all_clones.
+	* cgraphunit.c (symbol_table::compile): Remove call to
+	materialize_all_clones.
+	* tree-into-ssa.c: Include statistics.h.
+	(update_ssa): Count number of times we do incremental/rewrite
+	SSA update.
+
+2016-08-18  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/77282
+	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
+	When doing auto-parallelizing also prevent use of PHIs that
+	carry dependences across loop backedges.
+
+2016-08-18  Tamar Christina  <tamar.christina@arm.com>
+	    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+	* varasm.c (default_use_anchors_for_symbol_p): Reject too large decls.
+
+2016-08-18  Richard Biener  <rguenther@suse.de>
+
+	* ssa-iterators.h (ssa_vuse_operand): New inline.
+	* tree-if-conv.c (ifc_temp_var): Update virtual operand.
+	(predicate_all_scalar_phis): Use remove_phi_node to remove
+	phi nodes predicated.  Delay removing virtual PHIs.
+	(predicate_mem_writes): Update virtual operands.
+	(combine_blocks): Likewise.  Propagate out remaining virtual PHIs.
+	(tree_if_conversion): Do not rewrite virtual SSA form.
+	* tree-phinodes.c (release_phi_node): Make static.
+	* tree-phinodes.h (release_phi_node): Remove.
+
+2016-08-18  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/i386.c (enum ix86_builtins): Remove IX86_BUILTIN_*
+	codes that appear in bdesc_* arrays, instead include i386-builtin.def
+	twice to define those.
+	(bdesc_comi, bdesc_pcmpestr, bdesc_pcmpistr, bdesc_special_args,
+	bdesc_args, bdesc_round_args, bdesc_mpx, bdesc_mpx_const,
+	bdesc_multi_arg): Define by including i386-builtin.def the third time.
+	* config/i386/i386-builtin.def: New file.
+
+2016-08-17  David Malcolm  <dmalcolm@redhat.com>
+
+	* input.c (get_source_range_for_char): Rename to...
+	(selftest::get_source_range_for_char): ...this, and move within
+	the #if CHECKING_P guard.
+	(get_num_source_ranges_for_substring): Rename to...
+	(selftest::get_num_source_ranges_for_substring): ...this, move
+	within the #if CHECKING_P guard, and make static.
+	(selftest::assert_num_substring_ranges): Initialize
+	actual_num_ranges.
+
+2016-08-18  Alan Modra  <amodra@gmail.com>
+
+	PR rtl-optimization/72771
+	* reload.c (find_reloads): Don't assume that a subreg mem is OK
+	when find_reloads_toplev returns address_reloaded==-1.
+	(alternative_allows_const_pool_ref): Update comment.
+
+2015-08-17  Alan Hayward  <alan.hayward@arm.com>
+
+	PR tree-optimization/71752
+	* tree-vect-loop.c (vectorizable_reduction): Keep SLP operand ordering.
+	* tree-vect-slp.c (vect_get_slp_defs): Handle null operands.
+
+2016-08-17  Jakub Jelinek  <jakub@redhat.com>
+
+	* gimple-fold.c (gimple_fold_call): Use gimple_call_noreturn_p
+	instead of testing ECF_NORETURN bit in gimple_call_flags.
+	* tree-cfg.c (make_edges_bb, execute_fixup_cfg): Likewise.
+	* predict.c (tree_bb_level_predictions): Likewise.
+	* gimple-low.c (gimple_stmt_may_fallthru): Likewise.
+
+	PR middle-end/77259
+	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): If
+	turning a call into __builtin_unreachable-like noreturn call, adjust
+	gimple_call_set_fntype.
+	* tree-cfgcleanup.c (fixup_noreturn_call): Remove lhs also if
+	gimple_call_fntype has void return type.
+
+2016-08-17  Chung-Lin Tang  <cltang@codesourcery.com>
+
+	* omp-low.c (lower_oacc_reductions): Adjust variable lookup to use
+	maybe_lookup_decl, to handle nested acc loop directives.
+
+2016-08-17  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/76490
+	* tree-vrp.c (update_value_range): Preserve overflow infinities
+	when intersecting with ranges from get_range_info.
+	(operand_less_p): Handle overflow infinities correctly.
+	(value_range_constant_singleton): Use vrp_operand_equal_p
+	to handle overflow max/min correctly.
+	(vrp_valueize): Likewise.
+	(union_ranges): Likewise.
+	(intersect_ranges): Likewise.
+	(vrp_visit_phi_node): Improve iteration limitation to only
+	apply when we'll possibly re-visit the PHI via a changed argument
+	on the backedge.
+
+2016-08-17  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/t-aprofile (MULTILIB_EXCEPTIONS): Rewrite into ...
+	(MULTILIB_REQUIRED): This by specifying multilib needing to be built
+	rather than those that should not be built.
+
+2016-08-17  Stanislaw Halik  <sthalik@misaki.pl>
+
+	PR target/66488
+	* config/i386/xm-mingw32.h (HOST_BITS_PER_PTR): Define if __x86_64__.
+
+2016-08-17  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa.c: Include tree-cfg.h and tree-dfa.h.
+	(verify_vssa): New function verifying virtual SSA form.
+	(verify_ssa): Call it.
+	* tree-ssa-loop-manip.c (slpeel_update_phi_nodes_for_guard2):
+	Do not apply loop-closed SSA handling to virtuals.
+	* ssa-iterators.h (op_iter_init): Handle GIMPLE_TRANSACTION.
+	* tree-into-ssa.c (prepare_use_sites_for): Skip virtual SSA names
+	when rewriting their symbol.
+	(prepare_def_site_for): Likewise.
+	* tree-chkp-opt.c (chkp_reduce_bounds_lifetime): Clear virtual
+	operands of moved stmts.
+
+2016-08-17  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/23855
+	* tree-ssa-loop-unswitch.c: Include tree-ssa-loop-manip.h.
+	(tree_unswitch_outer_loop): Iterate find_loop_guard as long as we
+	find guards to hoist.  Do not update SSA form but rewrite virtuals
+	into loop closed SSA.
+	(find_loop_guard): Adjust to skip already hoisted guards.  Do
+	not mark virtuals for renaming or update SSA form.
+
+2016-08-17  Martin Liska  <mliska@suse.cz>
+
+	* coverage.c (get_gcov_type): Replace GCOV_TYPE_SIZE with
+	a LONG_LONG_TYPE_SIZE comparison.
+	* gcov-io.h: Remove macro definitions.
+	* tree-profile.c (gimple_gen_edge_profiler): Replace usage
+	of GCOV_TYPE_ATOMIC_FETCH_ADD with a LONG_LONG_TYPE_SIZE
+	comparison.
+
+2016-08-16  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/i386.c (enum ix86_builtins): Reorder enumerators, so
+	that builtins not mentioned in bdesc_* arrays come first, then
+	the ones mentioned in bdesc_* arrays in the order they appear in
+	the arrays in between IX86_BUILTIN__BDESC_*_FIRST and
+	IX86_BUILTIN__BDESC_*_LAST enumerator.
+	(bdesc_mpx): Fix up a comment typo.
+	(bdesc_multi_arg): Remove __builtin_ia32_vpcomne[bwdq] and
+	__builtin_ia32_vpcomneu[bwdq] builtins.
+	(BDESC_VERIFY, BDESC_VERIFYS): Define.
+	(ix86_init_mmx_sse_builtins, ix86_init_mpx_builtins): Verify
+	enum ix86_builtins ordering.
+	(ix86_expand_builtin): Use enum ix86_builtins ordering assumption
+	for direct bdesc_* array member access instead of searching all the
+	arrays until an fcode match is found.
+
+2016-08-16  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*ashl<mode>3_mask): Rewrite define_insn
+	pattern as define_insn_and_split.  Split insn before reload to
+	ashl<mode>3_1.
+	(*<shift_insn><mode>3_mask): Ditto.  Split insn before reload to
+	<shift_insn><mode>3_1.
+	(*<rotate_insn><mode>3_mask): Ditto.  Split insn before reload to
+	<rotate_insn><mode>3_1.
+
+2016-08-16  David Malcolm  <dmalcolm@redhat.com>
+
+	PR c/72857
+	* input.c (get_source_range_for_substring): Rename to...
+	(get_source_location_for_substring): ...this, adding param
+	"caret_idx", and converting output param from source_range * to
+	location_t *.
+	(get_source_range_for_char): New function.
+	(get_num_source_ranges_for_substring): Update comment to reflect
+	above renaming.
+	(assert_char_at_range): Update to use get_source_range_for_char
+	rather than get_source_range_for_substring.
+	(test_lexer_string_locations_concatenation_2): Likewise.
+	* substring-locations.h (get_source_range_for_substring): Rename
+	to...
+	(get_source_location_for_substring): ...this, and adding param
+	"caret_idx", and converting output param from source_range * to
+	location_t *.
+
+2016-08-16  David Malcolm  <dmalcolm@redhat.com>
+
+	* input.c (class selftest::temp_source_file): Move to
+	selftest.h.
+	(selftest::temp_source_file::temp_source_file): Move to
+	selftest.c.
+	(selftest::temp_source_file::~temp_source_file): Likewise.
+	* selftest.c (selftest::temp_source_file::temp_source_file): Move
+	here from input.c.
+	(selftest::temp_source_file::~temp_source_file): Likewise.
+	* selftest.h (class selftest::temp_source_file): Move here from
+	input.c
+
+2016-08-16  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/71910
+	* tree-cfg.c (execute_fixup_cfg): Add node variable, use it.  Before
+	inlining, add cgraph edge for the added __builtin_unreachable call.
+
+	PR middle-end/67485
+	* expmed.c (expand_mult_const): Change val_so_far's type to UHWI,
+	only cast it to SHWI for the final comparison.
+
+2016-08-16  Martin Liska  <mliska@suse.cz>
+
+	PR gcov-profile/36412
+	* doc/gcov.texi: Document --hash-filenames(-x).
+	* gcov.c (print_usage): Add the option.
+	(process_args): Process the option, sort options alphabetically.
+	(md5sum_to_hex): New function.
+	(make_gcov_file_name): Do the md5sum and append it to a
+	filename.
+
+2016-08-16  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/69848
+	* config/aarch64/aarch64-simd.md (vcond<mode><mode>): Invert NE
+	and swtich operands to avoid additional NOT instruction.
+	(vcond<v_cmp_mixed><mode>): Ditto.
+	(vcondu<mode><mode>, vcondu<mode><v_cmp_mixed>): Ditto.
+
+2016-08-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* doc/install.texi (*-*-solaris2*): Adjust latest change.
+
+2016-08-16  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/76783
+	* tree-ssa-propagate.c (ssa_prop_init): Use RPO order.  Clear
+	BB visited flags at start.
+
+2016-08-16  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/72817
+	PR tree-optimization/73450
+	* tree-ssa-loop-niter.c (number_of_iterations_ne): Check
+	multiple_of_p for adjusted IV.base.
+
+2016-08-15  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/72867
+	* config/i386/sse.md (<code><mode>3<mask_name><round_saeonly_name>):
+	Emit ieee_<ieee_maxmin><mode>3<mask_name><round_saeonly_name>
+	for !flag_finite_math_only or flag_signed_zeros.
+	(*<code><mode>3<mask_name><round_saeonly_name>): Rename from
+	*<code><mode>3_finite<mask_name><round_saeonly_name>.  Do not
+	depend on flag_finite_math_only.
+	(ieee_<ieee_maxmin><mode>3<mask_name><round_saeonly_name>):
+	New insn pattern.
+	(*<code><mode>3<mask_name><round_saeonly_name>): Remove.
+	(*ieee_smin<mode>3): Ditto.
+	(*ieee_smax<mode>3): Ditto.
+	* config/i386/mmx.md (mmx_<code>v2sf3): Emit
+	mmx_ieee_<ieee_maxmin>v2sf3 for !flag_finite_math_only or
+	flag_signed_zeros.
+	(*mmx_<code>v2sf3): Rename from *mmx_<code>v2sf3_finite.  Do not
+	depend on flag_finite_math_only.
+	(mmx_ieee_<ieee_maxmin>v2sf3): New insn pattern.
+	(*mmx_<code>v2sf3): Remove.
+	* config/i386/subst.md (round_saeonly_mask_arg3): New subst attribute.
+	* config/i386/i386.c (ix86_expand_sse_fp_mimnax): Check
+	flag_signed_zeros instead of !flag_unsafe_math_optimizations.
+
+2016-08-15  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/73650
+	* lra-constraints.c (simple_move_p): If the insn is multiple_sets
+	it is not a simple move.
+
+2016-08-15  Martin Liska  <mliska@suse.cz>
+
+	PR driver/72765
+	* gcc.c (do_spec_1): Call save_string with the right size.
+	(save_string): Do an assert about string we copy.
+
+2016-08-15  Richard Biener  <rguenther@suse.de>
+
+	* ree.c (rest_of_handle_ree): Remove redundant timevar push/pop.
+	* config/i386/i386.c (pass_data_insert_vzeroupper): Account to
+	TV_MACH_DEP.
+	(pass_data_stv): Likewise.
+
+2016-08-15  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/73434
+	* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Preserve
+	TBAA info on the base when forwarding a non-invariant address.
+
+2016-08-15  Jakub Jelinek  <jakub@redhat.com>
+
+	* dwarf2out.c (struct checksum_attributes): Add
+	at_string_length_bit_size and at_string_length_byte_size fields.
+	(collect_checksum_attributes): Handle DW_AT_string_length_bit_size
+	and DW_AT_string_length_byte_size.
+	(die_checksum_ordered): Handle at_string_length_bit_size and
+	at_string_length_byte_size.
+	(gen_array_type_die): For dwarf_version >= 5 emit
+	DW_AT_string_length_byte_size instead of DW_AT_byte_size.
+	(adjust_string_types): For dwarf_version >= 5 remove
+	DW_AT_string_length_byte_size instead of DW_AT_byte_size.
+	(resolve_addr): Likewise.
+
+	PR debug/71906
+	* dwarf2out.c (string_types): New variable.
+	(gen_array_type_die): Change early_dwarf handling of
+	DW_AT_string_length, create DW_OP_call4 referencing the
+	length var temporarily.  Handle parameters that are pointers
+	to string length.
+	(adjust_string_types): New function.
+	(gen_subprogram_die): Temporarily set string_types to local var,
+	call adjust_string_types if needed.
+	(non_dwarf_expression, copy_deref_exprloc, optimize_string_length):
+	New functions.
+	(resolve_addr): Adjust DW_AT_string_length if it is DW_OP_call4.
+
+2016-08-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* doc/install.texi (*-*-solaris2*): Fix version number and document
+	requirement on GNU make for building libjava with the Solaris linker.
+
+2016-08-15  Martin Liska  <mliska@suse.cz>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/72824
+	* tree-loop-distribution.c (const_with_all_bytes_same)
+	<case VECTOR_CST>: Fix a typo.
+
+2016-08-14  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/76342
+	* config/i386/avx512fintrin.h (_mm512_undefined_epi32):
+	Renamed from _mm512_undefined_si512.
+	(_mm_undefined_si512): New definition.
+
+2016-08-13  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-forwprop.c (pass_forwprop::execute): Propagate
+	into PHIs and update the lattice for its def.
+
+2016-08-12  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/71512
+	* ubsan.c (instrument_si_overflow): Pass true instead of false
+	to gsi_replace.
+	(pass_ubsan::execute): Call gimple_purge_dead_eh_edges at the end
+	of bbs.  Return TODO_cleanup_cfg if any returned true.
+
+2016-08-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/vsx.md (vsx_concat_<mode>): Add support for the
+	ISA 3.0 MTVSRDD instruction.
+	(vsx_splat_<mode>): Change cpu type of MTVSRDD instruction to
+	vecperm.
+
+2016-08-12  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	PR tree-optimization/71083
+	* tree-predcom.c (ref_at_iteration): Use a COMPONENT_REF for the
+	bitfield access when possible.
+
+2016-08-12  Patrick Palka  <ppalka@gcc.gnu.org>
+
+	PR middle-end/71654
+	* match.pd ((T)A CMP (T)B -> A CMP B): Allow (T)A to be a
+	sign-changing cast from a shorter unsigned type to a wider
+	signed type.
+
+2016-08-12  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm,
+	vec_extract_hi_<mode>_mask, vec_extract_lo_<mode>_mask,
+	vec_extract_hi_<mode>_mask): Use Yk constraint instead of k.
+
+2016-08-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost):
+	Correct costs for vec_construct.
+
+2016-08-12  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/69848
+	* tree-vectorizer.h (enum vect_def_type): New condition reduction
+	type CONST_COND_REDUCTION.
+	* tree-vect-loop.c (vectorizable_reduction): Support new condition
+	reudction type CONST_COND_REDUCTION.
+
+2016-08-12  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/57326
+	* tree-ssa-pre.c (fully_constant_expression): Handle simplification
+	returning an SSA name.
+	(phi_translate_1): When fully_constant_expression returns a NAME
+	make sure we have a leader for it.
+
+2016-08-12  Martin Liska  <mliska@suse.cz>
+	    Adam Fineman  <afineman@afineman.com>
+
+	* gcov.c (process_file): Create .gcov file when .gcda
+	file is missing.
+
+2016-08-12  Marek Polacek  <polacek@redhat.com>
+
+	PR c/7652
+	* alias.c (find_base_value): Adjust fall through comment.
+	* cfgexpand.c (expand_debug_expr): Likewise.
+	* combine.c (find_split_point): Likewise.
+	(expand_compound_operation): Likewise.  Add FALLTHRU.
+	(make_compound_operation): Adjust fall through comment.
+	(canon_reg_for_combine): Add FALLTHRU.
+	(force_to_mode): Adjust fall through comment.
+	(simplify_shift_const_1): Likewise.
+	(simplify_comparison): Likewise.
+	* config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args): Add
+	FALLTHRU.
+	* config/aarch64/predicates.md: Likewise.
+	* config/i386/i386.c (function_arg_advance_32): Likewise.
+	(ix86_gimplify_va_arg): Likewise.
+	(print_reg): Likewise.
+	(ix86_print_operand): Likewise.
+	(ix86_build_const_vector): Likewise.
+	(ix86_expand_branch): Likewise.
+	(ix86_sched_init_global): Adjust fall through comment.
+	(ix86_expand_args_builtin): Add FALLTHRU.
+	(ix86_expand_builtin): Likewise.
+	(ix86_expand_vector_init_one_var): Likewise.
+	* config/rs6000/rs6000.c (rs6000_emit_vector_compare_inner): Likewise.
+	(rs6000_adjust_cost): Likewise.
+	(insn_must_be_first_in_group): Likewise.
+	* config/rs6000/rs6000.md: Likewise.  Adjust fall through comment.
+	* dbxout.c (dbxout_symbol): Adjust fall through comment.
+	* df-scan.c (df_uses_record): Likewise.
+	* dojump.c (do_jump): Add FALLTHRU.
+	* dwarf2out.c (mem_loc_descriptor): Likewise.  Adjust fall through
+	comment.
+	(resolve_args_picking_1): Adjust fall through comment.
+	(loc_list_from_tree_1): Likewise.
+	* expmed.c (make_tree): Likewise.
+	* expr.c (expand_expr_real_2): Add FALLTHRU.
+	(expand_expr_real_1): Likewise.  Adjust fall through comment.
+	* fold-const.c (const_binop): Adjust fall through comment.
+	(fold_truth_not_expr): Likewise.
+	(fold_cond_expr_with_comparison): Add FALLTHRU.
+	(fold_binary_loc): Likewise.
+	(contains_label_1): Adjust fall through comment.
+	(multiple_of_p): Likewise.
+	* gcov-tool.c (process_args): Add FALLTHRU.
+	* genattrtab.c (check_attr_test): Likewise.
+	(write_test_expr): Likewise.
+	* genconfig.c (walk_insn_part): Likewise.
+	* genpreds.c (validate_exp): Adjust fall through comment.
+	(needs_variable): Likewise.
+	* gensupport.c (get_alternatives_number): Add FALLTHRU.
+	(subst_dup): Likewise.
+	* gimple-pretty-print.c (dump_gimple_assign): Likewise.
+	* gimplify.c (gimplify_addr_expr): Adjust fall through comment.
+	(gimplify_scan_omp_clauses): Add FALLTHRU.
+	(goa_stabilize_expr): Likewise.
+	* graphite-isl-ast-to-gimple.c (substitute_ssa_name): Adjust fall
+	through comment.
+	* hsa-gen.c (get_address_from_value): Likewise.
+	* ipa-icf.c (sem_function::hash_stmt): Likewise.
+	* ira.c (ira_setup_alts): Add FALLTHRU.
+	* lra-eliminations.c (lra_eliminate_regs_1): Adjust fall through
+	comment.
+	* lto-streamer-out.c (lto_output_tree_ref): Add FALLTHRU.
+	* opts.c (common_handle_option): Likewise.
+	* read-rtl.c (read_rtx_code): Likewise.
+	* real.c (round_for_format): Likewise.
+	* recog.c (asm_operand_ok): Likewise.
+	* reginfo.c (reg_scan_mark_refs): Adjust fall through comment.
+	* reload1.c (set_label_offsets): Likewise.
+	(eliminate_regs_1): Likewise.
+	(reload_reg_reaches_end_p): Likewise.
+	* rtlanal.c (commutative_operand_precedence): Add FALLTHRU.
+	(rtx_cost): Likewise.
+	* sched-rgn.c (is_exception_free): Likewise.
+	* simplify-rtx.c (simplify_rtx): Adjust fall through comment.
+	* stor-layout.c (int_mode_for_mode): Likewise.
+	* toplev.c (print_to_asm_out_file): Likewise.
+	(print_to_stderr): Likewise.
+	* tree-cfg.c (gimple_verify_flow_info): Likewise.
+	* tree-chrec.c (chrec_fold_plus_1): Add FALLTHRU.
+	(chrec_fold_multiply): Likewise.
+	(evolution_function_is_invariant_rec_p): Likewise.
+	(for_each_scev_op): Likewise.
+	* tree-data-ref.c (siv_subscript_p): Likewise.
+	(get_references_in_stmt): Likewise.
+	* tree.c (find_placeholder_in_expr): Adjust fall through comment.
+	(substitute_in_expr): Likewise.
+	(type_cache_hasher::equal): Likewise.
+	(walk_type_fields): Likewise.
+	* var-tracking.c (adjust_mems): Add FALLTHRU.
+	(set_dv_changed): Adjust fall through comment.
+	* varasm.c (default_function_section): Add FALLTHRU.
+
+2016-08-12  Marek Polacek  <polacek@redhat.com>
+
+	PR c/7652
+	* tree-complex.c (expand_complex_division): Add missing break.
+
+2016-08-12  Richard Biener  <rguenther@suse.de>
+
+	* passes.c (execute_todo): Do not push/pop TV_TODO.
+	(execute_one_ipa_transform_pass): Move timevar push/pop TODO execution.
+	(execute_one_pass): Likewise.
+	* common.opt (ftime-report-details): New switch.
+	* doc/invoke.texi (ftime-report-details): Document.
+	* timevar.h (timer::print_row): Adjust signature.
+	(timer::all_zero): New static helper.
+	(timer::child_map_t): New typedef.
+	(timer::time_var_def): Add children field.
+	* timevar.c (timer::named_items::print): Adjust.
+	(timer::~timer): Free timevar recorded children.
+	(timer::pop_internal): When -ftime-report-details record
+	time spent in sub-timevars.
+	(timer::print_row): Adjust.
+	(timer::print): Print sub-timevar stats, use all_zero.
+	* timevar.def (TV_TODO): Remove.
+
+2016-08-12  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/72851
+	* tree-ssa-propagate.c: Include cfganal.h.  Rewrite block and stmt
+	worklists to use bitmaps indexed in execution order.
+	(executable_blocks, cfg_blocks_num, cfg_blocks_tail, cfg_blocks_head,
+	bb_in_list, interesting_ssa_edges, varying_ssa_edges): Remove.
+	(cfg_blocks): Make a bitmap.
+	(bb_to_cfg_order, cfg_order_to_bb, ssa_edge_worklist, uid_to_stmt):
+	New globals.
+	(cfg_blocks_empty_p): Adjust.
+	(cfg_blocks_add): Likewise.
+	(cfg_blocks_get): Likewise.
+	(add_ssa_edge): Likewise.
+	(add_control_edge): Likewise.
+	(simulate_stmt): Likewise.
+	(process_ssa_edge_worklist): Likewise.
+	(simulate_block): Likewise.
+	(ssa_prop_init): Compute PRE order and stmt UIDs.
+	(ssa_prop_fini): Adjust.
+	(ssa_propagate): Adjust.
+
+2016-08-12  Richard Biener  <rguenther@suse.de>
+
+	* tree-vrp.c (vrp_visit_phi_node): Allow a last iteration if
+	the currently executable edges have fixed ranges.  Always
+	go through update_value_range.
+
+2016-08-12  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR debug/63240
+	* langhooks-def.h
+	(LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P): Const_tree-ify.
+	(LANG_HOOKS_FUNCTION_DECL_DELETED_P): Likewise.
+	(LANG_HOOKS_FUNCTION_DECL_DEFAULTED): Set default.
+	(LANG_HOOKS_DECLS): Add it.
+	* langhooks.h (struct lang_hooks_for_decls): Add
+	function_decl_defaulted.  Const_tree-ify
+	function_decl_explicit_p and function_decl_deleted_p.
+	* dwarf2out.c (gen_subprogram_die): Add DW_AT_defaulted
+	attribute.  Add DW_AT_deleted instead of DW_AT_GNU_deleted,
+	also at strict DWARF v5.
+
+	PR debug/55641
+	* dwarf2out.c (decl_quals): Don't map TREE_READONLY to
+	TYPE_QUAL_CONST in reference-typed decls.
+
+	PR debug/49366
+	* dwarf2out.c (loc_list_from_tree_1): Expand some CONSTRUCTORs
+	in DW_OP_pieces, just enough to handle pointers to member
+	functions.
+	(gen_remaining_tmpl_value_param_die_attribute): Use a location
+	expression on DWARFv5 if a constant value doesn't work.
+
+2016-08-11  David Malcolm  <dmalcolm@redhat.com>
+
+	* selftest-run-tests.c (selftest::run_tests): Call selftest_c_tests.
+	* selftest.c (selftest::test_assertions): New function.
+	(selftest::selftest_c_tests): New function.
+	* selftest.h (selftest::selftest_c_tests): New declaration.
+
+2016-08-11  Richard Biener  <rguenther@suse.de>
+	    Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR rtl-optimization/72855
+	* df-core.c (df_verify): Turn off DF_VERIFY_SCHEDULED at end.
+
+2016-08-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR target/72863
+	* vsx.md (vsx_load_<mode>): For P8LE, emit swaps at expand time.
+	(vsx_store_<mode>): Likewise.
+
+2015-08-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/i386.c (timode_scalar_to_vector_candidate_p): Allow
+	TImode CONST_WIDE_INT store.
+	(timode_scalar_chain::convert_insn): Handle CONST_WIDE_INT store.
+
+2015-08-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/i386.h (MOVE_MAX_PIECES): Use TImode in 64-bit
+	mode if unaligned SSE load and store are optimal.
+
+2016-08-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	PR tree-optimization/71083
+	* tree-predcom.c (ref_at_iteration): Correctly align the
+	reference type.
+
+2016-08-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390-builtin-types.def: Add INT128 types.
+	* config/s390/s390-builtins.def: Add INT128 variants for the add
+	sub low-level builtins dealing with TImode.
+	* config/s390/s390.c (s390_expand_builtin): Allow mode conversions
+	via subreg when expanding a builtin.
+	* config/s390/s390.md: Remove UNSPEC_VEC_ADDC_U128,
+	UNSPEC_VEC_SUB_U128, and UNSPEC_VEC_SUBC_U128 constants.
+	Fix comment.
+	* config/s390/vecintrin.h: Adjust builtin names accordingly.
+	* config/s390/vx-builtins.md ("vec_add_u128"): Remove expander.
+	("vec_addc<mode>", "vec_addc_u128"): Merge to
+	"vacc<bhfgq>_<mode>".
+	("vec_adde_u128"): Rename to "vacq". Change mode to TImode.
+	("vec_addec_u128"): Rename to "vacccq". Change mode to TImode.
+	("vec_subc<mode>", "vec_subc_u128"): Merge to
+	"vscbi<bhfgq>_<mode>".
+	("vec_sube_u128"): Rename to "vsbiq". Change mode to TImode.
+	("vec_subec_u128"): Rename to "vsbcbiq". Change mode to TImode.
+
+2016-08-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390-builtins.def: Mark last operand of s390_vlvg*
+
+2016-08-11  Bin Cheng  <bin.cheng@arm.com>
+
+	* config/aarch64/aarch64-simd.md (vcond<mode><mode>): Delete
+	unused declaration.
+	(vcond<v_cmp_mixed><mode>): Ditto.
+	(vcondu<mode><mode>, vcondu<mode><v_cmp_mixed>): Ditto.
+
+2016-08-11  Bin Cheng  <bin.cheng@arm.com>
+
+	* config/aarch64/aarch64-simd.md (vec_cmp<mode><v_cmp_result>): Init
+	variable explicitly, also assert on it before use.
+
+2016-08-11  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/72772
+	* cfgloopmanip.c (create_preheader): Use split_edge if there
+	is a single loop entry, avoiding degenerate PHIs.
+
+2016-08-11  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-threadbackward.c (pass_data_thread_jumps): Remove
+	unconditional TODO_cleanup_cfg.
+	(pass_thread_jumps::execute): Initialize loops, perform a CFG
+	cleanup only if we threaded a jump.
+
+2016-08-11  Alan Modra  <amodra@gmail.com>
+
+	PR target/71680
+	* lra-constraints.c (simplify_operand_subreg): Allow subreg
+	mode for mem when SLOW_UNALIGNED_ACCESS if inner mode is also
+	slow.  Emit two reloads for slow mem case, first loading in
+	fast innermode, then converting to required mode.
+
+2016-08-10  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+	* config/rs6000/altivec.h (vec_extract_exp): New macro.
+	(vec_extract_sig): New macro.
+	(vec_insert_exp): New macro.
+	(vec_test_data_class): New macro.
+	(scalar_extract_exp): New macro.
+	(scalar_extract_sig): New macro.
+	(scalar_insert_exp): New macro.
+	(scalar_test_data_class): New macro.
+	(scalar_test_neg): New macro.
+	(scalar_cmp_exp_gt): New macro.
+	(scalar_cmp_exp_lt): New macro.
+	(scalar_cmp_exp_eq): New macro.
+	(scalar_cmp_exp_unordered): New macro.
+	* config/rs6000/predicates.md (u7bit_cint_operand): New predicate
+	to enforce constraint that operand is a 7-bit unsigned literal.
+	* config/rs6000/rs6000-builtin.def (BU_P9V_64BIT_VSX_1): New macro
+	for power9 built-ins.
+	(BU_P9V_VSX_2): Likewise.
+	(BU_P9V_64BIT_VSX_2): Likewise.
+	(VSEEDP): Add scalar extract exponent support.
+	(VSEESP): Add scalar extract signature support.
+	(VSTDCNDP): Add scalar test negative support.
+	(VSTDCNSP): Likewise.
+	(VSIEDP): Add scalar insert exponent support.
+	(VSCEDPGT): Add scalar compare exponent greater than support.
+	(VSCEDPLT): Add scalar compare exponent less than support.
+	(VSCEDPEQ): Add scalar compare exponent test-for-equality support.
+	(VSCEDPUO): Add scalar compare exponent test-for-unordered support.
+	(VSTDCDP): Add scalar test data class support.
+	(VSTDCSP): Likewise.
+	(VSEEDP): Add overload support for scalar extract exponent
+	operation.
+	(VSESDP): Add overload support for scalar extract signature
+	operation.
+	(VSTDCN): Add overload support for scalar test negative
+	operation.
+	(VSTDCNDP): Add overload support for scalar test negative
+	operation.
+	(VSTDCNSP): Add overload support for scalar test negative
+	operation.
+	(VSIEDP): Add overload support for scalar insert exponent
+	operation.
+	(VSTDC): Add overload support for scalar test data class
+	operation.
+	(VSTDCDP): Add overload support for scalar test data class
+	operation.
+	(VSTDCSP): Add overload support for scalar test data class
+	opreation.
+	(VSCEDPGT): Add overload support for scalar compare exponent
+	greater than operation.
+	(VSCEDPLT): Add overload support for scalar compare exponent
+	less than operation.
+	(VSCEDPEQ): Add overload support for scalar compare exponent
+	test-for-equality operation.
+	(VSCEDPUO): Add overload support for scalar compare exponent
+	test-for-unordered operation.
+	(VEEDP): Add vector extract exponent support.
+	(VEESP): Likewise.
+	(VESDP): Add vector extract significand support.
+	(VESSP): Likewise.
+	(VIEDP): Add vector insert exponent support.
+	(VIESP): Likewise.
+	(VTDCDP): Add vector test data class support.
+	(VTDCSP): Likewise.
+	(VES): Add overload support for vector extract significand operation.
+	(VESDP): Likewise.
+	(VESSP): Likewise
+	(VEE): Add overload support for vector extract exponent operation.
+	(VEEDP): Likewise.
+	(VEESP): Likewise.
+	(VTDC): Add overload support for vector test data class operation.
+	(VTDCDP): Likewise.
+	(VTDCSP): Likewise.
+	(VIE): Add overload support for vector insert exponent operation.
+	(VIEDP): Likewise.
+	(VIESP): Likewise.
+	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
+	overloaded binary floating point functions.
+	(altivec_resolve_overloaded_builtin): Improve error messages to
+	distinguish between functions not supported in the current
+	compiler configuration and functions that were invoked with an
+	invalid parameter combination, and include the built-in function
+	name in both error messages.
+	* config/rs6000/rs6000-protos.h (rs6000_overloaded_builtin_name):
+	New prototype.
+	* config/rs6000/rs6000.c (rs6000_overloaded_builtin_name): New
+	function.
+	(rs6000_expand_binop_builtin): Add check to enforce that argument
+	2 of the test data class operations is a 7-bit unsigned literal.
+	(rs6000_invalid_builtin): Add code to issue an error message if a
+	built-in function that requires the power9_vector and -m32
+	command-line options is compiled without these options.
+	* config/rs6000/vsx.md (UNSPEC_VSX_SXEXPDP): New value.
+	(UNSPEC_VSX_SXSIGDP): New value.
+	(UNSPEC_VSX_SXSIGPDP): New value.
+	(UNSPEC_VSX_SIEXPDP): New value.
+	(UNSPEC_VSX_SCMPEXPDP): New value.
+	(UNSPEC_VSX_STSTDC): New value.
+	(UNSPEC_VSX_VXEXP): New value.
+	(UNSPEC_VSX_VXSIG): New value.
+	(UNSPEC_VSX_VIEXP): New value.
+	(UNSPEC_VSX_VTSTDC): New value.
+	(xsxexpdp): New insn for scalar extract exponent.
+	(xsxsigdp): New insn for scalar extract significand.
+	(xsiexpdp): New insn for scalar insert exponent.
+	(xscmpexpdp_<code>): New expansion for scalar compare exponents.
+	(*xscmpexpdp): New insn for scalar compare exponents.
+	(xststdc<Fvsx): New expansion for both single- and
+	double-precision scalar test data class operations.
+	(xststdcneg<Fvsx>): New expansion for both single- and
+	double-precision scalar test for negative value operations.
+	(*xststdc<Fvsx>): New insn for scalar test data class
+	operation.
+	(xvxexp<VSs>): New insn for single- and double-precision
+	vector extract exponent operation.
+	(xvxsig<VSs>): New insn for single- and double-precision
+	vector extract significand operation.
+	(xviexp<VSs>): New insn for single- and double-precision
+	vector insert exponent operation.
+	(xvtstdc<VSs>): New insn for single- and double-precision
+	vector test data class operation.
+	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
+	built-in functions to represent the Power9 binary floating-point
+	support instructions.
+
+2016-08-10  bin cheng  <bin.cheng@arm.com>
+
+	* doc/sourcebuild.texi (@item vect_cond_mixed): New item.
+
+2016-08-10  Alan Lawrence  <alan.lawrence@arm.com>
+	    Renlin Li  <renlin.li@arm.com>
+	    Bin Cheng  <bin.cheng@arm.com>
+
+	* config/aarch64/iterators.md (V_cmp_mixed, v_cmp_mixed): New.
+	* config/aarch64/aarch64-simd.md (<su><maxmin>v2di3): Call
+	gen_vcondv2div2di instead of gen_aarch64_vcond_internalv2div2di.
+	(aarch64_vcond_internal<mode><mode>): Delete pattern.
+	(aarch64_vcond_internal<VDQF_COND:mode><VDQF:mode>): Ditto.
+	(vcond<v_cmp_result><mode>): Ditto.
+	(vcond<mode><mode>): Re-implement using vec_cmp and vcond_mask.
+	(vcondu<mode><mode>): Ditto.
+	(vcond<v_cmp_mixed><mode>): New pattern.
+	(vcondu<mode><v_cmp_mixed>): New pattern.
+	(aarch64_cmtst<mode>): Revise comment using aarch64_vcond instead
+	of aarch64_vcond_internal.
+
+2016-08-10  Alan Lawrence  <alan.lawrence@arm.com>
+	    Renlin Li  <renlin.li@arm.com>
+	    Bin Cheng  <bin.cheng@arm.com>
+
+	* config/aarch64/aarch64-simd.md (vec_cmp<mode><mode>): New pattern.
+	(vec_cmp<mode><v_cmp_result>): New pattern.
+	(vec_cmpu<mode><mode>): New pattern.
+	(vcond_mask_<mode><v_cmp_result>): New pattern.
+
+2016-08-10  Yuri Rumyantsev  <ysrumyan@gmail.com>
+
+	PR tree-optimization/71734
+	* tree-ssa-loop-im.c (ref_indep_loop_p): Add new argument
+	REF_LOOP, invoke ref_indep_loop_p_1.
+	(outermost_indep_loop): Pass LOOP argumnet where REF was defined
+	to ref_indep_loop_p.
+	(ref_indep_loop_p_1): Fix commentary, add argument REF_LOOP,
+	combine it with ref_indep_lopp_p_2, update SAFELEN if only REF
+	is inside LOOP, do not cache dpendence value for loops with
+	non-zero SAFELEN.
+	(ref_indep_loop_p_2): Delete function.
+	(can_sm_ref_p): Pass LOOP as additional argument to
+	ref_indep_loop_p.
+
+2016-08-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/72853
+	* config/rs6000/rs6000.c (mem_operand_ds_form): Add check for op
+	being an offsettable address.
+
+2016-08-10  Martin Liska  <mliska@suse.cz>
+
+	PR gcov-profile/58306
+	* tree-profile.c (gimple_init_edge_profiler): Create conditionally
+	atomic variants of profile update functions.
+
+2016-08-10  Martin Liska  <mliska@suse.cz>
+
+	Cherry picked (and modified) from google-4_7 branch
+	2012-12-26  Rong Xu  <xur@google.com>
+	* common.opt (fprofile-update): Add new flag.
+	* coretypes.h: Define enum profile_update.
+	* doc/invoke.texi: Document -fprofile-update.
+	* gcov-io.h: Declare GCOV_TYPE_ATOMIC_FETCH_ADD and
+	GCOV_TYPE_ATOMIC_FETCH_ADD_FN.
+	* tree-profile.c (gimple_init_edge_profiler): Generate
+	also atomic profiler update.
+	(gimple_gen_edge_profiler): Likewise.
+
+2016-08-10  David Malcolm  <dmalcolm@redhat.com>
+
+	* toplev.c (finalize): Set aux_info_file, asm_out_file, and
+	stack_usage_file to NULL after fclose calls.
+
+2016-08-10  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
+
+	PR target/71873
+	* reload.c (push_reload): Compute subreg_in_class for
+	subregs of constants and plus expressions. Remove special
+	handling of SYMBOL_REFs.
+
+2016-08-10  Alan Modra  <amodra@gmail.com>
+
+	PR target/71680
+	* config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Return
+	SImode for TARGET_E500_DOUBLE when given SImode.
+
+2016-08-09  David Wohlferd  <dw@LimeGreenSocks.com>
+
+	* config/i3836/avx512fintrin.h (_mm512_cvtsepi64_epi32): Remove
+	unused variable __O.
+
+2016-08-09  Martin Liska  <mliska@suse.cz>
+
+	* doc/gcov.texi: Change _gcov_dump to __gcov_dump and
+	_gcov_reset to __gcov_reset.
+	* doc/gcov-tool.texi: Fix typo.
+
+2016-08-09  Martin Liska  <mliska@suse.cz>
+
+	* value-prof.c (gimple_divmod_values_to_profile): Do not
+	instrument MOD histogram if a value is not a SSA name.
+
+2016-08-09  Martin Liska  <mliska@suse.cz>
+
+	* value-prof.c (dump_histogram_value): Swap pow2 and non-pow2
+	values.
+
+2016-08-09  Renlin Li  <renlin.li@arm.com>
+
+	PR middle-end/64971
+	* calls.c (prepare_call_address): Convert funexp to Pmode when
+	necessary.
+	* config/aarch64/aarch64.md (sibcall): Remove fix for PR 64971.
+	(sibcall_value): Likewise.
+
+2016-08-09  Marek Polacek  <polacek@redhat.com>
+
+	PR c/7652
+	* cselib.c (cselib_expand_value_rtx_1): Add return.
+	* gengtype.c (dbgprint_count_type_at): Likewise.
+	* hsa-gen.c (gen_hsa_insn_for_internal_fn_call): Likewise.
+	* reg-stack.c (get_true_reg): Restructure to avoid fallthrough warning.
+
+2016-08-09  Martin Jambor  <mjambor@suse.cz>
+
+	PR ipa/71981
+	* ipa-polymorphic-call.c (get_dynamic_type): Bail out gracefully
+	if instance is a MEM_REF.
+
+2016-08-09  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/72843
+	* config/i386/i386.md (*movtf_internal): Use
+	lra_in_progress || reload_completed instead of !can_create_pseudo_p
+	in the insn constraint.
+	(*movxf_internal): Ditto.
+	(*movdf_internal): Ditto.
+	(*movsf_internal): Ditto.
+
+2016-08-09  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/72772
+	* tree-ssa-loop-niter.c (loop_exits_before_overflow): Check equality
+	for expanded base.
+
+2016-08-09  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/72772
+	* tree-ssa-loop-niter.h (simplify_using_initial_conditions): Delete
+	parameter STOP.
+	* tree-ssa-loop-niter.c (tree_simplify_using_condition_1): Delete
+	parameter STOP and update calls.  Move expand_simple_operations
+	function call from here...
+	(simplify_using_initial_conditions): ...to here.  Delete parameter
+	STOP.
+	(tree_simplify_using_condition): Delete parameter STOP.
+	* tree-scalar-evolution.c (simple_iv_with_niters): Update call to
+	simplify_using_initial_conditions.
+
+2016-08-09  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	PR c/65345
+	* config/mips/mips.c (mips_atomic_assign_expand_fenv):
+	Use create_tmp_var_raw instead of create_tmp_var.
+
+2016-08-09  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-threadbackward.c (profitable_jump_thread_path):
+	Treat same SSA names related.
+
+2016-08-09  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/72824
+	* tree-loop-distribution.c (const_with_all_bytes_same): Verify
+	real_zerop is not negative.
+
+2016-08-09  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71802
+	* tree-cfgcleanup.c (cleanup_tree_cfg_bb): Make sure to catch
+	all merge opportunities with the predecessor.
+
+2016-08-09  Richard Biener  <rguenther@suse.de>
+
+	PR ipa/68273
+	* ipa-prop.c (ipa_modify_formal_parameters): Build
+	parameter types with natural alignment also for the
+	over-aligned case.
+
+2016-08-08  Andi Kleen  <ak@linux.intel.com>
+
+	* tree-vrp.c (get_single_symbol): Always initialize inv and neg.
+
+2016-08-08  David Malcolm  <dmalcolm@redhat.com>
+
+	PR c/64955
+	* langhooks-def.h (LANG_HOOKS_RUN_LANG_SELFTESTS): New default
+	do-nothing langhook.
+	(LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_RUN_LANG_SELFTESTS.
+	* langhooks.h (struct lang_hooks): Add run_lang_selftests.
+	* selftest-run-tests.c: Include "tree.h" and "langhooks.h".
+	(selftest::run_tests): Call lang_hooks.run_lang_selftests.
+
+2016-08-08  David Malcolm  <dmalcolm@redhat.com>
+
+	PR bootstrap/72844
+	* input.c: Ensure that HAVE_ICONV is defined.
+
+2016-08-08  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/72781
+	* omp-low.c (lower_lastprivate_clauses): Set TREE_NO_WARNING on the
+	private vars for lastprivate and for linear iterator.
+
+	PR middle-end/68762
+	* omp-simd-clone.c: Include varasm.h.
+	(simd_clone_create): Copy over DECL_COMDAT, DECL_WEAK, DECL_EXTERNAL,
+	DECL_VISIBILITY, DECL_VISIBILITY_SPECIFIED, DECL_DLLIMPORT_P and for
+	DECL_ONE_ONLY call make_decl_one_only.  Fix up spelling in comment and
+	update function name.
+
+2016-07-29  Pitchumani Sivanupandi  <pitchumani.s@atmel.com>
+
+	* config/avr/driver-avr.c (specfiles_doc_url): Remove.
+	(avr_diagnose_devicespecs_error): Remove.
+	(avr_devicespecs_file): Remove composing absolute path for specfile
+	and its verbose info. Remove conditions to check specs-file,
+
+2016-08-08  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/72821
+	* lra-spills.c (regno_in_use_p): Don't use BLOCK_FOR_INSN on barriers,
+	just return false for them.
+
+2016-08-08  Alan Modra  <amodra@gmail.com>
+
+	PR target/72771
+	* config/rs6000/rs6000.c (toc_relative_expr_p): Allow (lo_sum (high))
+	toc refs created during reload.  Update function comment.
+
+2016-08-08  Alan Modra  <amodra@gmail.com>
+
+	PR target/72802
+	* config/rs6000/rs6000.md (mov<mode>_hardfloat): Sort
+	alternatives.  Put loads first, then stores, and reg/reg moves
+	within same class later.  Delete attr length.
+
+2016-08-08  Alan Modra  <amodra@gmail.com>
+
+	PR target/72802
+	* config/rs6000/rs6000.c (mem_operand_gpr): Remove vsx dform test.
+	(mem_operand_ds_form): New predicate.
+	* config/rs6000/rs6000-protos.h (mem_operand_ds_form): Declare.
+	* config/rs6000/constraints.md (wY): Use mem_operand_df_form.
+	* config/rs6000/predicates.md (offsettable_mem_14bit_operand): Delete.
+	* config/rs6000/rs6000.md (f32_lm2, f32_sm2): Use wY for SF.
+	(extendsfdf2_fpr): Replace o constraint with wY.
+
+2016-08-07  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-ssa-threadbackward.c: Include tree-inline.h
+	(profitable_jump_thread_path): Use estimate_num_insns to estimate
+	size of copied block; for cold paths reduce duplication.
+	(find_jump_threads_backwards): Remove redundant tests.
+	(pass_thread_jumps::gate): Enable for -Os.
+
+2016-08-07  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/72816
+	* stor-layout.c (layout_decl): Fix up formatting.
+	(relayout_decl): Allow DECL to be FIELD_DECL.
+
+2016-08-07  Alan Modra  <amodra@gmail.com>
+
+	* config/rs6000/rs6000.md (fix_trunc<mode>si2): Fix mode of reg.
+
+2016-08-07  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* data-streamer-in.c (streamer_read_wide_int): New.
+	(streamer_read_widest_int): Renamed function.
+	* data-streamer-out.c (streamer_write_wide_int): New
+	(streamer_write_widest_int): Renamed function.
+	* lto-streamer-in.c (streamer_read_wi): Renamed and moved to
+	data-stream-in.c.
+	(input_cfg): Call renamed function.
+	* lto-streamer-out.c (streamer_write_wi): Renamed and moved to
+	data-stream-out.c.
+	(output_cfg): Call renamed function.
+	* data-streamer.h: Add declarations.
+
+2016-08-08  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	* tree-ssa-ccp.c (extend_mask): New param sgn.
+	Remove ORing with wi::mask.
+	(get_default_value): Adjust call to extend_mask to pass sign.
+	(evaluate_stmt): Likewise.
+
+2016-08-06  Jakub Jelinek  <jakub@redhat.com>
+
+	* gcov.c (handle_cycle): Use INTTYPE_MAXIMUM (int64_t) instead of
+	INT64_MAX.
+
+2016-08-06  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	* match.pd ((intptr_t) x eq/ne CST to x eq/ne (typeof x) cst): Disable
+	transform if operand's type is pointer to function or method.
+
+2016-08-05  Patrick Palka  <ppalka@gcc.gnu.org>
+
+	PR tree-optimization/18046
+	* tree-ssa-threadedge.c: Include cfganal.h.
+	(simplify_control_statement_condition): If simplifying a
+	GIMPLE_SWITCH, replace the index operand of the GIMPLE_SWITCH
+	with the dominating ASSERT_EXPR before handing it off to VRP.
+	Mention that a CASE_LABEL_EXPR may be returned.
+	(thread_around_empty_blocks): Adjust to handle
+	simplify_control_statement_condition() returning a
+	CASE_LABEL_EXPR.
+	(thread_through_normal_block): Likewise.
+	* tree-vrp.c (simplify_stmt_for_jump_threading): Simplify
+	a switch statement by trying to determine which case label
+	will be taken.
+
+2016-08-05  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-optimization/69847
+	* lra-constraints.c (process_invariant_for_inheritance): Save
+	pattern instead of src.
+	(remove_inheritance_pseudos): Use the pattern.  Add assert.
+
+2016-08-05  David Malcolm  <dmalcolm@redhat.com>
+
+	* input.c (string_concat::string_concat): New constructor.
+	(string_concat_db::string_concat_db): New constructor.
+	(string_concat_db::record_string_concatenation): New method.
+	(string_concat_db::get_string_concatenation): New method.
+	(string_concat_db::get_key_loc): New method.
+	(class auto_cpp_string_vec): New class.
+	(get_substring_ranges_for_loc): New function.
+	(get_source_range_for_substring): New function.
+	(get_num_source_ranges_for_substring): New function.
+	(class selftest::lexer_test_options): New class.
+	(struct selftest::lexer_test): New struct.
+	(class selftest::ebcdic_execution_charset): New class.
+	(selftest::ebcdic_execution_charset::s_singleton): New variable.
+	(selftest::lexer_test::lexer_test): New constructor.
+	(selftest::lexer_test::~lexer_test): New destructor.
+	(selftest::lexer_test::get_token): New method.
+	(selftest::assert_char_at_range): New function.
+	(ASSERT_CHAR_AT_RANGE): New macro.
+	(selftest::assert_num_substring_ranges): New function.
+	(ASSERT_NUM_SUBSTRING_RANGES): New macro.
+	(selftest::assert_has_no_substring_ranges): New function.
+	(ASSERT_HAS_NO_SUBSTRING_RANGES): New macro.
+	(selftest::test_lexer_string_locations_simple): New function.
+	(selftest::test_lexer_string_locations_ebcdic): New function.
+	(selftest::test_lexer_string_locations_hex): New function.
+	(selftest::test_lexer_string_locations_oct): New function.
+	(selftest::test_lexer_string_locations_letter_escape_1): New function.
+	(selftest::test_lexer_string_locations_letter_escape_2): New function.
+	(selftest::test_lexer_string_locations_ucn4): New function.
+	(selftest::test_lexer_string_locations_ucn8): New function.
+	(selftest::uint32_from_big_endian): New function.
+	(selftest::test_lexer_string_locations_wide_string): New function.
+	(selftest::uint16_from_big_endian): New function.
+	(selftest::test_lexer_string_locations_string16): New function.
+	(selftest::test_lexer_string_locations_string32): New function.
+	(selftest::test_lexer_string_locations_u8): New function.
+	(selftest::test_lexer_string_locations_utf8_source): New function.
+	(selftest::test_lexer_string_locations_concatenation_1): New
+	function.
+	(selftest::test_lexer_string_locations_concatenation_2): New
+	function.
+	(selftest::test_lexer_string_locations_concatenation_3): New
+	function.
+	(selftest::test_lexer_string_locations_macro): New function.
+	(selftest::test_lexer_string_locations_stringified_macro_argument):
+	New function.
+	(selftest::test_lexer_string_locations_non_string): New function.
+	(selftest::test_lexer_string_locations_long_line): New function.
+	(selftest::test_lexer_char_constants): New function.
+	(selftest::input_c_tests): Call the new test functions once per
+	case within the line_table test matrix.
+	* input.h (struct string_concat): New struct.
+	(struct location_hash): New struct.
+	(class string_concat_db): New class.
+	* substring-locations.h: New header.
+
+2016-08-05  Patrick Palka  <ppalka@gcc.gnu.org>
+
+	PR tree-optimization/72810
+	* tree-vrp.c (simplify_switch_using_ranges): Avoid changing
+	the type of the case labels when truncating.
+
+2016-08-05  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	PR Target/72819
+	* config/aarch64/aarch64.h (aarch64_fp16_type_node): Declare.
+	(aarch64_fp16_ptr_type_node): Likewise.
+	* config/aarch64/aarch64-simd-builtins.c
+	(aarch64_fp16_ptr_type_node): Define.
+	(aarch64_init_fp16_types): New, refactored out of...
+	(aarch64_init_builtins): ...here, update to call
+	aarch64_init_fp16_types.
+	* config/aarch64/aarch64.c (aarch64_gimplify_va_arg_expr): Handle
+	HFmode.
+	(aapcs_vfp_sub_candidate): Likewise.
+
+2016-08-05  Martin Liska  <mliska@suse.cz>
+	    Joshua Cranmer  <Pidgeot18@gmail.com>
+
+	* gcov.c (line_t::has_block): New function.
+	(enum loop_type): New enum.
+	(handle_cycle): New function.
+	(unblock): Likewise.
+	(circuit): Likewise.
+	(get_cycles_count): Likewise.
+	(accumulate_line_counts): Use new loop detection algorithm.
+
+2016-08-05  Martin Liska  <mliska@suse.cz>
+
+	* gcov.c (output_intermediate_file): Rename
+	function_info::line_next to next_file_fn.
+	(process_file): Likewise.
+	(read_graph_file): Likewise.
+	(accumulate_line_counts): Likewise.
+	(output_lines): Likewise.
+
+2016-08-05  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-threadupdate.c (thread_block_1): Remove unnecessary
+	restriction on threading to a loop header.
+
+2016-08-05  Richard Biener  <rguenther@suse.de>
+
+	* tree-cfgcleanup.c (tree_forwarder_block_p): Use bb_loop_header_p.
+	* cfghooks.c (force_nonfallthru): If we ended up splitting a latch
+	adjust loop info accordingly.
+
+2016-08-05  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* tree-vrp.c (extract_range_basic): Check cfun->after_inlining
+	before folding call to __builtin_constant_p with parameters to false.
+
+2016-08-05  Alan Modra  <amodra@gmail.com>
+
+	* config/rs6000/rs6000.c (rs6000_preferred_reload_class): Delete
+	code accidentally committed 2016-05-02 providing class when given
+	NO_REGS.
+
+2016-08-04  Patrick Palka  <ppalka@gcc.gnu.org>
+
+	* tree-vrp.c (simplify_switch_using_ranges): Try to truncate
+	the case label ranges that partially overlap with OP's value
+	range.
+
+2016-08-04  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/72805
+	* config/i386/avx512fintrin.h (_mm512_cmp_epi32_mask) [!__OPTIMIZE__]:
+	Cast builtin function result to __mmask16 instead of __mmask8.
+	(_mm512_cmp_epu32_mask) [!__OPTIMIZE__]: Ditto.
+	(_mm512_mask_cmp_epi32_mask) [!__OPTIMIZE__]: Ditto.
+	(_mm512_mask_cmp_epu32_mask) [!__OPTIMIZE__]: Ditto.
+
+2016-08-04  David Malcolm  <dmalcolm@redhat.com>
+
+	* selftest.h (ASSERT_TRUE): Reimplement in terms of...
+	(ASSERT_TRUE_AT): New macro.
+	(ASSERT_FALSE): Reimplement in terms of...
+	(ASSERT_FALSE_AT): New macro.
+	(ASSERT_STREQ_AT): Fix typo in comment.
+
+2016-08-04  Patrick Palka  <ppalka@gcc.gnu.org>
+
+	* gimple.c (preprocess_case_label_vec_for_gimple): When the case
+	labels are exhaustive, designate the label with the widest
+	range to be the default label.
+
+2016-08-04  Andrew Pinski  <apinski@cavium.com>
+
+	* config/aarch64/aarch64.c (thunderx_vector_cost): New variable.
+	(thunderx_tunings): Use thunderx_vector_cost instead of
+	generic_vector_cost.
+
+2016-08-04  Martin Liska  <mliska@suse.cz>
+
+	* gcov.c (main): Fix GNU coding style.
+	(output_intermediate_file): Likewise.
+	(process_file): Likewise.
+	(generate_results): Likewise.
+	(release_structures): Likewise.
+	(create_file_names): Likewise.
+	(find_source): Likewise.
+	(read_graph_file): Likewise.
+	(find_exception_blocks): Likewise.
+	(canonicalize_name): Likewise.
+	(make_gcov_file_name): Likewise.
+	(mangle_name): Likewise.
+	(accumulate_line_counts): Likewise.
+	(output_branch_count): Likewise.
+	(read_line): Likewise.
+
+2016-08-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	PR rtl-optimization/71779
+	* emit-rtl.c (set_reg_attrs_from_value): Only propagate REG_POINTER,
+	if the value was sign-extended according to POINTERS_EXTEND_UNSIGNED
+	or if it was truncated.
+
+	PR rtl-optimization/70903
+	* cse.c (cse_insn): If DEST is a paradoxical SUBREG, don't record DEST.
+
+2016-08-04  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* tree-inline.c (remap_ssa_name): Check for POINTER_TYPE_P before
+	accessing SSA_NAME_PTR_INFO.
+
+2016-08-04  Georg-Johann Lay  <avr@gjlay.de>
+
+	PR 70677
+	* common/config/avr/avr-common.c (avr_option_optimization_table)
+	[OPT_LEVELS_ALL]: Turn off -fcaller-saves.
+
+2016-08-04  Georg-Johann Lay  <avr@gjlay.de>
+
+	PR 55181
+	* config/avr/avr.md: New pattern to work around do_store_flag
+	generating shift instructions for bit extractions.
+
+2016-08-04  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* tree-vrp.c (set_value_range): Use vrp_equiv_obstack with
+	BITMAP_ALLOC.
+	(add_equivalence): Likewise.
+	(get_value_range): Allocate value range with vrp_value_range_pool.
+	(vrp_initialize): Initialize vrp_equiv_obstack for equiv allocation.
+	(vrp_finalize): Relase vrp_equiv_obstack and vrp_value_range_pool.
+
+2016-08-03  Peter Bergner  <bergner@vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_option_override_internal): Make LRA
+	the default for the rs6000 port.
+
+2016-08-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	PR middle-end/71876
+	* calls.c (special_function_p): Remove special handling of
+	"setjmp_syscall", "qsetjmp", "longjmp", "siglongjmp" and the
+	prefix "__x".  Recognize "savectx", "vfork" and "getcontext" only
+	without prefix.  Remove potentially unsafe ECF_LEAF and ECF_NORETURN.
+
+2016-08-03  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR middle-end/72778
+	* lra-spills.c (regno_in_use_p): Check bb and regno modification.
+	Don't stop on regular insns.
+
+2016-08-03  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* config/nvptx/nvptx.c (nvptx_declare_function_name): Round frame
+	size to DImode boundary.
+	(nvptx_propagate): Likewise.
+
+2016-08-03  Alan Modra  <amodra@gmail.com>
+
+	* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Make scalar
+	float access depend on TARGET_EFFICIENT_UNALIGNED_VSX.
+	* config/rs6000/rs6000.opt (-mefficient-unaligned-vsx): Renamed
+	from -mefficient-unaligned-vector.  Note that this affects fp too.
+
+2016-08-03  Alan Modra  <amodra@gmail.com>
+
+	* config/rs6000/rs6000.c (rs6000_rtx_costs): Make unaligned mem
+	cost more.
+
+2016-08-03  Alan Modra  <amodra@gmail.com>
+
+	* config/rs6000/rs6000.md (fix_trunc<mode>si2): Force source operand
+	to a reg.  Localize vars.
+
+2016-08-03  Alan Modra  <amodra@gmail.com>
+
+	* config/rs6000/rs6000.opt: Remove negatives from help strings
+	and comments.
+
+2016-08-03  Alan Modra  <amodra@gmail.com>
+
+	* config/rs6000/rs6000.c (rs6000_secondary_reload_direct_move):
+	Delete duplicated code.
+
+2016-08-02  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR middle-end/72778
+	* lra-spills.c (regno_in_use_p): New.
+	(lra_final_code_change): Use it.
+
+2016-08-02  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-optimization/69847
+	* lra-int.h (struct lra-reg): Use restore_rtx instead of
+	restore_regno.
+	(lra_rtx_hash): New.
+	* lra.c (initialize_lra_reg_info_element): Use restore_rtx instead
+	of restore_regno.
+	(lra_rtx_hash): Rename and move lra-remat.c::rtx_hash.
+	* lra-remat.c (rtx_hash): Rename and Move to lra.c.
+	* lra-spills.c (lra_final_code_change): Don't delete insn when the
+	next insn is USE with the same reg as the current insn source.
+	* lra-constraints.c (curr_insn_transform): Use restore_rtx instead
+	of restore_regno.
+	(lra_constraints_init): Call initiate_invariants.
+	(lra_constraints_finish): Call finish_invariants.
+	(struct invariant, invariant_t, invariant_ptr_t): New.
+	(const_invariant_ptr_t, invariants, invariants_pool): New.
+	(invariant_table, invariant_hash, invariant_eq_p): New.
+	(insert_invariant, initiate_invariants, finish_invariants): New.
+	(clear_invariants, invalid_invariant_regs): New.
+	(inherit_reload_reg, split_reg, fix_bb_live_info): Use restore_rtx
+	instead of restore_regno.
+	(invariant_p, process_invariant_for_inheritance): New.
+	(inherit_in_ebb): Implement invariant inheritance.
+	(lra_inheritance): Initialize and finalize invalid_invariant_regs.
+	(remove_inheritance_pseudos): Implement undoing invariant
+	inheritance.
+	(undo_optional_reloads, lra_undo_inheritance): Use restore_rtx
+	instead of restore_regno.
+	* lra-assigns.c (regno_live_length): New.
+	(reload_pseudo_compare_func): Use regno_live_length.
+	(assign_by_spills): Use restore_rtx instead of restore_regno.
+	(lra_assign): Ditto.  Initiate regno_live_length.
+
+2016-02-08  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/aarch64/arm_neon.h (vminnm_f64): Add back missing 'f' from
+	__builtin_aarch64_fmindf.
+
+2016-08-02  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/34114
+	* tree-ssa-loop-niter.c (number_of_iterations_ne): Prove no-overflow
+	information for more control IVs.
+
+2016-08-02  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/34114
+	* fold-const.c (multiple_of_p): Improve MULT_EXPR, PLUS_EXPR,
+	PLUS_EXPR case.  Handle SSA_NAME case.
+
+2016-08-02  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/aarch64/aarch64-simd-builtins.def
+	(__builtin_aarch64_fmindf): Change BUILTIN_VDQF to BUILTIN_VDQF_DF.
+	(__builtin_aarch64_fmaxdf): Likewise.
+	(__builtin_aarch64_smin_nandf): Likewise.
+	(__builtin_aarch64_smax_nandf): Likewise.
+	* config/aarch64/aarch64-simd.md (<fmaxmin><mode>3): Remove.
+	* config/aarch64/aarch64.md (<fmaxmin><mode>3): Rename to...
+	(<fmaxmin><mode>3): ...this.
+	* config/aarch64/arm_neon.h (vmaxnm_f64): New.
+	(vminnm_f64): Likewise.
+	(vmin_f64): Likewise.
+	(vmax_f64): Likewise.
+	* config/aarch64/iterators.md (FMAXMIN): Merge with...
+	(FMAXMIN_UNS): ...this.
+	(fmaxmin): Merged with
+	(fmaxmin_op): ...this...
+	(maxmin_uns_op): ...in to this.
+
+2016-08-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
+	Add support for vec_extract on vector float, vector int, vector
+	short, and vector char vector types.
+	* config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add
+	vector float, vector int, vector short, and vector char
+	optimizations on 64-bit ISA 2.07 systems for both constant and
+	variable element numbers.
+	(rs6000_split_vec_extract_var): Likewise.
+	* config/rs6000/vsx.md (vsx_xscvspdp_scalar2): Allow SFmode to be
+	Altivec registers on ISA 2.07 and above.
+	(vsx_extract_v4sf): Delete alternative that hard coded element 0,
+	which never was matched due to the split occuring before register
+	allocation (and the code would not have worked on little endian
+	systems if it did match).  Allow extracts to go to the Altivec
+	registers if ISA 2.07 (power8).  Change from using "" around the
+	C++ code to using {}'s.
+	(vsx_extract_v4sf_<mode>_load): New insn to optimize vector float
+	vec_extracts when the vector is in memory.
+	(vsx_extract_v4sf_var): New insn to optimize vector float
+	vec_extracts when the element number is variable on 64-bit ISA
+	2.07 systems.
+	(vsx_extract_<mode>, VSX_EXTRACT_I iterator): Add optimizations
+	for 64-bit ISA 2.07 as well as ISA 3.0.
+	(vsx_extract_<mode>_p9, VSX_EXTRACT_I iterator): Likewise.
+	(vsx_extract_<mode>_p8, VSX_EXTRACT_I iterator): Likewise.
+	(vsx_extract_<mode>_load, VSX_EXTRACT_I iterator): New insn to
+	optimize vector int, vector short, and vector char vec_extracts
+	when the vector is in memory.
+	(vsx_extract_<mode>_var, VSX_EXTRACT_I iterator): New insn to
+	optimize vector int, vector short, and vector char vec_extracts
+	when the element number is variable.
+
+2016-08-01  Georg-Johann Lay  <avr@gjlay.de>
+
+	PR target/71948
+	* config/avr/avr.c (AVR_SYMBOL_FLAG_TINY_PM): Use a value that
+	does not overlap with other symbol flags.
+
+2016-08-01  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.h (aarch64_frame):
+	Remove padding0 and hardfp_offset.  Add locals_offset,
+	initial_adjust, callee_adjust, callee_offset and final_adjust.
+	* config/aarch64/aarch64.c (aarch64_layout_frame):
+	Remove unused padding0 and hardfp_offset initializations.
+	Choose frame layout and set frame variables accordingly.
+	Use INVALID_REGNUM instead of FIRST_PSEUDO_REGISTER.
+	(aarch64_push_regs): Use INVALID_REGNUM, not FIRST_PSEUDO_REGISTER.
+	(aarch64_pop_regs): Likewise.
+	(aarch64_expand_prologue): Remove all decision code, just emit
+	prolog according to frame variables.
+	(aarch64_expand_epilogue): Remove all decision code, just emit
+	epilog according to frame variables.
+	(aarch64_initial_elimination_offset): Use offset to local/arg area.
+
+2015-08-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/72748
+	* config/i386/i386.c (timode_scalar_chain::convert_insn): Call
+	fix_debug_reg_uses after changing source register mode to
+	V1TImode if source register is undefined.
+
+2015-08-01  Alan Hayward  <alan.hayward@arm.com>
+
+	PR tree-optimization/71818
+	* tree-vect-loop-manip.c (vect_can_advance_ivs_p): Don't advance IVs
+	with non invariant evolutions
+
+2016-08-01  Georg-Johann Lay  <avr@gjlay.de>
+
+	PR target/72767
+	* config/avr/avr.md (length) [branch]: Correct insn length
+	attribute for forward branches.
+
+2016-08-01  Georg-Johann Lay  <avr@gjlay.de>
+
+	* doc/extend.texi (AVR Built-in Functions): Document
+	__builtin_avr_nops.
+	* config/avr/builtins.def (NOPS): New.
+	* config/avr/avr.c (avr_expand_nops): New static function.
+	(avr_expand_builtin): Use it to handle AVR_BUILTIN_NOPS.
+
+2016-08-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_classify_address): Use DImode when
+	performing aarch64_offset_7bit_signed_scaled_p check for TImode LDP/STP
+	addresses.
+
+2016-08-01  Virendra Pathak  <virendra.pathak@broadcom.com>
+
+	* config/aarch64/aarch64.c (vulcan_tunings): Update
+	vulcan L1 cache_line_size.
+
+2016-07-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000-protos.h (rs6000_adjust_vec_address): New
+	function that takes a vector memory address, a hard register, an
+	element number and a temporary base register, and recreates an
+	address that points to the appropriate element within the vector.
+	* config/rs6000/rs6000.c (rs6000_adjust_vec_address): Likewise.
+	(rs6000_split_vec_extract_var): Add support for the target of a
+	vec_extract with variable element number being a scalar memory
+	location.
+	(rtx_is_swappable_p): VLSO insns (UNSPEC_VSX_VSLOW) are not
+	swappable.
+	* config/rs6000/vsx.md (vsx_extract_<mode>_load): Replace
+	vsx_extract_<mode>_load insn with a new insn that optimizes
+	storing either element to a memory location, using scratch
+	registers to pick apart the vector and reconstruct the address.
+	(vsx_extract_<P:mode>_<VSX_D:mode>_load): Likewise.
+	(vsx_extract_<mode>_store): Rework alternatives to more correctly
+	support Altivec registers.  Add support for ISA 3.0 Altivec d-form
+	store instruction.
+	(vsx_extract_<mode>_var): Add support for extracting a variable
+	element number from memory.
+
+2016-07-29  Georg-Johann Lay  <avr@gjlay.de>
+
+	* config/avr/avr.c (avr_out_compare): Use const0_rtx instead of 0
+	when testing for compares against constants of the form 0xabab.
+
+2016-07-29  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/57558
+	* tree-vect-loop-manip.c (vect_create_cond_for_niters_checks): New
+	function.
+	(vect_loop_versioning): Support versioning with niter assumptions.
+	* tree-vect-loop.c (tree-ssa-loop.h): Include header file.
+	(vect_get_loop_niters): New parameter.  Reimplement to support
+	assumptions in loop niter info.
+	(vect_analyze_loop_form_1, vect_analyze_loop_form): Ditto.
+	(new_loop_vec_info): Init LOOP_VINFO_NITERS_ASSUMPTIONS.
+	(vect_estimate_min_profitable_iters): Use LOOP_REQUIRES_VERSIONING.
+	Support loop versioning for niters.
+	* tree-vectorizer.c (tree-ssa-loop-niter.h): Include header file.
+	(vect_free_loop_info_assumptions): New function.
+	(vectorize_loops): Free loop niter info for loops with flag
+	LOOP_F_ASSUMPTIONS set if vectorization failed.
+	* tree-vectorizer.h (struct _loop_vec_info): New field
+	num_iters_assumptions.
+	(LOOP_VINFO_NITERS_ASSUMPTIONS): New macro.
+	(LOOP_REQUIRES_VERSIONING_FOR_NITERS): New macro.
+	(LOOP_REQUIRES_VERSIONING): New macro.
+	(vect_free_loop_info_assumptions): New decl.
+
+2016-07-29  Bin Cheng  <bin.cheng@arm.com>
+
+	* cfgloop.h (struct loop): New field constraints.
+	(LOOP_C_INFINITE, LOOP_C_FINITE): New macros.
+	(loop_constraint_set, loop_constraint_clr, loop_constraint_set_p): New
+	functions.
+	* cfgloop.c (alloc_loop): Initialize new field.
+	* cfgloopmanip.c (copy_loop_info): Copy constraints.
+	* tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions):
+	Adjust niter analysis wrto loop constraints.
+	* doc/loop.texi (@node Number of iterations): Add description for loop
+	constraints.
+
+2016-07-29  Marek Polacek  <polacek@redhat.com>
+
+	PR c/7652
+	* config/i386/i386.c (ix86_expand_args_builtin): Add break.
+	(ix86_expand_round_builtin): Likewise.
+
+2016-07-29  Segher Boessenkool  <segher@kernel.crashing.org>
+	    Georg-Johann Lay  <avr@gjlay.de>
+
+	PR rtl-optimization/71976
+	* combine.c (get_last_value): Return 0 if the argument for which
+	the function is called has a wider mode than the recorded value.
+
+2016-07-29  Marek Polacek  <polacek@redhat.com>
+
+	PR c/7652
+	* config/rs6000/rs6000.c (altivec_expand_ld_builtin): Add break.
+	(altivec_expand_st_builtin): Likewise.
+
+2016-07-29  Georg-Johann Lay  <avr@gjlay.de>
+
+	* config/avr/avr.md (addqi3) [cc]: Revert glitch in insn attribute
+	introduced in r238381.
+
+2016-07-29  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	PR middle-end/68217
+	* tree-vrp.c (extract_range_from_binary_expr_1): In case of signed
+	& sign-bit-CST, generate [-INF, 0] instead of [-INF, INF].
+
+2016-07-28  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000-protos.h (rs6000_split_vec_extract_var):
+	New declaration.
+	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
+	Add support for vec_extract of vector double or vector long having
+	a variable element number on 64-bit ISA 2.07 systems or newer.
+	* config/rs6000/rs6000.c (rs6000_expand_vector_extract):
+	Likewise.
+	(rs6000_split_vec_extract_var): New function to split a
+	vec_extract built-in function with variable element number.
+	(rtx_is_swappable_p): Variable vec_extracts and shifts are not
+	swappable.
+	* config/rs6000/vsx.md (UNSPEC_VSX_VSLO): New unspec.
+	(UNSPEC_VSX_EXTRACT): Likewise.
+	(vsx_extract_<mode>, VSX_D iterator): Fix constraints to allow
+	direct move instructions to be generated on 64-bit ISA 2.07
+	systems and newer, and to take advantage of the ISA 3.0 MFVSRLD
+	instruction.
+	(vsx_vslo_<mode>): New insn to do VSLO on V2DFmode and V2DImode
+	arguments for vec_extract variable element.
+	(vsx_extract_<mode>_var, VSX_D iterator): New insn to support
+	vec_extract with variable element on V2DFmode and V2DImode
+	vectors.
+	* config/rs6000/rs6000.h (TARGET_VEXTRACTUB): Remove
+	-mupper-regs-df requirement, since it isn't needed.
+	(TARGET_DIRECT_MOVE_64BIT): New macro to say whether we can
+	do direct moves on 64-bit systems, which allows optimization of
+	vec_extract on 64-bit ISA 2.07 systems and newer.
+
+2016-07-28  Kristina Martsenko  <kristina.martsenko@arm.com>
+2016-07-28  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	 * config/aarch64/aarch64.md
+	(zero_extend<SHORT:mode><GPI:mode>2_aarch64): Change output
+	statement and type.
+	(<optab>qihi2_aarch64): Likewise, and split into two.
+	(extendqihi2_aarch64): New.
+	(zero_extendqihi2_aarch64): New.
+	* config/aarch64/iterators.md (ldrxt): Remove.
+	* config/aarch64/aarch64.c (aarch64_rtx_costs): Change cost of
+	uxtb/uxth.
+
+2016-07-28  Kristina Martsenko  <kristina.martsenko@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_rtx_costs): Fix cost of zero extend.
+
+2016-07-28  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_pushwb_pair_reg): Rename.
+	(aarch64_push_reg): New function to push 1 or 2 registers.
+	(aarch64_pop_reg): New function to pop 1 or 2 registers.
+	(aarch64_expand_prologue): Use aarch64_push_regs.
+	(aarch64_expand_epilogue): Use aarch64_pop_regs.
+
+2016-07-28  Yuri Rumyantsev  <ysrumyan@gmail.com>
+
+	PR tree-optimization/71734
+	* tree-ssa-loop-im.c (ref_indep_loop_p_1): Pass value of safelen
+	attribute instead of REF_LOOP and use it.
+	(ref_indep_loop_p_2): Use SAFELEN argument instead of REF_LOOP and
+	set it for Loops having non-zero safelen attribute.
+	(ref_indep_loop_p): Pass zero as initial value for safelen.
+
+2016-07-28  Ilya Enkovich  <ilya.enkovich@intel.com>
+
+	PR middle-end/72657
+	PR target/72683
+	* tree-chkp.c (chkp_retbnd_call_by_val): Check for instrumentation
+	call using chkp_gimple_call_builtin_p.
+	(chkp_copy_bounds_for_assign): Likewise.
+
+2016-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* config/alpha/alpha.c (alpha_adjust_cost): Adjust.
+	* config/arm/arm-protos.h (struct tune_params): Likewise.
+	* config/arm/arm.c (xscale_sched_adjust_cost): Likewise.
+	(cortex_a9_sched_adjust_cost): Likewise.
+	(fa726te_sched_adjust_cost): Likewise.
+	(arm_adjust_cost): Likewise.
+	* config/bfin/bfin.c (bfin_adjust_cost): Likewise.
+	* config/c6x/c6x.c (c6x_adjust_cost): Likewise.
+	* config/epiphany/epiphany.c (epiphany_adjust_cost): Likewise.
+	* config/i386/i386.c (ix86_adjust_cost): Likewise.
+	* config/ia64/ia64.c: Likewise.
+	* config/m68k/m68k.c: Likewise.
+	* config/mep/mep.c (mep_adjust_cost): Likewise.
+	* config/microblaze/microblaze.c (microblaze_adjust_cost):
+	* Likewise.
+	* config/mips/mips.c (mips_adjust_cost): Likewise.
+	* config/mn10300/mn10300.c (mn10300_adjust_sched_cost):
+	* Likewise.
+	* config/pa/pa.c (pa_adjust_cost): Likewise.
+	* config/rs6000/rs6000.c (rs6000_adjust_cost): Likewise.
+	(rs6000_debug_adjust_cost): Likewise.
+	* config/sh/sh.c (sh_adjust_cost): Likewise.
+	* config/sparc/sparc.c (supersparc_adjust_cost): Likewise.
+	(hypersparc_adjust_cost): Likewise.
+	(sparc_adjust_cost): Likewise.
+	* config/spu/spu.c (spu_sched_adjust_cost): Likewise.
+	* config/tilegx/tilegx.c (tilegx_sched_adjust_cost): Likewise.
+	* config/tilepro/tilepro.c (tilepro_sched_adjust_cost):
+	* Likewise.
+	* config/visium/visium.c (visium_adjust_cost): Likewise.
+	* doc/tm.texi: Regenerate.
+	* haifa-sched.c (dep_cost_1): Adjust.
+	* target.def: Merge adjust_cost and adjust_cost_2.
+
+2016-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* haifa-sched.c (add_to_speculative_block): Make twins a vector.
+
+2016-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* store-motion.c (struct st_expr): Make pattern_regs a vector.
+	(extract_mentioned_regs): Append to a vector instead of
+	returning a rtx_expr_list.
+	(st_expr_entry): Adjust.
+	(free_st_expr_entry): Likewise.
+	(store_ops_ok): Likewise.
+	(store_killed_in_insn): Likewise.
+	(find_moveable_store): Likewise.
+
+2016-07-28  Martin Liska  <mliska@suse.cz>
+
+	PR gcov-profile/68025
+	* tree-profile.c (tree_profiling): Respect
+	no_profile_instrument_function attribute.
+	* doc/extend.texi: Document no_profile_instrument_function
+	attribute.
+
+2016-07-28  Martin Liska  <mliska@suse.cz>
+
+	PR rtl-optimization/70944
+	* combine.c (make_compound_operation):
+	Do not allow make_compound_operation for vector mode
+
+2016-07-28  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	PR middle-end/71994
+	* tree-ssa-reassoc.c (maybe_optimize_range_tests): Check tcc_comparison
+	 before calling get_ops.
+
+2016-07-27  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* defaults.h (LOG2_BITS_PER_UNIT): Move from here...
+	* tree.h (LOG2_BITS_PER_UNIT): ...to here.
+	(BITS_PER_UNIT_LOG): Remove.
+	(int_bit_position): Use LOG2_BITS_PER_UNIT instead of BITS_PER_UNIT_LOG.
+	* expr.c (expand_assignment): Likewise.
+	* stor-layout.c (initialize_sizetypes): Likewise.
+
+2016-07-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/vector.md (vec_extract<mode>): Change the calling
+	signature of rs6000_expand_vector_extract so that the element
+	number is a RTX instead of a constant integer.
+	* config/rs6000/rs6000-protos.h (rs6000_expand_vector_extract):
+	Likewise.
+	* config/rs6000/rs6000.c (rs6000_expand_vector_extract): Likewise.
+	(altivec_expand_vec_ext_builtin): Likewise.
+	* config/rs6000/altivec.md (reduc_plus_scal_<mode>): Likewise.
+	* config/rs6000/vsx.md (vsx_extract_<mode>): Fix spelling of the
+	MFVSRLD instruction.
+
+2016-07-27  David Malcolm  <dmalcolm@redhat.com>
+
+	* input.c (get_pure_location): Move here from tree.c.
+	(make_location): Likewise.  Add header comment.
+	(selftest::test_accessing_ordinary_linemaps): Verify
+	pure_location_p, make_location, get_location_from_adhoc_loc and
+	get_range_from_loc.
+	* input.h (get_pure_location): Move declaration here from tree.h.
+	(get_finish): Likewise for inline function.
+	(make_location): Likewise for declaration.
+	* tree.c (get_pure_location): Move to input.c.
+	(make_location): Likewise.
+	* tree.h (get_pure_location): Move declaration to tree.h.
+	(get_finish): Likewise for inline function.
+	(make_location): Likewise for declaration.
+
+2016-07-27  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	PR middle-end/71078
+	* match.pd (x / abs(x) -> copysign(1.0, x)): New pattern.
+
+2016-07-27  David Malcolm  <dmalcolm@redhat.com>
+
+	* system.h (STATIC_ASSERT): Use static_assert if building
+	with C++11 onwards.
+
+2016-07-27  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/72517
+	* tree-vect-data-refs.c (vect_analyze_data_ref_dependences):
+	Revert change to not compute read-read dependences.
+
+2016-07-27  Richard Biener  <rguenther@suse.de>
+
+	* predict.c (set_even_probabilities): Make nedges unsigned.
+
+2016-07-27  Martin Liska  <mliska@suse.cz>
+
+	* predict.c (set_even_probabilities): Handle unlikely edges.
+	(combine_predictions_for_bb): Likewise.
+
+2016-07-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/71869
+	* config/rs6000/rs6000.c (rs6000_generate_compare): Rework
+	__float128 support when we don't have hardware support, so that
+	the IEEE built-in functions like isgreater, first call __unordkf3
+	to make sure neither operand is a NaN, and if both operands are
+	ordered, do the normal comparison.
+
+2016-07-26  Patrick Palka  <ppalka@gcc.gnu.org>
+
+	* tree-vrp.c (dump_asserts_for): Print loc->expr instead of
+	name.
+	(extract_code_and_val_from_cond_with_ops): Verify that name is
+	either cond_op0 or cond_op1.
+
+2016-07-26  Patrick Palka  <ppalka@gcc.gnu.org>
+
+	PR tree-optimization/18046
+	* genmodes.c (emit_mode_size_inline): Emit an assert that
+	verifies that mode is a valid array index.
+	(emit_mode_nuinits_inline): Likewise.
+	(emit_mode_inner_inline): Likewise.
+	(emit_mode_unit_size_inline): Likewise.
+	(emit_mode_unit_precision_inline): Likewise.
+	* tree-vrp.c: Include params.h.
+	(find_switch_asserts): Register edge assertions for the default
+	label which correspond to the anti-ranges of each case label.
+	* params.def (PARAM_MAX_VRP_SWITCH_ASSERTIONS): New.
+	* doc/invoke.texi: Document it.
+
+2016-07-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* gimple-ssa-strength-reduction.c (slsr_process_phi): Remove dead
+	and unnecessary call to gimple_bb.
+
+2016-07-26  Richard Biener  <rguenther@suse.de>
+
+	PR rtl-optimization/71984
+	* simplify-rtx.c (simplify_subreg): Use GET_MODE_SIZE and prepare
+	for VOIDmode.
+
+2016-07-26  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/72517
+	* expmed.c (extract_bit_field_1): Constrain the vector mode
+	with element size matching the extraction mode size when
+	choosing a better vector mode to do the extraction from.
+
+2016-07-26  Richard Biener  <rguenther@suse.de>
+	    Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	PR middle-end/70920
+	* match.pd ((intptr)x eq/ne CST to x eq/ne (typeof x) CST): New
+	pattern.
+
+2016-07-26  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* tree-ssa-structalias.c (struct scc_info): Change types of
+	members to auto_sbitmap and auto_vec.
+	(scc_info::scc_info): New constructor.
+	(scc_info::~scc_info): New destructor.
+	(init_scc_info): Remove.
+	(free_scc_info): Remove.
+	(find_indirect_cycles): Adjust.
+	(perform_var_substitution): Likewise.
+	(free_var_substitution_info): Likewise.
+
+2016-07-26  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* tree-outof-ssa.c (struct elim_graph): Change type of members
+	to auto_vec and auto_sbitmap.
+	(elim_graph::elim_graph): New constructor.
+	(delete_elim_graph): Remove.
+	(expand_phi_nodes): Adjust.
+
+2016-07-26  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* tree-outof-ssa.c (struct elim_graph): Remove typedef.
+	(new_elim_graph): Adjust.
+	(clear_elim_graph): Likewise.
+	(delete_elim_graph): Likewise.
+	(elim_graph_size): Likewise.
+	(elim_graph_add_node): Likewise.
+	(elim_graph_add_edge): Likewise.
+	(elim_graph_remove_succ_edge): Likewise.
+	(eliminate_name): Likewise.
+	(eliminate_build): Likewise.
+	(elim_forward): Likewise.
+	(elim_unvisited_predecessor): Likewise.
+	(elim_backward): Likewise.
+	(elim_create): Likewise.
+	(eliminate_phi): Likewise.
+	(expand_phi_nodes): Likewise.
+
+2016-07-26  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* bt-load.c (compute_out): Use auto_sbitmap class.
+	(link_btr_uses): Likewise.
+	* cfganal.c (mark_dfs_back_edges): Likewise.
+	(post_order_compute): Likewise.
+	(inverted_post_order_compute): Likewise.
+	(pre_and_rev_post_order_compute_fn): Likewise.
+	(single_pred_before_succ_order): Likewise.
+	* cfgexpand.c (pass_expand::execute): Likewise.
+	* cfgloop.c (verify_loop_structure): Likewise.
+	* cfgloopmanip.c (fix_bb_placements): Likewise.
+	(remove_path): Likewise.
+	(update_dominators_in_loop): Likewise.
+	* cfgrtl.c (break_superblocks): Likewise.
+	* ddg.c (check_sccs): Likewise.
+	(create_ddg_all_sccs): Likewise.
+	* df-core.c (df_worklist_dataflow): Likewise.
+	* dse.c (dse_step3): Likewise.
+	* except.c (eh_region_outermost): Likewise.
+	* function.c (thread_prologue_and_epilogue_insns): Likewise.
+	* gcse.c (prune_expressions): Likewise.
+	(prune_insertions_deletions): Likewise.
+	* gimple-ssa-backprop.c (backprop::~backprop): Likewise.
+	* graph.c (draw_cfg_nodes_no_loops): Likewise.
+	* ira-lives.c (remove_some_program_points_and_update_live_ranges): Likewise.
+	* lcm.c (compute_earliest): Likewise.
+	(compute_farthest): Likewise.
+	* loop-unroll.c (unroll_loop_constant_iterations): Likewise.
+	(unroll_loop_runtime_iterations): Likewise.
+	(unroll_loop_stupid): Likewise.
+	* lower-subreg.c (decompose_multiword_subregs): Likewise.
+	* lra-lives.c: Likewise.
+	* lra.c (lra): Likewise.
+	* modulo-sched.c (schedule_reg_moves): Likewise.
+	(optimize_sc): Likewise.
+	(get_sched_window): Likewise.
+	(sms_schedule_by_order): Likewise.
+	(check_nodes_order): Likewise.
+	(order_nodes_of_sccs): Likewise.
+	(order_nodes_in_scc): Likewise.
+	* recog.c (split_all_insns): Likewise.
+	* regcprop.c (pass_cprop_hardreg::execute): Likewise.
+	* reload1.c (reload): Likewise.
+	* sched-rgn.c (haifa_find_rgns): Likewise.
+	(split_edges): Likewise.
+	(compute_trg_info): Likewise.
+	* sel-sched.c (init_seqno): Likewise.
+	* store-motion.c (remove_reachable_equiv_notes): Likewise.
+	* tree-into-ssa.c (update_ssa): Likewise.
+	* tree-ssa-live.c (live_worklist): Likewise.
+	* tree-ssa-loop-im.c (fill_always_executed_in): Likewise.
+	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
+	* Likewise.
+	(try_peel_loop): Likewise.
+	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop):
+	* Likewise.
+	* tree-ssa-pre.c (compute_antic): Likewise.
+	* tree-ssa-reassoc.c (undistribute_ops_list): Likewise.
+	* tree-stdarg.c (reachable_at_most_once): Likewise.
+	* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Likewise.
+	* var-tracking.c (vt_find_locations): Likewise.
+
+2016-07-26  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* sbitmap.h (auto_sbitmap): New class.
+
+2016-07-26  Alan Modra  <amodra@gmail.com>
+
+	PR target/72103
+	* config/rs6000/rs6000.c (rs6000_secondary_reload): Initialize
+	sri->t_icode.
+
+2016-07-25  David Malcolm  <dmalcolm@redhat.com>
+
+	* input.c (selftest::temp_source_file::temp_source_file): Fix
+	missing "%s" in fprintf.
+
+2016-07-25  John David Anglin  <danglin@gcc.gnu.org>
+
+	PR middle-end/71732
+	* cselib.c (cselib_process_insn): Invalidate argument slots for
+	const/pure calls.
+
+2016-07-25  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/arm_neon.h (vfmah_lane_f16, vfmah_laneq_f16,
+	vfmsh_lane_f16, vfmsh_laneq_f16, vmulh_lane_f16, vmulh_laneq_f16,
+	vmulxh_lane_f16, vmulxh_laneq_f16): New.
+
+2016-07-25  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
+	* config/aarch64/aarch64.md (fma, fnma): Support HF.
+	* config/aarch64/arm_fp16.h (vfmah_f16, vfmsh_f16): New.
+
+2016-07-25  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
+	* config/aarch64/aarch64.md (<FCVT_F2FIXED:fcvt_fixed_insn>hf<mode>3):
+	New.
+	(<FCVT_FIXED2F:fcvt_fixed_insn><mode>hf3): Likewise.
+	(add<mode>3): Likewise.
+	(sub<mode>3): Likewise.
+	(mul<mode>3): Likewise.
+	(div<mode>3): Likewise.
+	(*div<mode>3): Likewise.
+	(<fmaxmin><mode>3): Extend to HF.
+	* config/aarch64/aarch64-simd.md (aarch64_rsqrts<mode>): Likewise.
+	(fabd<mode>3): Likewise.
+	(<FCVT_F2FIXED:fcvt_fixed_insn><VHSDF_HSDF:mode>3): Likewise.
+	(<FCVT_FIXED2F:fcvt_fixed_insn><VHSDI_HSDI:mode>3): Likewise.
+	(aarch64_fmulx<mode>): Likewise.
+	(aarch64_fac<optab><mode>): Likewise.
+	(aarch64_frecps<mode>): Likewise.
+	(<FCVT_F2FIXED:fcvt_fixed_insn>hfhi3): New.
+	(<FCVT_FIXED2F:fcvt_fixed_insn>hihf3): Likewise.
+	* config/aarch64/iterators.md (VHSDF_SDF): Delete.
+	(VSDQ_HSDI): Support HI.
+	(fcvt_target, FCVT_TARGET): Likewise.
+	* config/aarch64/arm_fp16.h (vaddh_f16, vsubh_f16, vabdh_f16,
+	vcageh_f16, vcagth_f16, vcaleh_f16, vcalth_f16, vceqh_f16, vcgeh_f16,
+	vcgth_f16, vcleh_f16, vclth_f16, vcvth_n_f16_s16, vcvth_n_f16_s32,
+	vcvth_n_f16_s64, vcvth_n_f16_u16, vcvth_n_f16_u32, vcvth_n_f16_u64,
+	vcvth_n_s16_f16, vcvth_n_s32_f16, vcvth_n_s64_f16, vcvth_n_u16_f16,
+	vcvth_n_u32_f16, vcvth_n_u64_f16, vdivh_f16, vmaxh_f16, vmaxnmh_f16,
+	vminh_f16, vminnmh_f16, vmulh_f16, vmulxh_f16, vrecpsh_f16,
+	vrsqrtsh_f16): New.
+
+2016-07-25  Jiong Wang  <jiong.wang@arm.com>
+
+	* config.gcc (aarch64*-*-*): Install arm_fp16.h.
+	* config/aarch64/aarch64-builtins.c (hi_UP): New.
+	* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
+	* config/aarch64/aarch64-simd.md (aarch64_frsqrte<mode>): Extend to HF
+	mode.
+	(aarch64_frecp<FRECP:frecp_suffix><mode>): Likewise.
+	(aarch64_cm<optab><mode>): Likewise.
+	* config/aarch64/aarch64.md (<frint_pattern><mode>2): Likewise.
+	(l<fcvt_pattern><su_optab><GPF:mode><GPI:mode>2): Likewise.
+	(fix_trunc<GPF:mode><GPI:mode>2): Likewise.
+	(sqrt<mode>2): Likewise.
+	(*sqrt<mode>2): Likewise.
+	(abs<mode>2): Likewise.
+	(<optab><mode>hf2): New pattern for HF mode.
+	(<optab>hihf2): Likewise.
+	* config/aarch64/arm_neon.h: Include arm_fp16.h.
+	* config/aarch64/iterators.md (GPF_F16, GPI_F16, VHSDF_HSDF): New.
+	(w1, w2, v, s, q, Vmtype, V_cmp_result, fcvt_iesize, FCVT_IESIZE):
+	Support HF mode.
+	* config/aarch64/arm_fp16.h: New file.
+	(vabsh_f16, vceqzh_f16, vcgezh_f16, vcgtzh_f16, vclezh_f16, vcltzh_f16,
+	vcvth_f16_s16, vcvth_f16_s32, vcvth_f16_s64, vcvth_f16_u16,
+	vcvth_f16_u32, vcvth_f16_u64, vcvth_s16_f16, vcvth_s32_f16,
+	vcvth_s64_f16, vcvth_u16_f16, vcvth_u32_f16, vcvth_u64_f16,
+	vcvtah_s16_f16, vcvtah_s32_f16, vcvtah_s64_f16, vcvtah_u16_f16,
+	vcvtah_u32_f16, vcvtah_u64_f16, vcvtmh_s16_f16, vcvtmh_s32_f16,
+	vcvtmh_s64_f16, vcvtmh_u16_f16, vcvtmh_u32_f16, vcvtmh_u64_f16,
+	vcvtnh_s16_f16, vcvtnh_s32_f16, vcvtnh_s64_f16, vcvtnh_u16_f16,
+	vcvtnh_u32_f16, vcvtnh_u64_f16, vcvtph_s16_f16, vcvtph_s32_f16,
+	vcvtph_s64_f16, vcvtph_u16_f16, vcvtph_u32_f16, vcvtph_u64_f16,
+	vnegh_f16, vrecpeh_f16, vrecpxh_f16, vrndh_f16, vrndah_f16, vrndih_f16,
+	vrndmh_f16, vrndnh_f16, vrndph_f16, vrndxh_f16, vrsqrteh_f16,
+	vsqrth_f16): New.
+
+2016-07-25  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64-simd-builtins.def (reduc_smax_scal_,
+	reduc_smin_scal_): Use VDQIF_F16.
+	(reduc_smax_nan_scal_, reduc_smin_nan_scal_): Use VHSDF.
+	* config/aarch64/aarch64-simd.md (reduc_<maxmin_uns>_scal_<mode>):
+	Use VHSDF.
+	(aarch64_reduc_<maxmin_uns>_internal<mode>): Likewise.
+	* config/aarch64/iterators.md (VDQIF_F16): New.
+	(vp): Support HF modes.
+	* config/aarch64/arm_neon.h (vmaxv_f16, vmaxvq_f16, vminv_f16,
+	vminvq_f16, vmaxnmv_f16, vmaxnmvq_f16, vminnmv_f16, vminnmvq_f16): New.
+
+2016-07-25  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64-simd.md (*aarch64_mulx_elt_to_64v2df): Rename to
+	"*aarch64_mulx_elt_from_dup<mode>".
+	(*aarch64_mul3_elt<mode>): Update schedule type.
+	(*aarch64_mul3_elt_from_dup<mode>): Likewise.
+	(*aarch64_fma4_elt_from_dup<mode>): Likewise.
+	(*aarch64_fnma4_elt_from_dup<mode>): Likewise.
+	* config/aarch64/iterators.md (VMUL): Supprt half precision float modes.
+	(f, fp): Support HF modes.
+	* config/aarch64/arm_neon.h (vfma_lane_f16, vfmaq_lane_f16,
+	vfma_laneq_f16, vfmaq_laneq_f16, vfma_n_f16, vfmaq_n_f16, vfms_lane_f16,
+	vfmsq_lane_f16, vfms_laneq_f16, vfmsq_laneq_f16, vfms_n_f16,
+	vfmsq_n_f16, vmul_lane_f16, vmulq_lane_f16, vmul_laneq_f16,
+	vmulq_laneq_f16, vmul_n_f16, vmulq_n_f16, vmulx_lane_f16,
+	vmulxq_lane_f16, vmulx_laneq_f16, vmulxq_laneq_f16): New.
+
+2016-07-25  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
+	* config/aarch64/aarch64-simd.md (fma<mode>4, fnma<mode>4): Extend to HF
+	modes.
+	* config/aarch64/arm_neon.h (vfma_f16, vfmaq_f16, vfms_f16,
+	vfmsq_f16): New.
+
+2016-07-25  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
+	* config/aarch64/aarch64-simd.md
+	(aarch64_rsqrts<mode>): Extend to HF modes.
+	(fabd<mode>3): Likewise.
+	(<FCVT_F2FIXED:fcvt_fixed_insn><VHSDF_SDF:mode>3): Likewise.
+	(<FCVT_FIXED2F:fcvt_fixed_insn><VHSDI_SDI:mode>3): Likewise.
+	(aarch64_<maxmin_uns>p<mode>): Likewise.
+	(<su><maxmin><mode>3): Likewise.
+	(<maxmin_uns><mode>3): Likewise.
+	(<fmaxmin><mode>3): Likewise.
+	(aarch64_faddp<mode>): Likewise.
+	(aarch64_fmulx<mode>): Likewise.
+	(aarch64_frecps<mode>): Likewise.
+	(*aarch64_fac<optab><mode>): Rename to aarch64_fac<optab><mode>.
+	(add<mode>3): Extend to HF modes.
+	(sub<mode>3): Likewise.
+	(mul<mode>3): Likewise.
+	(div<mode>3): Likewise.
+	(*div<mode>3): Likewise.
+	* config/aarch64/aarch64.c (aarch64_emit_approx_div): Return false for
+	HF, V4HF and V8HF.
+	* config/aarch64/iterators.md (VDQ_HSDI, VSDQ_HSDI): New mode iterator.
+	* config/aarch64/arm_neon.h (vadd_f16, vaddq_f16, vabd_f16, vabdq_f16,
+	vcage_f16, vcageq_f16, vcagt_f16, vcagtq_f16, vcale_f16, vcaleq_f16,
+	vcalt_f16, vcaltq_f16, vceq_f16, vceqq_f16, vcge_f16, vcgeq_f16,
+	vcgt_f16, vcgtq_f16, vcle_f16, vcleq_f16, vclt_f16, vcltq_f16,
+	vcvt_n_f16_s16, vcvtq_n_f16_s16, vcvt_n_f16_u16, vcvtq_n_f16_u16,
+	vcvt_n_s16_f16, vcvtq_n_s16_f16, vcvt_n_u16_f16, vcvtq_n_u16_f16,
+	vdiv_f16, vdivq_f16, vdup_lane_f16, vdup_laneq_f16, vdupq_lane_f16,
+	vdupq_laneq_f16, vdups_lane_f16, vdups_laneq_f16, vmax_f16, vmaxq_f16,
+	vmaxnm_f16, vmaxnmq_f16, vmin_f16, vminq_f16, vminnm_f16, vminnmq_f16,
+	vmul_f16, vmulq_f16, vmulx_f16, vmulxq_f16, vpadd_f16, vpaddq_f16,
+	vpmax_f16, vpmaxq_f16, vpmaxnm_f16, vpmaxnmq_f16, vpmin_f16, vpminq_f16,
+	vpminnm_f16, vpminnmq_f16, vrecps_f16, vrecpsq_f16, vrsqrts_f16,
+	vrsqrtsq_f16, vsub_f16, vsubq_f16): New.
+
+2016-07-25  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64-builtins.c (TYPES_BINOP_USS): New.
+	* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
+	* config/aarch64/aarch64-simd.md (aarch64_rsqrte<mode>): Extend to HF modes.
+	(neg<mode>2): Likewise.
+	(abs<mode>2): Likewise.
+	(<frint_pattern><mode>2): Likewise.
+	(l<fcvt_pattern><su_optab><VDQF:mode><fcvt_target>2): Likewise.
+	(<optab><VDQF:mode><fcvt_target>2): Likewise.
+	(<fix_trunc_optab><VDQF:mode><fcvt_target>2): Likewise.
+	(ftrunc<VDQF:mode>2): Likewise.
+	(<optab><fcvt_target><VDQF:mode>2): Likewise.
+	(sqrt<mode>2): Likewise.
+	(*sqrt<mode>2): Likewise.
+	(aarch64_frecpe<mode>): Likewise.
+	(aarch64_cm<optab><mode>): Likewise.
+	* config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Return false for
+	HF, V4HF and V8HF.
+	* config/aarch64/iterators.md (VHSDF, VHSDF_DF, VHSDF_SDF): New.
+	(VDQF_COND, fcvt_target, FCVT_TARGET, hcon): Extend mode attribute to HF modes.
+	(stype): New.
+	* config/aarch64/arm_neon.h (vdup_n_f16): New.
+	(vdupq_n_f16): Likewise.
+	(vld1_dup_f16): Use vdup_n_f16.
+	(vld1q_dup_f16): Use vdupq_n_f16.
+	(vabs_f16, vabsq_f16, vceqz_f16, vceqzq_f16, vcgez_f16, vcgezq_f16,
+	vcgtz_f16, vcgtzq_f16, vclez_f16, vclezq_f16, vcltz_f16, vcltzq_f16,
+	vcvt_f16_s16, vcvtq_f16_s16, vcvt_f16_u16, vcvtq_f16_u16, vcvt_s16_f16,
+	vcvtq_s16_f16, vcvt_u16_f16, vcvtq_u16_f16, vcvta_s16_f16,
+	vcvtaq_s16_f16, vcvta_u16_f16, vcvtaq_u16_f16, vcvtm_s16_f16,
+	vcvtmq_s16_f16, vcvtm_u16_f16, vcvtmq_u16_f16, vcvtn_s16_f16,
+	vcvtnq_s16_f16, vcvtn_u16_f16, vcvtnq_u16_f16, vcvtp_s16_f16,
+	vcvtpq_s16_f16, vcvtp_u16_f16, vcvtpq_u16_f16, vneg_f16, vnegq_f16,
+	vrecpe_f16, vrecpeq_f16, vrnd_f16, vrndq_f16, vrnda_f16, vrndaq_f16,
+	vrndi_f16, vrndiq_f16, vrndm_f16, vrndmq_f16, vrndn_f16, vrndnq_f16,
+	vrndp_f16, vrndpq_f16, vrndx_f16, vrndxq_f16, vrsqrte_f16, vrsqrteq_f16,
+	vsqrt_f16, vsqrtq_f16): New.
+
+2016-07-25  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64-simd.md
+	(aarch64_<PERMUTE:perm_insn><PERMUTE:perm_hilo><mode>): Use VALL_F16.
+	(aarch64_ext<mode>): Likewise.
+	(aarch64_rev<REVERSE:rev_op><mode>): Likewise.
+	* config/aarch64/aarch64.c (aarch64_evpc_trn, aarch64_evpc_uzp,
+	aarch64_evpc_zip, aarch64_evpc_ext, aarch64_evpc_rev): Support V4HFmode
+	and V8HFmode.
+	* config/aarch64/arm_neon.h (__INTERLEAVE_LIST): Support float16x4_t,
+	float16x8_t.
+	(__aarch64_vdup_lane_f16, __aarch64_vdup_laneq_f16,
+	__aarch64_vdupq_lane_f16, __aarch64_vdupq_laneq_f16, vbsl_f16,
+	vbslq_f16, vdup_n_f16, vdupq_n_f16, vdup_lane_f16, vdup_laneq_f16,
+	vdupq_lane_f16, vdupq_laneq_f16, vduph_lane_f16, vduph_laneq_f16,
+	vext_f16, vextq_f16, vmov_n_f16, vmovq_n_f16, vrev64_f16, vrev64q_f16,
+	vtrn1_f16, vtrn1q_f16, vtrn2_f16, vtrn2q_f16, vtrn_f16, vtrnq_f16,
+	vuzp1_f16, vuzp1q_f16, vuzp2_f16, vuzp2q_f16, vzip1_f16, vzip2q_f16):
+	New.
+	(vmov_n_f16): Reimplement using vdup_n_f16.
+	(vmovq_n_f16): Reimplement using vdupq_n_f16..
+
+2016-07-25  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_add_constant): New parameter
+	"frame_related_p".  Generate CFA annotation when it's necessary.
+	(aarch64_expand_prologue): Use aarch64_add_constant.
+	(aarch64_expand_epilogue): Likewise.
+	(aarch64_output_mi_thunk): Pass "false" when calling
+	aarch64_add_constant.
+
+2016-07-25  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_add_constant): Optimize instruction
+	sequences.
+
+2016-07-25  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_add_constant): New parameter "mode".
+	Use aarch64_internal_mov_immediate instead of aarch64_build_constant.
+	(aarch64_output_mi_thunk): Pass Pmode when calling aarch64_add_constant.
+	(aarch64_build_constant): Delete.
+
+2016-07-25  Alexander Monakov  <amonakov@ispras.ru>
+
+	Revert
+	2016-07-20  Alexander Monakov  <amonakov@ispras.ru>
+
+	* config/nvptx/nvptx.c (nvptx_option_override): Do not set
+	flag_toplevel_reorder.
+
+2016-07-25  Richard Biener  <rguenther@suse.de>
+
+	* cgraph.c (cgraph_node::verify_node): Compare against builtin
+	by using DECL_BUILT_IN_CLASS and DECL_FUNCTION_CODE.
+	* tree-chkp.c (chkp_gimple_call_builtin_p): Likewise.
+	* tree-streamer.h (streamer_handle_as_builtin_p): Remove.
+	(streamer_get_builtin_tree): Likewise.
+	(streamer_write_builtin): Likewise.
+	* lto-streamer.h (LTO_builtin_decl): Remove.
+	* lto-streamer-in.c (lto_read_tree_1): Remove assert.
+	(lto_input_scc): Remove LTO_builtin_decl handling.
+	(lto_input_tree_1): Liekwise.
+	* lto-streamer-out.c (lto_output_tree_1): Remove special
+	handling of builtins.
+	(DFS::DFS): Likewise.
+	* tree-streamer-in.c (streamer_get_builtin_tree): Remove.
+	* tree-streamer-out.c (pack_ts_function_decl_value_fields): Remove
+	assert.
+	(streamer_write_builtin): Remove.
+
+2016-07-25  Martin Liska  <mliska@suse.cz>
+
+	* lto-cgraph.c (input_symtab): Don't call get_working_sets
+	if flag_auto_profile is set to true.
+
+2016-07-25  Martin Liska  <mliska@suse.cz>
+
+	PR gcov-profile/71868
+	* cfgloopanal.c (expected_loop_iterations_unbounded): When we
+	have a function with multiple latches, count them all.
+
+2016-07-25  Martin Liska  <mliska@suse.cz>
+
+	* tree-ssa-loop-niter.c (loop_only_exit_p): Release body array.
+
+2016-07-25  Martin Liska  <mliska@suse.cz>
+
+	PR tree-optimization/71987
+	* tree-ssa-reassoc.c (maybe_optimize_range_tests): Call get_ops
+	just for SSA_NAMEs. Fix GNU coding style.
+
+2016-07-25  Martin Liska  <mliska@suse.cz>
+
+	PR gcov-profile/64874
+	* gcov-io.h: Update command about file format.
+	* gcov-iov.c (main): Adapt the numbering scheme.
+
+2016-07-24  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	PR middle-end/66726
+	* tree-ssa-reassoc.c (optimize_vec_cond_expr): Handle tcc_compare stmt
+	whose result is used in PHI.
+	(final_range_test_p): Likewise.
+	(maybe_optimize_range_tests): Likewise.
+
+2016-07-22  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
+	Reformat two multi-line strings.
+
+2016-07-22  Martin Sebor  <msebor@redhat.com>
+
+	* doc/extend.texi (Compound Literals): Add '@' missed in last commit.
+
+2016-07-22  Martin Sebor  <msebor@redhat.com>
+
+	PR c/71560
+	* doc/extend.texi (Compound Literals): Correct and clarify.
+	(Cast to Union): Same.
+
+2016-07-22  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+	* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
+	comments to explain why certain error messages make mention of
+	undocumented options.
+	(rs6000_invalid_builtin): Change error messages to replace mention
+	of undocumented options with mention of the -mcpu=power9 option
+	that enables those undocumented options.
+	* config/rs6000/rs6000.h (MASK_FLOAT128): New macro.
+	(RS6000_BTM_FLOAT128): Use the new MASK_FLOAT128 macro in the
+	definition of this macro to correct an existing error.
+	* config/rs6000/rs6000.opt: Add the Undocumented qualifier to the
+	mpower9-fusion, mpower9-vector, mpower9-dform, and mmodulo entries.
+	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Modify
+	descriptions of built-in functions so that they depend on
+	-mcpu=power9 instead of on the corresponding undocumented flags.
+	* doc/invoke.texi (Option Summary):  Remove all mention of newly
+	undocumented flags.
+	(IBM RS/6000 and PowerPC Options): Likewise.
+	* doc/md.texi (Constraints for Particuliar Machines): Remove all
+	mention of newly undocumented flags.
+
+2016-07-22  Evgeny Stupachenko  <evstupac@gmail.com>
+
+	* ipa-cp.c (determine_versionability): Do not create constprop clones,
+	when target_clones attribute is set.
+
+2016-07-22  Bin Cheng  <bin.cheng@arm.com>
+
+	* common.opt (funsafe-loop-optimizations): Mark ignore.
+	* doc/invoke.texi (funsafe-loop-optimizations): Remove.
+	* loop-iv.c (get_simple_loop_desc): Remove unsafe-loop-optimizations
+	related code.
+	* tree-ssa-loop-niter.c (finite_loop_p): Ditto.
+	* config/bfin/bfin.c (bfin_can_use_doloop_p): Ditto.
+
+2016-07-22  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-niter.h (number_of_iterations_exit_assumptions): New
+	Parameter.
+	* tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions): New
+	Parameter.
+	(number_of_iterations_exit): Warn missed loop optimization for
+	possible infinite loops.
+
+2016-07-22  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR target/71216
+	* config/rs6000/rs6000.c (rs6000_file_start): Fix condition for
+	when to emit a ".machine" pseudo-op.
+
+2016-07-22  Martin Liska  <mliska@suse.cz>
+
+	PR gcov-profile/69028
+	PR gcov-profile/62047
+	* coverage.c (coverage_compute_lineno_checksum): Do not
+	calculate checksum for fns w/o xloc.file.
+	(coverage_compute_profile_id): Likewise.
+
+2016-07-22  Georg-Johann Lay  <avr@gjlay.de>
+
+	* config/avr/avr.c (TARGET_SECONDARY_RELOAD): Remove hook define...
+	(avr_secondary_reload): ...and implementation.
+	(avr_adjust_insn_length) [ADJUST_LEN_LPM]: Remove handling.
+	* config/avr/avr.md (reload_in<mode>): Remove insns.
+	(adjust_len) [lpm]: Remove insn attribute value.
+	* config/avr/predicates.md (flash_operand): Remove insn predicate.
+
+2016-07-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	PR middle-end/71876
+	* builtin-attrs.def (ATTR_RT_NOTHROW_LEAF_LIST): New return twice
+	attribute.
+	* builtins.def (BUILT_IN_SETJMP): Use ATTR_RT_NOTHROW_LEAF_LIST here.
+	* calls.c (special_function_p): Remove the special handling of the
+	"__builtin_" prefix.
+
+2016-07-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	PR middle-end/71876
+	* calls.c (gimple_maybe_alloca_call_p): New function.  Return true
+	if STMT may be an alloca call.
+	(gimple_alloca_call_p, alloca_call_p): Return only true for the
+	builtin alloca call.
+	* calls.h (gimple_maybe_alloca_call_p): New function.
+	* tree-inline.c (inline_forbidden_p_stmt): Use
+	gimple_maybe_alloca_call_p here.
+
+2016-07-21  David Malcolm  <dmalcolm@redhat.com>
+
+	* spellcheck-tree.c (best_macro_match::best_macro_match):
+	Explictly specify the template arguments when invoking the base
+	class constructor, to help older C++ compilers.
+
+2016-07-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/71953
+	* asan.c (asan_dynamic_init_call): Call asan_init_shadow_ptr_types
+	before builtin_decl_implicit.
+
+2016-07-21  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* optabs.c (emit_condiitonal_move): Short circuit for identical
+	sources.
+
+2016-07-21  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* ifcvt.c (noce_if_info): New fields: speed_p, original_cost,
+	max_seq_cost.  Removed fields: then_cost, else_cost, branch_cost.
+	(noce_conversion_profitable_p): New.
+	(noce_try_store_flag_constants): Use it.
+	(noce_try_addcc): Likewise.
+	(noce_try_store_flag_mask): Likewise.
+	(noce_try_cmove): Likewise.
+	(noce_try_cmove_arith): Likewise.
+	(bb_valid_for_noce_process_p): Add to the cost parameter rather than
+	overwriting it.
+	(noce_convert_multiple_sets): Move cost model to here, from...
+	(bb_ok_for_noce_convert_multiple_sets) ...here.
+	(noce_process_if_block): Update calls for above changes.
+	(noce_find_if_block): Record new noce_if_info parameters.
+
+2016-07-21  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* target.def (max_noce_ifcvt_seq_cost): New.
+	* doc/tm.texi.in (TARGET_MAX_NOCE_IFCVT_SEQ_COST): Document it.
+	* doc/tm.texi: Regenerate.
+	* targhooks.h (default_max_noce_ifcvt_seq_cost): New.
+	* targhooks.c (default_max_noce_ifcvt_seq_cost): New.
+	* params.def (PARAM_MAX_RTL_IF_CONVERSION_PREDICTABLE_COST): New.
+	(PARAM_MAX_RTL_IF_CONVERSION_UNPREDICTABLE_COST): Likewise.
+	* doc/invoke.texi: Document new params.
+
+2016-07-21  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71947
+	* tree-vrp.c (extract_range_from_assert): Singleton symbolic
+	ranges have useful limit_vr information.
+
+2016-07-21  Richard Biener  <rguenther@suse.de>
+
+	* function-tests.c (build_trivial_generic_function): Set
+	BLOCK_SUPERCONTEXT of DECL_INITIAL.
+	* omp-low.c (create_omp_child_function): Likewise.
+	(grid_expand_target_grid_body): Likewise.
+	* cgraphunit.c (init_lowered_empty_function): Likewise.
+	(cgraph_node::expand_thunk): Likewise.
+	* tree-parloops.c (create_loop_fn): Likewise.
+	* ipa.c (cgraph_build_static_cdtor_1): Likewise.
+
+2016-07-21  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	* tree-ssa-strlen.c (strlen_dom_walker::before_dom_children): Fix typo
+	in comment.
+
+2016-07-21  Georg-Johann Lay  <avr@gjlay.de>
+
+	* config/avr/avr.md (any_extract, any_shiftrt): New code iterators.
+	(*insv.extract, *insv.shiftrt, *insv.not-bit.0, *insv.not-bit.7)
+	(*insv.xor-extract, *insv.xor1-bit.0): New insns.
+	(adjust_len) [insv_notbit, insv_notbit_0, insv_notbit_7]: New
+	values for insn attribute.
+	* config/avr/avr.c (avr_out_insert_notbit): New function.
+	(avr_adjust_insn_length): Handle ADJUST_LEN_INSV_NOTBIT,
+	ADJUST_LEN_INSV_NOTBIT_0/_7.
+	* config/avr/avr-protos.h (avr_out_insert_notbit): New proto.
+
+2016-07-21  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-chrec.c (convert_affine_scev): New parameter.  Pass new arg.
+	(chrec_convert_1, chrec_convert): Ditto.
+	* tree-chrec.h (chrec_convert, convert_affine_scev): New parameter.
+	* tree-scalar-evolution.c (interpret_rhs_expr): Pass new arg.
+	* tree-vrp.c (adjust_range_with_scev): Ditto.
+	* tree-ssa-loop-niter.c (idx_infer_loop_bounds): Ditto.
+	(scev_var_range_cant_overflow): New function.
+	(scev_probably_wraps_p): New parameter.  Call above function.
+	* tree-ssa-loop-niter.h (scev_probably_wraps_p): New parameter.
+
+2016-07-21  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne): Clean up
+	by removing computation of may_be_zero.
+
+2016-07-21  Jakub Jelinek  <jakub@redhat.com>
+
+	* tree-object-size.c (unknown): Use HOST_WIDE_INT_M1U instead of -1.
+
+2016-07-21  Andrew Sutton  <andrew.n.sutton@gmail.com>
+
+	Improving concepts performance and diagnostics.
+	* timevar.def (TV_CONSTRAINT_SAT, TV_CONSTRAINT_SUB): New time vars
+	for constraint satisfaction and subsumption.
+	* timevar.h (auto_timevar): New constructor that matches the push/pop
+	pattern of usage in pt.c.
+
+2016-07-20  Uros Bizjak  <ubizjak@gmail.com>
+
+	* hwint.h (HOST_WIDE_INT_0): New define.
+	(HOST_WIDE_INT_0U): Ditto.
+	* double-int.c: Use HOST_WIDE_INT_0 instead of (HOST_WIDE_INT) 0.
+	* dse.c: Use HOST_WIDE_INT_0U instead of (unsigned HOST_WIDE_INT) 0.
+	* simplify-rtx.c: Ditto.
+	* tree-object-size.c: Ditto.
+
+2016-07-20  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.c (s390_encode_section_info): Remove mode size
+	check.
+
+2016-07-20  Uros Bizjak  <ubizjak@gmail.com>
+
+	* cse.c: Use HOST_WIDE_INT_M1 instead of ~(HOST_WIDE_INT) 0.
+	* combine.c: Use HOST_WIDE_INT_M1U instead of
+	~(unsigned HOST_WIDE_INT) 0.
+	* double-int.h: Ditto.
+	* dse.c: Ditto.
+	* dwarf2asm.c:Ditto.
+	* expmed.c: Ditto.
+	* genmodes.c: Ditto.
+	* match.pd: Ditto.
+	* read-rtl.c: Ditto.
+	* tree-ssa-loop-ivopts.c: Ditto.
+	* tree-ssa-loop-prefetch.c: Ditto.
+	* tree-vect-generic.c: Ditto.
+	* tree-vect-patterns.c: Ditto.
+	* tree.c: Ditto.
+
+2016-07-20  Georg-Johann Lay  <avr@gjlay.de>
+
+	* config/avr.c (avr_legitimize_address) [AVR_TINY]: Force
+	constant addresses outside [0,0xc0] into a register.
+	(avr_out_movhi_r_mr_reg_no_disp_tiny): Pass insn.  And handle
+	cases where the base address register is unused after.
+	(avr_out_movhi_r_mr_reg_disp_tiny): Same.
+	(avr_out_movhi_mr_r_reg_disp_tiny): Same.
+	(avr_out_store_psi_reg_disp_tiny): Same.
+
+2016-07-20  Georg-Johann Lay  <avr@gjlay.de>
+
+	Implement attribute progmem on reduced Tiny cores by adding
+	flash offset 0x4000 to respective symbols.
+
+	PR target/71948
+	* doc/extend.texi (AVR Variable Attributes) [progmem]: Add
+	documentation how it works on reduced Tiny cores.
+	(AVR Named Address Spaces): No support for reduced Tiny.
+	* config/avr/avr.c (AVR_SYMBOL_FLAG_TINY_PM): New macro.
+	(avr_address_tiny_pm_p): New static function.
+	(avr_print_operand_address) [AVR_TINY]: Add AVR_TINY_PM_OFFSET
+	if the address is in progmem.
+	(avr_assemble_integer): Same.
+	(avr_encode_section_info) [AVR_TINY]: Set AVR_SYMBOL_FLAG_TINY_PM
+	for symbol_ref in progmem.
+	* config/avr/avr.h (AVR_TINY_PM_OFFSET): New macro.
+	* config/avr/avr-c.c (avr_cpu_cpp_builtins): Use it instead of
+	magic 0x4000 when built-in def'ing __AVR_TINY_PM_BASE_ADDRESS__.
+
+2016-07-20  Patrick Palka  <ppalka@gcc.gnu.org>
+
+	* configure.ac (thin_archive_support): New variable.  AC_SUBST it.
+	* configure: Regenerate.
+	* Makefile.in (THIN_ARCHIVE_SUPPORT): New variable.
+	(USE_THIN_ARCHIVES): New variable.
+	(libbackend.a): If USE_THIN_ARCHIVES then pass T to ar to build
+	this archive as a thin archive.
+
+2016-07-20  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic-show-locus.c (diagnostic_show_locus): If this is the
+	same location as last time, don't skip if we have fix-it hints.
+	Clarify the skipping logic by converting it from one "if" clause
+	to repeated "if" clauses.
+	* spellcheck-tree.c: Include "cpplib.h".
+	(find_closest_macro_cpp_cb): Move here from c/c-decl.c.
+	(best_macro_match::best_macro_match): New constructor.
+	* spellcheck-tree.h (struct edit_distance_traits<cpp_hashnode *>):
+	Move here from c/c-decl.c.
+	(class best_macro_match): Move here from c/c-decl.c, converting
+	from a typedef to a subclass, gaining a ctor.
+
+2016-07-20  Georg-Johann Lay  <avr@gjlay.de>
+
+	* config/avr/avr-protos.h (avr_addr_space_supported_p): New prototype.
+	* config/avr/avr.c (TARGET_ADDR_SPACE_DIAGNOSE_USAGE): New hook
+	define...
+	(avr_addr_space_diagnose_usage): ...and implementation.
+	(avr_addr_space_supported_p): New function.
+	(avr_nonconst_pointer_addrspace, avr_pgm_check_var_decl): Only
+	report bad address space usage if that space is supported.
+	(avr_insert_attributes): Same.  No more complain about unsupported
+	address spaces.
+	* config/avr/avr-c.c (tm_p.h): Include it.
+	(avr_cpu_cpp_builtins):	Only define addr-space related built-in
+	macro if avr_addr_space_supported_p.
+
+2016-07-20  Alexander Monakov  <amonakov@ispras.ru>
+
+	* config/nvptx/nvptx.c (nvptx_option_override): Do not set
+	flag_toplevel_reorder.
+
+2016-07-20  David Malcolm  <dmalcolm@redhat.com>
+
+	* gcc-rich-location.c
+	(gcc_rich_location::add_fixit_misspelled_id): New overload, taking
+	a const char *.
+	* gcc-rich-location.h
+	(gcc_rich_location::add_fixit_misspelled_id): Likewise.
+
+2016-07-20  Georg-Johann Lay  <avr@gjlay.de>
+
+	* target.def (addr_space): Add new diagnose_usage to hook vector.
+	* targhooks.c (default_addr_space_diagnose_usage): Add default
+	implementation and...
+	* targhooks.h (default_addr_space_diagnose_usage): ... its prototype.
+	* c/c-parser.c (c_lex_one_token) [CPP_NAME]: If the token
+	is some address space, call targetm.addr_space.diagnose_usage.
+	* doc/tm.texi.in (Named Address Spaces): Add anchor for
+	TARGET_ADDR_SPACE_DIAGNOSE_USAGE documentation.
+	* doc/tm.texi: Regenerate.
+
+2016-07-20  Martin Liska  <mliska@suse.cz>
+
+	PR middle-end/71898
+	* graphite-isl-ast-to-gimple.c (later_of_the_two):
+	Properly handly PHI stmts.
+
+2016-07-20  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/71503
+	PR tree-optimization/71683
+	* tree-if-conv.c (gen_phi_arg_condition): Record true predicate
+	and break.
+
+2016-07-20  Martin Liska  <mliska@suse.cz>
+
+	* doc/invoke.texi (-fipa-ra): Document when the option is
+	disabled. Fix a typo.
+
+2016-07-20  Martin Liska  <mliska@suse.cz>
+
+	* Makefile.in: Include fibonacci_heap.c
+	* fibonacci_heap.c: New file.
+	* fibonacci_heap.h (fibonacci_heap::insert): Use insert_node.
+	(fibonacci_heap::union_with): Fix deletion of the second heap.
+	* selftest-run-tests.c (selftest::run_tests): Incorporate
+	fibonacci heap tests.
+	* selftest.h: Declare fibonacci_heap_c_tests.
+
+2016-07-20  Martin Liska  <mliska@suse.cz>
+
+	* selftest-run-tests.c (selftest::run_tests): New function.
+	* selftest.h (sreal_c_tests): Declare.
+	* sreal.c (sreal_verify_basics): New function.
+	(verify_aritmetics): Likewise.
+	(sreal_verify_arithmetics): Likewise.
+	(verify_shifting): Likewise.
+	(sreal_verify_shifting): Likewise.
+	(void sreal_c_tests): Likewise.
+
+2016-07-19  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/71916
+	* cfgrtl.c (contains_no_active_insn_p): Return false also for
+	bb which have a single succ fake edge.
+
+2016-07-19  Aldy Hernandez  <aldyh@redhat.com>
+
+	PR debug/71855
+	* dwarf2out.c (gen_subprogram_die): Only call
+	gen_unspecified_parameters_die while dumping early dwarf.
+
+2016-07-19  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/71874
+	* gimple-fold.c (fold_builtin_memory_op): Use
+	get_addr_base_and_unit_offset instead of get_ref_base_and_extent.
+
+2016-07-19  Uros Bizjak  <ubizjak@gmail.com>
+
+	* builtins.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1,
+	HOST_WIDE_INT_1U instead of (unsigned HOST_WIDE_INT) 1,
+	HOST_WIDE_INT_M1 instead of (HOST_WIDE_INT) -1 and
+	HOST_WIDE_INT_M1U instead of (unsigned HOST_WIDE_INT) -1.
+	* combine.c: Ditto.
+	* cse.c: Ditto.
+	* dojump.c: Ditto.
+	* double-int.c: Ditto.
+	* dse.c: Ditto.
+	* dwarf2out.c: Ditto.
+	* expmed.c: Ditto.
+	* expr.c: Ditto.
+	* fold-const.c: Ditto.
+	* function.c: Ditto.
+	* fwprop.c: Ditto.
+	* genmodes.c: Ditto.
+	* hwint.c: Ditto.
+	* hwint.h: Ditto.
+	* ifcvt.c: Ditto.
+	* loop-doloop.c: Ditto.
+	* loop-invariant.c: Ditto.
+	* loop-iv.c: Ditto.
+	* match.pd: Ditto.
+	* optabs.c: Ditto.
+	* real.c: Ditto.
+	* reload.c: Ditto.
+	* rtlanal.c: Ditto.
+	* simplify-rtx.c: Ditto.
+	* stor-layout.c: Ditto.
+	* toplev.c: Ditto.
+	* tree-ssa-loop-ivopts.c: Ditto.
+	* tree-vect-generic.c: Ditto.
+	* tree-vect-patterns.c: Ditto.
+	* tree.c: Ditto.
+	* tree.h: Ditto.
+	* ubsan.c: Ditto.
+	* varasm.c: Ditto.
+	* wide-int-print.cc: Ditto.
+	* wide-int.cc: Ditto.
+	* wide-int.h: Ditto.
+
+2016-07-19  David Malcolm  <dmalcolm@redhat.com>
+
+	* selftest.c (selftest::assert_streq): Handle NULL values of
+	val_actual and val_expected.
+
+2016-07-19  Martin Jambor  <mjambor@suse.cz>
+
+	PR fortran/71688
+	* trans-decl.c (gfc_generate_function_code): Use cgraph_get_create_node
+	rather than cgraph_create_node to get a call graph node.
+
+2016-07-19  Richard Biener  <rguenther@suse.de>
+
+	* gimple-fold.c (get_base_constructor): Add VIEW_CONVERT case,
+	handle all tcc_constant bases and valueize SSA names.
+	* tree-ssa-sccvn.c (fully_constant_vn_reference_p): Handle
+	tcc_constant bases.
+
+2016-07-19  David Malcolm  <dmalcolm@redhat.com>
+
+	* function-tests.c (selftest::verify_three_block_rtl_cfg): Verify
+	the flags of the exit block and bb2, not just the entry block.
+
+2016-07-19  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71901
+	* tree-ssa-sccvn.h (struct vn_reference_op_struct): Add
+	align member, group stuff with the bitfield.
+	(vn_ref_op_align_unit): New inline.
+	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): For ARRAY_REFs
+	record element alignment and operand 3 unchanged.
+	(ao_ref_init_from_vn_reference): Adjust.
+	(valueize_refs_1): Likewise.
+	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
+
+2016-07-19  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71908
+	* tree-ssa-structalias.c (get_constraint_for_component_ref): Handle
+	symbolic constants in a more reliable way.
+
+2016-07-19  Ilya Enkovich  <ilya.enkovich@intel.com>
+
+	* tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer): Update
+	comment.
+	(vect_update_inits_of_drs): Likewise.
+	(vect_create_cond_for_alias_checks): Likewise.
+	* tree-vect-loop.c (vect_get_known_peeling_cost): Likewise.
+
+2016-07-19  Richard Biener  <rguenther@suse.de>
+
+	PR lto/71907
+	* lto-streamer-out.c (DFS::DFS_write_tree_body): For blocks
+	with an abstract origin that is not an inlined function outer
+	scope add a self-reference as abstract origin.
+	* tree-streamer-out.c (write_ts_block_tree_pointers): Likewise.
+
+2016-07-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/71493
+	* config/rs6000/rs6000.c (rs6000_function_value): Fix
+	unintentional System V.4 structure return breakage for structures
+	with a single floating point element.
+
+2016-07-18  Yuri Rumyantsev  <ysrumyan@gmail.com>
+
+	PR tree-optimization/71734
+	* tree-ssa-loop-im.c (ref_indep_loop_p_1): Add REF_LOOP argument which
+	contains REF, use it to check safelen, assume that safelen value
+	must be greater 1, fix style.
+	(ref_indep_loop_p_2): Add REF_LOOP argument.
+	(ref_indep_loop_p): Pass LOOP as additional argument to
+	ref_indep_loop_p_2.
+
+2016-07-18  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	* cfgexpand.c (expand_stack_vars): Implement synamic stack space
+	allocation in the prologue.
+	* explow.c (get_dynamic_stack_base): New function to return an address
+	expression for the dynamic stack base.
+	(get_dynamic_stack_size): New function to do the required dynamic stack
+	space size calculations.
+	(allocate_dynamic_stack_space): Use new functions.
+	(align_dynamic_address): Move some code from
+	allocate_dynamic_stack_space to new function.
+	* explow.h (get_dynamic_stack_base, get_dynamic_stack_size): Export.
+
+2016-07-18  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.c (s390_encode_section_info): Always set
+	notaligned marker if mode size is 0 or no MEM_ALIGN info could be
+	found.
+
+2016-07-18  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71893
+	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Compensate
+	for sizetype cast added by array_ref_element_size.
+	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
+
+2016-07-16  John David Anglin  <danglin@gcc.gnu.org>
+
+	* config/pa/pa.c (hppa_profile_hook): Allocate stack space for
+	register parameters.  Remove code to initialize argument pointer
+	on TARGET_64BIT.  Optimize call to _mcount when it can be reached
+	using a pc-relative branch.  Cleanup conditional code.
+	* config/pa/pa.md (call_mcount): New expander.
+	(call_mcount_nonpic): New insn.
+	(call_mcount_pic): New insn and split.
+	(call_mcount_pic_post_reload): New insn.
+	(call_mcount_64bit): New insn and split.
+	(call_mcount_64bit_post_reload): New insn.
+
+2016-07-15  Georg-Johann Lay  <avr@gjlay.de>
+
+	* config/avr/predicates.md (const_m255_to_m1_operand): New.
+	* config/avr/constraints.md (Cn8, Ca1, Co1, Yx2): New constraints.
+	* config/avr/avr.md (add<mode>3) <ALL1>: Fix set_vzn for +/-2.
+	(*cmphi.zero-extend.0, *cmphi.zero-extend.1)
+	(*usum_widenqihi3, *udiff_widenqihi3)
+	(*addhi3_zero_extend.const): New combiner insns.
+	(andqi3, iorqi3): Provide "l" (NO_LD_REGS) alternative if
+	just 1 bit is affected.
+	* config/avr/avr.c (avr_out_bitop) <QImode>: Don't access xop[3].
+	(avr_out_compare) [EQ,NE]: Tweak comparing d-regs against -1.
+
+2016-07-15  Cesar Philippidis  <cesar@codesourcery.com>
+
+	* omp-low.c (lower_omp_target): Mark data clauses with
+	GOMP_MAP_FORCE_{PRESENT,TO,FROM,TOFROM} as potentially having
+	zero-length subarrays.
+
+2016-07-15  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71881
+	* tree-loop-distribution.c (destroy_loop): Remove blocks in
+	reverse DOM order to make debug temp generation happy.
+
+2016-07-15  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71887
+	* tree-ssa-phiopt.c (absorbing_element_p): Add rhs arg and
+	verify it is not zero for division / modulo handling.
+	(value_replacement): Adjust.
+
+2016-07-15  Virendra Pathak  <virendra.pathak@broadcom.com>
+	    Julian Brown  <julian@codesourcery.com>
+
+	* config/aarch64/aarch64-cores.def: Update vulcan COSTS.
+	* config/aarch64/aarch64-cost-tables.h
+	(vulcan_extra_costs): New variable.
+	* config/aarch64/aarch64.c
+	(vulcan_addrcost_table): Likewise.
+	(vulcan_regmove_cost): Likewise.
+	(vulcan_vector_cost): Likewise.
+	(vulcan_branch_cost): Likewise.
+	(vulcan_tunings): Likewise.
+
+2016-07-15  Alexander Monakov  <amonakov@ispras.ru>
+
+	* cgraphunit.c (cgraph_order_sort_kind): New entry ORDER_VAR_UNDEF.
+	(output_in_order): Loop over undefined variables too.  Output them
+	via assemble_undefined_decl.  Skip variables that correspond to hard
+	registers or have value-exprs.
+	* varpool.c (symbol_table::output_variables): Handle undefined
+	variables together with defined ones.
+
+2016-07-15  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-pre.c (get_representative_for): Make sure to return
+	the value number of SSA names.
+	(phi_translate_1): get_representative_for cannot return NULL.
+	(do_pre_regular_insertion): Remove redundant call to
+	fully_constant_expression.
+	(do_pre_partial_partial_insertion): Likewise.
+
+2016-07-15  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-scalar-evolution.c (simple_iv_with_niters): New funcion.
+	(derive_simple_iv_with_niters): New function.
+	(simple_iv): Rewrite using simple_iv_with_niters.
+	* tree-scalar-evolution.h (simple_iv_with_niters): New decl.
+	* tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions): New
+	function.
+	(number_of_iterations_exit): Rewrite using above function.
+	* tree-ssa-loop-niter.h (number_of_iterations_exit_assumptions): New
+	Decl.
+
+2016-07-15  Richard Biener  <rguenther@suse.de>
+
+	* config/i386/i386.c (ix86_builtin_vectorization_cost): Adjust
+	vec_construct cost.
+
+2016-07-14  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/71872
+	* tree-data-ref.c (get_references_in_stmt): Ignore references
+	with is_gimple_constant get_base_address.
+
+2016-07-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm.h (TARGET_HAVE_LDACQ): Enable for ARMv8-M Mainline.
+	(TARGET_HAVE_LDACQD): New macro.
+	* config/arm/sync.md (atomic_loaddi): Use TARGET_HAVE_LDACQD rather
+	than TARGET_HAVE_LDACQ.
+	(arm_load_acquire_exclusivedi): Likewise.
+	(arm_store_release_exclusivedi): Likewise.
+
+2016-07-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	PR rtl-optimization/71878
+	* lra-constraints.c (match_reload): Pass information about other
+	output operands.  Create new unique register value if matching input
+	operand shares same register value as output operand being considered.
+	(curr_insn_transform): Record output operands already processed.
+
+2016-07-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/65951
+	PR tree-optimization/70923
+	* tree-vect-patterns.c: Include mult-synthesis.h.
+	(target_supports_mult_synth_alg): New function.
+	(synth_lshift_by_additions): Likewise.
+	(apply_binop_and_append_stmt): Likewise.
+	(vect_synth_mult_by_constant): Likewise.
+	(target_has_vecop_for_code): Likewise.
+	(vect_recog_mult_pattern): Use above functions to synthesize vector
+	multiplication by integer constants.
+
+2016-07-14  Alan Modra  <amodra@gmail.com>
+
+	* config/rs6000/altivec.md (altivec_mov<mode>): Disparage
+	gpr alternatives.  Correct '*' placement on Y,r alternative.
+	Add '*' on operand 1 of r,r alternative.
+
+2016-07-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* expmed.c (mult_variant, choose_mult_variant): Move declaration to...
+	* expmed.h: ... Here.
+
+2016-07-14  Jan Hubicka  <hubicka@ucw.cz>
+
+	* gimple.h (stmt_can_terminate_bb_p): New function.
+	* tree-cfg.c (need_fake_edge_p): Rename to ...
+	(stmt_can_terminate_bb_p): ... this; return true if stmt can
+	throw external; handle const and pure calls.
+	* tree-ssa-loop-niter.c (loop_only_exit_p): Use it.
+
+2016-07-14  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71866
+	* tree-ssa-pre.c (get_constant_for_value_id): Remove.
+	(do_hoist_insertion): Avoid endless recursion when we
+	didn't insert anything because we managed to simplify
+	things down to a constant or SSA name.
+	(fully_constant_expression): Re-write in terms of ...
+	* tree-ssa-sccvn.h (vn_nary_simplify): ... this.  Declare.
+	* tree-ssa-sccvn.c (vn_nary_simplify): New wrapper around
+	vn_nary_build_or_lookup_1.
+	(vn_nary_build_or_lookup_1): Added flag and renamed from ...
+	(vn_nary_build_or_lookup): ... this which now wraps it.
+
+2016-07-14  Alan Modra  <amodra@gmail.com>
+
+	PR target/71733
+	* config/rs6000/rs6000.c (rs6000_option_override_internal): Deal
+	with p9_vector override before power9-dform override.
+
+2016-07-13  Andi Kleen  <ak@linux.intel.com>
+
+	* value-prof.c (gimple_value_profile_transformations): Don't run
+	when auto_profile is on.
+
+2016-07-13  Andi Kleen  <ak@linux.intel.com>
+
+	* auto-profile.c (update_inlined_ind_target,
+	afdo_indirect_call): Print information to dump file.
+
+2016-07-13  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* genrecog.c (special_predicate_operand_p): New function.
+	(predicate_name): Move function.
+	(validate_pattern): Don't warn about missing mode for all
+	define_special_predicate predicates.
+
+2016-07-13  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-vect-data-refs.c (vect_no_alias_p): New function.
+	(vect_prune_runtime_alias_test_list): Call vect_no_alias_p to
+	resolve alias checks which are known at compilation time.
+	Truncate vector LOOP_VINFO_MAY_ALIAS_DDRS(loop_vinfo) if all
+	alias checks are resolved.  Move dump info for too many runtime
+	alias checks to here...
+	* tree-vect-loop.c (vect_analyze_loop_2): ...From here.
+
+2016-07-13  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/24574
+	* tree-ssa-phiopt.c (absorbing_element_p): Pass in argument
+	position and add shift, rotate, divison and modulo support
+	for left zero.
+	(value_replacement): Pass in argument position to absorbing_element_p.
+
+2016-07-13  Ilya Enkovich  <ilya.enkovich@intel.com>
+
+	PR ipa/71633
+	* ipa-inline-transform.c (inline_call): Support
+	instrumented thunks.
+
+2016-07-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm.h (TARGET_HAVE_CBZ): Define.
+	(TARGET_IDIV): Set for all Thumb targets provided they have hardware
+	divide feature.
+	* config/arm/arm.md (divsi3): New unpredicable alternative for ARMv8-M
+	Baseline.  Make initial alternative TARGET_32BIT only.
+	(udivsi3): Likewise.
+	* config/arm/thumb1.md (thumb1_cbz): New define_insn.
+	* doc/sourcebuild.texi (arm_thumb1_cbz_ok): Document new effective
+	target.
+
+2016-07-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm.h (TARGET_HAVE_MOVT): Include ARMv8-M as having MOVT.
+	* config/arm/arm.c (arm_arch_name): (const_ok_for_op): Check MOVT/MOVW
+	availability with TARGET_HAVE_MOVT.
+	(thumb_legitimate_constant_p): Strip the high part of a label_ref.
+	(thumb1_rtx_costs): Also return 0 if setting a half word constant and
+	MOVW is available and replace (unsigned HOST_WIDE_INT) INTVAL by
+	UINTVAL.
+	(thumb1_size_rtx_costs): Make set of half word constant also cost 1
+	extra instruction if MOVW is available.  Use a cost variable
+	incremented by COSTS_N_INSNS (1) when the condition match rather than
+	returning an arithmetic expression based on COSTS_N_INSNS.  Make
+	constant with bottom half word zero cost 2 instruction if MOVW is
+	available.
+	* config/arm/arm.md (define_attr "arch"): Add v8mb.
+	(define_attr "arch_enabled"): Set to yes if arch value is v8mb and
+	target is ARMv8-M Baseline.
+	(arm_movt): New unpredicable alternative for ARMv8-M Baseline.
+	(arm_movtas_ze): Likewise.
+	* config/arm/thumb1.md (thumb1_movdi_insn): Add ARMv8-M Baseline only
+	alternative for constants satisfying j constraint.
+	(thumb1_movsi_insn): Likewise.
+	(movsi splitter for K alternative): Tighten condition to not trigger
+	if movt is available and j constraint is satisfied.
+	(Pe immediate splitter): Likewise.
+	(thumb1_movhi_insn): Add ARMv8-M Baseline only alternative for
+	constant fitting in an halfword to use MOVW.
+	* doc/sourcebuild.texi (arm_thumb1_movt_ok): Document new ARM
+	effective target.
+
+2016-07-13  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/71104
+	* gimplify.c (gimplify_modify_expr): Gimplify the RHS before
+	gimplifying the LHS.  Make sure to gimplify a returning twice
+	call LHS without using SSA names.
+
+2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* tree-data-ref.c (find_data_references_in_stmt): Remove
+	unnecessary call to vec::release.
+	(graphite_find_data_references_in_stmt): Likewise.
+	* tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p): Likewise.
+	* tree-vect-stmts.c (vectorizable_condition): Likewise.
+
+2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* cfgexpand.c (expand_used_vars): Make the type of a local
+	variable auto_vec.
+	* genmatch.c (lower_for): Likewise.
+	* haifa-sched.c (haifa_sched_init): Likewise.
+	(add_to_speculative_block): Likewise.
+	(create_check_block_twin): Likewise.
+	* predict.c (handle_missing_profiles): Likewise.
+	* tree-data-ref.c (loop_nest_has_data_refs): Likewise.
+	* tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Likewise.
+	* tree-ssa-loop-niter.c (discover_iteration_bound_by_body_walk):
+	Likewise.
+	(maybe_lower_iteration_bound): Likewise.
+	* tree-ssa-sccvn.c (DFS): Likewise.
+	* tree-stdarg.c (reachable_at_most_once): Likewise.
+	* tree-vect-stmts.c (vectorizable_conversion): Likewise.
+	(vectorizable_store): Likewise.
+
+2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* tree-ssa-sccvn.c (sccvn_dom_walker::~sccvn_dom_walker): remove.
+	(sccvn_dom_walker): make cond_stack an auto_vec.
+
+2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* ree.c (struct ext_state): Make type of members auto_vec.
+	(find_and_remove_re): Adjust.
+
+2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* cfgexpand.c (struct stack_vars_data): Make type of fields
+	auto_vec.
+	(expand_used_vars): Adjust.
+
+2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* ipa.c (record_cdtor_fn): Adjust.
+	(build_cdtor_fns): Likewise.
+	(ipa_cdtor_merge): Make static_ctors and static_dtors local
+	variables.
+
+2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* genextract.c (struct accum_extract): Add constructor and make
+	members auto_vec.
+	(gen_insn): Adjust.
+
+2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* tree.c (struct free_lang_data_d): Add constructor and change
+	types of members to ones that automatically manage resources.
+	(fld_worklist_push): Adjust.
+	(find_decls_types): Likewise.
+	(find_decls_types_in_eh_region): Likewise.
+	(free_lang_data_in_cgraph): Stop manually creating and
+	destroying members of free_lang_data_d.
+
+2016-07-13  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR rtl-optimization/68961
+	* config/i386/sse.md (movsd/movhpd to movupd peephole2s): Add new
+	peephole variant.  Use sse_reg_operand predicates.
+
+2016-07-12  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/predicates.md (x86_64_immediate_operand)
+	<case CONST_INT>: Remove unneeded truncation to DImode.
+	<case CONST>: Ditto.
+	(x86_64_zext_immediate_operand) <case CONST>: Ditto.
+
+2016-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/71805
+	* config/rs6000/altivec.md (altivec_vperm_<mode>_internal):
+	The xxperm and xxpermr instructions require that the 2nd input
+	operand overlap with the output operand, and not the 1st.
+	(altivec_vperm_v8hiv16qi): Likewise.
+	(altivec_vperm_<mode>_uns_internal): Likewise.
+	(altivec_vpermr_<mode>_internal): Likewise.
+	(vperm_v8hiv4si): Likewise.
+	(vperm_v16qiv8hi): Likewise.
+
+2016-07-12  Nathan Sidwell  <nathan@acm.org>
+
+	* config/arm/arm.c (arm_option_override): Set MASK_SINGLE_PIC_BASE
+	when -mno-pic-data-is-text-relative is in effect, by default.
+	* doc/invoke.texi (mpic-data-is-text-relative): Document new
+	behavior and clarify.
+
+2016-07-12  Martin Liska  <mliska@suse.cz>
+
+	* params.def: Add avg-loop niter.
+	* tree-ssa-loop-ivopts.c (avg_loop_niter): Use the param.
+	* cfgloopanal.c (expected_loop_iterations_unbounded): Likewise.
+	* doc/invoke.texi: Document the new parameter.
+
+2016-07-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR middle-end/71700
+	* expr.c (store_constructor): Mask sign-extended bits when widening
+	sub-word constructor element at the start of a word.
+
+2016-07-12  Martin Liska  <mliska@suse.cz>
+
+	* Makefile.in: Append rule for params-options.h.
+	* params-options.h: New file.
+
+2016-07-12  Martin Liska  <mliska@suse.cz>
+
+	* ira-build.c (mark_loops_for_removal): Properly iterate
+	loops.
+
+2016-07-12  Steven Bosscher  <steven@gcc.gnu.org>
+	    Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/23286
+	PR tree-optimization/70159
+	* doc/invoke.texi: Document -fcode-hoisting.
+	* common.opt (fcode-hoisting): New flag.
+	* opts.c (default_options_table): Enable -fcode-hoisting at -O2+.
+	* tree-ssa-pre.c (pre_stats): Add hoist_insert.
+	(do_regular_insertion): Rename to ...
+	(do_pre_regular_insertion): ... this and amend general comments
+	on insertion strathegy.
+	(do_partial_partial_insertion): Rename to ...
+	(do_pre_partial_partial_insertion): ... this.
+	(do_hoist_insertion): New function.
+	(insert_aux): Take flags on whether to do PRE and/or hoist insertion
+	and call do_hoist_insertion properly.
+	(insert): Adjust.
+	(pass_pre::gate): Enable also if -fcode-hoisting is enabled.
+	(pass_pre::execute): Register hoist_insert stats.
+
+2016-07-12  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/71716
+	* gimple-fold.c (optimize_atomic_compare_exchange_p): Return false
+	for SCALAR_FLOAT_TYPE_P type of expected var, or if TYPE_PRECISION
+	is different from mode's bitsize.  Small cleanup.
+
+2016-07-12  Richard Biener  <rguenther@suse.de>
+
+	PR rtl-optimization/68961
+	* fwprop.c (propagate_rtx): Allow SUBREGs of VEC_CONCAT and CONCAT
+	to simplify to a non-constant.
+
+2016-07-11  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/71758
+	* omp-low.c (expand_omp_target): Gimplify device.
+
+	PR tree-optimization/71823
+	* tree-vect-stmts.c (vectorizable_operation): Use vect_get_vec_defs
+	to get vec_oprnds2 from op2.
+
+2016-07-11  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/predicates.md (x86_64_immediate_operand) <case CONST>:
+	Hoist common subexpressions.
+	(x86_64_zext_immediate_operand) <case CONST>: Ditto.
+
+2016-07-11  Pat Haugen  <pthaugen@us.ibm.com>
+
+	PR target/71800
+	* config/rs6000/rs6000.md (stfiwx): Change constraint to 'wu' to
+	prevent generation of 'stxsiwx' on pre Power8 hardware.
+
+2016-07-11  David Malcolm  <dmalcolm@redhat.com>
+
+	* input.c: Include cpplib.h.
+	(selftest::temp_source_file): New class.
+	(selftest::temp_source_file::temp_source_file): New ctor.
+	(selftest::temp_source_file::~temp_source_file): New dtor.
+	(selftest::should_have_column_data_p): New function.
+	(selftest::test_should_have_column_data_p): New function.
+	(selftest::temp_line_table): New class.
+	(selftest::temp_line_table::temp_line_table): New ctor.
+	(selftest::temp_line_table::~temp_line_table): New dtor.
+	(selftest::test_accessing_ordinary_linemaps): Add case_ param; use
+	it to create a temp_line_table.
+	(selftest::assert_loceq): Only verify LOCATION_COLUMN for
+	locations that are known to have column data.
+	(selftest::line_table_case): New struct.
+	(selftest::test_reading_source_line): Move tempfile handling
+	to class temp_source_file.
+	(ASSERT_TOKEN_AS_TEXT_EQ): New macro.
+	(selftest::assert_token_loc_eq): New function.
+	(ASSERT_TOKEN_LOC_EQ): New macro.
+	(selftest::test_lexer): New function.
+	(selftest::boundary_locations): New array.
+	(selftest::input_c_tests): Call test_should_have_column_data_p.
+	Loop over a test matrix of interesting values of location and
+	default_range_bits, calling test_lexer on each case in the matrix.
+	Move call to test_accessing_ordinary_linemaps into the matrix.
+	* selftest.h (ASSERT_EQ): Reimplement in terms of...
+	(ASSERT_EQ_AT): New macro.
+
+2016-07-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/71801
+	* config/i386/i386.c (timode_scalar_chain::fix_debug_reg_uses):
+	Don't convert TImode in debug insn.
+
+2016-07-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	Convert TYPE_ALIGN_OK to a TYPE_LANG_FLAG.
+	* tree-core.h (tree_base::nothrow_flag): Adjust comment.
+	(tree_type_common::lang_flag_7): New.
+	(tree_type_common::spare): Reduce size.
+	* tree.h (TYPE_ALIGN_OK): Remove.
+	(TYPE_LANG_FLAG_7): New.
+	(get_inner_reference): Adjust header.
+	* print-tree.c (print_node): Adjust.
+	* expr.c (get_inner_reference): Remove parameter keep_aligning.
+	(get_bit_range, expand_assignment, expand_expr_addr_expr_1): Adjust
+	calls to get_inner_reference.
+	(expand_expr_real_1): Adjust call to get_inner_reference.  Remove
+	handling of TYPE_ALIGN_OK.
+	* builtins.c (get_object_alignment_2): Adjust call to
+	get_inner_reference.  Remove handling of VIEW_CONVERT_EXPR.
+	* emit-rtl.c (set_mem_attributes_minus_bitpos): Remove handling of
+	TYPE_ALIGN_OK.
+	* asan.c (instrument_derefs): Adjust calls to get_inner_reference.
+	* cfgexpand.c (expand_debug_expr): Likewise.
+	* dbxout.c (dbxout_expand_expr): Likewise.
+	* dwarf2out.c (loc_list_for_address_of_addr_expr_of_indirect_ref,
+	loc_list_from_tree, fortran_common): Likewise.
+	* fold-const.c (optimize_bit_field_compare,
+	decode_field_reference, fold_unary_loc, fold_comparison,
+	split_address_to_core_and_offset): Likewise.
+	* gimple-laddress.c (execute): Likewise.
+	* gimple-ssa-strength-reduction.c (slsr_process_ref): Likewise.
+	* gimplify.c (gimplify_scan_omp_clauses): Likewise.
+	* hsa-gen.c (gen_hsa_addr): Likewise.
+	* simplifx-rtx.c (delegitimize_mem_from_attrs): Likewise.
+	* tsan.c (instrument_expr): Likewise.
+	* ubsan.c (instrument_bool_enum_load, instrument_object_size): Likewise.
+	* tree.c (verify_type_variant): Remove handling of TYPE_ALIGN_OK.
+	* tree-affine.c (tree_to_aff_combination,
+	get_inner_reference_aff): Adjust calls to get_inner_reference.
+	* tree-data-ref.c (split_constant_offset_1,
+	dr_analyze_innermost): Likewise.
+	* tree-scalar-evolution.c (interpret_rhs_expr): Likewise.
+	* tree-sra.c (ipa_sra_check_caller): Likewise.
+	* tree-ssa-loop-ivopts.c (split_address_cost): Likewise.
+	* tree-ssa-math-opts.c (find_bswap_or_nop_load,
+	bswap_replace): Likewise.
+	* tree-vect-data-refs.c (vect_check_gather,
+	vect_analyze_data_refs): Likewise.
+	* config/mips/mips.c (r10k_safe_mem_expr_p): Likewise.
+	* config/pa/pa.c (pa_emit_move_sequence): Remove handling of
+	TYPE_ALIGN_OK.
+
+2016-07-11  David Malcolm  <dmalcolm@redhat.com>
+
+	* Makefile.in (selftest-valgrind): New phony target.
+	* function-tests.c (selftest::build_cfg): Delete pass instances
+	created by the test.
+	(selftest::convert_to_ssa): Likewise.
+	(selftest::test_expansion_to_rtl): Likewise.
+	* tree-cfg.c (selftest::test_linear_chain): Release dominator
+	vectors.
+	(selftest::test_diamond): Likewise.
+
+2016-07-11  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71816
+	* tree-ssa-pre.c (compute_avail): Adjust alignment of ref rather
+	than replacing all of its operands.
+
+2016-07-11  Alan Modra  <amodra@gmail.com>
+
+	* config/rs6000/rs6000.md (UNSPEC_DOLOOP): New unspec.
+	(ctr<mode>): Add unspec.
+	(ctr<mode>_internal*): Likewise.
+
+2016-07-08  James Bowman  <james.bowman@ftdichip.com>
+
+	* config/ft32/ft32.c (ft32_elf_encode_section_info): New function.
+	* config/ft32/ft32.h (ASM_OUTPUT_SYMBOL_REF): New function.
+
+2016-07-08  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-optimization/71621
+	* lra-constraints.c (process_alt_operands): Check combination of
+	reg class and mode.
+
+2016-07-08  Jason Merrill  <jason@redhat.com>
+	    Richard Biener  <rguenther@suse.de>
+
+	P0145: Refining Expression Order for C++.
+	* gimplify.c (initial_rhs_predicate_for): New.
+	(gimplfy_modify_expr): Gimplify RHS before LHS.
+
+2016-07-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR target/71297
+	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
+	Allow standard error handling to take over when a wrong number
+	of arguments is presented to __builtin_vec_ld () or
+	__builtin_vec_st ().
+
+2016-07-08  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64-simd-builtins.def (smax): Remove float
+	variants.
+	(smin): Likewise.
+	(fmax): New entry.
+	(fmin): Likewise.
+	* config/aarch64/arm_neon.h (vmaxnm_f32): Use
+	__builtin_aarch64_fmaxv2sf.
+	(vmaxnmq_f32): Likewise.
+	(vmaxnmq_f64): Likewise.
+	(vminnm_f32): Likewise.
+	(vminnmq_f32): Likewise.
+	(vminnmq_f64): Likewise.
+
+2016-07-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/71806
+	* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Do not
+	enable -mfloat128-hardware by default.
+	(ISA_3_0_MASKS_IEEE): New macro to give all of the VSX options
+	that IEEE 128-bit hardware support needs.
+	* config/rs6000/rs6000.c (rs6000_option_override_internal): If
+	-mcpu=power9 -mfloat128, enable -mfloat128-hardware by default.
+	Use ISA_3_0_MASKS_IEEE as the set of options that IEEE 128-bit
+	floating point requires.
+	* doc/invoke.texi (RS/6000 and PowerPC Options): Document
+	-mfloat128 and -mfloat128-hardware changes.
+
+2016-07-08  Alan Hayward  <alan.hayward@arm.com>
+
+	PR tree-optimization/71667
+	* tree-vect-loop.c (vectorizable_live_operation): ignore DEBUG stmts
+
+2016-07-08  Martin Liska  <mliska@suse.cz>
+
+	PR middle-end/71606
+	* fold-const.c (fold_convertible_p): As COMPLEX_TYPE
+	folding produces SAVE_EXPRs, thus return false for the type.
+
+2016-07-07  Martin Liska  <mliska@suse.cz>
+
+	* file-find.c (remove_prefix): New function.
+	* file-find.h (remove_prefix): Declare the function.
+	* gcc-ar.c (main): Skip a folder of the wrapper if
+	a wrapped binary would point to the same file.
+
+2016-07-07  Jan Hubicka  <jh@suse.cz>
+
+	* tree-scalar-evolution.c (iv_can_overflow_p): export.
+	* tree-scalar-evolution.h (iv_can_overflow_p): Declare.
+	* tree-ssa-loop-ivopts.c (alloc_iv): Use it.
+
+2016-07-07  Ilya Enkovich  <ilya.enkovich@intel.com>
+
+	PR ipa/71624
+	* ipa-inline-analysis.c (compute_inline_parameters): Set
+	local.can_change_signature to false for intrumentation
+	thunk callees.
+
+2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm.h (TARGET_USE_MOVT): Check MOVT/MOVW availability
+	with TARGET_HAVE_MOVT.
+	(TARGET_HAVE_MOVT): Define.
+	* config/arm/arm.c (const_ok_for_op): Check MOVT/MOVW
+	availability with TARGET_HAVE_MOVT.
+	* config/arm/arm.md (arm_movt): Use TARGET_HAVE_MOVT to check MOVT
+	availability.
+	(addsi splitter): Use TARGET_THUMB && TARGET_HAVE_MOVT rather than
+	TARGET_THUMB2.
+	(symbol_refs movsi splitter): Remove TARGET_32BIT check.
+	(arm_movtas_ze): Use TARGET_HAVE_MOVT to check MOVT availability.
+	* config/arm/constraints.md (define_constraint "j"): Use
+	TARGET_HAVE_MOVT to check MOVT availability.
+
+2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm-protos.h: Reindent FL_FOR_* macro definitions.
+
+2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm-arches.def (armv8-m.base): Define new architecture.
+	(armv8-m.main): Likewise.
+	(armv8-m.main+dsp): Likewise.
+	* config/arm/arm-protos.h (FL_FOR_ARCH8M_BASE): Define.
+	(FL_FOR_ARCH8M_MAIN): Likewise.
+	* config/arm/arm-tables.opt: Regenerate.
+	* config/arm/bpabi.h: Add armv8-m.base, armv8-m.main and
+	armv8-m.main+dsp to BE8_LINK_SPEC.
+	* config/arm/arm.h (TARGET_HAVE_LDACQ): Exclude ARMv8-M.
+	(enum base_architecture): Add BASE_ARCH_8M_BASE and BASE_ARCH_8M_MAIN.
+	* config/arm/arm.c (arm_arch_name): Increase size to work with ARMv8-M
+	Baseline and Mainline.
+	(arm_option_override_internal): Also disable arm_restrict_it when
+	!arm_arch_notm.  Update comment for -munaligned-access to also cover
+	ARMv8-M Baseline.
+	(arm_file_start): Increase buffer size for printing architecture name.
+	* doc/invoke.texi: Document architectures armv8-m.base, armv8-m.main
+	and armv8-m.main+dsp.
+	(mno-unaligned-access): Clarify that this is disabled by default for
+	ARMv8-M Baseline architectures as well.
+
+2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/elf.h: Use __ARM_ARCH_ISA_THUMB and __ARM_ARCH_ISA_ARM to
+	decide whether to prevent some libgcc routines being included for some
+	multilibs rather than __ARM_ARCH_6M__ and add comment to indicate the
+	link between this condition and the one in
+	libgcc/config/arm/lib1func.S.
+
+2016-07-07  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-pre.c: Include alias.h.
+	(compute_avail): If we have multiple VN_REFERENCEs with the
+	same hashtable entry adjust that to make it a valid replacement
+	for all of them with respect to alignment and aliasing
+	when doing insertion.
+	* tree-ssa-sccvn.h (vn_reference_operands_for_lookup): Declare.
+	* tree-ssa-sccvn.c (vn_reference_operands_for_lookup): New function.
+
+2016-07-06  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR target/70098
+	PR target/71763
+	* config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
+	*ctr<mode>_internal5, *ctr<mode>_internal6): Add *wi to the output
+	constraint.
+
+2016-07-06  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* var-tracking.c (struct adjust_mem_data): Make side_effects a vector.
+	(adjust_mems): Adjust.
+	(adjust_insn): Likewise.
+	(prepare_call_arguments): Likewise.
+
+2016-07-06  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* gcse.c (struct ls_expr): Make stores field a vector.
+	(ldst_entry): Adjust.
+	(free_ldst_entry): Likewise.
+	(print_ldst_list): Likewise.
+	(compute_ld_motion_mems): Likewise.
+	(update_ld_motion_stores): Likewise.
+
+2016-07-06  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* gcse.c (struct ls_expr): Remove loads field.
+	(ldst_entry): Adjust.
+	(free_ldst_entry): Likewise.
+	(print_ldst_list): Likewise.
+	(compute_ld_motion_mems): Likewise.
+
+2016-07-06  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* store-motion.c (struct st_expr): Make antic_stores a vector.
+	(st_expr_entry): Adjust.
+	(free_st_expr_entry): Likewise.
+	(print_store_motion_mems): Likewise.
+	(find_moveable_store): Likewise.
+	(compute_store_table): Likewise.
+	(remove_reachable_equiv_notes): Likewise.
+	(replace_store_insn): Likewise.
+	(build_store_vectors): Likewise.
+
+2016-07-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/arm/driver-arm.c (arm_cpu_table): Add entries for cortex-a32,
+	cortex-a35, cortex-a53, cortex-a57, cortex-a72, cortex-a73.
+
+2016-07-06  Yuri Rumyantsev  <ysrumyan@gmail.com>
+
+	PR tree-optimization/71518
+	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Adjust
+	misalign also for outer loops with negative step.
+
+2016-07-06  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/arm/cortex-a53.md: Use final_presence_set for in-order.
+	(cortex_a53_shift): Add mov_shift.
+	(cortex_a53_shift_reg): Add new reservation for register shifts.
+	(cortex_a53_alu): Remove bfm.
+	(cortex_a53_alu_shift): Add bfm, remove mov_shift.
+	(cortex_a53_alu_extr): Add new reservation for EXTR.
+	(bypasses): Improve bypass modelling.
+
+2016-07-06  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
+
+	PR target/50739
+	* config/avr/avr.c (avr_asm_select_section): Strip off
+	SECTION_DECLARED from flags when calling get_section.
+
+2016-07-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* tree-vectorizer.h (vect_memory_access_type): Add
+	VMAT_INVARIANT, VMAT_CONTIGUOUS_DOWN and VMAT_CONTIGUOUS_REVERSED.
+	* tree-vect-stmts.c (compare_step_with_zero): New function.
+	(perm_mask_for_reverse): Move further up file.
+	(get_group_load_store_type): Stick to VMAT_ELEMENTWISE if the
+	step is negative.
+	(get_negative_load_store_type): New function.
+	(get_load_store_type): Call it.  Add an ncopies argument.
+	(vectorizable_mask_load_store): Update call accordingly and
+	remove tests for negative steps.
+	(vectorizable_store, vectorizable_load): Likewise.  Handle new
+	memory_access_types.
+
+2016-07-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* tree-vectorizer.h (vect_memory_access_type): New enum.
+	(_stmt_vec_info): Add a memory_access_type field.
+	(STMT_VINFO_MEMORY_ACCESS_TYPE): New macro.
+	(vect_model_store_cost): Take an access type instead of a boolean.
+	(vect_model_load_cost): Likewise.
+	* tree-vect-slp.c (vect_analyze_slp_cost_1): Update calls to
+	vect_model_store_cost and vect_model_load_cost.
+	* tree-vect-stmts.c (vec_load_store_type): New enum.
+	(vect_model_store_cost): Take an access type instead of a
+	store_lanes_p boolean.  Simplify tests.
+	(vect_model_load_cost): Likewise, but for load_lanes_p.
+	(get_group_load_store_type, get_load_store_type): New functions.
+	(vectorizable_store): Use get_load_store_type.  Record the access
+	type in STMT_VINFO_MEMORY_ACCESS_TYPE.
+	(vectorizable_load): Likewise.
+	(vectorizable_mask_load_store): Likewise.  Replace is_store
+	variable with vls_type.
+
+2016-07-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* tree-vectorizer.h (vect_grouped_load_supported): Add a
+	single_element_p parameter.
+	* tree-vect-data-refs.c (vect_grouped_load_supported): Likewise.
+	Check the PR65518 case here rather than in vectorizable_load.
+	* tree-vect-loop.c (vect_analyze_loop_2): Update call accordignly.
+	* tree-vect-stmts.c (vectorizable_load): Likewise.
+
+2016-07-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* tree-vectorizer.h (gather_scatter_info): New structure.
+	(vect_check_gather_scatter): Return a bool rather than a decl.
+	Replace return-by-pointer arguments with a single
+	gather_scatter_info *.
+	* tree-vect-data-refs.c (vect_check_gather_scatter): Likewise.
+	(vect_analyze_data_refs): Update call accordingly.
+	* tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
+	(vectorizable_mask_load_store): Likewise.  Also record the
+	offset dt and vectype in the gather_scatter_info.
+	(vectorizable_store): Likewise.
+	(vectorizable_load): Likewise.
+
+2016-07-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* tree-vect-stmts.c (vect_model_store_cost): For non-SLP
+	strided groups, use the cost of N scalar accesses instead
+	of ncopies vector accesses.
+	(vect_model_load_cost): Likewise.
+
+2016-07-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* tree-vect-stmts.c (vect_cost_group_size): Delete.
+	(vect_model_store_cost): Avoid calling it.  Use first_stmt_p
+	variable to indicate when once-per-group costs are being used.
+	(vect_model_load_cost): Likewise.  Fix comment and misindented code.
+
+2016-07-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* tree-vect-stmts.c (vectorizable_load): Remove unnecessary
+	peeling-for-gaps condition.
+
+2016-07-06  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.c (s390_expand_vec_init): Force initializer
+	element to register if it doesn't match general_operand.
+
+2016-07-05  Michael Meissner  <meissner@linux.vnet.ibm.com>
+	    Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000-protos.h (rs6000_split_signbit): New
+	prototype.
+	* config/rs6000/rs6000.c (rs6000_split_signbit): New function.
+	* config/rs6000/rs6000.md (UNSPEC_SIGNBIT): New constant.
+	(SIGNBIT): New mode iterator.
+	(Fsignbit): New mode attribute.
+	(signbit<mode>2): Change operand1 to match FLOAT128 instead of
+	IBM128; dispatch to gen_signbit{kf,tf}2_dm for __float128
+	when direct moves are available.
+	(signbit<mode>2_dm): New define_insn_and_split).
+	(signbit<mode>2_dm2): New define_insn.
+
+2016-07-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR rtl-optimization/71594
+	* ifcvt.c (noce_convert_multiple_sets): Wrap new_val or old_val
+	into subregs of appropriate mode before trying to emit a conditional
+	move.
+
+2016-07-05  Jan Hubicka  <jh@suse.cz>
+
+	* tree-scalar-evolution.c (iv_can_overflow_p): New function.
+	(simple_iv): Use it.
+
+2016-07-05  Jan Hubicka  <jh@suse.cz>
+
+	* tree-ssa-loop-niter.c (nowrap_type_p): Use ANY_INTEGRAL_TYPE_P.
+
+2016-07-05  Jiong Wang  <jiong.wang@arm.com>
+
+	* lra-constraints.c (process_alt_operands): Don't add spilling cost for
+	"offmemok".
+
+2016-07-05  Jan Hubicka  <jh@suse.cz>
+
+	* tree-scalar-evoluiton.c (simple_iv): Use nowrap_type to check if
+	IV can overflow.
+
+2016-07-05  Richard Biener  <rguenther@suse.de>
+
+	* gimple-ssa-split-paths.c (find_block_to_duplicate_for_splitting_pa):
+	Handle empty else block.
+	(is_feasible_trace): Likewise.
+	(split_paths): Likewise.
+
+2016-07-05  Richard Biener  <rguenther@suse.de>
+
+	* tree-loop-distribution.c (distribute_loop): Fix issue with
+	the cost model loop.
+
+2016-07-05  Christophe Lyon  <christophe.lyon@linaro.org>
+
+	* config/arm/neon-testgen.ml: Delete.
+	* config/arm/neon.ml: Delete.
+
+2016-07-04  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/71739
+	* tree.c (attribute_value_equal): Use get_attribute_name instead of
+	directly using TREE_PURPOSE.
+
+2016-07-04  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64.h: Rename "ARMv8.1" to "ARMv8.1-A".
+	* config/aarch64/aarch64_neon.h: Likewise.
+	* config/aarch64/arm_neon.h: Likewise.
+	* config/aarch64/atomics.md: Likewise.
+	* config/aarch64/aarch64-simd-builtins.def: Likewise.
+	* doc/invoke.texi: Likewise.
+
+2016-07-04  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	* config/s390/s390.md: Add "z13" cpu_facility.
+	("*mov<mode>cc"): Add support for z13 instructions lochi and locghi.
+	* config/s390/predicates.md ("loc_operand"): New predicate for "load on
+	condition" type instructions.
+
+2016-07-04  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+	    Jeff Law  <law@redhat.com>
+
+	* explow.c (allocate_dynamic_stack_space): Simplify knowing that
+	MUST_ALIGN was always true and extra_align ist always BITS_PER_UNIT.
+
+2016-07-04  Yuri Rumyantsev  <ysrumyan@gmail.com>
+
+	* config/i386/i386.c (ix86_expand_vec_perm): Add handle one-operand
+	permutation for TARGET_AVX512F.
+	(ix86_expand_vec_one_operand_perm_avx512): New function.
+	(expand_vec_perm_1): Invoke introduced function.
+	* tree-vect-loop.c (vect_transform_loop): Clear-up safelen value since
+	it may be not valid after vectorization.
+
+2016-07-04  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+	PR target/63874
+	* config/aarch64/aarch64.c (aarch64_classify_symbol): Fix
+	typo in comment.  Only force to memory if it is a weak
+	external reference.
+
+2016-07-04  Matthew Wahab  <matthew.wahab@arm.com>
+	    Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64-arches.def: Add "armv8.2-a".
+	* config/aarch64/aarch64.h (AARCH64_FL_V8_2): New.
+	(AARCH64_FL_F16): New.
+	(AARCH64_FL_FOR_ARCH8_2): New.
+	(AARCH64_ISA_8_2): New.
+	(AARCH64_ISA_F16): New.
+	(TARGET_FP_F16INST): New.
+	(TARGET_SIMD_F16INST): New.
+	* config/aarch64/aarch64-option-extensions.def ("fp16"): New entry.
+	("fp"): Disabling "fp" also disables "fp16".
+	* config/aarch64/aarch64-c.c (arch64_update_cpp_builtins):
+	Conditionally define __ARM_FEATURE_FP16_SCALAR_ARITHMETIC
+	and __ARM_FEATURE_FP16_VECTOR_ARITHMETIC.
+	* doc/invoke.texi (AArch64 Options): Document "armv8.2-a" and "fp16".
+
+2016-07-04  Jan Beulich  <jbeulich@suse.com>
+
+	* gcc.c (default_compilers["@c-header"]): Conditionalize "-o".
+
+2016-07-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/71720
+	* config/rs6000/vsx.md (vsx_splat_v4sf_internal): When splitting
+	the insns, use an insn form that does not adjust the offset on
+	little endian systems.
+
+2016-07-01  Jan Beulich  <jbeulich@suse.com>
+
+	* varasm.c (get_variable_section): Validate initializer in
+	named .bss-like sections.
+
+2016-07-01  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+	* config/rs6000/altivec.md (*altivec_vpermr_<mode>_internal):
+	Exchange the order of the second and third operands in the vpermr
+	instruction tmeplate.
+
+2016-07-01  Peter Bergner  <bergner@vnet.ibm.com>
+
+	PR target/71698
+	* config/rs6000/rs6000.c (rs6000_secondary_reload_simple_move):
+	Disallow TDmode values.
+
+2016-07-01  Alan Modra  <amodra@gmail.com>
+
+	PR rtl-optimization/71709
+	* ira-lives.c (find_call_crossed_cheap_reg): Exit loop on arg reg
+	being set, not referenced.
+
+2016-07-01  Yuri Rumyantsev  <ysrumyan@gmail.com>
+
+	PR tree-optimization/70729
+	* tree-vectorizer.c (adjust_simduid_builtins): Nullify safelen field
+	of loop since it can be not valid after transformation.
+
+2016-07-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/arm/arm.c (thumb_reload_in_hi): Delete.
+	* config/arm/arm-protos.h (thumb_reload_in_hi): Delete prototype.
+
+2016-07-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/arm/arm.c (arm_function_ok_for_sibcall): Add another check
+	for NULL decl.
+
+2016-06-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/71677
+	* config/rs6000/constraints.md (wY constraint): New constraint to
+	match the requirements for the LXSD and STXSD instructions.
+	* config/rs6000/predicates.md (offsettable_mem_14bit_operand): New
+	predicate to match the requirements for the LXSD and STXSD
+	instructions.
+	* config/rs6000/rs6000.md (mov<mode>_hardfloat32, FMOVE64 case):
+	Use constaint wY for LXSD/STXSD instructions instead of 'o' or 'Y'
+	to make sure that the bottom 2 bits of offset are 0, the address
+	form is offsettable, and no updating is done in the address mode.
+	(mov<mode>_hardfloat64, FMOVE64 case): Likewise.
+	(movdi_internal32): Likewise
+	(movdi_internal64): Likewise.
+
+2016-06-30  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/71707
+	* tree-ssa-strlen.c (get_stridx_plus_constant): Handle already present
+	strinfo even for ADDR_EXPR ptr.
+
+2016-06-30  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+	* config/rs6000/altivec.md (darn_32): Change the condition to
+	TARGET_P9_MISC instead of TARGET_MODULO.
+	(darn_raw): Replace TARGET_MODULO with TARGET_P9_MISC in the
+	condition expression.
+	(darn): Replace TARGET_MODULO with TARGET_P9_MISC in the
+	condition expression.
+	* config/rs6000/dfp.md (UNSPEC_DTSTSFI): New unspec constant.
+	(DFP_TEST): New code iterator.
+	(dfptstsfi_<code>_mode>): New define_expand.
+	(*dfp_sgnfcnc_<mode>): New define_insn.
+	* config/rs6000/rs6000-builtin.def (BU_P9_MISC_0): Move this macro
+	definition next to BU_P9_MISC_1 definition and change the MASK
+	value to RS6000_BTM_P9_MISC.
+	(BU_P9_MISC_1): Change the MASK value to RS6000_BTM_P9_MISC.
+	(BU_P9_64BIT_MISC_0): Likewise.
+	(BU_P9_DFP_MISC_0): New macro definition.
+	(BU_P9_DFP_MISC_1): New macro definition.
+	(BU_P9_DFP_MISC_2): New macro definition.
+	(BU_P9_DFP_OVERLOAD_1): New macro definition.
+	(BU_P9_DFP_OVERLOAD_2): New macro definition.
+	(BU_P9_DFP_OVERLOAD_3): New macro definition.
+	(TSTSFI_LT_DD): New BU_P9_DFP_MISC_2.
+	(TSTSFI_LT_TD): Likewise.
+	(TSTSFI_EQ_DD): Likewise.
+	(TSTSFI_EQ_TD): Likewise.
+	(TSTSFI_GT_DD): Likewise.
+	(TSTSFI_GT_TD): Likewise.
+	(TSTSFI_OV_DD): Likewise.
+	(TSTSFI_OV_TD): Likewise.
+	(TSTSFI_LT): New BU_P9_DFP_OVERLOAD_2.
+	(TSTSFI_LT_DD): Likewise.
+	(TSTSFI_LT_TD): Likewise.
+	(TSTSFI_EQ): Likewise.
+	(TSTSFI_EQ_DD): Likewise.
+	(TSTSFI_EQ_TD): Likewise.
+	(TSTSFI_GT): Likewise.
+	(TSTSFI_GT_DD): Likewise.
+	(TSTSFI_GT_TD): Likewise.
+	(TSTSFI_OV): Likewise.
+	(TSTSFI_OV_DD): Likewise.
+	(TSTSFI_OV_TD): Likewise.
+	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
+	overloaded test significance functions.
+	* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
+	OPTION_MASK_P9_MISC into the representation of this mask.
+	(POWERPC_MASKS): Add OPTION_MASK_P9_MISC into the representation
+	of this mask.
+	* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Set the
+	RS6000_BTM_P9_MISC flag in the return value if TARGET_P9_MISC is
+	non-zero.
+	(rs6000_expand_binop_builtin): Enforce that argument 0 of the exp
+	argument is a 6-bit unsigned literal value if the icode argument
+	represents a DFP test significance built-in call.
+	(rs6000_invalid_builtin): Add support for the RS6000_BTM_P9_MISC
+	flag used independently and in combination with the
+	RS6000_BTM_64BIT flag.
+	(rs6000_opt_masks): Add entry for power9-misc command-line option.
+	(rs6000_builtin_mask_names): Add entry for power9-misc
+	command-line option.
+	* config/rs6000/rs6000.h: Redefine TARGET_P9_MISC as 0 if
+	HAVE_AS_POWER9 is not a defined macro.  Define MASK_P9_MISC and
+	RS6000_BTM_P9_MISC macros.
+	* config/rs6000/rs6000.opt: Add support for the -mpower9-misc
+	option and change the description of the -mpower9-vector option to
+	enable only vector instructions, removing its erroneously claimed
+	support for scalar instructions.
+	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
+	the ISA 3.0 digital floating point test significance built-in
+	functions.
+
+2016-06-30  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (cortexa35_tunings):
+	Enable AES fusion.  Use cortexa57_branch_cost.
+	(cortexa53_tunings): Use cortexa57_branch_cost.
+	(cortexa72_tunings): Use cortexa57_branch_cost.
+	Use AUTOPREFETCHER_WEAK.
+	(cortexa73_tunings): Use cortexa57_branch_cost.
+
+2016-06-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+	    James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/aarch64/arm_neon.h (vcopyq_lane_f32, vcopyq_lane_f64,
+	vcopyq_lane_p8, vcopyq_lane_p16, vcopyq_lane_s8, vcopyq_lane_s16,
+	vcopyq_lane_s32, vcopyq_lane_s64, vcopyq_lane_u8, vcopyq_lane_u16,
+	vcopyq_lane_u32, vcopyq_lane_u64): Reimplement in C.
+	(vcopy_lane_f32, vcopy_lane_f64, vcopy_lane_p8, vcopy_lane_p16,
+	vcopy_lane_s8, vcopy_lane_s16, vcopy_lane_s32, vcopy_lane_s64,
+	vcopy_lane_u8, vcopy_lane_u16, vcopy_lane_u32, vcopy_lane_u64,
+	vcopy_laneq_f32, vcopy_laneq_f64, vcopy_laneq_p8, vcopy_laneq_p16,
+	vcopy_laneq_s8, vcopy_laneq_s16, vcopy_laneq_s32, vcopy_laneq_s64,
+	vcopy_laneq_u8, vcopy_laneq_u16, vcopy_laneq_u32, vcopy_laneq_u64,
+	vcopyq_laneq_f32, vcopyq_laneq_f64, vcopyq_laneq_p8, vcopyq_laneq_p16,
+	vcopyq_laneq_s8, vcopyq_laneq_s16, vcopyq_laneq_s32, vcopyq_laneq_s64,
+	vcopyq_laneq_u8, vcopyq_laneq_u16, vcopyq_laneq_u32, vcopyq_laneq_u64):
+	New intrinsics.
+
+2016-06-30  James Greenhalgh  <james.greenhalgh@arm.com>
+	    Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64-simd.md (*aarch64_simd_vec_copy_lane<mode>):
+	New define_insn.
+	(*aarch64_simd_vec_copy_lane_<vswap_width_name><mode>): Likewise.
+
+2016-06-30  David Malcolm  <dmalcolm@redhat.com>
+
+	PR driver/71651
+	* gcc.c (driver::build_option_suggestions): Pass "option" to
+	add_misspelling_candidates.
+	* opts-common.c (add_misspelling_candidates): Add "option" param;
+	use it to avoid adding negated forms for options marked with
+	RejectNegative.
+	* opts.h (add_misspelling_candidates): Add "option" param.
+
+2016-06-30  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/71693
+	* fold-const.c (fold_binary_loc) <case RROTATE_EXPR>: Cast
+	TREE_OPERAND (arg0, 0) and TREE_OPERAND (arg0, 1) to type
+	first when permuting bitwise operation with rotate.  Cast
+	TREE_OPERAND (arg0, 0) to type when cancelling two rotations.
+
+2016-06-29  David Malcolm  <dmalcolm@redhat.com>
+
+	* opts.c (handle_param): Use find_param_fuzzy to offer suggestions
+	for misspelled param names.
+	* params.c: Include spellcheck.h.
+	(find_param_fuzzy): New function.
+	* params.h (find_param_fuzzy): New prototype.
+	* spellcheck.c (struct edit_distance_traits<const char *>): Move to...
+	* spellcheck.h (struct edit_distance_traits<const char *>):
+	...here.
+
+2016-06-29  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/predicates.md (const_0_to_7_operand): New
+	predicate, recognize 0..7.
+	* config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add
+	support for doing extracts from V16QImode, V8HImode, V4SImode
+	under ISA 3.0.
+	* config/rs6000/vsx.md (VSX_EXTRACT_I): Mode iterator for ISA 3.0
+	vector extract support.
+	(VSX_EXTRACT_PREDICATE): Mode attribute to validate element number
+	for ISA 3.0 vector extract.
+	(VSX_EX): Constraints to use for ISA 3.0 vector extract.
+	(vsx_extract_<mode>, VSX_EXTRACT_I): Add support for doing
+	extracts of a constant element number from small integer vectors
+	on 64-bit ISA 3.0 systems.
+	(vsx_extract_<mode>_di): Likewise.
+	* config/rs6000/rs6000.h (TARGET_VEXTRACTUB): New target macro to
+	say when we can do ISA 3.0 vector extracts.
+	* config/rs6000/rs6000.md (stfiwx): Allow DImode in Altivec
+	registers, using the stxsiwx instruction.
+
+2016-06-29  Jim Wilson  <jim.wilson@linaro.org>
+
+	* config/aarch64/aarch64-cores.def (qdf24xx): Use qdf24xx tuning.
+	* config/aarch64/aarch64.c (qdf24xx_addrcost_table,
+	qdf24xx_regmove_cost, qdf24xx_tunings): New.
+	* config/arm/aarch64-cost-tables.h (qdf24xx_extra_costs): New.
+	* config/arm/arm-cores.def (qdf24xx): Use qdf24xx tuning.
+	* config/arm/arm.c (arm_qdf24xx_tune): New.
+
+2016-06-29  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (cortexa53_tunings):
+	Increase loop alignment to 8.  Set function alignment to 16.
+	(cortexa35_tunings): Likewise.
+	(cortexa57_tunings): Increase loop alignment to 8.
+	(cortexa72_tunings): Likewise.
+	(cortexa73_tunings): Likewise.
+
+2016-06-29  Matthew Wahab  <matthew.wahab@arm.com>
+
+	* doc/sourcebuild.texi (Effective-Target keywords): Add entries
+	for arm_fp16_ok and arm_fp16_hw.
+	(Add Options): Add entries for arm_fp16, arm_fp16_ieee and
+	arm_fp16_alternative.
+
+2016-06-29  Ilya Enkovich  <ilya.enkovich@intel.com>
+
+	PR tree-optimization/71655
+	* tree-vect-stmts.c (vectorizable_comparison): Swap definition
+	types when swapping operands.
+
+2016-06-29  Martin Liska  <mliska@suse.cz>
+
+	PR middle-end/71585
+	* common.opt (flag_stack_protect): Mark the flag as optimization flag.
+	* ipa-inline-transform.c (inline_call): Remove unnecessary call
+	of build_optimization_node.
+
+2016-06-29  Yuri Rumyantsev  <ysrumyan@gmail.com>
+
+	PR tree-optimization/70729
+	* tree-ssa-loop-im.c (ref_indep_loop_p_1): Consider memory reference as
+	independent in loops having positive safelen value.
+	* tree-vect-loop.c (vect_transform_loop): Clear-up safelen value since
+	it may be not valid after vectorization.
+
+2016-06-29  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/71625
+	* tree-ssa-strlen.c (get_addr_stridx): Add PTR argument.  Assume list
+	is sorted by ascending list->offset.  If PTR is non-NULL and there is
+	previous strinfo, call get_stridx_plus_constant.
+	(get_stridx): Pass exp as second argument to get_addr_stridx.
+	(addr_stridxptr): Add missing list = list->next, so that there can be
+	more than one entries in the list.  Bump limit from 16 to 32.  Ensure
+	the list is sorted by ascending list->offset.
+	(get_stridx_plus_constant): Adjust so that it can be also called with
+	ADDR_EXPR instead of SSA_NAME as PTR.
+	(handle_char_store): Pass NULL_TREE as second argument to
+	get_addr_stridx.
+
+2016-06-29  Richard Biener  <rguenther@suse.de>
+
+	PR rtl-optimization/68961
+	* simplify-rtx.c (simplify_subreg): Handle VEC_CONCAT like CONCAT.
+
+2016-06-29  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/71002
+	* alias.c (component_uses_parent_alias_set_from): Handle
+	type punning through union accesses by using the union alias set.
+	* gimple.c (gimple_get_alias_set): Remove union type punning case.
+
+2016-07-29  Richard Biener  <rguenther@suse.de>
+
+	* match.pd ((T)(T2)x -> (T)x): Remove restriction on final
+	precision not matching mode precision.
+
+2016-06-28  John David Anglin  <danglin@gcc.gnu.org>
+
+	* config/pa/pa.md (call_symref_64bit_post_reload): Don't call
+	pa_output_arg_descriptor.
+	(call_val_symref_64bit_post_reload): Likewise.
+	(call_val_powf_64bit_post_reload): Likewise.
+	(sibcall_internal_symref_64bit): Likewise.
+	(sibcall_value_internal_symref_64bit): Likewise.
+
+2016-06-28  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/71626
+	* config/i386/i386.c (ix86_expand_vector_move): For SUBREG of
+	a constant, force its SUBREG_REG into memory or register instead
+	of whole op1.
+
+2016-06-28  Pitchumani Sivanupandi  <pitchumani.s@atmel.com>
+
+	PR target/58655
+	* config/avr/avr.opt (-mfract-convert-truncate): Update description.
+	* doc/invoke.texi (AVR Options): Document it.
+
+2016-06-28  Walter Lee  <walt@tilera.com>
+
+	* config/tilegx/linux.h: Do not include arch/icache.h
+	(CLEAR_INSN_CACHE): Provide inlined definition directly.
+	* config/tilepro/linux.h: Do not include arch/icache.h
+	(CLEAR_INSN_CACHE): Provide inlined definition directly.
+
+2016-06-28  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* tree-ssa-math-opts.c (find_bswap_or_nop_1): Adjust bitnumbering
+	for big-endian BIT_FIELD_REF.
+
+2016-06-28  Pat Haugen  <pthaugen@us.ibm.com>
+
+	* config/rs6000/rs6000.md ('type' attribute): Add htmsimple/dfp types.
+	('size' attribute): Add '128'.
+	Include power9.md.
+	(*mov<mode>_hardfloat32, *mov<mode>_hardfloat64, *movdi_internal32,
+	*movdi_internal64, *movdf_update1): Set size attribute to '64'.
+	(add<mode>3, sub<mode>3, mul<mode>3, div<mode>3, sqrt<mode>2,
+	copysign<mode>3, neg<mode>2_hw, abs<mode>2_hw, *nabs<mode>2_hw,
+	*fma<mode>4_hw, *fms<mode>4_hw, *nfma<mode>4_hw, *nfms<mode>4_hw,
+	extend<SFDF:mode><IEEE128:mode>2_hw, trunc<mode>df2_hw,
+	*xscvqp<su>wz_<mode>, *xscvqp<su>dz_<mode>, *xscv<su>dqp_<mode>,
+	*trunc<mode>df2_odd): Set size attribute to '128'.
+	(*cmp<mode>_hw): Change type to veccmp and set size attribute to '128'.
+	* config/rs6000/power6.md (power6-fp): Include dfp type.
+	* config/rs6000/power7.md (power7-fp): Likewise.
+	* config/rs6000/power8.md (power8-fp): Likewise.
+	* config/rs6000/power9.md: New file.
+	* config/rs6000/t-rs6000 (MD_INCLUDES): Add power9.md.
+	* config/rs6000/htm.md (*tabort, *tabort<wd>c, *tabort<wd>ci,
+	*trechkpt, *treclaim, *tsr, *ttest): Change type attribute to
+	htmsimple.
+	* config/rs6000/dfp.md (extendsddd2, truncddsd2, extendddtd2,
+	trunctddd2, adddd3, addtd3, subdd3, subtd3, muldd3, multd3, divdd3,
+	divtd3, *cmpdd_internal1, *cmptd_internal1, floatdidd2, floatditd2,
+	ftruncdd2, fixdddi2, ftrunctd2, fixtddi2, dfp_ddedpd_<mode>,
+	dfp_denbcd_<mode>, dfp_dxex_<mode>, dfp_diex_<mode>, dfp_dscli_<mode>,
+	dfp_dscri_<mode>): Change type attribute to dfp.
+	* config/rs6000/crypto.md (crypto_vshasigma<CR_char>): Change type
+	attribute to vecsimple.
+	* config/rs6000/rs6000.c (power9_cost): Update costs, cache size
+	and prefetch streams.
+	(rs6000_option_override_internal): Remove temporary code setting
+	tuning to power8.  Don't set rs6000_sched_groups for power9.
+	(last_scheduled_insn): Change to rtx_insn *.
+	(divide_cnt, vec_load_pendulum): New variables.
+	(rs6000_adjust_cost): Add Power9 to test for store->load separation.
+	(rs6000_issue_rate): Set issue rate for Power9.
+	(is_power9_pairable_vec_type): New.
+	(power9_sched_reorder2): New.
+	(rs6000_sched_reorder2): Call new function for Power9 specific
+	reordering.
+	(insn_must_be_first_in_group): Remove Power9.
+	(insn_must_be_last_in_group): Likewise.
+	(force_new_group): Likewise.
+	(rs6000_sched_init): Fix initialization of last_scheduled_insn.
+	Initialize divide_cnt/vec_load_pendulum.
+	(_rs6000_sched_context, rs6000_init_sched_context,
+	rs6000_set_sched_context): Handle context save/restore of new
+	variables.
+
+2016-06-28  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p):
+	Properly handle DECL_BIT_FIELD_REPRESENTATIVE occuring as
+	COMPONENT_REF operand.
+	(nonoverlapping_component_refs_p): Likewise.
+	* stor-layout.c (start_bitfield_representative): Mark
+	DECL_BIT_FIELD_REPRESENTATIVE as DECL_NONADDRESSABLE_P.
+
+2016-06-28  Jakub Jelinek  <jakub@redhat.com>
+
+	* Makefile.in: Don't cat ../stage_current if it does not exist.
+
+	* doc/extend.texi (__builtin_add_overflow_p): Clarify behavior when
+	last argument is a bit-field.
+
+	PR rtl-optimization/71673
+	* internal-fn.c (expand_arith_overflow_result_store): Use
+	OPTAB_LIB_WIDEN instead of OPTAB_DIRECT as last argument to
+	expand_simple_binop.
+
+	PR middle-end/66867
+	* builtins.c (expand_ifn_atomic_compare_exchange_into_call,
+	expand_ifn_atomic_compare_exchange): New functions.
+	* internal-fn.c (expand_ATOMIC_COMPARE_EXCHANGE): New function.
+	* tree.h (build_call_expr_internal_loc): Rename to ...
+	(build_call_expr_internal_loc_array): ... this.  Fix up type of
+	last argument.
+	* internal-fn.def (ATOMIC_COMPARE_EXCHANGE): New internal fn.
+	* predict.c (expr_expected_value_1): Handle IMAGPART_EXPR of
+	ATOMIC_COMPARE_EXCHANGE result.
+	* builtins.h (expand_ifn_atomic_compare_exchange): New prototype.
+	* gimple-fold.h (optimize_atomic_compare_exchange_p,
+	fold_builtin_atomic_compare_exchange): New prototypes.
+	* gimple-fold.c (optimize_atomic_compare_exchange_p,
+	fold_builtin_atomic_compare_exchange): New functions..
+	* tree-ssa.c (execute_update_addresses_taken): If
+	optimize_atomic_compare_exchange_p, ignore &var in 2nd argument
+	of call when finding addressable vars, and if such var becomes
+	non-addressable, call fold_builtin_atomic_compare_exchange.
+
+2016-06-27  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR target/71670
+	* config/rs6000/rs6000.md (ashdi3_extswsli_dot): Use
+	gen_ashdi3_extswsli_dot2 instead of gen_ashdi3_extswsli_dot.
+
+2016-06-27  Pat Haugen  <pthaugen@us.ibm.com>
+
+	* config/rs6000/rs6000.md ('type' attribute): Add
+	veclogical,veccmpfx,vecexts,vecmove insn types.
+	(*abs<mode>2_fpr, *nabs<mode>2_fpr, *neg<mode>2_fpr, *extendsfdf2_fpr,
+	copysign<mode>3_fcpsgn, trunc<mode>df2_internal1, neg<mode>2_internal,
+	p8_fmrgow_<mode>, pack<mode>): Change type to fpsimple.
+	(*xxsel<mode>, copysign<mode>3_hard, neg<mode>2_hw, abs<mode>2_hw,
+	*nabs<mode>2_hw): Change type to vecmove.
+	(*and<mode>3_internal, *bool<mode>3_internal, *boolc<mode>3_internal,
+	*boolcc<mode>3_internal, *eqv<mode>3_internal,
+	*one_cmpl<mode>3_internal, *ieee_128bit_vsx_neg<mode>2_internal,
+	*ieee_128bit_vsx_abs<mode>2_internal,
+	*ieee_128bit_vsx_nabs<mode>2_internal, extendkftf2, trunctfkf2,
+	*ieee128_mfvsrd_64bit, *ieee128_mfvsrd_32bit, *ieee128_mtvsrd_64bit,
+	*ieee128_mtvsrd_32bit): Change type to veclogical.
+	(mov<mode>_hardfloat, *mov<mode>_hardfloat32, *mov<mode>_hardfloat64,
+	*movdi_internal32, *movdi_internal64): Update insn types.
+	* config/rs6000/vsx.md (*vsx_le_undo_permute_<mode>,
+	vsx_extract_<mode>): Change type to veclogical.
+	(*vsx_xxsel<mode>, *vsx_xxsel<mode>_uns): Change type to vecmove.
+	(vsx_sign_extend_qi_<mode>, *vsx_sign_extend_hi_<mode>,
+	*vsx_sign_extend_si_v2di): Change type to vecexts.
+	* config/rs6000/altivec.md (*altivec_mov<mode>, *altivec_movti): Change
+	type to veclogical.
+	(*altivec_eq<mode>, *altivec_gt<mode>, *altivec_gtu<mode>,
+	*altivec_vcmpequ<VI_char>_p, *altivec_vcmpgts<VI_char>_p,
+	*altivec_vcmpgtu<VI_char>_p): Change type to veccmpfx.
+	(*altivec_vsel<mode>, *altivec_vsel<mode>_uns): Change type to vecmove.
+	* config/rs6000/dfp.md (*negdd2_fpr, *absdd2_fpr, *nabsdd2_fpr,
+	negtd2, *abstd2_fpr, *nabstd2_fpr): Change type to fpsimple.
+	* config/rs6000/40x.md (ppc405-float): Add fpsimple.
+	* config/rs6000/440.md (ppc440-fp): Add fpsimple.
+	* config/rs6000/476.md (ppc476-fp): Add fpsimple.
+	* config/rs6000/601.md (ppc601-fp): Add fpsimple.
+	* config/rs6000/603.md (ppc603-fp): Add fpsimple.
+	* config/rs6000/6xx.md (ppc604-fp): Add fpsimple.
+	* config/rs6000/7xx.md (ppc750-fp): Add fpsimple.
+	(ppc7400-vecsimple): Add veclogical, vecmove, veccmpfx.
+	* config/rs6000/7450.md (ppc7450-fp): Add fpsimple.
+	(ppc7450-vecsimple): Add veclogical, vecmove.
+	(ppc7450-veccmp): Add veccmpfx.
+	* config/rs6000/8540.md (ppc8540_simple_vector): Add veclogical,
+	vecmove.
+	(ppc8540_vector_compare): Add veccmpfx.
+	* config/rs6000/a2.md (ppca2-fp): Add fpsimple.
+	* config/rs6000/cell.md (cell-fp): Add fpsimple.
+	(cell-vecsimple): Add veclogical, vecmove.
+	(cell-veccmp): Add veccmpfx.
+	* config/rs6000/e300c2c3.md (ppce300c3_fp): Add fpsimple.
+	* config/rs6000/e6500.md (e6500_vecsimple): Add veclogical, vecmove,
+	veccmpfx.
+	* config/rs6000/mpc.md (mpccore-fp): Add fpsimple.
+	* config/rs6000/power4.md (power4-fp): Add fpsimple.
+	(power4-vecsimple): Add veclogical, vecmove.
+	(power4-veccmp): Add veccmpfx.
+	* config/rs6000/power5.md (power5-fp): Add fpsimple.
+	* config/rs6000/power6.md (power6-fp): Add fpsimple.
+	(power6-vecsimple): Add veclogical, vecmove.
+	(power6-veccmp): Add veccmpfx.
+	* config/rs6000/power7.md (power7-fp): Add fpsimple.
+	(power7-vecsimple): Add veclogical, vecmove, veccmpfx.
+	* config/rs6000/power8.md (power8-fp): Add fpsimple.
+	(power8-vecsimple): Add veclogical, vecmove, veccmpfx.
+	* config/rs6000/rs64.md (rs64a-fp): Add fpsimple.
+	* config/rs6000/titan.md (titan_fp): Add fpsimple.
+	* config/rs6000/xfpu.md (fp-default, fp-addsub-s, fp-addsub-d): Add
+	fpsimple.
+	* config/rs6000/rs6000.c (rs6000_adjust_cost): Add TYPE_FPSIMPLE.
+
+2016-06-27  Peter Bergner  <bergner@vnet.ibm.com>
+
+	PR target/71656
+	* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
+	OPTION_MASK_P9_DFORM_VECTOR.
+	* config/rs6000/rs6000.c (rs6000_option_override_internal): Do not
+	disable -mpower9-dform-vector when using reload.
+	(quad_address_p): Remove 'gpr_p' argument and all associated code.
+	New 'strict' argument.  Update all callers.  Add strict addressing
+	support.
+	(rs6000_legitimate_offset_address_p): Remove call to
+	virtual_stack_registers_memory_p.
+	(rs6000_legitimize_reload_address): Add quad address support.
+	(rs6000_legitimate_address_p): Move call to quad_address_p above
+	call to virtual_stack_registers_memory_p.  Adjust quad_address_p args
+	to account for new strict usage.
+	(rs6000_output_move_128bit): Adjust quad_address_p args to account
+	for new strict usage.
+	* config/rs6000/predicates.md (quad_memory_operand): Likewise.
+
+2016-06-26  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/70902
+	PR target/71453
+	PR target/71555
+	PR target/71596
+	PR target/71657
+	* config/i386/i386.c (ix86_spill_class): Disable condition to
+	always return NO_REGS.
+
+2016-06-26  Jan Hubicka  <hubicka@ucw.cz>
+
+	* predict.c: Include gimple-pretty-print.h
+	(predicted_by_loop_heuristics_p): Check also
+	PRED_LOOP_EXIT_WITH_RECURSION
+	(predict_loops): Find self recursive calls and use special purpose
+	predictors for them; dump log about decisions.
+	(pass_profile::execute): Dump info about #of iterations.
+	* predict.def (PRED_LOOP_EXIT_WITH_RECURSION,
+	(PRED_LOOP_GUARD_WITH_RECURSION): New predictors.
+
+2016-06-26  John David Anglin  <danglin@gcc.gnu.org>
+
+	* config/pa/pa.c (pa_output_indirect_call): Rework to combine
+	output_asm_insn calls and shorten long lines.  Output .CALL
+	argument descriptor using pa_output_arg_descriptor.  Add various
+	inline $$dyncall and other optimizations.
+	(pa_attr_length_indirect_call): Adjust ordering and lengths.
+
+2016-06-25  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/71643
+	* tree-ssa-tail-merge.c (find_clusters_1): Ignore basic blocks with
+	EH preds.
+
+	* tree-ssa-tail-merge.c (deps_ok_for_redirect_from_bb_to_bb): Don't
+	leak a bitmap if dep_bb is NULL.
+
+	PR tree-optimization/71631
+	* tree-ssa-reassoc.c (reassociate_bb): Pass true as last argument
+	to rewrite_expr_tree even if negate_result, move new_lhs var
+	declaration and initialization earlier, for powi_result set afterwards
+	new_lhs to lhs.  For negate_result, use new_lhs instead of tmp
+	if new_lhs != lhs, and don't shadow gsi var.
+
+2016-06-24  Jan Hubicka  <hubicka@ucw.cz>
+
+	* predict.c (predict_paths_leading_to, predict_paths_leading_to_edge):
+	Add in_loop parameter.
+	(predict_loops): Add loop guard heuristics.
+	* predict.def (PRED_LOOP_GUARD): New heuristics.
+
+2016-06-24  Jan Hubicka  <hubicka@ucw.cz>
+
+	* predict.c: Include ipa-utils.h
+	(tree_bb_level_prediction): Predict recursive calls.
+	(tree_estimate_probability_bb): Skip inexpensive calls for call
+	predictor.
+	* predict.def (PRED_RECURSIVE_CALL): New.
+
+2016-06-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): New #define.
+	(BU_FLOAT128_1): Likewise.
+	(FABSQ): Likewise.
+	(COPYSIGNQ): Likewise.
+	(RS6000_BUILTIN_NANQ): Likewise.
+	(RS6000_BUILTIN_NANSQ): Likewise.
+	(RS6000_BUILTIN_INFQ): Likewise.
+	(RS6000_BUILTIN_HUGE_VALQ): Likewise.
+	* config/rs6000/rs6000.c (rs6000_fold_builtin): New prototype.
+	(TARGET_FOLD_BUILTIN): New #define.
+	(rs6000_builtin_mask_calculate): Add TARGET_FLOAT128 entry.
+	(rs6000_invalid_builtin): Add handling for RS6000_BTM_FLOAT128.
+	(rs6000_fold_builtin): New target hook implementation, handling
+	folding of 128-bit NaNs and infinities.
+	(rs6000_init_builtins): Initialize const_str_type_node; ensure all
+	entries are filled in to avoid problems during bootstrap
+	self-test; define builtins for 128-bit NaNs and infinities.
+	(rs6000_opt_mask): Add entry for float128.
+	* config/rs6000/rs6000.h (RS6000_BTM_FLOAT128): New #define.
+	(RS6000_BTM_COMMON): Include RS6000_BTM_FLOAT128.
+	(rs6000_builtin_type_index): Add RS6000_BTI_const_str.
+	(const_str_type_node): New #define.
+	* config/rs6000/rs6000.md (copysign<mode>3 for IEEE128): Convert
+	to a define_expand that dispatches to either copysign<mode>3_soft
+	or copysign<mode>3_hard.
+	(copysign<mode>3_hard): Rename from copysign<mode>3.
+	(copysign<mode>3_soft): New define_insn.
+	* doc/extend.texi: Document new builtins.
+
+2016-06-24  Jakub Jelinek  <jakub@redhat.com>
+
+	* cfgloop.c (flow_loop_dump): Cast nit to uint64_t and print it using
+	PRIu64 instead of lu.
+
+2016-06-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR debug/71642
+	* tree-inline.c (remap_decl): When fixing up DECL_ORIGINAL_TYPE, just
+	copy the type name.
+
+2016-06-24  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/71647
+	* omp-low.c (lower_rec_input_clauses): Convert
+	omp_clause_aligned_alignment (c) to size_type_node for the
+	last argument of __builtin_assume_aligned.
+
+2016-06-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* configure.ac (calling ___tls_get_addr via GOT): New
+	assembler/linker check.
+	(HAVE_AS_IX86_TLS_GET_ADDR_GOT): New.  Defined to 1 if 32-bit
+	assembler and linker supports calling ___tls_get_addr via GOT.
+	Otherise, defined to 0.
+	* config.in: Regenerated.
+	* configure: Likewise.
+	* config/i386/constraints.md (Yb): New constraint.
+	* config/i386/i386.h (reg_class): Add TLS_GOTBASE_REGS.
+	(REG_CLASS_NAMES): Likewise.
+	(REG_CLASS_CONTENTS): Likewise.
+	* config/i386/i386.md (*tls_global_dynamic_32_gnu): Replace
+	the b constraint with the Yb constraint.  Call ___tls_get_addr
+	via GOT for GNU TLS with -fno-plt if HAVE_AS_IX86_TLS_GET_ADDR_GOT
+	is 1.
+	(*tls_local_dynamic_base_32_gnu): Likewise.
+	(*tls_global_dynamic_64_<mode>): Call _tls_get_addr via GOT for
+	GNU TLS with -fno-plt if HAVE_AS_IX86_TLS_GET_ADDR_GOT is 1.
+	(*tls_local_dynamic_base_64_<mode>): Likewise.
+
+2016-06-24  Martin Liska  <mliska@suse.cz>
+
+	* cfgloop.c (flow_loop_dump): Dump average number of loop iterations.
+	* cfgloop.h: Change 'struct loop' to 'const struct loop' for a
+	few functions.
+	* cfgloopanal.c (expected_loop_iterations_unbounded): Set a new
+	argument to true if the expected number of iterations is
+	loop-based.
+
+2016-06-24  Uros Bizjak  <ubizjak@gmail.com>
+
+	* configure.ac (HAVE_AS_GOTOF_IN_DATA): Use $as_ix86_gas_32_opt to
+	assemble for 32bit target.
+	(HAVE_AS_IX86_TLSGDPLT): Use $as_ix86_gas_32_opt to assemble
+	and $ld_ix86_gld_32_opt to link for 32bit target.
+	(HAVE_AS_IX86_TLSLDMPLT): Ditto.
+	* configure: Regenerate.
+
+2016-06-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/arm/arm.c (int_log2): Delete definition and prototype.
+	(shift_op): Use exact_log2 instead of int_log2.
+	(vfp3_const_double_for_fract_bits): Likewise.
+
+2016-06-24  Jakub Jelinek  <jakub@redhat.com>
+
+	* internal-fn.c (expand_arith_set_overflow): New function.
+	(expand_addsub_overflow, expand_neg_overflow, expand_mul_overflow):
+	Use it.
+	(expand_arith_overflow_result_store): Likewise.  Handle precision
+	smaller than mode precision.
+	* tree-vrp.c (extract_range_basic): For imag part, handle
+	properly signed 1-bit precision result.
+	* doc/extend.texi (__builtin_add_overflow): Document that last
+	argument can't be pointer to enumerated or boolean type.
+	(__builtin_add_overflow_p): Document that last argument can't
+	have enumerated or boolean type.
+
+2016-06-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
+	    Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/predicates.md (splat_input_operand): Rework.
+	Don't allow constants, since the insns that use this predicate
+	don't support constants.  Constants are handled by other insns
+	that are created via combine.  During and after register
+	allocation, only allow indexed or indirect addresses, and not
+	general addresses.  Only allow modes supported by the hardware.
+	* config/rs6000/rs6000.c (xxsplitb_constant_p): Update usage
+	comment.  Move check for using VSPLTIS<x> to a common location,
+	instead of doing it in two different places.
+
+2016-06-23  Jocelyn Mayer  <l_indien@magic.fr>
+
+	* config/i386/driver-i386.c (host_detect_local_cpu): Set
+	PROCESSOR_PENTIUMPRO for signature_CENTAUR_ebx family >= 9.
+	<case PROCESSOR_PENTIMUMPRO>: Pass c7 or nehemiah for
+	signature_CENTAUR_ebx.
+
+2016-06-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/66232
+	PR target/67400
+	* configure.ac (as_ix86_tls_ldm_opt): Renamed to ...
+	(as_ix86_gas_32_opt): This.
+	(ld_ix86_tls_ldm_opt): Renamed to ...
+	(ld_ix86_gld_32_opt): This.
+	(R_386_TLS_LDM reloc): Updated.
+	(R_386_GOT32X reloc): New assembler/linker check.
+	(HAVE_AS_IX86_GOT32X): New.  Defined to 1 if 32-bit assembler and
+	linker support "jmp *_start@GOT" and "cmpl $0, bar@GOT".  Otherise,
+	defined to 0.
+	* config.in: Regenerated.
+	* configure: Likewise.
+	* config/i386/i386.c (ix86_force_load_from_GOT_p): Return
+	true if HAVE_AS_IX86_GOT32X is 1 in 32-bit mode.
+	(ix86_legitimate_address_p): Allow UNSPEC_GOT for -fno-plt
+	if ix86_force_load_from_GOT_p returns true.
+	(ix86_print_operand_address_as): Also support UNSPEC_GOT if
+	ix86_force_load_from_GOT_p returns true.
+	(ix86_expand_move): Generate UNSPEC_GOT in 32-bit mode to load
+	the external function address via the GOT slot.
+	(ix86_nopic_noplt_attribute_p): Check both TARGET_64BIT and
+	HAVE_AS_IX86_GOT32X before returning false.
+	(ix86_output_call_insn): Generate "%!jmp/call\t*%p0@GOT" in
+	32-bit mode if ix86_nopic_noplt_attribute_p returns true.
+
+2016-06-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree-inline.c (remap_decl): Preserve DECL_ORIGINAL_TYPE invariant.
+
+2016-06-23  Andi Kleen  <ak@linux.intel.com>
+
+	* Makefile.in: Regenerate.
+	* doc/install.texi: Document autoprofiledbootstrap.
+
+2016-06-23  Andi Kleen  <ak@linux.intel.com>
+
+	* config/i386/gcc-auto-profile: New file.
+
+2016-06-23  Martin Liska  <mliska@suse.cz>
+
+	PR middle-end/71619
+	* predict.c (predict_loops): Revert the hunk that was removed
+	in r237103.
+
+2016-06-23  Jakub Sejdak  <jakub.sejdak@phoesys.com>
+
+	* config.gcc: Add support for arm*-*-phoenix* targets.
+	* config/arm/t-phoenix: New.
+	* config/phoenix.h: New.
+
+2016-06-23  Uros Bizjak  <ubizjak@gmail.com>
+	    H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/67400
+	* config/i386/i386-protos.h (ix86_force_load_from_GOT_p): New.
+	* config/i386/i386.c (ix86_force_load_from_GOT_p): New function.
+	(ix86_legitimate_constant_p): Do not allow UNSPEC_GOTPCREL if
+	ix86_force_load_from_GOT_p returns true.
+	(ix86_legitimate_address_p): Allow UNSPEC_GOTPCREL if
+	ix86_force_load_from_GOT_p returns true.
+	(ix86_print_operand_address_as): Support UNSPEC_GOTPCREL if
+	ix86_force_load_from_GOT_p returns true.
+	(ix86_expand_move): Load the external function address via the
+	GOT slot if ix86_force_load_from_GOT_p returns true.
+	* config/i386/predicates.md (x86_64_immediate_operand): Return
+	false for SYMBOL_REFs where ix86_force_load_from_GOT_p returns true.
+	(x86_64_zext_immediate_operand): Ditto.
+
+2016-06-22  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (ix86_expand_move): Simplify SYMBOL_REF handling.
+
+2016-06-22  David Malcolm  <dmalcolm@redhat.com>
+
+	PR c/70339
+	* diagnostic-core.h (pedwarn_at_rich_loc): New prototype.
+	* diagnostic.c (pedwarn_at_rich_loc): New function.
+	* spellcheck.h (best_match::best_match): Add a
+	"best_distance_so_far" optional parameter.
+	(best_match::set_best_so_far): New method.
+	(best_match::get_best_distance): New accessor.
+	(best_match::get_best_candidate_length): New accessor.
+
+2016-06-22  Nick Clifton  <nickc@redhat.com>
+
+	* dwarf2out.c (scompare_loc_descriptor): Use SCALAR_INT_MODE_P() in
+	place of GET_MODE_CLASS() == MODE_INT, so that partial integer
+	modes are accepted as well.
+	(ucompare_loc_descriptor): Likewise.
+	(minmax_loc_descriptor): Likewise.
+	(clz_loc_descriptor): Likewise.
+	(popcount_loc_descriptor): Likewise.
+	(bswap_loc_descriptor): Likewise.
+	(rotate_loc_descriptor): Likewise.
+	(mem_loc_descriptor): Likewise.
+	(loc_descriptor): Likewise.
+
+2016-06-22  David Malcolm  <dmalcolm@redhat.com>
+
+	* common.opt (fdiagnostics-parseable-fixits): New option.
+	* diagnostic.c: Include "selftest.h".
+	(print_escaped_string): New function.
+	(print_parseable_fixits): New function.
+	(diagnostic_report_diagnostic): Call print_parseable_fixits.
+	(selftest::assert_print_escaped_string): New function.
+	(ASSERT_PRINT_ESCAPED_STRING_STREQ): New macro.
+	(selftest::test_print_escaped_string): New function.
+	(selftest::test_print_parseable_fixits_none): New function.
+	(selftest::test_print_parseable_fixits_insert): New function.
+	(selftest::test_print_parseable_fixits_remove): New function.
+	(selftest::test_print_parseable_fixits_replace): New function.
+	(selftest::diagnostic_c_tests): New function.
+	* diagnostic.h (struct diagnostic_context): Add field
+	"parseable_fixits_p".
+	* doc/invoke.texi (Diagnostic Message Formatting Options): Add
+	-fdiagnostics-parseable-fixits.
+	(-fdiagnostics-parseable-fixits): New option.
+	* opts.c (common_handle_option): Handle
+	-fdiagnostics-parseable-fixits.
+	* selftest-run-tests.c (selftest::run_tests): Call
+	selftest::diagnostic_c_tests.
+	* selftest.h (selftest::diagnostic_c_tests): New prototype.
+
+2016-06-22  Ilya Enkovich  <ilya.enkovich@intel.com>
+
+	PR tree-optimization/71488
+	* tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Support
+	comparison of boolean vectors.
+	* tree-vect-stmts.c (vectorizable_comparison): Vectorize comparison
+	of boolean vectors using bitwise operations.
+
+2016-06-22  Andreas Schwab  <schwab@suse.de>
+
+	* config/aarch64/aarch64-protos.h (aarch64_elf_asm_named_section):
+	Remove declaration.
+
+2016-06-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* function.c (assign_parm_setup_reg): Prevent sharing in another case.
+
+2016-06-22  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* config/i386/i386.c (print_reg): Emit an error message on attempt to
+	print FLAGS_REG.
+
+2016-06-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/arm/arm.c (arm_cortex_a73_tune): New struct.
+	* config/arm/arm-cores.def (cortex-a73): New entry.
+	(cortex-a73.cortex-a35): Likewise.
+	(cortex-a73.cortex-a53): Likewise.
+	* config/arm/arm-tables.opt: Regenerate.
+	* config/arm/arm-tune.md: Likewise.
+	* config/arm/bpabi.h (BE8_LINK_SPEC): Handle mcpu=cortex-a73,
+	mcpu=cortex-a73.cortex-a35 and mcpu=cortex-a73.cortex-a53.
+	* config/arm/t-aprofile: Handle mcpu=cortex-a73,
+	mcpu=cortex-a73.cortex-a35 and mcpu=cortex-a73.cortex-a53.
+	* doc/invoke.texi (ARM Options): Document cortex-a73,
+	cortex-a73.cortex-a35 and cortex-a73.cortex-a53.
+
+2016-06-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64.c (cortexa73_tunings): New struct.
+	* config/aarch64/aarch64-cores.def (cortex-a73): New entry.
+	(cortex-a73.cortex-a35): Likewise.
+	(cortex-a73.cortex-a53): Likewise.
+	* config/aarch64/aarch64-tune.md: Regenerate.
+	* doc/invoke.texi (AArch64 Options): Document cortex-a73,
+	cortex-a73.cortex-a35 and cortex-a73.cortex-a53 arguments to
+	-mcpu and -mtune.
+
+2016-06-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* configure.ac (gcc_cv_as_compress_debug): Remove
+	--compress-debug-sections as extra as switch.
+	Handle gas --compress-debug-sections=type.
+	(gcc_cv_ld_compess_debug): Remove bogus ld_date check.
+	Handle gld --compress-debug-sections=type.
+	* configure: Regenerate.
+
+2016-06-21  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* bb-reorder.c (pass_partition_blocks::gate): Update comment.
+
+2016-06-21  John David Anglin  <danglin@gcc.gnu.org>
+
+	* gcov-tool.c (profile_rewrite): Use int64_t instead of long long.
+	(do_rewrite): likewise.
+
+2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* common/config/mep/mep-common.c: Remove.
+	* config.gcc: Remove mep-* support.
+	* config/mep/constraints.md: Remove.
+	* config/mep/default.h: Remove.
+	* config/mep/intrinsics.h: Remove.
+	* config/mep/intrinsics.md: Remove.
+	* config/mep/ivc2-template.h: Remove.
+	* config/mep/mep-c5.cpu: Remove.
+	* config/mep/mep-core.cpu: Remove.
+	* config/mep/mep-default.cpu: Remove.
+	* config/mep/mep-ext-cop.cpu: Remove.
+	* config/mep/mep-intrin.h: Remove.
+	* config/mep/mep-ivc2.cpu: Remove.
+	* config/mep/mep-pragma.c: Remove.
+	* config/mep/mep-protos.h: Remove.
+	* config/mep/mep.c: Remove.
+	* config/mep/mep.cpu: Remove.
+	* config/mep/mep.h: Remove.
+	* config/mep/mep.md: Remove.
+	* config/mep/mep.opt: Remove.
+	* config/mep/predicates.md: Remove.
+	* config/mep/t-mep: Remove.
+	* doc/install.texi: Remove mep-* documentation.
+	* doc/md.texi: Likewise.
+
+2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* config.gcc: Remove support for avr-rtems.
+	* config/avr/gen-avr-mmcu-specs.c: Likewise.
+	* config/avr/rtems.h: Remove.
+	* config/avr/t-rtems: Remove.
+
+2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* config.gcc: Remove m32r-rtems support.
+	* config/m32r/rtems.h: Remove.
+
+2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* config.gcc: Remove h8300-rtems support.
+	* config/h8300/rtems.h: Remove.
+	* config/h8300/t-rtems: Remove.
+
+2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* config.gcc: Remove support for knetbsd.
+	* configure.ac: Likewise.
+	* config/i386/knetbsd-gnu.h: Remove.  * config/i386/knetbsd-gnu64.h: Remove.
+	* config/knetbsd-gnu.h: Remove.
+	* configure: Regenerate.
+
+2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* config.gcc: Remove support for openbsd 2 and 3.
+	* config/openbsd-oldgas.h: Remove.
+
+2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* config.gcc: Remove interix support.
+	* config/i386/i386-interix.h: Remove.
+	* config/i386/interix.opt: Remove.
+	* config/i386/t-interix: Remove.
+	* configure: Regenerate.
+	* configure.ac: Remove interix support.
+	* doc/install.texi: Remove interix documentation.
+
+2016-06-21  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+	* config/rs6000/rs6000.h: Add conditional preprocessing directives
+	to disable Power9-specific compiler features if HAVE_AS_POWER9 is
+	not defined.
+
+2016-06-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree.c (verify_type_variant): Skip TYPE_SIZE and TYPE_SIZE_UNIT if
+	they are both PLACEHOLDER_EXPRs.
+
+2016-06-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* stor-layout.c (layout_type): Move setting complex MODE to
+	layout_type, instead of setting it ahead of time by the caller.
+	* tree.c (build_complex_type): Likewise.
+
+2016-06-21  Martin Liska  <mliska@suse.cz>
+
+	* predict.c (force_edge_cold): Replace imposisble with
+	impossible.
+
+2016-06-21  Ilya Verbin  <ilya.verbin@intel.com>
+
+	* config/i386/i386.c (ix86_emit_swsqrtsf): Emit vrsqrt28ps.
+	* config/i386/sse.md (define_expand "rsqrtv16sf2"): New.
+
+2016-06-21  Ilya Verbin  <ilya.verbin@intel.com>
+
+	* config/i386/i386.c (ix86_emit_swdivsf): Emit vrcp28ps.
+
+2016-06-21  H.J. Lu  <hongjiu.lu@intel.com>
+	    Ilya Enkovich  <ilya.enkovich@intel.com>
+
+	PR target/71549
+	* config/i386/i386.c (timode_scalar_chain::fix_debug_reg_uses):
+	New member function to convert V1TImode register to SUBREG
+	TImode in debug insn.
+	(timode_scalar_chain::convert_insn): Call fix_debug_reg_uses
+	after changing register mode to V1TImode.
+
+2016-06-21  Virendra Pathak  <virendra.pathak@broadcom.com>
+
+	* config/aarch64/aarch64-cores.def (vulcan): New core.
+	* config/aarch64/aarch64-tune.md: Regenerate.
+	* doc/invoke.texi: Document vulcan as an available option.
+
+2016-06-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* cse.c (canon_asm_operands): New function extracted from...
+	(canonicalize_insn): ...here.  Call it to canonicalize an ASM_OPERANDS
+	either standalone or member of a PARALLEL.
+
+2016-06-21  Georg-Johann Lay  <avr@gjlay.de>
+
+	PR target/30417
+	* config/avr/gen-avr-mmcu-specs.c (print_mcu):
+	[*link_data_start]: Wrap -Tdata into %{!Tdata:...}.
+	[*link_text_start]: Wrap -Ttext into %{!Ttext:...}.
+
+2016-06-21  Georg-Johann Lay  <avr@gjlay.de>
+
+	PR target/71103
+	* config/avr/avr.md (movqi): Only handle loading subreg:qi of
+	constant addresses if can_create_pseudo_p.
+
+2016-06-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/71588
+	* tree-ssa-strlen.c (valid_builtin_call): New function.
+	(adjust_last_stmt, handle_builtin_memset, strlen_optimize_stmt): Use
+	it.
+
+2016-06-20  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/71581
+	* tree-ssa-uninit.c (warn_uninit): If EXPR and VAR are NULL,
+	see if T isn't anonymous SSA_NAME with COMPLEX_EXPR created
+	for conversion of scalar user var to complex type and use the
+	underlying SSA_NAME_VAR in that case.  If EXPR is still NULL,
+	punt.
+
+	PR rtl-optimization/71591
+	* toplev.c (toplev::run_self_tests): If no_backend, complain and
+	don't run any tests.
+
+2016-06-20  Hans-Peter Nilsson  <hp@axis.com>
+
+	PR target/71571
+	* config/cris/cris.c (cris_asm_output_mi_thunk): Add missing "ba"
+	delay-slot "nop" for PIC with CRIS v32.  Also add missing leading
+	space for PIC with non-v32 and the common non-PIC "jump".
+
+2016-06-20  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/71559
+	* config/i386/i386.c (ix86_fp_cmp_code_to_pcmp_immediate): Fix up
+	returned values and add UN*/LTGT/*ORDERED cases with values matching
+	D operand modifier on vcmp for AVX.
+
+2016-06-20  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.opt
+	(mpc-relative-literal-loads): Rename internal option name.
+	* config/aarch64/aarch64.c
+	(aarch64_nopcrelative_literal_loads): Rename to
+	aarch64_pcrelative_literal_loads.
+	(aarch64_expand_mov_immediate): Likewise.
+	(aarch64_secondary_reload): Likewise.
+	(aarch64_can_use_per_function_literal_pools_p): Likewise.
+	(aarch64_override_options_after_change_1): Rename and simplify logic.
+	(aarch64_classify_symbol): Merge large model checks into switch,
+	remove pc-relative load check.
+
+2016-06-20  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/arm/aarch-cost-tables.h (cortexa53_extra_costs): Make FP
+	costs relative to the cost of a register move.
+
+2016-06-20  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/aarch64/arm_neon.h (vcvt_n_f64_s64): New.
+	(vcvt_n_f64_u64): Likewise.
+	(vcvt_n_s64_f64): Likewise.
+	(vcvt_n_u64_f64): Likewise.
+	(vcvt_f64_s64): Likewise.
+	(vrecpe_f64): Likewise.
+	(vcvt_f64_u64): Likewise.
+	(vrecps_f64): Likewise.
+
+2016-06-20  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/aarch64/aarch64.md
+	(<FCVT_F2FIXED:fcvt_fixed_insn><GPF:mode>3): Add attributes to
+	iterators.
+	(<FCVT_FIXED2F:fcvt_fixed_insn><GPI:mode>3): Likewise.  Correct
+	attributes.
+	* config/aarch64/aarch64-builtins.c
+	(aarch64_types_binop_uss_qualifiers): Delete.
+	(TYPES_BINOP_USS): Likewise.
+	(aarch64_types_binop_sus_qualifiers): Likewise.
+	(TYPES_BINOP_SUS): Likewise.
+	(aarch64_types_fcvt_from_unsigned_qualifiers): New.
+	(TYPES_FCVTIMM_SUS): Likewise.
+	* config/aarch64/aarch64-simd-builtins.def (scvtf): Use SHIFTIMM
+	rather than BINOP.
+	(ucvtf): Use FCVTIMM_SUS rather than BINOP_SUS.
+	(fcvtzs): Use SHIFTIMM rather than BINOP.
+	(fcvtzu): Use SHIFTIMM_USS rather than BINOP_USS.
+
+2016-06-20  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/arm/aarch-cost-tables.h (cortexa57_extra_costs): Make FP
+	costs relative to the cost of a register move.
+
+2016-06-20  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_modes_tieable_p):
+	Allow scalar/single vector modes to be tieable.
+
+2016-06-20  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/arm/cortex-a57.md (cortex_a57_fp_cpys): Add fcsel.
+
+2016-06-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* params.def (PARAM_ALIGN_LOOP_ITERATIONS): Use "alignment" instead of
+	"alignement".
+	* tree.h (TYPE_ALIGN): Likewise.
+
+2016-06-20  Georg-Johann Lay  <avr@gjlay.de>
+
+	PR target/71103
+	* config/avr/avr.md (movqi): Handle loading subreg:qi (const).
+
+2016-06-20  Georg-Johann Lay  <avr@gjlay.de>
+
+	* config/avr/avr.c (avr_print_operand): Fix "format not a string
+	literal" build warnings.
+	(avr_print_operand_address): Dito.
+
+2016-06-19  David Edelsohn  <dje.gcc@gmail.com>
+
+	PR target/71375
+	* config/rs6000/aix51.h (TARGET_EXTRA_BUILTINS): Define as 0.
+	* config/rs6000/aix43.h (TARGET_EXTRA_BUILTINS): Same.
+
+2016-06-18  John David Anglin  <danglin@gcc.gnu.org>
+
+	* config/pa/pa.h (TARGET_LONG_PIC_PCREL_CALL): Remove.
+
+2016-06-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR bootstrap/71435
+	* reload1.c (reload): Pass 0 to finish_spills when called because
+	update_eliminables_and_spill returns true and remove did_spill.
+	(finish_spills): Adjust comment and document GLOBAL parameter.
+
+2016-06-17  DJ Delorie  <dj@redhat.com>
+
+	PR target/71338
+	* config/rl78/rl78-expand.c (umulqihi3): Enable for G10.
+	* config/rl78/rl78-virtual.c (umulhi3_shift_virt): Likewise.
+	(umulqihi3_virt): Likewise.
+	* config/rl78/rl78-real.c (umulhi3_shift_real): Likewise.
+	(umulqihi3_real): Likewise.
+
+2016-06-17  Martin Liska  <mliska@suse.cz>
+
+	* tree-ssa-reassoc.c (transform_add_to_multiply): Use auto_vec.
+
+2016-06-17  Martin Liska  <mliska@suse.cz>
+
+	* predict.def: PRED_LOOP_EXIT from 92 to 85.
+
+2016-06-17  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/arm/arm_neon.h (vadd_f32): replace __FAST_MATH with
+	__FAST_MATH__.
+	(vaddq_f32): Likewise.
+	(vmul_f32): Likewise.
+	(vmulq_f32): Likewise.
+	(vsub_f32): Likewise.
+	(vsubq_f32): Likewise.
+
+2016-06-17  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/71347
+	* tree-ssa-loop-ivopts.c (determine_group_iv_cost_address): Compute
+	cost for all uses in group.
+
+2016-06-17  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-vect-loop.c (vect_create_epilog_for_reduction): Only
+	insert gimple seq if it's not empty.
+
+2016-06-17  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-vectorizer.h (struct dr_with_seg_len): Remove class
+	member OFFSET.
+	* tree-vect-data-refs.c (operator ==): Handle DR_OFFSET directly,
+	rather than OFFSET.
+	(comp_dr_with_seg_len_pair): Ditto.
+	(vect_prune_runtime_alias_test_list): Ditto.  Also Canonicalize
+	struct dr_with_seg_len_pair against DR_OFFSET.
+	* tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Handle
+	DR_OFFSET directly.
+
+2016-06-17  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+	* config/aarch64/geniterators.sh: Handle parenthesised conditions.
+
+2016-06-16  John David Anglin  <danglin@gcc.gnu.org>
+
+	* config/pa/pa.c (pa_output_pic_pcrel_sequence): New.
+	(pa_output_lbranch): Use pa_output_pic_pcrel_sequence.
+	(pa_output_millicode_call): Likewise.
+	(pa_output_call): Likewise.
+	(pa_output_indirect_call): Likewise.
+	(pa_asm_output_mi_thunk): Likewise.
+
+2016-06-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+	* doc/invoke.texi (x86 Options): Fix -mno-fp-ret-in-387 typo.
+
+2016-06-16  Martin Liska  <mliska@suse.cz>
+
+	* predict.c (combine_predictions_for_insn): When we find a first
+	match predictor, we should consider just predictors with
+	PRED_FLAG_FIRST_MATCH.  Print either first match (if any) or
+	DS theory predictor.
+	(combine_predictions_for_bb): Likewise.
+
+2016-06-16  Jakub Jelinek  <jakub@redhat.com>
+
+	* gimplify.c (gimplify_scan_omp_clauses): Handle COMPONENT_REFs
+	with base of reference to struct.
+
+2016-06-16  Uros Bizjak  <ubizjak@gmail.com>
+
+	* doc/invoke.texi (x86 Options): Document -m80387 and -mhard-float.
+
+2016-06-16  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
+
+	PR target/71151
+	* config/avr/avr.c (avr_asm_init_sections): Remove setup of
+	progmem_swtable_section.
+	(progmem_swtable_section): Remove.
+	(avr_asm_function_rodata_section): Remove.
+	(TARGET_ASM_FUNCTION_RODATA_SECTION): Remove.
+	* config/avr/avr.h (JUMP_TABLES_IN_TEXT_SECTION: Define to 1.
+
+2016-06-16  Jocelyn Mayer  <l_indien@magic.fr>
+
+	* config/i386/driver-i386.c (host_detect_local_cpu): Set
+	PROCESSOR_K8 for signature_CENTAUR_ebx with has_longmode.
+	<case PROCESSOR_K8>: Pass nano-3000, nano, eden-x2 or k8 for
+	signature_CENTAUR_ebx.
+	* config/i386/i386.c (ix86_option_override_internal): Add
+	definitions for VIA c7, samuel-2, nehemiah, esther, eden-x2, eden-x4,
+	nano, nano-1000, nano-2000, nano-3000, nano-x2 and nano-x4.
+	* doc/invoke.texi (x86 Options): Document new VIA -march entries.
+
+2016-06-16  Martin Liska  <mliska@suse.cz>
+
+	* predict.def: Add fortran loop preheader predictor.
+	* gimple-fold.c (gimple_fold_stmt_to_constant_1): Properly
+	fold IFN_BUILTIN_EXPECT with a known constant argument.
+
+2016-06-16  Martin Liska  <mliska@suse.cz>
+
+	* predict.def: Add 'Fortran' to display text of all
+	PRED_FORTRAN_* predictors.
+
+2016-06-16  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/71242
+	* config/ia64/ia64.c (enum ia64_builtins) [IA64_BUILTIN_NANQ]: New.
+	[IA64_BUILTIN_NANSQ]: Ditto.
+	(ia64_fold_builtin): New function.
+	(TARGET_FOLD_BUILTIN): New define.
+	(ia64_init_builtins) Declare const_string_type node.
+	Add __builtin_nanq and __builtin_nansq builtin functions.
+	(ia64_expand_builtin): Handle IA64_BUILTIN_NANQ and IA64_BUILTIN_NANSQ.
+
+2016-06-16  Nick Clifton  <nickc@redhat.com>
+
+	* config/msp430/msp430-opts.h (msp430_hwmult_types): Add
+	MSP430_HWMULT_ prefix to enum values.
+	(msp430_regions): Add MSP430_REGION_ prefix to enum values.
+	* config/msp430/msp430.c: Update use of enum values.
+	* config/msp430/msp430.md: Likewise.
+	* config/msp430/msp430.opt: Likewise.
+
+2016-06-16  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Fix estimation
+	of comparsions in the last iteration.
+
+2016-06-16  Claudiu Zissulescu  <claziss@synopsys.com>
+	    Joern Rennecke  <joern.rennecke@embecosm.com>
+
+	* config/arc/arc.c (arc_print_operand_address): Handle pc-relative
+	addresses.
+	(arc_needs_pcl_p): Add GOTOFFPC.
+	(arc_legitimate_pic_addr_p): Likewise.
+	(arc_output_pic_addr_const): Likewise.
+	(arc_legitimize_pic_address): Generate a pc-relative address using
+	GOTOFFPC.
+	(arc_output_libcall): Use @pcl syntax.
+	(arc_delegitimize_address_0): Delegitimize ARC_UNSPEC_GOTOFFPC.
+	* config/arc/arc.md ("unspec"): Add ARC_UNSPEC_GOTOFFPC.
+	(*movsi_insn): Use @pcl syntax.
+	(doloop_begin_i): Likewise.
+
+2016-06-16  Martin Liska  <mliska@suse.cz>
+
+	* predict.def: Define a new predictor.
+
+2016-06-16  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.opt (mtp-regno): Update text.
+
+2016-06-16  Renlin Li  <renlin.li@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_legitimize_address): Fix a typo.
+
+2016-06-16  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/71554
+	* config/i386/i386.md (setcc + movzbl peephole2): Use reg_set_p.
+	(setcc + and peephole2): Likewise.
+
+	PR rtl-optimization/71532
+	* cse.c (cse_insn): For const/pure calls, invalidate argument passing
+	memory slots.
+
+2016-06-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/vsx.md (VSINT_84): Add DImode to enable loading
+	DImode constants with XXSPLTIB in vector registers.
+	(vsx_extract_<mode>, V2DImode/V2DFmode): Combine both
+	vsx_extract_<mode>_internal{1,2} into a single insn that handles
+	direct move (both ISA 2.07 and ISA 3.0 versions), and optimizes
+	extraction of the element at the top of the register as a scalar
+	value.
+	(vsx_extract_<mode>_internal1): Likewise.
+	(vsx_extract_<mode>_internal2): Likewise.
+	* config/rs6000/constraints.md (wi constraint): Remove a comment
+	about DImode not being allowed in Altivec registers.
+	(wB constraint): New constraint for constants that can be
+	generated in Altivec registers with VSPLTISW/VUPKHSW.
+	* config/rs6000/predicates.md (xxspltib_constant_split): Update
+	comments.
+	(xxspltib_constant_nosplit): Likewise.
+	* config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Add
+	support for -mupper-regs-di to enable DImode to go into Altivec
+	registers.
+	(POWERPC_MASKS): Likewise.
+	(power7 cpu): Likewise.
+	* config/rs6000/rs6000.opt (-mupper-regs-di): Likewise.
+	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
+	for DImode being allowed in Altivec registers.  Update wi/wj
+	constraints.  Set scalar_in_vmx_p flag.
+	(rs6000_option_override_internal): Add checks for -mupper-regs-di.
+	(xxspltib_constant_p): Allow CONST_INT's with VOIDmode.  Don't
+	return true if we could use VSPLTISW/VUPKHSW instead of XXSPLTIB.
+	(rs6000_opt_masks): Add -mupper-regs-di.
+	* config/rs6000/rs6000.md (lfiwax): Update clobbers that don't use
+	direct move to use wi and not wj.
+	(lfiwzx): Likewise.
+	(floatsi<mode>2_lfiwax_mem): Combine alternatives into a single
+	alternative.
+	(floatunssi<mode>2_lfiwzx_mem): Likewise.
+	(fix_trunc<mode>di2_fctidz): Change second alternative to allow
+	any VSX register, instead of just Altivec registers, to allow
+	either operand to be an Altivec register or both.
+	(fixuns_trunc<mode>di2_fctiduz): Likewise.
+	(movdi_internal32): Add support for -mupper-regs-di.  Add support
+	to load constants via XXSPLTIB or VSPLTISW.  Add spacing to allow
+	the alternatives and attributes to be lined up to be easier to
+	read.
+	(movdi_internal64): Likewise.
+	(64-bit DImode splitters): Change predicates to only split loading
+	up GPR registers.  Add splits for using XXSPLTIB or VSPLTISW to
+	load constants in ISA 3.0 or ISA 2.07 respectively.
+	* doc/invoke.texi (RS/6000 and PowerPC Options): Document
+	-mupper-regs-di.  Update -mupper-regs-df and -mupper-regs-sf to
+	mention -mcpu=power9 sets these options.
+	* doc/md.texi (PowerPC and IBM RS6000 constraints): Document the
+	wB constraint.
+
+2016-06-15  Pitchumani Sivanupandi  <pitchumani.s@atmel.com>
+
+	PR target/67353
+	* config/avr/avr.c (avr_set_current_function): Warn misspelled
+	interrupt/ signal handler if -Wmisspelled-isr flag is enabled.
+	* config/avr/avr.opt (Wmisspelled-isr): New warning flag. Enabled
+	by default to warn misspelled interrupt/ signal handler.
+	* doc/invoke.texi (AVR Options): Document it. Update description
+	for -nodevicelib option.
+
+2016-06-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64-simd.md (aarch64_<sur>shll_n<mode>): Clean
+	up parentheses.  Use GET_MODE_UNIT_BITSIZE.
+	(aarch64_<sur>shll2_n<mode>): Likewise.
+
+2016-06-15  Ilya Enkovich  <ilya.enkovich@intel.com>
+
+	PR middle-end/71529
+	* ipa-chkp.c (chkp_build_instrumented_fndecl): Fix
+	DECL_CONTEXT for copied arguments.
+
+2016-06-15  Alan Hayward  <alan.hayward@arm.com>
+
+	PR tree-optimization/71483
+	* tree-vect-loop.c (vectorizable_live_operation): Pick correct index
+	for slp
+
+2016-06-15  Martin Liska  <mliska@suse.cz>
+
+	* predict.c (tree_predict_by_opcode): Call predict_edge_def
+	instead of predict_edge w/o a probability.
+
+2016-06-15  Alan Hayward  <alan.hayward@arm.com>
+
+	PR tree-optimization/71439
+	* tree-vect-loop.c (vect_analyze_loop_operations): Additional check for
+	live PHIs.
+
+2016-06-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* ifcvt.c (bb_ok_for_noce_multiple_sets): Allow simple lowpart
+	register subregs in SET_SRC.
+
+2016-06-15  Richard Biener  <rguenther@suse.de>
+
+	* tree-vect-stmts.c (vectorizable_store): Remove strided grouped
+	store restrictions.
+
+2016-06-15  Richard Biener  <rguenther@suse.de>
+
+	* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Do
+	not consider dependences between accesses that belong to the
+	same group.
+	(vect_analyze_data_ref_dependences): Do not analyze read-read
+	or self-dependences.
+
+2016-06-14  David Malcolm  <dmalcolm@redhat.com>
+
+	* spellcheck-tree.c: Include spellcheck-tree.h rather than
+	spellcheck.h.
+	(find_closest_identifier): Reimplement in terms of
+	best_match<tree,tree>.
+	* spellcheck-tree.h: New file.
+	* spellcheck.c (struct edit_distance_traits<const char *>): New
+	struct.
+	(find_closest_string): Reimplement in terms of
+	best_match<const char *, const char *>.
+	* spellcheck.h (levenshtein_distance): Move prototype of tree-based
+	overload to spellcheck-tree.h.
+	(find_closest_identifier): Likewise.
+	(struct edit_distance_traits<T>): New template.
+	(class best_match): New class.
+
+2016-06-14  David Malcolm  <dmalcolm@redhat.com>
+
+	* selftest-run-tests.c (selftest::run_tests): Call
+	selftest::spellcheck_tree_c_tests.
+	* selftest.h (selftest::spellcheck_tree_c_tests): New decl.
+	* spellcheck-tree.c: Include selftest.h and stringpool.h.
+	(selftest::test_find_closest_identifier): New function.
+	(selftest::spellcheck_tree_c_tests): New function.
+	* spellcheck.c (selftest::test_find_closest_string): Verify that
+	the order of the vec does not affect the results for this case.
+	(selftest::test_data): New array.
+	(selftest::test_metric_conditions): New function.
+	(selftest::spellcheck_c_tests): Add a test of case-comparison.
+	Call selftest::test_metric_conditions.
+
+2016-06-14  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000-builtin.def (commentary): Typo.
+	(BU_P9_MISC_1): Likewise.
+	(BU_P9_64BIT_MISC_0): Likewise.
+	(BU_P9_MISC_0): Likewise.
+
+2016-06-14  David Malcolm  <dmalcolm@redhat.com>
+
+	* gcc-rich-location.c
+	(gcc_rich_location::add_fixit_misspelled_id): New method.
+	* gcc-rich-location.h
+	(gcc_rich_location::add_fixit_misspelled_id): Add decl.
+
+2016-06-14  Andreas Tobler  <andreast@gcc.gnu.org>
+
+	* config/arm/freebsd.h: Only enable unaligned access for armv6 on
+	FreeBSD 11 and above.
+
+2016-06-14  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (signbittf2): Emit sse_movmskps for TARGET_SSE.
+
+2016-06-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* expmed.h: Close parenthesis in "at your option" in copyright
+	boilerplate.
+	* lower-subreg.h: Likewise.
+
+2016-06-14  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/71526
+	* genmatch.c (expr::gen_transform): Use in_type for comparisons
+	if available.
+
+2015-06-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_mask_and_shift_for_ubfiz_p):
+	New function.
+	(aarch64_rtx_costs): Use it.  Rewrite CONST_INT_P (op1) case to handle
+	mask+shift version.
+	* config/aarch64/aarch64-protos.h (aarch64_mask_and_shift_for_ubfiz_p):
+	New prototype.
+	* config/aarch64/aarch64.md (*andim_ashift<mode>_bfiz): Replace
+	matching condition with aarch64_mask_and_shift_for_ubfiz_p.
+
+2016-06-14  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71522
+	* tree-ssa.c (non_rewritable_lvalue_p): Do not rewrite non-float
+	copying into float copying.
+
+2016-06-14  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/71520
+	* tree-ssa-tail-merge.c (find_duplicate): Handle labels.
+	(replace_block_by): Move user labels from bb1 to bb2.
+
+2016-06-14  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/71310
+	PR bootstrap/71510
+	* expr.h (get_bit_range): Declare.
+	* expr.c (get_bit_range): Export.
+	* fold-const.c (optimize_bit_field_compare): Use get_bit_range and
+	word_mode again to constrain the bitfield access.
+
+2016-06-14  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71521
+	* tree-vrp.c (extract_range_from_binary_expr_1): Guard
+	division int_const_binop against zero divisor.
+
+2016-06-13  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (signbittf2): New expander.
+	* config/i386/sse.md (ptesttf2): New insn pattern.
+
+2016-06-13  David Malcolm  <dmalcolm@redhat.com>
+
+	PR bootstrap/71481
+	* input.c (selftest::test_reading_source_line): Avoid reading from
+	__FILE__ by creating a tempfile with known content and reading
+	from that instead.
+
+2016-06-13  David Malcolm  <dmalcolm@redhat.com>
+
+	* pretty-print.c (assert_pp_format_colored): Skip the test if
+	GCC_COLORS is set.
+	(test_pp_format): Remove comment about GCC_COLORS.
+
+2016-06-13  David Malcolm  <dmalcolm@redhat.com>
+
+	* input.c (test_reading_source_line): Use SELFTEST_LOCATION.
+	* pretty-print.c (assert_pp_format_va): Add location param and use
+	it with ASSERT_STREQ_AT.
+	(assert_pp_format): Add location param and pass it to
+	assert_pp_format_va.
+	(assert_pp_format_colored): Likewise.
+	(ASSERT_PP_FORMAT_1): New.
+	(ASSERT_PP_FORMAT_2): New.
+	(ASSERT_PP_FORMAT_3): New.
+	(test_pp_format): Provide SELFTEST_LOCATION throughout, either
+	explicitly, or implicitly via the above macros.
+	* selftest.c (selftest::pass): Use a selftest::location rather
+	than file and line.
+	(selftest::fail): Likewise.  Print the function name.
+	(selftest::fail_formatted): Likewise.
+	(selftest::assert_streq): Use a selftest::location rather than
+	file and line.
+	* selftest.h (selftest::location): New struct.
+	(SELFTEST_LOCATION): New macro.
+	(selftest::pass): Accept a const location & rather than file
+	and line.
+	(selftest::fail): Likewise.
+	(selftest::fail_formatted): Likewise.
+	(selftest::assert_streq): Likewise.
+	(ASSERT_TRUE): Update for above changes, using SELFTEST_LOCATION.
+	(ASSERT_FALSE): Likewise.
+	(ASSERT_EQ): Likewise.
+	(ASSERT_NE): Likewise.
+	(ASSERT_STREQ): Likewise.
+	(ASSERT_PRED1): Likewise.
+	(ASSERT_STREQ_AT): New macro.
+
+2016-06-13  David Malcolm  <dmalcolm@redhat.com>
+
+	* selftest.c (selftest::fail_formatted): New function.
+	(selftest::assert_streq): New function.
+	* selftest.h (selftests::fail_formatted): New decl.
+	(selftest::assert_streq): New decl.
+	(ASSERT_STREQ): Reimplement in terms of selftest::assert_streq.
+
+2016-06-13  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/71403
+	* tree-ssa-threadbackward.c
+	(convert_and_register_jump_thread_path): No longer accept reference
+	to path.  Do not pop items off the path anymore.
+	(fsm_find_control_statement_thread_paths): Do not allow threading
+	to a deeper loop nest.  Pop the last item off the path here rather
+	than in convert_and_register_jump_thread_path.
+
+2016-06-13  Evandro Menezes  <e.menezes@samsung.com>
+	    Wilco Dijkstra  <Wilco.Dijkstra@arm.com>
+
+	[AArch64] Emit division using the Newton series
+
+	* config/aarch64/aarch64-protos.h
+	(cpu_approx_modes): Add new member "division".
+	(aarch64_emit_approx_div): Declare new function.
+	* config/aarch64/aarch64.c
+	(generic_approx_modes): New member "division".
+	(exynosm1_approx_modes): Likewise.
+	(xgene1_approx_modes): Likewise.
+	(aarch64_emit_approx_div): Define new function.
+	* config/aarch64/aarch64.md ("div<mode>3"): New expansion.
+	* config/aarch64/aarch64-simd.md ("div<mode>3"): Likewise.
+	* config/aarch64/aarch64.opt (-mlow-precision-div): Add new option.
+	* doc/invoke.texi (-mlow-precision-div): Describe new option.
+
+2016-06-13  Evandro Menezes  <e.menezes@samsung.com>
+	    Wilco Dijkstra  <wilco.dijkstra@arm.com>
+
+	[AArch64] Emit square root using the Newton series
+
+	* config/aarch64/aarch64-protos.h
+	(aarch64_emit_approx_rsqrt): Replace with new function
+	"aarch64_emit_approx_sqrt".
+	(cpu_approx_modes): New member "sqrt".
+	* config/aarch64/aarch64.c
+	(generic_approx_modes): New member "sqrt".
+	(exynosm1_approx_modes): Likewise.
+	(xgene1_approx_modes): Likewise.
+	(aarch64_emit_approx_rsqrt): Replace with new function
+	"aarch64_emit_approx_sqrt".
+	(aarch64_override_options_after_change_1): Handle new option.
+	* config/aarch64/aarch64-simd.md
+	(rsqrt<mode>2): Use new function instead.
+	(sqrt<mode>2): New expansion and insn definitions.
+	* config/aarch64/aarch64.md: Likewise.
+	* config/aarch64/aarch64.opt
+	(mlow-precision-sqrt): Add new option description.
+	* doc/invoke.texi (mlow-precision-sqrt): Likewise.
+
+2016-06-13  Evandro Menezes  <e.menezes@samsung.com>
+
+	[AArch64] Add more choices for the reciprocal square root approximation
+
+	Allow a target to prefer such operation depending on the operation mode.
+
+	* config/aarch64/aarch64-protos.h
+	(AARCH64_APPROX_MODE): New macro.
+	(AARCH64_APPROX_{NONE,ALL}): Likewise.
+	(cpu_approx_modes): New structure.
+	(tune_params): New member "approx_modes".
+	* config/aarch64/aarch64-tuning-flags.def
+	(AARCH64_EXTRA_TUNE_APPROX_RSQRT): Remove macro.
+	* config/aarch64/aarch64.c
+	(generic_approx_modes): New core "cpu_approx_modes" structure.
+	(exynosm1_approx_modes): Likewise.
+	(xgene1_approx_modes): Likewise.
+	(generic_tunings): New member "approx_modes".
+	(cortexa35_tunings): Likewise.
+	(cortexa53_tunings): Likewise.
+	(cortexa57_tunings): Likewise.
+	(cortexa72_tunings): Likewise.
+	(exynosm1_tunings): Likewise.
+	(thunderx_tunings): Likewise.
+	(xgene1_tunings): Likewise.
+	(use_rsqrt_p): New argument for the mode and use new member from
+	"tune_params".
+	(aarch64_builtin_reciprocal): Devise mode from builtin.
+	(aarch64_optab_supported_p): New argument for the mode.
+	* doc/invoke.texi (-mlow-precision-recip-sqrt): Reword description.
+
+2016-06-13  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+	* config/rs6000/rs6000.h (RS6000_BTM_COMMON): Add the
+	RS6000_BTM_MODULO flag into the set of flags that are considered
+	to be part of the common configuration.
+
+2016-06-13  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+	* config/rs6000/altivec.h (vec_absd): New macro for vector absolute
+	difference unsigned.
+	(vec_absdb): New macro for vector absolute difference unsigned
+	byte.
+	(vec_absdh): New macro for vector absolute difference unsigned
+	half-word.
+	(vec_absdw): New macro for vector absolute difference unsigned word.
+	* config/rs6000/altivec.md (UNSPEC_VADU): New value.
+	(vadu<mode>3): New insn.
+	(*p9_vadu<mode>3): New insn.
+	* config/rs6000/rs6000-builtin.def (vadub): New built-in
+	definition.
+	(vaduh): New built-in definition.
+	(vaduw): New built-in definition.
+	(vadu): New overloaded built-in definition.
+	(vadub): New overloaded built-in definition.
+	(vaduh): New overloaded built-in definition.
+	(vaduw): New overloaded built-in definition.
+	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
+	overloaded vector absolute difference unsigned functions.
+	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
+	the ISA 3.0 vector absolute difference unsigned built-in functions.
+
+2016-06-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree-ssa-sccvn.c (vn_reference_lookup_3): Use a uniform test and
+	update shared_lookup_references only once after changing operands.
+
+2016-06-13  Thomas Schwinge  <thomas@codesourcery.com>
+
+	PR middle-end/71373
+	* tree-nested.c (convert_nonlocal_omp_clauses)
+	(convert_local_omp_clauses): Document missing OMP_CLAUSE_*.
+
+	* tree-cfg.c (edge_to_cases_cleanup): Fix CASE_CHAIN typo.
+	* tree.def (CASE_LABEL_EXPR): Likewise.
+
+2016-06-13  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	PR bootstrap/71481
+	* input.c (test_builtins): Fix an assertion.
+
+2016-06-13  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (paritydi2): Use ix86_expand_setcc.
+	(paritysi2): Ditto.
+	(isinfxf2): Ditto.
+	(isinf<mode>2): Ditto.
+
+2016-06-13  Uros Bizjak  <ubizjak@gmail.com>
+
+	* ggc-tests.c (test_finalization): Only test need_finalization_p
+	for GCC_VERSION >= 4003.
+
+2016-06-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/vecintrin.h: Fix file description in comment.
+
+2016-06-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390-builtin-types.def: Change builtin type naming
+	scheme to match builtin-types.def.
+
+2016-06-13  Marc Glisse  <marc.glisse@inria.fr>
+
+	* fold-const.c (optimize_minmax_comparison): Remove.
+	(fold_comparison): Remove call to the above.
+	* match.pd (MIN (X, Y) == X, MIN (X, 5) == 0, MIN (X, C1) < C2):
+	New transformations.
+
+2016-06-13  Alan Hayward  <alan.hayward@arm.com>
+
+	PR tree-optimization/71416
+	* tree-vect-loop.c (vectorizable_live_operation): Let worklist have
+	multiple entries
+
+2016-06-13  Martin Liska  <mliska@suse.cz>
+
+	* predict.c (enum predictor_reason): Prefix enum with REASON_.
+	(combine_predictions_for_insn): Likewise.
+	(prune_predictions_for_bb): Likewise.
+	(combine_predictions_for_bb): Likewise.
+
+2016-06-13  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71505
+	* tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Make
+	assert match comment.
+
+2016-06-13  Marek Polacek  <polacek@redhat.com>
+
+	PR middle-end/71476
+	* gimplify.c (maybe_warn_switch_unreachable): Factored out of
+	gimplify_switch_expr.
+	(warn_switch_unreachable_r): New function.
+
+2016-06-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	PR target/71379
+	* config/s390/s390.c (s390_expand_builtin): Increase MAX_ARGS by
+	one.
+
+2016-06-13  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/64516
+	* fold-const.c (fold_unary_loc): Preserve alignment when
+	folding a VIEW_CONVERT_EXPR into a MEM_REF.
+
+2016-06-13  Martin Liska  <mliska@suse.cz>
+
+	PR sanitizer/71458
+	* toplev.c (process_options): Do not enable -fcheck-pointer-bounds
+	w/ -fsanitize=bounds.
+
+2016-06-12  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (ix86_init_builtins): Calculate
+	FLOAT128_FTYPE_CONST_STRING function type only once.
+	* doc/extend.texi (x86 Built-in Functions): Update text, __float128
+	built-in functions are available for x86-32 and x86-64 targets.
+
+2016-06-12  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/71241
+	* config/i386/i386.i386-builtin-types.def (CONST_STRING):
+	New primitive type.
+	(FLOAT128_FTYPE_CONST_STRING): New function type.
+	* config/i386/i386.c (enum ix86_builtins) [IX86_BUILTIN_NANQ]: New.
+	[IX86_BUILTIN_NANSQ]: Ditto.
+	(ix86_fold_builtin): Handle IX86_BUILTIN_NANQ and IX86_BUILTIN_NANSQ.
+	(ix86_init_builtin_types): Declare const_string_type_node.
+	(ix86_init_builtins): Add __builtin_nanq and __builtin_nansq
+	builtin functions.
+	(ix86_expand_builtin): Handle IX86_BUILTIN_NANQ and IX86_BUILTIN_NANSQ.
+	* doc/extend.texi (x86 Built-in Functions): Document
+	__builtin_nanq and __builtin_nansq.
+
+2016-06-11  Jiong Wang  <jiong.wang@arm.com>
+
+	PR target/71061
+	* config/arm/arm-protos.h (arm_attr_length_pop_multi): New declaration.
+	* config/arm/arm.c (arm_attr_length_pop_multi): New function to return
+	length for pop patterns.
+	(arm_attr_length_push_multi): Update comments.
+	* config/arm/arm.md (*load_multiple_with_writeback): Set "length"
+	attribute.
+	(*pop_multiple_with_writeback_and_return): Likewise.
+	(*pop_multiple_with_return): Likewise.
+
+2016-06-11  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR middle-end/71310
+	* fold-const.c (optimize_bit_field_compare): Don't try to use
+	word_mode unconditionally for reading the bit field, look at
+	DECL_BIT_FIELD_REPRESENTATIVE instead.
+
+2016-06-11  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	PR middle-end/71478
+	* tree-ssa-reassoc.c (reassociate_bb): Remove (-1) from ops list for
+	vector integer type.
+
+2016-06-10  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/71494
+	* tree-nested.c (convert_nonlocal_reference_stmt): For GIMPLE_GOTO
+	without LABEL_DECL, set *handled_ops_p to false instead of true.
+
+2016-06-10  Martin Sebor  <msebor@redhat.com>
+
+	PR c/71392
+	* builtin-attrs.def (ATTR_NOTHROW_NONNULL_LEAF_LIST): New macro.
+	(ATTR_NOTHROW_NONNULL_TYPEGENERIC_LEAF): Same.
+	* builtins.def (BUILT_IN_SADD_OVERFLOW, BUILT_IN_SADDL_OVERFLOW): Use
+	them.
+	(BUILT_IN_SADDLL_OVERFLOW, BUILT_IN_SSUB_OVERFLOW): Same.
+	(BUILT_IN_SSUBL_OVERFLOW, BUILT_IN_SSUBLL_OVERFLOW): Same.
+	(BUILT_IN_SMUL_OVERFLOW, BUILT_IN_SMULL_OVERFLOW): Same.
+	(BUILT_IN_SMULLL_OVERFLOW, BUILT_IN_UADD_OVERFLOW): Same.
+	(BUILT_IN_UADDL_OVERFLOW, BUILT_IN_UADDLL_OVERFLOW): Same.
+	(BUILT_IN_USUB_OVERFLOW, BUILT_IN_USUBL_OVERFLOW): Same.
+	(BUILT_IN_USUBLL_OVERFLOW, BUILT_IN_UMUL_OVERFLOW): Same.
+	(BUILT_IN_UMULL_OVERFLOW, BUILT_IN_UMULLL_OVERFLOW): Same.
+
+2016-06-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* config/arm/arm.h (pool_vector_label,
+	return_used_this_function): Remove.
+
+2016-06-10  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/71335
+	* tree-ssa-threadbackward.c (profitable_jump_thread_path): Filter out
+	zero length paths here.
+	(convert_and_register_jump_thread_path): Remove hacks related to
+	duplicated blocks in the jump thread path.
+	(fsm_find_control_statement_thread_paths): Avoid putting the same
+	block on the thread path twice, but ensure the thread path is
+	unchanged from the caller's point of view.
+
+2016-06-10  Jan Hubicka  <hubicka@ucw.cz>
+
+	* predict.c (predict_loops): Remove PRED_LOOP_BRANCH.
+	* predict.def (PRED_LOOP_BRANCH): Remove.
+
+2016-06-10  David Malcolm  <dmalcolm@redhat.com>
+
+	* Makefile.in (OBJS): Add ggc-tests.o.
+	(GTFILES): Add ggc-tests.c.
+	* ggc-tests.c: New file.
+	* selftest-run-tests.c (selftest::run_tests): Call
+	selftest::ggc_tests_c_tests.
+	* selftest.h (selftest::ggc_tests_c_tests): New prototype.
+
+2016-06-10  Alexander Monakov  <amonakov@ispras.ru>
+
+	* match.pd (-1 / B < A): Use :c to avoid pattern duplication.
+
+2016-06-10  Maxim Ostapenko  <m.ostapenko@samsung.com>
+
+	PR sanitizer/71480
+	* varasm.c (place_block_symbol): Adjust alignment for asan protected
+	STRING_CSTs even if TREE_CONSTANT_POOL_ADDRESS_P.
+
+2016-06-10  Jan Hubicka  <hubicka@ucw.cz>
+
+	* profile.c: Include cfgloop.h.
+	(branch_prob): Compute estimated number of iterations.
+	* tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not
+	recompute estimate number of iterations from profile.
+
+2016-06-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	PR inline-asm/68843
+	* reg-stack.c (check_asm_stack_operands): Explicit input arguments
+	must be grouped on top of stack.  Don't force early clobber
+	on ordinary reg outputs.
+
+2016-06-10  Richard Biener  <rguenther@suse.de>
+
+	* targhooks.c (default_builtin_vectorization_cost): Adjust
+	vec_construct cost.
+
+2016-06-10  Richard Biener  <rguenther@suse.de>
+
+	* gimple-fold.c (gimple_fold_builtin_memory_op): Make sure
+	to fold the RHS to a constant if possible.
+
+2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
+
+	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.
+
+	* gimplify.c (gimplify_adjust_omp_clauses): Discard
+	OMP_CLAUSE_TILE.
+	* omp-low.c (scan_sharing_clauses): Don't expect OMP_CLAUSE_TILE.
+
+	* omp-low.c (scan_sharing_clauses): Don't expect
+	OMP_CLAUSE__CACHE_.
+
+2016-06-10  Alan Hayward  <alan.hayward@arm.com>
+
+	PR tree-optimization/71407
+	PR tree-optimization/71416
+	* tree-vect-loop.c (vectorizable_live_operation): Use vectype for
+	BIT_FIELD_REF type.
+
+2016-06-10  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/71477
+	* cfgloop.c (alloc_loop): Initialize nb_iterations_likely_upper_bound.
+
+2016-06-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* df-problems.c (df_note_bb_compute): Guard use of DF_INSN_INFO_GET.
+
+2016-06-09  Vladimir Makarov  <vmakarov@redhat.com>
+	    Jiong Wang  <jiong.wang@arm.com>
+
+	PR rtl-optimization/70751
+	* lra-constraints.c (process_alt_operands): Recognize Non-pseudo
+	spilled into memory.
+
+2016-06-09  Jonathan Yong  <10walls@gmail.com>
+
+	Revert:
+	2015-09-21  Jonathan Yong  <10walls@gmail.com>
+
+	* config/i386/cygwin.h (STARTFILE_SPEC): Explicitly search
+	sysroot/usr/lib/32api for additional win32 libraries,
+	fixes failing Cygwin bootstrapping.
+
+2016-06-09  Marcin Baczyński  <marbacz@gmail.com>
+
+	* diagnostic.h (diagnostic_line_cutoff, diagnostic_flush_buffer):
+	Delete.
+
+2016-06-09  David Malcolm  <dmalcolm@redhat.com>
+
+	PR bootstrap/71471
+	* pretty-print.c (pp_indent): Specify that %p is printed in a
+	host-dependent manner.
+	(test_pp_format): Remove the test for %p.
+
+2016-06-09  Maciej W. Rozycki  <macro@imgtec.com>
+
+	* config/mips/mips.c (mips_output_jump): Fix formatting.
+
+2016-06-09  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71462
+	* tree-ssa-loop-manip.c (find_uses_to_rename): Guard against
+	removed blocks.
+
+2016-06-09  Martin Liska  <mliska@suse.cz>
+
+	* predict.c (dump_prediction): Add new argument.
+	(enum predictor_reason): New enum.
+	(struct predictor_hash): New struct.
+	(predictor_hash::hash): New function.
+	(predictor_hash::equal): Likewise.
+	(not_removed_prediction_p): New function.
+	(prune_predictions_for_bb): Likewise.
+	(combine_predictions_for_bb): Prune predictions.
+
+2016-06-09  Martin Liska  <mliska@suse.cz>
+
+	* predict.c (filter_predictions): New function.
+	(remove_predictions_associated_with_edge): Use the filter
+	function.
+	(equal_edge_p): New function.
+
+2016-06-09  Stefan Bruens  <stefan.bruens@rwth-aachen.de>
+
+	* doc/invoke.texi (ARM Options): Use lexicographical ordering.
+	Correct usage of @samp vs @option, add @samp where appropriate.
+	Add -march={armv6k,armv6z,arm6zk}, remove -march=ep9312.
+	Add armv6s-m and document it, as it is no official ARM name.
+
+2016-06-09  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* ifcvt.c (struct noce_if_info): Add transform_name field.
+	(noce_try_move): Set if_info->transform_name to the function name.
+	(noce_try_ifelse_collapse): Likewise.
+	(noce_try_store_flag): Likewise.
+	(noce_try_inverse_constants): Likewise.
+	(noce_try_store_flag_constants): Likewise.
+	(noce_try_addcc): Likewise.
+	(noce_try_store_flag_mask): Likewise.
+	(noce_try_cmove): Likewise.
+	(noce_try_cmove_arith): Likewise.
+	(noce_try_minmax): Likewise.
+	(noce_try_abs): Likewise.
+	(noce_try_sign_mask): Likewise.
+	(noce_try_bitop): Likewise.
+	(noce_convert_multiple_sets): Likewise.
+	(noce_process_if_block): Print if_info->transform_name to
+	dump_file if transformation succeeded.
+
+2016-06-09  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/arm/cortex-a57.md (cortex_a57_alu):
+	Handle csel type.
+
+2016-06-08  Martin Sebor  <msebor@redhat.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/70507
+	PR c/68120
+	* builtins.def (BUILT_IN_ADD_OVERFLOW_P, BUILT_IN_SUB_OVERFLOW_P,
+	BUILT_IN_MUL_OVERFLOW_P): New builtins.
+	* builtins.c: Include gimple-fold.h.
+	(fold_builtin_arith_overflow): Handle
+	BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
+	(fold_builtin_3): Likewise.
+	* doc/extend.texi (Integer Overflow Builtins): Document
+	__builtin_{add,sub,mul}_overflow_p.
+
+2016-06-08  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* config/sparc/driver-sparc.c (cpu_names): Fix the entry for the
+	SPARC-M7 and add an entry for SPARC-S7 cpus (Sonoma).
+
+2016-06-08  Alan Lawrence  <alan.lawrence@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_function_arg_alignment):
+	Rewrite, looking one level down for records and arrays.
+
+2016-06-08  David Malcolm  <dmalcolm@redhat.com>
+
+	* pretty-print.c: Include "selftest.h".
+	(pp_format): Fix comment.
+	(identifier_to_locale): Likewise.
+	(selftest::test_basic_printing): New function.
+	(selftest::assert_pp_format): New function.
+	(selftest::test_pp_format): New function.
+	(selftest::pretty_print_c_tests): New function.
+	* selftest-run-tests.c (selftest::run_tests): Call
+	selftest::pretty_print_c_tests.
+	* selftest.h (pretty_print_c_tests): New declaration.
+
+2016-06-07  Jan Hubicka  <hubicka@ucw.cz>
+
+	* invoke.texi (max-loop-headers-insns): Document.
+	* params.def (PARAM_MAX_LOOP_HEADER_INSNS): New.
+	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Update comment.
+	(ch_base::copy_headers): Use PARAM_MAX_LOOP_HEADER_INSNS.
+
+2016-06-08  Richard Biener  <rguenther@suse.de>
+
+	* tree-vect-stmts.c (vectorizable_load): Remove restrictions
+	on strided SLP loads and fall back to scalar loads in case
+	we can't chunk them.
+
+2016-06-08  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71452
+	* tree-ssa.c (non_rewritable_lvalue_p): Make sure that the
+	type used for the SSA rewrite has enough precision to cover
+	the dynamic type of the location.
+
+2016-06-08  Jakub Jelinek  <jakub@redhat.com>
+	    Richard Biener  <rguenther@suse.de>
+
+	PR c++/71448
+	* fold-const.c (fold_comparison): Handle CONSTANT_CLASS_P (base0)
+	the same as DECL_P (base0) for indirect_base0.  Use equality_code
+	in one further place.
+
+2016-06-08  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* expmed.c (store_bit_field_1): Do not restrict a multiword op0
+	to one word if the field is known to overlap other words.
+	(extract_bit_field_1): Likewise.
+	(store_split_bit_field): Remove compensating code.
+	(extract_split_bit_field): Likewise.
+
+2016-06-08  Bernd Schmidt  <bschmidt@redhat.com>
+
+	PR debug/71432
+	PR ada/71413
+	* tree-ssa-strlen.c (handle_builtin_memcmp): Ignore debug insns.
+
+2016-06-08  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64-builtins.def (faddp): New builtins for modes in
+	VDQF.
+	* config/aarch64/aarch64-simd.md (aarch64_faddp<mode>): New.
+	(arch64_addpv4sf): Delete.
+	(reduc_plus_scal_v4sf): Use "gen_aarch64_faddpv4sf" instead of
+	"gen_aarch64_addpv4sf".
+	* config/aarch64/arm_neon.h (vpadd_f32): Remove inline assembly.  Use
+	builtin.
+	(vpadds_f32): Likewise.
+	(vpaddq_f32): Likewise.
+	(vpaddq_f64): Likewise.
+
+2016-06-08  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64-builtins.def (fabd): New builtins for modes
+	VALLF.
+	* config/aarch64/aarch64-simd.md (fabd<mode>_3): Extend modes from VDQF
+	to VALLF.  Rename to "fabd<mode>3".
+	"*fabd_scalar<mode>3): Delete.
+	* config/aarch64/arm_neon.h (vabds_f32): Remove inline assembly.
+	Use builtin.
+	(vabdd_f64): Likewise.
+	(vabd_f32): Likewise.
+	(vabd_f64): Likewise.
+	(vabdq_f32): Likewise.
+	(vabdq_f64): Likewise.
+
+2016-06-08  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64-builtins.def (rsqrts): New builtins for modes
+	VALLF.
+	* config/aarch64/aarch64-simd.md (aarch64_rsqrts_<mode>3): Rename to
+	"aarch64_rsqrts<mode>".
+	* config/aarch64/aarch64.c (get_rsqrts_type): Update gen* name.
+	* config/aarch64/arm_neon.h (vrsqrtss_f32): Remove inline assembly.  Use
+	builtin.
+	(vrsqrtsd_f64): Likewise.
+	(vrsqrts_f32): Likewise.
+	(vrsqrts_f64): Likewise.
+	(vrsqrtsq_f32): Likewise.
+	(vrsqrtsq_f64): Likewise.
+
+2016-06-08  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64-builtins.def (rsqrte): New builtins for modes
+	VALLF.
+	* config/aarch64/aarch64-simd.md (aarch64_rsqrte_<mode>2): Rename to
+	"aarch64_rsqrte<mode>".
+	* config/aarch64/aarch64.c (get_rsqrte_type): Update gen* name.
+	* config/aarch64/arm_neon.h (vrsqrts_f32): Remove inline assembly.  Use
+	builtin.
+	(vrsqrted_f64): Likewise.
+	(vrsqrte_f32): Likewise.
+	(vrsqrte_f64): Likewise.
+	(vrsqrteq_f32): Likewise.
+	(vrsqrteq_f64): Likewise.
+
+2016-06-08  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64-builtins.def (scvtf): Register vector modes.
+	(ucvtf): Likewise.
+	(fcvtzs): Likewise.
+	(fcvtzu): Likewise.
+	* config/aarch64/aarch64-simd.md
+	(<FCVT_F2FIXED:fcvt_fixed_insn><VDQF:mode>3): New.
+	(<FCVT_FIXED2F:fcvt_fixed_insn><VDQ_SDI:mode>3): Likewise.
+	* config/aarch64/arm_neon.h (vcvt_n_f32_s32): Remove inline assembly.
+	Use builtin.
+	(vcvt_n_f32_u32): Likewise.
+	(vcvt_n_s32_f32): Likewise.
+	(vcvt_n_u32_f32): Likewise.
+	(vcvtq_n_f32_s32): Likewise.
+	(vcvtq_n_f32_u32): Likewise.
+	(vcvtq_n_f64_s64): Likewise.
+	(vcvtq_n_f64_u64): Likewise.
+	(vcvtq_n_s32_f32): Likewise.
+	(vcvtq_n_s64_f64): Likewise.
+	(vcvtq_n_u32_f32): Likewise.
+	(vcvtq_n_u64_f64): Likewise.
+	* config/aarch64/iterators.md (VDQ_SDI): New mode iterator.
+	(VSDQ_SDI): Likewise.
+	(fcvt_target): Support V4DI, V4SI and V2SI.
+	(FCVT_TARGET): Likewise.
+
+2016-06-08  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64-builtins.c (TYPES_BINOP_USS): New
+	(TYPES_BINOP_SUS): Likewise.
+	(aarch64_simd_builtin_data): Update include file name.
+	(aarch64_builtins): Likewise.
+	* config/aarch64/aarch64-simd-builtins.def (scvtf): New entries
+	for conversion between scalar float-point and fixed-point.
+	(ucvtf): Likewise.
+	(fcvtzs): Likewise.
+	(fcvtzu): Likewise.
+	* config/aarch64/aarch64.md
+	(<FCVT_F2FIXED:fcvt_fixed_insn><GPF:mode>3: New
+	pattern for conversion between scalar float to fixed-pointer.
+	(<FCVT_FIXED2F:fcvt_fixed_insn><GPI:mode>: Likewise.
+	(UNSPEC_FCVTZS): New UNSPEC enumeration.
+	(UNSPEC_FCVTZU): Likewise.
+	(UNSPEC_SCVTF): Likewise.
+	(UNSPEC_UCVTF): Likewise.
+	* config/aarch64/arm_neon.h (vcvtd_n_f64_s64): Remove inline assembly.
+	Use builtin.
+	(vcvtd_n_f64_u64): Likewise.
+	(vcvtd_n_s64_f64): Likewise.
+	(vcvtd_n_u64_f64): Likewise.
+	(vcvtd_n_f32_s32): Likewise.
+	(vcvts_n_f32_u32): Likewise.
+	(vcvtd_n_s32_f32): Likewise.
+	(vcvts_n_u32_f32): Likewise.
+	* config/aarch64/iterators.md (fcvt_target): Support integer to float
+	mapping.
+	(FCVT_TARGET): Likewise.
+	(FCVT_FIXED2F): New iterator.
+	(FCVT_F2FIXED): Likewise.
+	(fcvt_fixed_insn): New define_int_attr.
+
+2016-06-07  Jan Hubicka  <hubicka@ucw.cz>
+
+	* predict.c (pass_strip_predict_hints::execute): Cleanup CFG if
+	some statements was removed.
+
+2016-06-08  Alan Hayward  <alan.hayward@arm.com>
+
+	* tree-vect-data-refs.c (vect_analyze_data_refs): Remove debug newline.
+	* tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): likewise.
+	(vect_can_advance_ivs_p): likewise.
+	(vect_update_ivs_after_vectorizer): likewise.
+	* tree-vect-loop.c (vect_determine_vectorization_factor): likewise.
+	(vect_analyze_scalar_cycles_1): likewise.
+	(vect_analyze_loop_operations): likewise.
+	(report_vect_op): likewise.
+	(vect_is_slp_reduction): likewise.
+	(vect_is_simple_reduction): likewise.
+	(get_initial_def_for_induction): likewise.
+	(vect_transform_loop): likewise.
+	* tree-vect-patterns.c (vect_recog_dot_prod_pattern): likewise.
+	(vect_recog_sad_pattern): likewise.
+	(vect_recog_widen_sum_pattern): likewise.
+	(vect_recog_widening_pattern): likewise.
+	(vect_recog_divmod_pattern): likewise.
+	* tree-vect-slp.c (vect-build-slp_tree_1): likewise.
+	(vect_analyze_slp_instance): likewise.
+	(vect_transform_slp_perm_load): likewise.
+	(vect_schedule_slp_instance): likewise.
+
+2016-06-07  Jan Hubicka  <hubicka@ucw.cz>
+
+	* predict.c (predict_iv_comparison): Mention that heuristics is broken.
+	(return_prediction): PRED_CONST_RETURN predict return as not taken.
+	* predict.def (PRED_CONTINUE): Change hitrate 50->67
+	(PRED_LOOP_BRANCH): Document predictor as broken.
+	(PRED_LOOP_EXIT): Change hitrate 91->92.
+	(PRED_LOOP_EXTRA_EXIT): Change hitrate 91->83.
+	(PRED_POINTER, PRED_TREE_POINTER): Change hitrate 85->70.
+	(PRED_OPCODE_POSITIVE): Change hitrate 79->64.
+	(PRED_OPCODE_NONEQUAL): Change hitrate 91->66.
+	(PRED_TREE_OPCODE_POSITIVE): Change hitrate 73->64
+	(PRED_TREE_OPCODE_NONEQUAL): Chnage hitrate 72->66
+	(PRED_CALL): Chane hitrate 71->67.
+	(PRED_TREE_EARLY_RETURN): Document issues, change hitrate 61->54.
+	(PRED_GOTO): Document as unused right now.
+	(PRED_CONST_RETURN): Change hitrate 67->69
+	(PRED_NEGATIVE_RETURN): Change hitrate 96->98
+	(PRED_NULL_RETURN): Change hitrate 91->90.
+	(PRED_LOOP_IV_COMPARE_GUESS): Change hitrate to 98.
+	(PRED_FORTRAN_FAIL_ALLOC): Change hitrate to 62; document issues.
+	(PRED_FORTRAN_SIZE_ZERO): Change hitrate to 99.
+
+2016-06-07  Bill Seurer  <seurer@linux.vnet.ibm.com>
+
+	* config/rs6000/altivec.h: Add __builtin_vec_mul.
+	* config/rs6000/rs6000-builtin.def (vec_mul): Change vec_mul to a
+	special case Altivec builtin.
+	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
+	VSX_BUILTIN_VEC_MUL (replaced with special case code).
+	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add
+	code for ALTIVEC_BUILTIN_VEC_MUL.
+	* config/rs6000/rs6000.c (altivec_init_builtins): Add definition
+	for __builtin_vec_mul.
+
+2016-06-07  Peter Bergner  <bergner@vnet.ibm.com>
+
+	* doc/invoke.texi (RS/6000 and PowerPC Options): Document -mhtm and
+	-mno-htm.
+
+2016-06-07  David Malcolm  <dmalcolm@redhat.com>
+
+	* spellcheck.c (selftest::test_find_closest_string): New function.
+	(spellcheck_c_tests): Call the above.
+
+2016-06-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* simplify-rtx.c (simplify_cond_clz_ctz): Delete 'mode' local variable.
+
+2016-06-07  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/sse.md (avx_vec_concat<mode>): Add v=v,vm and
+	Yv=Yv,C alternatives.
+
+2016-06-07  Richard Biener  <rguenther@suse.de>
+
+	PR c/61564
+	* common.opt (ffast-math): Make Optimization.
+
+2016-06-07  Simon Dardis  <simon.dardis@imgtec.com>
+	    Prachi Godbole  <prachi.godbole@imgtec.com>
+
+	* config/mips/p5600.md (p5600_fpu_fadd): Remove checking for
+	`fabs' and `fneg' type attributes.
+	(p5600_fpu_fabs): Add `fmove' to the comment.
+
+2016-06-07  Jan Hubicka  <hubicka@ucw.cz>
+
+	* gimple.c: Include builtins.h
+	(gimple_inexpensive_call_p): New function.
+	* gimple.h (gimple_inexpensive_call_p): Declare.
+	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Use it.
+	* tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Likewise;
+	fix formatting.
+
+2016-06-07  Paolo Carlini  <paolo.carlini@oracle.com>
+
+	* diagnostic.c (diagnostic_impl, diagnostic_n_impl): New.
+	(inform, inform_at_rich_loc, inform_n, warning, warning_at,
+	warning_at_rich_loc, warning_n, pedwarn, permerror,
+	permerror_at_rich_loc, error, error_n, error_at, error_at_rich_loc,
+	sorry, fatal_error, internal_error, internal_error_no_backtrace):
+	Use the above.
+
+2016-06-07  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71428
+	* tree-ssa-math-opts.c (perform_symbolic_merge): Properly distinguish
+	BIT_FIELD_REF op vs. load.
+
+2016-06-07  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/71423
+	* match.pd ((X | ~Y) -> Y <= X): Properly invert the comparison
+	for signed ops.
+
+2016-06-06  John David Anglin  <danglin@gcc.gnu.org>
+
+	* config/pa/pa.md (call): Generate indirect long calls to non-local
+	functions on TARGET_64BIT.
+	(call_value): Likewise.
+
+2016-06-06  John David Anglin  <danglin@gcc.gnu.org>
+
+	* config/pa/pa.md (call_val_reg_64bit): Remove "reg: DI " clobber from
+	pattern and subsequent splitters.
+	(call_val_reg_64bit_post_reload): Likewise.
+
+2016-06-07  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	PR middle-end/71408
+	* tree-ssa-reassoc.c (zero_one_operation): Fix NEGATE_EXPR operand for
+	propagate_op_to_single_use.
+
+2016-06-07  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	PR middle-end/71281
+	* tree-ssa-reassoc.c (reassociate_bb): Set uid for negate stmt.
+
+2016-06-07  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.h (enum ix86_enitity): Add X86_DIRFLAG.
+	(enum x86_dirflag_state): New enum.
+	(NUM_MODES_FOR_MODE_SWITCHING): Add X86_DIRFLAG_ANY.
+	(machine_function): Remove needs_cld.
+	(ix86_current_function_needs_cld): Remove.
+	* config/i386/i386.c (ix86_set_func_type): Set
+	ix86_optimize_mode_switching[X86_DIRFLAG] to 1.
+	(ix86_expand_prologue): Do not emit CLD here.
+	(ix86_dirflag_mode_needed): New function.
+	(ix86_dirflag_mode_entry): Ditto.
+	(ix86_mode_needed): Handle X86_DIRFLAG entity.
+	(ix86_mode_after): Ditto.
+	(ix86_mode_entry): Ditto.
+	(ix86_mode_exit): Ditto.
+	(ix86_emit_mode_set): Ditto.
+	* config/i386/i386.md (strmov_singleop): Set
+	ix86_optimize_mode_switching[X86_DIRFLAG] to 1 for TARGET_CLD.
+	Do not set ix86_current_function_needs_cld.
+	(rep_mov): Ditto.
+	(strset_singleop): Ditto.
+	(rep_stos): Ditto.
+	(cmpstrnqi_nz_1): Ditto.
+	(cmpstrnqi_1): Ditto.
+	(strlenqi_1): Ditto.
+
+2016-06-06  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/71259
+	* tree-vect-slp.c (vect_get_constant_vectors): For
+	VECTOR_BOOLEAN_TYPE_P, return all ones constant instead of
+	one for constant op, and use COND_EXPR for non-constant.
+
+2016-06-06  David Malcolm  <dmalcolm@redhat.com>
+
+	* Makefile.in (OBJS): Add function-tests.o,
+	hash-map-tests.o, hash-set-tests.o, rtl-tests.o,
+	selftest-run-tests.o.
+	(OBJS-libcommon): Add selftest.o.
+	(OBJS-libcommon-target): Add selftest.o.
+	(all.internal): Add "selftest".
+	(all.cross): Likewise.
+	(selftest): New phony target.
+	(s-selftest): New target.
+	(selftest-gdb): New phony target.
+	(COLLECT2_OBJS): Add selftest.o.
+	* bitmap.c: Include "selftest.h".
+	(selftest::test_gc_alloc): New function.
+	(selftest::test_set_range): New function.
+	(selftest::test_clear_bit_in_middle): New function.
+	(selftest::test_copying): New function.
+	(selftest::test_bitmap_single_bit_set_p): New function.
+	(selftest::bitmap_c_tests): New function.
+	* common.opt (fself-test): New.
+	* diagnostic-show-locus.c: Include "selftest.h".
+	(make_range): New function.
+	(test_range_contains_point_for_single_point): New function.
+	(test_range_contains_point_for_single_line): New function.
+	(test_range_contains_point_for_multiple_lines): New function.
+	(assert_eq): New function.
+	(test_get_line_width_without_trailing_whitespace): New function.
+	(selftest::diagnostic_show_locus_c_tests): New function.
+	* et-forest.c: Include "selftest.h".
+	(selftest::test_single_node): New function.
+	(selftest::test_simple_tree): New function.
+	(selftest::test_disconnected_nodes): New function.
+	(selftest::et_forest_c_tests): New function.
+	* fold-const.c: Include "selftest.h".
+	(selftest::assert_binop_folds_to_const): New function.
+	(selftest::assert_binop_folds_to_nonlvalue): New function.
+	(selftest::test_arithmetic_folding): New function.
+	(selftest::fold_const_c_tests): New function.
+	* function-tests.c: New file.
+	* gimple.c: Include "selftest.h".
+	Include "gimple-pretty-print.h".
+	(selftest::verify_gimple_pp): New function.
+	(selftest::test_assign_single): New function.
+	(selftest::test_assign_binop): New function.
+	(selftest::test_nop_stmt): New function.
+	(selftest::test_return_stmt): New function.
+	(selftest::test_return_without_value): New function.
+	(selftest::gimple_c_tests): New function.
+	* hash-map-tests.c: New file.
+	* hash-set-tests.c: New file.
+	* input.c: Include "selftest.h".
+	(selftest::assert_loceq): New function.
+	(selftest::test_accessing_ordinary_linemaps): New function.
+	(selftest::test_unknown_location): New function.
+	(selftest::test_builtins): New function.
+	(selftest::test_reading_source_line): New function.
+	(selftest::input_c_tests): New function.
+	* rtl-tests.c: New file.
+	* selftest-run-tests.c: New file.
+	* selftest.c: New file.
+	* selftest.h: New file.
+	* spellcheck.c: Include "selftest.h".
+	(selftest::levenshtein_distance_unit_test_oneway): New function,
+	adapted from testsuite/gcc.dg/plugin/levenshtein_plugin.c.
+	(selftest::levenshtein_distance_unit_test): Likewise.
+	(selftest::spellcheck_c_tests): Likewise.
+	* toplev.c: Include selftest.h.
+	(toplev::run_self_tests): New.
+	(toplev::main): Handle -fself-test.
+	* toplev.h (toplev::run_self_tests): New.
+	* tree.c: Include "selftest.h".
+	(selftest::test_integer_constants): New function.
+	(selftest::test_identifiers): New function.
+	(selftest::test_labels): New function.
+	(selftest::tree_c_tests): New function.
+	* tree-cfg.c: Include "selftest.h".
+	(selftest::push_fndecl): New function.
+	(selftest::test_linear_chain): New function.
+	(selftest::test_diamond): New function.
+	(selftest::test_fully_connected): New function.
+	(selftest::tree_cfg_c_tests): New function.
+	* vec.c: Include "selftest.h".
+	(selftest::safe_push_range): New function.
+	(selftest::test_quick_push): New function.
+	(selftest::test_safe_push): New function.
+	(selftest::test_truncate): New function.
+	(selftest::test_safe_grow_cleared): New function.
+	(selftest::test_pop): New function.
+	(selftest::test_safe_insert): New function.
+	(selftest::test_ordered_remove): New function.
+	(selftest::test_unordered_remove): New function.
+	(selftest::test_block_remove): New function.
+	(selftest::reverse_cmp): New function.
+	(selftest::test_qsort): New function.
+	(selftest::vec_c_tests): New function.c.
+	* wide-int.cc: Include selftest.h and wide-int-print.h.
+	(selftest::from_int <wide_int>): New function.
+	(selftest::from_int <offset_int>): New function.
+	(selftest::from_int <widest_int>): New function.
+	(selftest::assert_deceq): New function.
+	(selftest::assert_hexeq): New function.
+	(selftest::test_printing <VALUE_TYPE>): New function template.
+	(selftest::test_ops <VALUE_TYPE>): New function template.
+	(selftest::test_comparisons <VALUE_TYPE>): New function template.
+	(selftest::run_all_wide_int_tests <VALUE_TYPE>): New function
+	template.
+	(selftest::wide_int_cc_tests): New function.
+
+2016-06-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR middle-end/37780
+	* ifcvt.c (noce_try_ifelse_collapse): New function.
+	Declare prototype.
+	(noce_process_if_block): Call noce_try_ifelse_collapse.
+	* simplify-rtx.c (simplify_cond_clz_ctz): New function.
+	(simplify_ternary_operation): Use the above to simplify
+	conditional CLZ/CTZ expressions.
+
+2016-06-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR middle-end/37780
+	* config/aarch64/aarch64.md (ctz<mode>2): Convert to
+	define_insn_and_split.
+
+2016-06-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR middle-end/37780
+	* config/arm/arm.md (ctzsi2): Convert to define_insn_and_split.
+
+2016-06-06  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	PR c/24414
+	* cfgexpand.c (expand_asm_loc): Remove handling for ADDR_EXPR.
+	Implicitly clobber memory for basic asm with non-empty assembler
+	string.  Use targetm.md_asm_adjust also here.
+	* compare-elim.c (arithmetic_flags_clobber_p): Use asm_noperands here.
+	* final.c (final_scan_insn): Handle basic asm in PARALLEL block.
+	* gimple.c (gimple_asm_clobbers_memory_p): Handle basic asm with
+	non-empty assembler string.
+	* ira.c (compute_regs_asm_clobbered): Use asm_noperands here.
+	* recog.c (asm_noperands): Handle basic asm in PARALLEL block.
+	(decode_asm_operands): Handle basic asm in PARALLEL block.
+	(extract_insn): Handle basic asm in PARALLEL block.
+	* doc/extend.texi: Mention new behavior of basic asm.
+	* config/ia64/ia64 (rtx_needs_barrier): Handle ASM_INPUT here.
+	* config/pa/pa.c (branch_to_delay_slot_p, branch_needs_nop_p,
+	branch_needs_nop_p): Use asm_noperands.
+
+2016-06-06  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* config/sparc/sparc.md (cpu): Add niagara7 cpu type.
+	Include the M7 SPARC DFA scheduler.
+	New attribute v3pipe.
+	Annotate insns with v3pipe where appropriate.
+	Define cpu_feature vis4.
+	Add lzd instruction type and set it on clzdi_sp64 and clzsi_sp64.
+	Add (V8QI "8") to vbits.
+	Add insns {add,sub}v8qi3
+	Add insns ss{add,sub}v8qi3
+	Add insns us{add,sub}{v8qi,v4hi}3
+	Add insns {min,max}{v8qi,v4hi,v2si}3
+	Add insns {minu,maxu}{v8qi,v4hi,v2si}3
+	Add insns fpcmp{le,gt,ule,ug,ule,ugt}{8,16,32}_vis.
+	* config/sparc/niagara4.md: Add a comment explaining the
+	discrepancy between the documented latenty numbers and the
+	implemented ones.
+	* config/sparc/niagara7.md: New file.
+	* configure.ac (HAVE_AS_SPARC5_VIS4): Define if the assembler
+	supports SPARC5 and VIS 4.0 instructions.
+	* configure: Regenerate.
+	* config.in: Likewise.
+	* config.gcc: niagara7 is a supported cpu in sparc*-*-* targets.
+	* config/sparc/sol2.h (ASM_CPU32_DEFAUILT_SPEC): Set for
+	TARGET_CPU_niagara7.
+	(ASM_CPU64_DEFAULT_SPEC): Likewise.
+	(CPP_CPU_SPEC): Handle niagara7.
+	(ASM_CPU_SPEC): Likewise.
+	* config/sparc/sparc-opts.h (processor_type): Add
+	PROCESSOR_NIAGARA7.
+	(mvis4): New option.
+	* config/sparc/sparc.h (TARGET_CPU_niagara7): Define.
+	(AS_NIAGARA7_FLAG): Define.
+	(ASM_CPU64_DEFAULT_SPEC): Set for niagara7.
+	(CPP_CPU64_DEFAULT_SPEC): Likewise.
+	(CPP_CPU_SPEC): Handle niagara7.
+	(ASM_CPU_SPEC): Likewise.
+	* config/sparc/sparc.c (niagara7_costs): Define.
+	(sparc_option_override): Handle niagara7 and adjust cache-related
+	parameters with better values for niagara cpus.  Also support VIS4.
+	(sparc32_initialize_trampoline): Likewise.
+	(sparc_use_sched_lookahead): Likewise.
+	(sparc_issue_rate): Likewise.
+	(sparc_register_move_cost): Likewise.
+	(dump_target_flag_bits): Support VIS4.
+	(sparc_vis_init_builtins): Likewise.
+	(sparc_builtins): Likewise.
+	* config/sparc/sparc-c.c (sparc_target_macros): Define __VIS__ for
+	VIS4 4.0.
+	* config/sparc/driver-sparc.c (cpu_names): Add SPARC-M7 and
+	UltraSparc M7.
+	* config/sparc/sparc.opt (sparc_processor_type): New value
+	niagara7.
+	* config/sparc/visintrin.h (__attribute__): Prototypes for the
+	VIS4 builtins.
+	* doc/invoke.texi (SPARC Options): Document -mcpu=niagara7 and
+	-mvis4.
+	* doc/extend.texi (SPARC VIS Built-in Functions): Document the
+	VIS4 builtins.
+
+2016-06-06  Jonathan Wakely  <jwakely@redhat.com>
+
+	* doc/sourcebuild.texi (Directives): Remove extra closing braces.
+
+2016-06-06  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71398
+	* tree-ssa-loop-ivcanon.c (unloop_loops): First unloop, then
+	remove edges.
+
+2016-06-05  James Bowman  <james.bowman@ftdichip.com>
+
+	* config/ft32/ft32.c (ft32_setup_incoming_varargs,
+	ft32_expand_prolog, ft32_expand_epilogue):
+	Handle pretend_args.
+	* config/ft32/ft32.h: Remove OUTGOING_REG_PARM_STACK_SPACE.
+	* config/ft32/ft32.md: Add pretend_returner.
+
+2016-06-06  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/71389
+	* config/i386/i386.c (ix86_avx256_split_vector_move_misalign):
+	Copy op1 RTX to avoid invalid sharing.
+	(ix86_expand_vector_move_misalign): Ditto.
+
+2016-06-05  John David Anglin  <danglin@gcc.gnu.org>
+
+	* expr.c (move_by_pieces_d::generate): Mark mode parameter with
+	ATTRIBUTE_UNUSED.
+
+2016-06-05  Jan Hubicka  <hubicka@ucw.cz>
+
+	* predict.c (predicted_by_loop_heuristics_p): New function.
+	(predict_iv_comparison): Use it.
+	(predict_loops): Walk from innermost loops; do not predict edges
+	leaving multiple loops multiple times; implement
+	PRED_LOOP_ITERATIONS_MAX heuristics.
+	* predict.def (PRED_LOOP_ITERATIONS_MAX): New predictor.
+
+2016-06-05  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cfg.c (check_bb_profile): Do not report mismatched profiles when
+	only edges out of BB are EH edges.
+
+2016-06-04  Martin Sebor  <msebor@redhat.com>
+	    Marcin Baczyński  <marbacz@gmail.com>
+
+	PR c/48116
+	* doc/invoke.texi (-Wreturn-type): Mention not warning on return with
+	a void expression in a void function.
+
+2016-06-03  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Do not check
+	aux; dump reasons of decisions.
+	(should_duplicate_loop_header_p): Likewise.
+	(do_while_loop_p): Likewise.
+	(ch_base::copy_headers): Dump asi num insns duplicated.
+
+2016-06-04  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/71405
+	* tree-ssa.c (execute_update_addresses_taken): For clobber with
+	incompatible type, build a new clobber with the right type instead
+	of building a VIEW_CONVERT_EXPR around it.
+
+2016-06-04  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	PR tree-optimization/52171
+	* config/sh/sh.c (sh_use_by_pieces_infrastructure_p): Use
+	by_pieces_ninsns instead of move_by_pieces_ninsns.
+
+2016-06-04  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	* config/sh/sh.c (sh_print_operand_address): Don't use hardcoded 'r0'
+	for reg+reg addressing mode.
+
+2016-06-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* rs6000-c.c (c/c-tree.h): Add #include.
+	(altivec_resolve_overloaded_builtin): Handle ARRAY_TYPE arguments
+	in C++ when found in the base position of vec_ld or vec_st.
+
+2016-06-03  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Avoid
+	use of profile unless profile status is PROFILE_READ.
+	* profile.c (compute_branch_probabilities): Set profile status
+	only after reporting predictor hitrates.
+
+2016-06-03  Joseph Myers  <joseph@codesourcery.com>
+
+	PR target/71276
+	PR target/71277
+	* common.opt (ffp-int-builtin-inexact): New option.
+	* doc/invoke.texi (-fno-fp-int-builtin-inexact): Document.
+	* doc/md.texi (floor@var{m}2, btrunc@var{m}2, round@var{m}2)
+	(ceil@var{m}2): Document dependence on this option.
+	* ipa-inline-transform.c (inline_call): Handle
+	flag_fp_int_builtin_inexact.
+	* ipa-inline.c (can_inline_edge_p): Likewise.
+	* config/i386/i386.md (rintxf2): Do not test
+	flag_unsafe_math_optimizations.
+	(rint<mode>2_frndint): New define_insn.
+	(rint<mode>2): Do not test flag_unsafe_math_optimizations for 387
+	or !flag_trapping_math for SSE.  Just use gen_rint<mode>2_frndint
+	for 387 instead of extending and truncating.
+	(frndintxf2_<rounding>): Test flag_fp_int_builtin_inexact ||
+	!flag_trapping_math instead of flag_unsafe_math_optimizations.
+	Change to frndint<mode>2_<rounding>.
+	(frndintxf2_<rounding>_i387): Likewise.  Change to
+	frndint<mode>2_<rounding>_i387.
+	(<rounding_insn>xf2): Likewise.
+	(<rounding_insn><mode>2): Test flag_fp_int_builtin_inexact ||
+	!flag_trapping_math instead of flag_unsafe_math_optimizations for
+	x87.  Test TARGET_ROUND || !flag_trapping_math ||
+	flag_fp_int_builtin_inexact instead of !flag_trapping_math for
+	SSE.  Use ROUND_NO_EXC in constant operand of
+	gen_sse4_1_round<mode>2.  Just use gen_frndint<mode>2_<rounding>
+	for 387 instead of extending and truncating.
+
+2016-06-03  H.J. Lu  <hongjiu.lu@intel.com>
+	    Julia Koval  <julia.koval@intel.com>
+
+	PR target/66960
+	PR target/67630
+	PR target/67634
+	PR target/67841
+	PR target/68037
+	PR target/68618
+	PR target/68661
+	PR target/69575
+	PR target/69596
+	PR target/69734
+	* config/i386/i386-protos.h (ix86_epilogue_uses): New prototype.
+	* config/i386/i386.c (ix86_conditional_register_usage): Preserve
+	all registers, except for function return registers if there are
+	no caller-saved registers.
+	(ix86_set_func_type): New function.
+	(ix86_set_current_function): Call ix86_set_func_type to set
+	no_caller_saved_registers and func_type.  Call reinit_regs if
+	caller-saved registers are changed.  Don't allow MPX, SSE, MMX
+	nor x87 instructions in interrupt handler nor function with
+	no_caller_saved_registers attribute.
+	(ix86_function_ok_for_sibcall): Return false if there are no
+	caller-saved registers.
+	(type_natural_mode): Don't warn ABI change for MMX in interrupt
+	handler.
+	(ix86_function_arg_advance): Skip for callee in interrupt handler.
+	(ix86_function_arg): Return special arguments in interrupt handler.
+	(ix86_promote_function_mode): Promote pointer to word_mode only
+	for normal functions.
+	(ix86_can_use_return_insn_p): Don't use `ret' instruction in
+	interrupt handler.
+	(ix86_epilogue_uses): New function.
+	(ix86_hard_regno_scratch_ok): Likewise.
+	(ix86_save_reg): Preserve all registers in interrupt handler
+	after reload.  Preserve all registers, except for function return
+	registers, if there are no caller-saved registers after reload.
+	(find_drap_reg): Always use callee-saved register if there are
+	no caller-saved registers.
+	(ix86_minimum_incoming_stack_boundary): Return MIN_STACK_BOUNDARY
+	for interrupt handler.
+	(ix86_expand_prologue): Don't allow DRAP in interrupt handler.
+	Emit cld instruction if stringops are used in interrupt handler
+	or interrupt handler isn't a leaf function.
+	(ix86_expand_epilogue): Generate interrupt return for interrupt
+	handler and pop the 'ERROR_CODE' off the stack before interrupt
+	return in exception handler.
+	(ix86_expand_call): Disallow calling interrupt handler directly.
+	If there are no caller-saved registers, mark all registers that
+	are clobbered by the call which returns as clobbered.
+	(ix86_handle_no_caller_saved_registers_attribute): New function.
+	(ix86_handle_interrupt_attribute): Likewise.
+	(ix86_attribute_table): Add interrupt and no_caller_saved_registers
+	attributes.
+	(TARGET_HARD_REGNO_SCRATCH_OK): Likewise.
+	* config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Use argument
+	accumulation in interrupt function if stack may be realigned to
+	avoid DRAP.
+	(EPILOGUE_USES): New.
+	(function_type): New enum.
+	(machine_function): Add func_type and no_caller_saved_registers.
+	* config/i386/i386.md (UNSPEC_INTERRUPT_RETURN): New.
+	(interrupt_return): New pattern.
+	* doc/extend.texi: Document x86 interrupt and
+	no_caller_saved_registers attributes.
+
+2016-06-03  Bernd Schmidt  <bschmidt@redhat.com>
+
+	PR tree-optimization/52171
+	* builtins.c (expand_cmpstrn_or_cmpmem): Delete, moved elsewhere.
+	(expand_builtin_memcmp): New arg RESULT_EQ.  All callers changed.
+	Look for constant strings.  Move some code to emit_block_cmp_hints
+	and use it.
+	* builtins.def (BUILT_IN_MEMCMP_EQ): New.
+	* defaults.h (COMPARE_MAX_PIECES): New macro.
+	* expr.c (move_by_pieces_d, store_by_pieces_d): Remove old structs.
+	(move_by_pieces_1, store_by_pieces_1, store_by_pieces_2): Remvoe.
+	(clear_by_pieces_1): Don't declare.  Move definition before use.
+	(can_do_by_pieces): New static function.
+	(can_move_by_pieces): Use it.  Return bool.
+	(by_pieces_ninsns): Renamed from move_by_pieces_ninsns.  New arg
+	OP.  All callers changed.  Handle COMPARE_BY_PIECES.
+	(class pieces_addr); New.
+	(pieces_addr::pieces_addr, pieces_addr::decide_autoinc,
+	pieces_addr::adjust, pieces_addr::increment_address,
+	pieces_addr::maybe_predec, pieces_addr::maybe_postinc): New member
+	functions for it.
+	(class op_by_pieces_d): New.
+	(op_by_pieces_d::op_by_pieces_d, op_by_pieces_d::run): New member
+	functions for it.
+	(class move_by_pieces_d, class compare_by_pieces_d,
+	class store_by_pieces_d): New subclasses of op_by_pieces_d.
+	(move_by_pieces_d::prepare_mode, move_by_pieces_d::generate,
+	move_by_pieces_d::finish_endp, store_by_pieces_d::prepare_mode,
+	store_by_pieces_d::generate, store_by_pieces_d::finish_endp,
+	compare_by_pieces_d::generate, compare_by_pieces_d::prepare_mode,
+	compare_by_pieces_d::finish_mode): New member functions.
+	(compare_by_pieces, emit_block_cmp_via_cmpmem): New static
+	functions.
+	(expand_cmpstrn_or_cmpmem): Moved here from builtins.c.
+	(emit_block_cmp_hints): New function.
+	(move_by_pieces, store_by_pieces, clear_by_pieces): Rewrite to just
+	use the newly defined classes.
+	* expr.h (by_pieces_constfn): New typedef.
+	(can_store_by_pieces, store_by_pieces): Use it in arg declarations.
+	(emit_block_cmp_hints, expand_cmpstrn_or_cmpmem): Declare.
+	(move_by_pieces_ninsns): Don't declare.
+	(can_move_by_pieces): Change return value to bool.
+	* target.def (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): Update docs.
+	(compare_by_pieces_branch_ratio): New hook.
+	* target.h (enum by_pieces_operation): Add COMPARE_BY_PIECES.
+	(by_pieces_ninsns): Declare.
+	* targethooks.c (default_use_by_pieces_infrastructure_p): Handle
+	COMPARE_BY_PIECES.
+	(default_compare_by_pieces_branch_ratio): New function.
+	* targhooks.h (default_compare_by_pieces_branch_ratio): Declare.
+	* doc/tm.texi.in (STORE_MAX_PIECES, COMPARE_MAX_PIECES): Document.
+	* doc/tm.texi: Regenerate.
+	* tree-ssa-strlen.c: Include "builtins.h".
+	(handle_builtin_memcmp): New static function.
+	(strlen_optimize_stmt): Call it for BUILT_IN_MEMCMP.
+	* tree.c (build_common_builtin_nodes): Create __builtin_memcmp_eq.
+
+2016-06-03  Alan Hayward  <alan.hayward@arm.com>
+
+	* tree-vect-stmts.c (vect_stmt_relevant_p): Do not vectorize non live
+	relevant stmts which are simple and invariant.
+	* tree-vect-loop.c (vectorizable_live_operation): Check relevance
+	instead of simple and invariant
+
+2016-06-03  Alan Hayward  <alan.hayward@arm.com>
+
+	* tree-vect-loop.c (vect_analyze_loop_operations): Allow live stmts.
+	(vectorizable_reduction): Check for new relevant state.
+	(vectorizable_live_operation): vectorize live stmts using
+	BIT_FIELD_REF.  Remove special case for gimple assigns stmts.
+	* tree-vect-stmts.c (is_simple_and_all_uses_invariant): New function.
+	(vect_stmt_relevant_p): Check for stmts which are only used live.
+	(process_use): Use of a stmt does not inherit it's live value.
+	(vect_mark_stmts_to_be_vectorized): Simplify relevance inheritance.
+	(vect_analyze_stmt): Check for new relevant state.
+	* tree-vectorizer.h (vect_relevant): New entry for a stmt which is used
+	outside the loop, but not inside it.
+
+2016-06-03  Alan Hayward  <alan.hayward@arm.com>
+
+	* tree-vectorizer.h (vect_get_vec_def_for_operand_1): New.
+	* tree-vect-stmts.c (vect_get_vec_def_for_operand_1): New.
+	(vect_get_vec_def_for_operand): Split out code.
+
+2016-06-03  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.md (define_peepholes for two mfcr's): Delete.
+
+2016-06-03  Alan Hayward  <alan.hayward@arm.com>
+
+	* tree-vect-stmts.c (vectorizable_call) Remove GOMP_SIMD_LANE code.
+
+2016-06-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/arm/thumb1.md (*thumb1_mulsi3): Fix typos in comment.
+
+2016-06-03  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/71387
+	* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): If redirecting
+	to noreturn e->callee->decl that has void return type and void
+	arguments, adjust gimple_call_fntype and remove lhs even if it had
+	previously addressable type.
+
+2016-06-02  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/71328
+	* tree-ssa-threadupdate.c (duplicate_thread_path): Fix off-by-one
+	error when checking for a jump back onto the copied path.
+
+2016-06-02  David Malcolm  <dmalcolm@redhat.com>
+
+	* config/microblaze/microblaze.c (get_branch_target): Add return
+	NULL_RTX for the non-CALL_P case.
+	(insert_wic_for_ilb_runout): Remove unused local "wic_addr1".
+	(insert_wic): Remove unused local "j".
+
+2016-06-02  Martin Liska  <mliska@suse.cz>
+
+	* predict.def: Fix typo in PRED_FORTRAN_FAIL_IO display name.
+
+2016-06-02  H.J. Lu  <hongjiu.lu@intel.com>
+	    Julia Koval  <julia.koval@intel.com>
+
+	* function.c (assign_parm_setup_stack): Force source into a
+	register if needed.
+	* target.def (function_incoming_arg): Update documentation to
+	allow arbitrary address computation based on hard register.
+	* doc/tm.texi: Regenerated.
+
+2016-06-02  Martin Liska  <mliska@suse.cz>
+
+	* predict.c (combine_predictions_for_bb): Fix first match in
+	cases where a first predictor contains more than one occurence
+	in list of predictors.  Take the best value in such case.
+
+2016-06-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR rtl-optimization/71295
+	* rtlanal.c (subreg_get_info): If taking a subreg at the requested
+	offset would go over the size of the inner mode reject it.
+
+2016-06-02  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/sse.md (*vec_concatv4si): Use v=v,v instead of
+	x=x,x and v=v,m instead of x=x,m.
+
+	* config/i386/sse.md (*vec_concatv2si_sse4_1): Add avx512dq v=Yv,rm
+	alternative.  Change x=x,x alternative to v=Yv,Yv and x=rm,C
+	alternative to v=rm,C.
+
+	* config/i386/sse.md (*vec_concatv2di): Add x86_avx512dq v=Yv,rm
+	alternative.  Change x=xm,C alternative to v=vm,C, x=x,x alternative
+	to v=Yv,Yv and x=x,m to v=v,m.  Use maybe_evex prefix attribute
+	instead of vex for the last two above mentioned alternatives.
+
+2016-06-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/70830
+	* config/arm/arm.c (arm_output_multireg_pop): Guard "pop" on update.
+
+2016-06-02  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/dfp.md (trunctddd2): Correct the "length" attribute.
+
+2016-06-01  David Malcolm  <dmalcolm@redhat.com>
+
+	* config/rl78/rl78.c (rl78_expand_prologue): Convert local
+	from int to unsigned.
+
+2016-05-31  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/vsx.md (vsx_splat_<mode>, V2DI/V2DF): Simplify
+	alternatives, eliminating preferred register class.  Add support
+	for the MTVSRDD instruction in ISA 3.0.
+	(vsx_splat_v4si_internal): Use splat_input_operand instead of
+	reg_or_indexed_operand.
+	(vsx_splat_v4sf_internal): Likewise.
+
+2016-05-31  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/71186
+	* config/rs6000/vsx.md (xxspltib_<mode>_nosplit): Add alternatives
+	for loading up all 0's or all 1's.
+
+2016-06-01  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* doc/sourcebuild.texi (arm_acq_rel): Document new effective target.
+
+2016-06-01  Eduard Sanou  <dhole@openmailbox.org>
+
+	* doc/cppenv.texi: Note that the `%s` in `date` is a non-standard
+	extension.
+	* gcc.c (driver_handle_option): Call set_source_date_epoch_envvar.
+	* gcc.c (set_source_date_epoch_envvar): New function, sets
+	the SOURCE_DATE_EPOCH environment variable to the current time.
+
+2016-06-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree-vect-loop.c (vect_determine_vectorization_factor): Also compute
+	the factor for live Phi nodes.
+
+2016-06-01  Jan Hubicka  <hubicka@ucw.cz>
+
+	* loop-dolop.c (doloop_optimize): Us likely max iteration bound.
+	* tree-parloops.c (parallelize_loops): likewise.
+	* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop,
+	tree_unswitch_outer_loop): likewise.
+
+2016-06-01  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/71371
+	* gimplify.c (gimplify_omp_for): Temporarily clear gimplify_omp_ctxp
+	around creation of the temporary.
+
+2016-06-01  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71366
+	* tree-ssa-loop-ivcanon.c (edges_to_remove): New global.
+	(unloop_loops): Move removing edges here ...
+	(try_unroll_loop_completely): ... from here.
+	(try_peel_loop): ... and here.
+	(tree_unroll_loops_completely_1): Track parent loops via
+	bitmap of header BBs.
+	(tree_unroll_loops_completely): Adjust for that.
+
+2016-06-01  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+	* config/rs6000/altivec.h (vec_slv): New macro.
+	(vec_srv): New macro.
+	* config/rs6000/altivec.md (UNSPEC_VSLV): New value.
+	(UNSPEC_VSRV): New value.
+	(vslv): New insn.
+	(vsrv): New insn.
+	* config/rs6000/rs6000-builtin.def (vslv): New builtin definition.
+	(vsrv): New builtin definition.
+	* config/rs6000/rs6000-c.c (P9V_BUILTIN_VSLV): Macro expansion to
+	define argument types for new builtin.
+	(P9V_BUILTIN_VSRV): Macro expansion to define argument types for
+	new builtin.
+	* doc/extend.texi: Document the new vec_vslv and vec_srv built-in
+	functions.
+
+2016-06-01  Uros Bizjak  <ubizjak@gmail.com>
+	    Jocelyn Mayer  <l_indien@magic.fr>
+
+	PR target/67310
+	* config/i386/driver-i386.c (host_detect_local_cpu): Correctly
+	detect processor family for signature_CENTAUR_ebx.
+	<case PROCESSOR_I486>: Pass c3, winchip2 or winchip-c6 for
+	signature_CENTAUR_ebx.
+	<case PROCESSOR _PENTIUMPRO>: Pass c3-2 for signature_CENTAUR_ebx.
+	<default>: Pass x86-64 for has_longmode.
+
+2016-06-01  Nathan Sidwell  <nathan@acm.org>
+
+	* config/nvptx/nvptx.c (nvptx_assemble_undefined_decl): Reject
+	undefined weak.
+
+2016-06-01  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71261
+	* tree-vect-patterns.c (check_bool_pattern): Gather a hash-set
+	of stmts successfully put in the bool pattern.  Remove
+	single-use restriction.
+	(adjust_bool_pattern_cast): Add cast at the use site via the
+	pattern def sequence.
+	(adjust_bool_pattern): Remove recursion, maintain a hash-map
+	of patterned defs.  Use the pattern def seqence instead of
+	multiple independent patterns.
+	(sort_after_uid): New qsort compare function.
+	(adjust_bool_stmts): New function to process stmts in the bool
+	pattern in IL order.
+	(vect_recog_bool_pattern): Adjust.
+	* tree-if-conv.c (ifcvt_split_def_stmt): Remove.
+	(ifcvt_walk_pattern_tree): Likewise.
+	(stmt_is_root_of_bool_pattern): Likewise.
+	(ifcvt_repair_bool_pattern): Likewise.
+	(tree_if_conversion): Do not call ifcvt_repair_bool_pattern.
+
+2016-06-01  Jan Hubicka  <hubicka@ucw.cz>
+
+	* loop-unroll.c (decide_unroll_constant_iterations,
+	decide_unroll_runtime_iterations, decide_unroll_stupid): Use
+	likely upper bounds.
+	* loop-iv.c (find_simple_exit): Dump likely upper bounds.
+
+2016-06-01  Thomas Schwinge  <thomas@codesourcery.com>
+
+	* tree-core.h (enum omp_clause_code): Remove
+	OMP_CLAUSE_DEVICE_RESIDENT.  Adjust all users.
+
+2016-06-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/arm/sync.md (arm_store_exclusive<mode>):
+	Use 'H' output modifier on operands[2] rather than creating a new
+	entry in out-of-bounds memory of the operands array.
+	(arm_store_release_exclusivedi): Likewise.
+
+2016-06-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/arm/arm.c (arm_fusion_enabled_p): New function.
+	* config/arm/arm-protos.h (arm_fusion_enabled_p): Declare prototype.
+	* config/arm/crypto.md (crypto_<crypto_pattern>, CRYPTO_UNARY):
+	Add "=w,0" alternative.  Enable it when AES/AESMC fusion is enabled.
+
+2016-06-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree-vect-loop.c (vect_determine_vectorization_factor): Also take
+	into account live statements for mask producers.
+
+2016-06-01  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71311
+	* match.pd (@0 < @1 && @0 < @2 -> @0 < min(@1,@2)): Add :c and
+	restrict to non-INTEGER_CST @0.
+
+2016-06-01  Richard Biener  <rguenther@suse.de>
+
+	* match.pd ((A & B) - (A & ~B) -> B - (A ^ B)): Add missing :c.
+	(relational patterns): Use :c to avoid pattern duplications.
+
+2016-06-01  Richard Biener  <rguenther@suse.de>
+
+	* genmatch.c (comparison_code_p): New predicate.
+	(swap_tree_comparison): New function.
+	(commutate): Add for_vec parameter to append new for entries.
+	Support commutating relational operators by swapping it alongside
+	operands.
+	(lower_commutative): Adjust.
+	(dt_simplify::gen): Do not pass artificial operators to gen
+	functions.
+	(decision_tree::gen): Do not add artificial operators as parameters.
+	(parser::parse_expr): Verify operator commutativity when :c is
+	applied.  Allow :C to override this.
+	* match.pd: Adjust patterns to use :C instead of :c where required.
+
+2016-06-01  Patrick Palka  <ppalka@gcc.gnu.org>
+
+	PR tree-optimization/71077
+	* tree-ssa-threadedge.c (simplify_control_stmt_condition_1): In
+	the combining step, use boolean_false_node and boolean_true_node
+	as the designated false/true return values.
+
+2016-05-31  Jan Hubicka  <hubicka@ucw.cz>
+
+	* predict.def (PRED_LOOP_EXTRA_EXIT): Define.
+	* predict.c (predict_iv_comparison): Also check PRED_LOOP_EXTRA_EXIT.
+	(predict_extra_loop_exits): Use PRED_LOOP_EXTRA_EXIT instead of
+	PRED_LOOP_EXIT.
+
+2016-05-31  Jan Hubicka  <hubicka@ucw.cz>
+
+	* doc/invoke.texi (-frename-registers): Drop -fpeel-loops from list
+	of flags impliying the register renaming.
+	* toplev.c (process_options): Do not imply flag_rename_registers with
+	loop peeling.
+
+2016-05-31  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	* config/sh/sh.h (ASM_OUTPUT_SYMBOL_REF): Remove macro and use the
+	default implementation.
+
+2016-05-31  Nathan Sidwell  <nathan@acm.org>
+
+	* dwarf2out.c (cur_line_info_table): Add GTY marker.
+
+2016-05-31  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	* config/sh/constraints.md (b): Remove constraint.
+	* config/sh/predicates.md (arith_reg_operand): Remove
+	TARGET_REGISTER_P.
+	* config/sh/sh-modes.def (PDI): Remove.
+	* config/sh/sh.c (sh_target_reg_class,
+	sh_optimize_target_register_callee_saved): Remove functions.
+	(sh_option_override): Don't set MASK_SAVE_ALL_TARGET_REGS.
+	(sh_expand_epilogue): Update comment.
+	(sh_hard_regno_mode_ok, sh_register_move_cost, calc_live_regs,
+	sh_secondary_reload): Remove TARGET_REGS related code.
+	* config/sh/sh.h (FIRST_TARGET_REG, LAST_TARGET_REG,
+	TARGET_REGISTER_P): Remove macros.
+	(SH_DBX_REGISTER_NUMBER, REG_ALLOC_ORDER): Remove target regs.
+	* config/sh/sh.md (PR_MEDIA_REG, T_MEDIA_REG, FR23_REG, TR0_REG,
+	TR1_REG, TR2_REG): Remove constants.
+	* config/sh/sh.opt (SAVE_ALL_TARGET_REGS): Remove.
+
+2016-05-31  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	* config/sh/sh.md (adddi3, subdi3, negdi2, abs<mode>2): Remove
+	define_expand patterns.
+	(adddi3_compact): Rename to adddi3.
+	(subdi3_compact): Rename to subdi3.
+	(*negdi2): Rename to negdi2.
+	(*abs<mode>2): Rename to abs<mode>2.
+
+2016-05-31  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	* config/rx/rx.md (FETCHOP_NO_MINUS): New code iterator.
+	(atomic_<fetchop_name>_fetchsi): Extract minus operator into ...
+	(atomic_sub_fetchsi): ... this new pattern.
+	(mvtc): Add CC_REG clobber.
+
+2016-05-31  Marek Polacek  <polacek@redhat.com>
+
+	* gimplify.c (gimplify_switch_expr): Also handle GIMPLE_TRY.
+
+2016-05-31  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64.c (aarch_macro_fusion_pair_p): Use
+	aarch64_fusion_enabled_p to check for fusion capabilities.
+
+2016-05-31  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71352
+	* tree-ssa-reassoc.c (zero_one_operation): Handle op equal to
+	minus one and a negate.
+
+2016-05-31  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_simd_attr_length_move): Delete.
+	* config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_move):
+	Delete prototype.
+	* config/aarch64/iterators.md (insn_count): Add descriptive comment.
+	* config/aarch64/aarch64-simd.md (*aarch64_mov<mode>, VSTRUCT modes):
+	Remove use of aarch64_simd_attr_length_move, set length attribute
+	directly.
+	(*aarch64_be_movoi): Likewise.
+	(*aarch64_be_movci): Likewise.
+	(*aarch64_be_movxi): Likewise.
+
+2016-05-31  Jan Hubicka  <hubicka@ucw.cz>
+
+	* loop-init.c (gate): Do not enale RTL loop unroller with -fpeel-loops.
+	It no longer does that.
+	* toplev.c (process_options): Do not enable flag_web with -fpeel-loops.
+
+2016-05-31  Wladimir J. van der Laan  <laanwj@gmail.com>
+
+	* config/aarch64/arm_neon.h (vdupb_laneq_s8): Remove spurious
+	attribute __unused__.
+
+2016-05-31  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm-protos.h (arm_arch_thumb1): Declare.
+	* config/arm/arm.c (arm_arch_thumb1): Define.
+	(arm_option_override): Initialize arm_arch_thumb1.
+	* config/arm/arm.h (arm_arch_thumb1): Declare.
+	(TARGET_ARM_ARCH_ISA_THUMB): Use arm_arch_thumb to determine if target
+	support Thumb-1 ISA.
+
+2016-05-31  Kirill Yukhin  <kirill.yukhin@intel.com>
+
+	PR target/71346
+	* config/i386/sse.md (define_insn_and_split "*vec_extractv4sf_0"): Use
+	`Yv' for scalar operand.
+
+2016-05-31  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/69068
+	* graphite-isl-ast-to-gimple.c (copy_bb_and_scalar_dependences): Handle
+	phis with more than two args.
+
+2016-05-30  Andreas Tobler  <andreast@gcc.gnu.org>
+
+	* config.gcc: Move hard float support for arm*hf*-*-freebsd* into
+	armv6*-*-freebsd* for FreeBSD 11. Eliminate the arm*hf*-*-freebsd*
+	target.
+
+2016-05-30  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* config.gcc (sparc*-*-*): Support cpu_32, cpu_64, tune_32 and
+	tune_64.
+	* doc/install.texi (--with-cpu-32, --with-cpu-64): Document
+	support on SPARC.
+	* config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Add entries for
+	cpu_32, cpu_64, tune_32 and tune_64.
+	* config/sparc/sol2.h (OPTION_DEFAULT_SPECS): Likewise.
+
+2016-05-30  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/sync.md (mfence_nosse): Use "lock orl $0, -4(%esp)".
+
+2016-05-30  Andi Kleen  <ak@linux.intel.com>
+
+	* auto-profile.c (read_profile): Replace asserts with errors
+	when file does not exist.
+	* gcov-io.c (gcov_read_words): Dito.
+
+2016-05-30  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-cfg.c (print_loop): Print likely upper bounds.
+
+2016-05-30  Jan Hubicka  <hubicka@ucw.cz>
+
+	* doc/invoke.texi (-fpeel-loops,-O3): Update documentation.
+	* opts.c (default_options): Enable peel loops at -O3.
+	* tree-ssa-loop-ivcanon.c (peeled_loops): New static var.
+	(try_peel_loop): Do not re-peel already peeled loops;
+	use likely upper bounds; fix profile updating.
+	(pass_complete_unroll::execute): Initialize peeled_loops.
+
+2016-05-30  Martin Liska  <mliska@suse.cz>
+
+	* tree-ssa-loop-ivopts.c (get_computation_cost_at): Scale
+	computed costs by frequency of BB they belong to.
+	(get_scaled_computation_cost_at): New function.
+
+2016-05-30  Alexander Monakov  <amonakov@ispras.ru>
+	    Marc Glisse  <marc.glisse@inria.fr>
+
+	PR tree-optimization/71289
+	* match.pd (-1 / B < A, A > -1 / B): New transformations.
+
+2016-05-30  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-vect-loop.c (vect_transform_loop): Update likely bounds.
+
+2016-05-30  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-ssa-loop-ivcanon.c (try_peel_loop): Correctly set wont_exit
+	for peeled copies; avoid underflow when updating estimates; correctly
+	scale loop profile.
+
+2016-05-30  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* tree-ssa-reassoc.ci (swap_ops_for_binary_stmt): Fix typo from commit
+	r236875. Corrected oe3 to oe2 as obvious.
+
+2016-05-30  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	PR middle-end/71269
+	PR middle-end/71252
+	* tree-ssa-reassoc.c (insert_stmt_before_use): Use find_insert_point so
+	that inserted stmt will not dominate stmts that defines its operand.
+	(rewrite_expr_tree): Add stmt_to_insert before adding the use stmt.
+	(rewrite_expr_tree_parallel): Likewise.
+
+2016-05-30  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	PR middle-end/71252
+	* tree-ssa-reassoc.c (swap_ops_for_binary_stmt): Fix swap such that
+	all fields including stmt_to_insert are swapped.
+
+2016-05-30  Jan Hubicka  <hubicka@ucw.cz>
+
+	* predict.h (force_edge_cold): Declare.
+	* predict.c (force_edge_cold): New function.
+	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Fix profile
+	updating.
+	(canonicalize_loop_induction_variables): Fix formating.
+
+2016-05-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/visium/visium.c (visium_split_double_add): Minor tweaks.
+	(visium_expand_copysign): Use gen_int_mode directly.
+	(visium_compute_frame_size): Minor tweaks.
+
+2016-05-30  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-vect-loop.c (vect_analyze_loop_2): Use
+	likely_max_stmt_executions_int.
+
+2016-05-30  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/69067
+	* graphite-isl-ast-to-gimple.c (get_def_bb_for_const): Remove assert.
+
+2016-05-29  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/71245
+	* config/i386/sync.md (define_peephole2 atomic_storedi_fpu):
+	New peepholes to remove unneeded fild/fistp pairs.
+	(define_peephole2 atomic_loaddi_fpu): Ditto.
+
+2016-05-27  Jan Hubicka  <hubicka@ucw.cz>
+
+	* predict.c (maybe_hot_frequency_p): Avoid division.
+
+2016-05-28  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/install.texi: Use https for shop.fsf.org.
+
+2016-05-27  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-ssa-loop-ivopts.c (estimated_stmt_executions_int): Use
+	likely_max_stmt_executions_int.
+
+2016-05-27  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-ssa-loop-prefetch.c (loop_prefetch_arrays): Use
+	likely_max_stmt_executions_int.
+
+2016-05-27  Jan Hubicka  <hubicka@ucw.cz>
+
+	* profile.c (compute_branch_probabilities): Do not report hitrates
+	here.
+	(branch_prob): Report hitrates here.
+	* predict.c (gimple_predict_edge): Do not assert profile status;
+	fix formatting issues.
+
+2016-05-27  Jan Hubicka  <hubicka@ucw.cz>
+
+	* predict.c (edge_predicted_by_p): New function.
+	(predict_paths_for_bb): Do not put multiple predictions of the same type
+	on one edge.
+
+2016-05-27  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-ssa-loop-niter.c (number_of_iterations_exit): Revert accidental
+	commit.
+
+2016-05-28  Alan Modra  <amodra@gmail.com>
+
+	* dominance.c (verify_dominators): Don't segfault on NULL imm_bb.
+
+2016-05-28  Alan Modra  <amodra@gmail.com>
+
+	PR rtl-optimization/71275
+	* ira.c (ira): Free dominance info.
+
+2016-05-27  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/sourcebuild.texi: New address for upstream Go repository.
+
+2016-05-27  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm.h (TARGET_ARM_V6M): Remove.
+	(TARGET_ARM_V7M): Likewise.
+
+2016-05-26  Jeff Law  <law@redhat.com>
+
+	* tree-ssa-threadedge.c: Remove include of tree-ssa-threadbackward.h.
+	(thread_across_edge): Remove calls to find_jump_threads_backwards.
+	* passes.def: Add jump threading passes before DOM/VRP.
+	* tree-ssa-threadbackward.c (find_jump_threads_backwards): Change
+	argument to a basic block from an edge.  Remove tests which are
+	handled elsewhere.
+	(pass_data_thread_jumps, class pass_thread_jumps): New.
+	(pass_thread_jumps::gate, pass_thread_jumps::execute): New.
+	(make_pass_thread_jumps): Likewise.
+	* tree-pass.h (make_pass_thread_jumps): Declare.
+
+2016-05-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/visium/visium-protos.h (split_double_move): Rename into...
+	(visium_split_double_move): ...this.
+	(visium_split_double_add): Declare.
+	* config/visium/visium.c (split_double_move): Rename into...
+	(visium_split_double_move): ...this.
+	(visium_split_double_add): New function.
+	(visium_expand_copysign): Renumber operands for consistency.
+	* config/visium/visium.md (DImode move splitter): Adjust to renaming.
+	(DFmode move splitter): Likewise.
+	(*addi3_insn): Split by means of visium_split_double_add.
+	(*adddi3_insn_flags): Delete.
+	(*plus_plus_sltu<subst_arith>): New insn.
+	(*subdi3_insn): Split by means of visium_split_double_add.
+	(subdi3_insn_flags): Delete.
+	(*minus_minus_sltu<subst_arith>): New insn.
+	(*negdi2_insn): Split by means of visium_split_double_add.
+	(*negdi2_insn_flags): Delete.
+
+2016-05-27  Ulrich Weigand  <uweigand@de.ibm.com>
+
+	* configure.ac: Treat a --with-headers option without argument
+	the same as the default (i.e. consult sys-include directory).
+	* configure: Regenerate.
+
+2016-05-27  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_fusion_enabled_p): New function.
+	* config/aarch64/aarch64-protos.h (aarch64_fusion_enabled_p): Declare
+	prototype.
+	* config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aesmc_op>v16qi):
+	Add "=w,0" alternative.  Enable it when AES/AESMC fusion is enabled.
+
+2016-05-27  Jiong Wang  <jiong.wang@arm.com>
+
+	PR target/63596
+	* config/aarch64/aarch64.c (aarch64_expand_builtin_va_start): Honor
+	tree-stdarg analysis results.
+	(aarch64_setup_incoming_varargs): Likewise.
+
+2016-05-27  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_build_builtin_va_list): Initialize
+	va_list_gpr_counter_field and va_list_fpr_counter_field.
+
+2016-05-27  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	PR67609
+	* config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Remove.
+	* config/aarch64/aarch64.c
+	(aarch64_cannot_change_mode_class): Remove function.
+	* config/aarch64/aarch64-protos.h
+	(aarch64_cannot_change_mode_class): Remove.
+
+2016-05-27  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cfgloop.c (record_niter_bound): Record likely upper bounds.
+	(likely_max_stmt_executions_int, get_likely_max_loop_iterations,
+	get_likely_max_loop_iterations_int): New.
+	* cfgloop.h (struct loop): Add nb_iterations_likely_upper_bound,
+	any_likely_upper_bound.
+	(get_likely_max_loop_iterations_int, get_likely_max_loop_iterations):
+	Declare.
+	* cfgloopmanip.c (copy_loop_info): Copy likely upper bounds.
+	* loop-unroll.c (unroll_loop_constant_iterations): Update likely
+	upper bound.
+	(unroll_loop_constant_iterations): Likewise.
+	(unroll_loop_runtime_iterations): Likewise.
+	* lto-streamer-in.c (input_cfg): Stream likely upper bounds.
+	* lto-streamer-out.c (output_cfg): Likewise.
+	* tree-ssa-loop-ivcanon.c (try_peel_loop): Update likely upper
+	bounds.
+	(canonicalize_loop_induction_variables): Dump likely upper bounds.
+	* tree-ssa-loop-niter.c (record_estimate): Record likely upper bounds.
+	(likely_max_loop_iterations): New.
+	(likely_max_loop_iterations_int): New.
+	(likely_max_stmt_executions): New.
+	* tree-ssa-loop-niter.h (likely_max_loop_iterations,
+	likely_max_loop_iterations_int, likely_max_stmt_executions_int,
+	likely_max_stmt_executions): Declare.
+
+2016-05-27  Marek Polacek  <polacek@redhat.com>
+
+	PR middle-end/71308
+	* gimple-fold.c (gimple_fold_call): Check that LHS is not null.
+
+2016-05-27  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.md (2x risbg splitters): Use
+	reg_overlap_mentioned_p instead of rtx_equal_p.
+
+2016-05-27  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	* combine.c (make_compound_operation): Take known zero bits into
+	account when checking for possible zero_extend.
+
+2016-05-27  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64.md (ashl<mode>3, SHORT modes):
+	Use const_int_operand for operand 2 predicate.  Simplify expand code
+	as a result.
+
+2016-05-27  Ilya Enkovich  <ilya.enkovich@intel.com>
+
+	PR middle-end/71279
+	* fold-const.c (fold_ternary_loc): Don't fold VEC_COND_EXPR
+	into comparison.
+
+2016-05-27  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64-modes.def (CC_ZESWP, CC_SESWP): Delete.
+	* config/aarch64/aarch64.c (aarch64_select_cc_mode): Remove condition
+	that returns CC_SESWPmode and CC_ZESWPmode.
+	(aarch64_get_condition_code_1): Remove handling of CC_SESWPmode
+	and CC_SESWPmode.
+	(aarch64_rtx_costs): Likewise.
+
+2016-05-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_emit_p9_fp_minmax): New function
+	for ISA 3.0 min/max support.
+	(rs6000_emit_p9_fp_cmove): New function for ISA 3.0 floating point
+	conditional move support.
+	(rs6000_emit_cmove): Call rs6000_emit_p9_fp_minmax and
+	rs6000_emit_p9_fp_cmove if the ISA 3.0 instructions are
+	available.
+	* config/rs6000/rs6000.md (SFDF2): New iterator to allow doing
+	conditional moves where the comparison type is different from move
+	type.
+	(fp_minmax): New code iterator for smin/smax.
+	(minmax): New code attributes for min/max.
+	(SMINMAX): Likewise.
+	(smax<mode>3): Combine min, max insns into one insn using the
+	fp_minmax code iterator.  Add support for ISA 3.0 min/max
+	instructions that don't need -ffast-math.
+	(s<minmax><mode>3): Likewise.
+	(smax<mode>3_vsx): Likewise.
+	(smin<mode>3): Likewise.
+	(s<minmax><mode>3_vsx): Likewise.
+	(smin<mode>3_vsx): Likewise.
+	(pre-VSX min/max splitters): Likewise.
+	(s<minmax><mode>3_fpr): Likewise.
+	(movsfcc): Rewrite floating point conditional moves to combine
+	SFmode/DFmode into a single insn.
+	(mov<mode>cc): Likewise.
+	(movdfcc): Likewise.
+	(fselsfsf4): Combine FSEL cases into a single insn, using SFDF and
+	SFDF2 iterators to handle all combinations.
+	(fseldfsf4): Likewise.
+	(fsel<SFDF:mode><SFDF2:mode>4): Likewise.
+	(fseldfdf4): Likewise.
+	(fselsfdf4): Likewise.
+	(mov<SFDF:mode><SFDF2:mode>cc_p9): Add support for the ISA 3.0
+	comparison instructions that set a 0/-1 mask, and use it for
+	floating point conditional move via XXSEL.
+	(fpmask<mode>): Likewise.
+	(xxsel<mode>): Likewise.
+	* config/rs6000/predicates.md (min_max_operator): Delete, no
+	longer used.
+	(fpmask_comparison_operaton): New insn for ISA 3.0 comparison
+	instructions that generate a 0/-1 mask for use with XXSEL.
+	* config/rs6000/rs6000.h (TARGET_MINMAX_SF): New helper macros to
+	say whether floating point min/max is available, either through
+	FSEL, ISA 2.06 min/max, and ISA 3.0 min/max instrucitons.
+	(TARGET_MINMAX_DF): Likewise.
+
+2016-05-27  Alan Modra  <amodra@gmail.com>
+
+	PR rtl-optimization/71275
+	* ira.c (ira): Call loop_optimizer_init to set up bb_loop_depth
+	for update_equiv_regs and combine_and_move_insns.
+
+2016-05-26  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*movqi_internal) <attr "isa">: Use
+	if_then_else or cond RTXes to calculate attribute value.
+	* config/i386/mmx.md (*vec_extractv2sf_1) <attr "prefix_rep">: Ditto.
+	<attr "length_immediate>: Ditto.
+	(*vec_extractv2sf_1) <attr "length_immediate">: Ditto.
+	* config/i386/sse.md (sse_loadlps) <attr "length_immediate">: Ditto.
+	(*vec_concatv2sf_sse4_1) <attr "isa">: Ditto.
+	<attr "type">: Ditto.
+	<attr "prefix_data16">: Ditto.
+	<attr "prefix_extra">: Ditto.
+	<attr "length_immediate">: Ditto.
+	<attr "prefix">: Ditto.
+	(vec_set<mode>_0) <attr "isa">: Ditto.
+	<attr "prefix_extra">: Ditto.
+	<attr "length_immediate">: Ditto.
+	<attr "prefix">: Ditto.
+	(*vec_interleave_highv2df) <attr "prefix_data16">: Ditto.
+	(*vec_interleave_lowv2df) <attr "prefix_data16">: Ditto.
+	(sse2_storelpd) <attr "prefix_data16">: Ditto.
+	(sse2_loadhpd) <attr "prefix_data16">: Ditto.
+	(sse2_loadlpd) <attr "prefix_data16">: Ditto.
+	<attr "length_immediate">: Ditto.
+	<attr "prefix">: Ditto.
+	(sse2_movsd) <attr "length_immediate">: Ditto.
+	<attr "prefix">: Ditto.
+	(vec_concatv2df)  <attr "isa">: Ditto.
+	<attr "prefix">: Ditto.
+	(*vec_extractv4si) <attr "prefix_extra">: Ditto.
+	(*vec_extractv2di_1) <attr "isa">: Ditto.
+	<attr "type">: Ditto.
+	<attr "length_immediate">: Ditto.
+	<attr "prefix_rex">: Ditto.
+	<attr "prefix_extra">: Ditto.
+	(*vec_concatv2si_sse4_1) <attr "type">: Ditto.
+	<attr "prefix_extra">: Ditto.
+	<attr "length_immediate">: Ditto.
+	(vec_concatv2di) <attr "isa">: Ditto.
+	<attr "prefix_extra">: Ditto.
+	<attr "length_immediate">: Ditto.
+	<attr "prefix">: Ditto.
+
+2016-05-26  Martin Liska  <mliska@suse.cz>
+
+	* tree-ssa-loop-ivopts.c (comp_cost::infinite_cost_p): New
+	function.
+	(operator+): Likewise.
+	(operator-): Likewise.
+	(comp_cost::operator+=): Likewise.
+	(comp_cost::operator-=): Likewise.
+	(comp_cost::operator/=): Likewise.
+	(comp_cost::operator*=): Likewise.
+	(operator<): Likewise.
+	(operator==): Likewise.
+	(operator<=): Likewise.
+	(new_cost): Remove.
+	(infinite_cost_p): Likewise.
+	(add_costs): Likewise.
+	(sub_costs): Likewise.
+	(compare_costs): Likewise.
+	(set_group_iv_cost): Use the newly introduced functions.
+	(get_address_cost): Likewise.
+	(get_shiftadd_cost): Likewise.
+	(force_expr_to_var_cost): Likewise.
+	(split_address_cost): Likewise.
+	(ptr_difference_cost): Likewise.
+	(difference_cost): Likewise.
+	(get_computation_cost_at): Likewise.
+	(determine_group_iv_cost_generic): Likewise.
+	(determine_group_iv_cost_address): Likewise.
+	(determine_group_iv_cost_cond): Likewise.
+	(autoinc_possible_for_pair): Likewise.
+	(determine_group_iv_costs): Likewise.
+	(cheaper_cost_pair): Likewise.
+	(iv_ca_recount_cost): Likewise.
+	(iv_ca_set_no_cp): Likewise.
+	(iv_ca_set_cp): Likewise.
+	(iv_ca_cost): Likewise.
+	(iv_ca_new): Likewise.
+	(iv_ca_dump): Likewise.
+	(iv_ca_narrow): Likewise.
+	(iv_ca_prune): Likewise.
+	(iv_ca_replace): Likewise.
+	(try_add_cand_for): Likewise.
+	(try_improve_iv_set): Likewise.
+	(find_optimal_iv_set): Likewise.
+
+2016-05-26  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* tree-ssa-loop-ivopts.c (loop_body_includes_call): Don't assume
+	that internal functions will clobber all caller-saved registers.
+
+2016-05-26  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_case_values_threshold):
+	Return a better case_values_threshold when optimizing.
+
+2016-05-26  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64-simd.md (aarch64_combinez):
+	Add ? to integer variant.
+	(aarch64_combinez_be): Likewise.
+
+2016-05-26  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/sse.md (*vcvtps2ph_store<mask_name>): Use v constraint
+	instead of x constraint.
+	(vcvtps2ph256<mask_name>): Likewise.
+
+	* config/i386/sse.md (*ssse3_palignr<mode>_perm): Add avx512bw
+	alternative.  Formatting fix.
+
+	* config/i386/sse.md
+	(<mask_codefor>avx512vl_shuf_<shuffletype>32x4_1<mask_name>): Rename
+	to ...
+	(avx512vl_shuf_<shuffletype>32x4_1<mask_name>): ... this.
+	(*avx_vperm_broadcast_v4sf): Use v constraint instead of x.  Use
+	maybe_evex prefix instead of vex.
+	(*avx_vperm_broadcast_<mode>): Use v constraint instead of x.  Handle
+	EXT_REX_SSE_REG_P (op0) case in the splitter.
+
+2016-05-25  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/71272
+	* tree-ssa-threadbackward.c (convert_and_register_jump_thread_path):
+	Update comments.  Add test for empty path.
+
+2016-05-25  Bill Seurer  <seurer@linux.vnet.ibm.com>
+
+	* config/rs6000/altivec.h (vec_cmpne): Add #define for vec_cmpne.
+	* config/rs6000/rs6000-builtin.def (vec_cmpne): Add vec_cmpne as a
+	special case builtin.
+	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add
+	code for ALTIVEC_BUILTIN_VEC_CMPNE.
+	* config/rs6000/rs6000.c (altivec_init_builtins): Add definition
+	for __builtin_vec_cmpne.
+
+2016-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree-ssa-phiopt.c (factor_out_conditional_conversion): Remove
+	redundant test and bail out if the type of the new operand is not
+	a GIMPLE register type after stripping a VIEW_CONVERT_EXPR.
+
+2016-05-25  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.opt (ix86_target_flags_explicit): Remove.
+	(x_ix86_target_flags_explicit): Remove.
+	* config/i386/i386.c (ix86_function_specific_save): Do not copy
+	x_ix86_target_flags_explicit.
+	(ix86_function_specific_restore): Ditto.
+
+2016-05-25  Uros Bizjak  <ubizjak@gmail.com>
+	    H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/70738
+	* common/config/i386/i386-common.c
+	(OPTION_MASK_ISA_GENERAL_REGS_ONLY_UNSET): New.
+	(ix86_handle_option) <case OPT_mgeneral_regs_only>: Disable
+	MPX, MMX, SSE and x87 instructions for -mgeneral-regs-only.
+	* config/i386/i386.opt (ix86_target_flags): Add new Variable.
+	(-mgeneral-regs-only): Add new option.
+	* config/i386/i386.c (ix86_option_override_internal): Don't enable
+	x87 instructions if only general registers are allowed.
+	(ix86_target_string): Add ix86_flags argument. Handle additional
+	flags options through ix86_flags argument.  Update all callers.
+	* doc/invoke.texi (x86 Options): Document -mgeneral-regs-only.
+
+2016-05-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR rtl-optimization/66940
+	* ifcvt.c (noce_get_alt_condition): Check that incrementing or
+	decrementing desired_val will not overflow before performing these
+	operations.
+
+2016-05-25  Ilya Verbin  <ilya.verbin@intel.com>
+
+	* config/i386/i386-builtin-types.def: Add V16SI_FTYPE_V16SF,
+	V8DF_FTYPE_V8DF_ROUND, V16SF_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF_ROUND.
+	* config/i386/i386.c (enum ix86_builtins): Add
+	IX86_BUILTIN_CVTPS2DQ512_MASK, IX86_BUILTIN_FLOORPS512,
+	IX86_BUILTIN_FLOORPD512, IX86_BUILTIN_CEILPS512, IX86_BUILTIN_CEILPD512,
+	IX86_BUILTIN_TRUNCPS512, IX86_BUILTIN_TRUNCPD512,
+	IX86_BUILTIN_CVTPS2DQ512, IX86_BUILTIN_VEC_PACK_SFIX512,
+	IX86_BUILTIN_FLOORPS_SFIX512, IX86_BUILTIN_CEILPS_SFIX512,
+	IX86_BUILTIN_ROUNDPS_AZ_SFIX512.
+	(builtin_description bdesc_args): Add __builtin_ia32_floorps512,
+	__builtin_ia32_ceilps512, __builtin_ia32_truncps512,
+	__builtin_ia32_floorpd512, __builtin_ia32_ceilpd512,
+	__builtin_ia32_truncpd512, __builtin_ia32_cvtps2dq512,
+	__builtin_ia32_vec_pack_sfix512, __builtin_ia32_roundps_az_sfix512,
+	__builtin_ia32_floorps_sfix512, __builtin_ia32_ceilps_sfix512.
+	Change IX86_BUILTIN_CVTPS2DQ512 to IX86_BUILTIN_CVTPS2DQ512_MASK for
+	__builtin_ia32_cvtps2dq512_mask.
+	(ix86_expand_args_builtin): Handle V8DF_FTYPE_V8DF_ROUND,
+	V16SF_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF.
+	(ix86_builtin_vectorized_function): Handle builtins mentioned above.
+	* config/i386/sse.md
+	(<mask_codefor>avx512f_fix_notruncv16sfv16si<mask_name><round_name>):
+	Rename to ...
+	(avx512f_fix_notruncv16sfv16si<mask_name><round_name>): ... this.
+	(<mask_codefor>avx512f_cvtpd2dq512<mask_name><round_name>): Rename
+	to ...
+	(avx512f_cvtpd2dq512<mask_name><round_name>): ... this.
+	(avx512f_vec_pack_sfix_v8df): New define_expand.
+	(avx512f_roundpd512): Rename to ...
+	(avx512f_round<castmode>512): ... this.  Change iterator.
+	(avx512f_roundps512_sfix): New define_expand.
+	(round<mode>2_sfix): Change iterator.
+
+2016-05-25  Nick Clifton  <nickc@redhat.com>
+
+	* config/msp430/msp430.c (msp430_attr): Produce an error if a
+	static interrupt handler is detected.
+	* config/msp430/msp430.h (LIB_SPEC): Do not use msp430.ld as the
+	default linker script.
+	* config/msp430/msp430.md (movpsihi2_lo): New pattern for loading
+	the low part of a symbolic pointer.
+
+2016-05-25  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71261
+	* tree-if-conv.c (ifcvt_split_def_stmt): Walk uses on the
+	interesting stmt instead of immediate uses when looking
+	for the use operand to replace.
+
+2016-05-25  Martin Liska  <mliska@suse.cz>
+
+	* ipa-inline.c (edge_badness): Use 'w/' instead of 'w'.
+
+2016-05-25  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71264
+	* tree-vect-stmts.c (vect_init_vector): Properly deal with
+	vector type val.
+
+2016-05-25  Martin Liska  <mliska@suse.cz>
+
+	PR tree-optimization/71239
+	* tree.c (array_at_struct_end_p): Do not call operand_equal_p
+	if DECL_SIZE is NULL.
+
+2016-05-25  Richard Biener  <rguenther@suse.de>
+
+	* timevar.def (TV_TREE_LOOP_IFCVT): Add.
+	* tree-if-conv.c (pass_data_if_conversion): Use it.
+
+2016-05-25  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* cgraph.c (cgraph_node::get_availability): Fix typo in comment.
+	* symtab.c (symtab_node::binds_to_current_def_p): Likewise.
+	* varpool.c (varpool_node::get_availability): Likewise.
+
+2016-05-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/altivec.md (VNEG iterator): New iterator for
+	VNEGW/VNEGD instructions.
+	(p9_neg<mode>2): New insns for ISA 3.0 VNEGW/VNEGD.
+	(neg<mode>2): Add expander for V2DImode added in ISA 2.07, and
+	support for ISA 3.0 VNEGW/VNEGD instructions.
+
+2016-05-24  Cesar Philippidis  <cesar@codesourcery.com>
+
+	* 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.
+
+2016-05-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/altivec.md (VParity): New mode iterator for vector
+	parity built-in functions.
+	(p9v_ctz<mode>2): Add support for ISA 3.0 vector count trailing
+	zeros.
+	(p9v_parity<mode>2): Likewise.
+	* config/rs6000/vector.md (VEC_IP): New mode iterator for vector
+	parity.
+	(ctz<mode>2): ISA 3.0 expander for vector count trailing zeros.
+	(parity<mode>2): ISA 3.0 expander for vector parity.
+	* config/rs6000/rs6000-builtin.def (BU_P9_MISC_1): New macros for
+	power9 built-ins.
+	(BU_P9_64BIT_MISC_0): Likewise.
+	(BU_P9_MISC_0): Likewise.
+	(BU_P9V_AV_1): Likewise.
+	(BU_P9V_AV_2): Likewise.
+	(BU_P9V_AV_3): Likewise.
+	(BU_P9V_AV_P): Likewise.
+	(BU_P9V_VSX_1): Likewise.
+	(BU_P9V_OVERLOAD_1): Likewise.
+	(BU_P9V_OVERLOAD_2): Likewise.
+	(BU_P9V_OVERLOAD_3): Likewise.
+	(VCTZB): Add vector count trailing zeros support.
+	(VCTZH): Likewise.
+	(VCTZW): Likewise.
+	(VCTZD): Likewise.
+	(VPRTYBD): Add vector parity support.
+	(VPRTYBQ): Likewise.
+	(VPRTYBW): Likewise.
+	(VCTZ): Add overloaded vector count trailing zeros support.
+	(VPRTYB): Add overloaded vector parity support.
+	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
+	overloaded vector count trailing zeros and parity instructions.
+	* config/rs6000/rs6000.md (wd mode attribute): Add V1TI and TI for
+	vector parity support.
+	* config/rs6000/altivec.h (vec_vctz): Add ISA 3.0 vector count
+	trailing zeros support.
+	(vec_cntlz): Likewise.
+	(vec_vctzb): Likewise.
+	(vec_vctzd): Likewise.
+	(vec_vctzh): Likewise.
+	(vec_vctzw): Likewise.
+	(vec_vprtyb): Add ISA 3.0 vector parity support.
+	(vec_vprtybd): Likewise.
+	(vec_vprtybw): Likewise.
+	(vec_vprtybq): Likewise.
+	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
+	the ISA 3.0 vector count trailing zeros and vector parity built-in
+	functions.
+
+2016-05-24  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* tree-ssa-reassoc.c (sort_by_operand_rank): Skip checking gimple_bb
+	when there is stmt_to_insert.
+
+2016-05-24  Martin Sebor  <msebor@redhat.com>
+
+	PR c++/71147
+	* tree.h (complete_or_array_type_p): New inline function.
+
+2016-05-24  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/i386.h (TARGET_AVOID_4BYTE_PREFIXES): Define.
+	* config/i386/constraints.md (Yr): Test TARGET_AVOID_4BYTE_PREFIXES
+	rather than X86_TUNE_AVOID_4BYTE_PREFIXES.
+
+	* config/i386/sse.md (<sse4_1>_round<ssemodesuffix><avxsizesuffix>):
+	Limit 1st alternative to noavx isa, split 2nd alternative into one
+	noavx and one avx alternative, use *x and Bm in the former and
+	x and m in the latter.
+
+	* config/i386/sse.md (vec_set<mode>_0): Use sse4_noavx isa instead
+	of sse4 for the first alternative, drop %v from the template
+	and d operand modifier.  Split second alternative into one sse4_noavx
+	and one avx alternative, use *x instead of *v in the former and v
+	instead of *v in the latter.
+	(*sse4_1_extractps): Use noavx isa instead of * for the first
+	alternative, drop %v from the template.  Split second alternative into
+	one noavx and one avx alternative, use *x instead of *v in the
+	former and v instead of *v in the latter.
+	(<vi8_sse4_1_avx2_avx512>_movntdqa): Guard the first 2 alternatives
+	with noavx and the last one with avx.
+	(sse4_1_phminposuw): Guard first alternative with noavx isa,
+	split the second one into one noavx and one avx alternative,
+	use *x and Bm in the former and x and m in the latter one.
+	(<sse4_1>_ptest<mode>): Use noavx instead of * for the first two
+	alternatives.
+
+	* config/i386/sse.md (sse4_1_<code>v8qiv8hi2<mask_name>): Limit
+	first two alternatives to noavx, use *x instead of *v in the second
+	one, add avx alternative without *.
+	(sse4_1_<code>v4qiv4si2<mask_name>, sse4_1_<code>v4hiv4si2<mask_name>,
+	sse4_1_<code>v2qiv2di2<mask_name>, sse4_1_<code>v2hiv2di2<mask_name>,
+	sse4_1_<code>v2siv2di2<mask_name>): Likewise.
+
+2016-05-24  Jeff Law  <law@redhat.com>
+
+	* tree-ssa-threadbackwards.c (convert_and_register_jump_thread_path):
+	New function, extracted from...
+	(fsm_find_control_statement_thread_paths): Here.  Use the new function.
+	Allow simple copies and constant initializations in the SSA chain.
+
+2016-05-24  Marek Polacek  <polacek@redhat.com>
+
+	PR c/71249
+	* gimplify.c (gimplify_switch_expr): Look into the innermost lexical
+	scope.
+
+2016-05-24  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/71257
+	* tree-vect-stmts.c (vectorizable_simd_clone_call): Handle
+	SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP like
+	SIMD_CLONE_ARG_TYPE_LINEAR_CONSTANT_STEP.  Add
+	SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP and
+	SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP cases explicitly.
+
+2016-05-24  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71240
+	* tree-ssa-math-opts.c (init_symbolic_number): Verify the source
+	has integral type.
+
+2016-05-24  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71230
+	* tree-ssa-reassoc.c (zero_one_operation): Handle negate special ops.
+
+2016-05-24  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* tree-vectorizer.h (vectorizable_comparison): Delete.
+	* tree-vect-loop.c (vectorizable_reduction): Remove redundant
+	PURE_SLP_STMT check.
+	* tree-vect-stmts.c (vectorizable_call): Likewise.
+	(vectorizable_simd_clone_call): Likewise.
+	(vectorizable_conversion): Likewise.
+	(vectorizable_assignment): Likewise.
+	(vectorizable_shift): Likewise.
+	(vectorizable_operation): Likewise.
+	(vectorizable_load): Likewise.
+	(vectorizable_condition): Likewise.
+	(vectorizable_store): Likewise.  Assert that we don't have
+	hybrid SLP.
+	(vectorizable_comparison): Make static.  Remove redundant
+	PURE_SLP_STMT check.
+	(vect_transform_stmt): Assert that we always have an slp_node
+	if PURE_SLP_STMT.
+
+2016-05-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/arm/neon.md (ashldi3_neon):  Replace comparison of INTVAL of
+	operands[2] against 1 with comparison against CONST1_RTX.
+	(<shift>di3_neon): Likewise.
+	* config/arm/predicates.md (const0_operand): Replace with comparison
+	against CONST0_RTX.
+
+2016-05-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/arm/arm.md (ashldi3): Replace comparison of INTVAL of
+	operands[2] against 1 with comparison against CONST1_RTX.
+	(ashrdi3): Likewise.
+	(lshrdi3): Likewise.
+	(ashlsi3): Replace cast of INTVAL to unsigned HOST_WIDE_INT with
+	UINTVAL.
+	(ashrsi3): Likewise.
+	(lshrsi3): Likewise.
+	(rotrsi3): Likewise.
+	(define_split above *compareqi_eq0): Likewise.
+	(define_split above "prologue"): Likewise.
+	* config/arm/arm.c (thumb1_size_rtx_costs): Likewise.
+	* config/arm/predicates.md (shift_operator): Likewise.
+	(shift_nomul_operator): Likewise.
+	(sat_shift_operator): Likewise.
+	(thumb1_cmp_operand): Likewise.
+	(const_neon_scalar_shift_amount_operand): Replace manual range
+	check with IN_RANGE.
+	* config/arm/thumb1.md (define_peephole2 above *thumb_subdi3):
+	Replace cast of INTVAL to unsigned HOST_WIDE_INT with UINTVAL.
+
+2016-05-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/arm/arm.md (andsi3): Replace cast of 1 to HOST_WIDE_INT
+	with HOST_WIDE_INT_1.
+	(insv): Likewise.
+	* config/arm/arm.c (optimal_immediate_sequence): Replace cast of
+	1 to unsigned HOST_WIDE_INT with HOST_WIDE_INT_1U.
+	(arm_canonicalize_comparison): Likewise.
+	(thumb1_rtx_costs): Replace cast of 1 to HOST_WIDE_INT with
+	HOST_WIDE_INT_1.
+	(thumb1_size_rtx_costs): Likewise.
+	(vfp_const_double_index): Replace cast of 1 to unsigned
+	HOST_WIDE_INT with HOST_WIDE_INT_1U.
+	(get_jump_table_size): Replace cast of 1 to HOST_WIDE_INT with
+	HOST_WIDE_INT_1.
+	(arm_asan_shadow_offset): Replace cast of 1 to unsigned
+	HOST_WIDE_INT with HOST_WIDE_INT_1U.
+	* config/arm/neon.md (vec_set<mode>): Replace cast of 1 to
+	HOST_WIDE_INT with HOST_WIDE_INT_1.
+
+2016-05-24  Marek Polacek  <polacek@redhat.com>
+
+	* tree-cfg.h (should_remove_lhs_p): New predicate.
+	* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it.
+	* gimplify.c (gimplify_modify_expr): Likewise.
+	* tree-cfg.c (verify_gimple_call): Likewise.
+	* tree-cfgcleanup.c (fixup_noreturn_call): Likewise.
+	* gimple-fold.c: Include "tree-cfg.h".
+	(gimple_fold_call): Use should_remove_lhs_p.
+
+2016-05-24  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71253
+	* cfganal.h (control_dependences): Make robust against edge
+	and BB removal.
+	(control_dependences::control_dependences): Remove edge_list argument.
+	(control_dependences::get_edge): Remove.
+	(control_dependences::get_edge_src): Add.
+	(control_dependences::get_edge_dest): Likewise.
+	(control_dependences::m_el): Make a vector of edge src/dest index.
+	* cfganal.c (control_dependences::find_control_dependence): Adjust.
+	(control_dependences::control_dependences): Likewise.
+	(control_dependences::~control_dependence): Likewise.
+	(control_dependences::get_edge): Remove.
+	(control_dependences::get_edge_src): Add.
+	(control_dependences::get_edge_dest): Likewise.
+	* tree-ssa-dce.c (mark_control_dependent_edges_necessary): Use
+	get_edge_src.
+	(perform_tree_ssa_dce): Adjust.
+	* tree-loop-distribution.c (create_edge_for_control_dependence): Use
+	get_edge_src.
+	(pass_loop_distribution::execute): Adjust.  Do loop destroying
+	conditional on changed.
+
+2016-05-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/69857
+	* config/arm/arm.c (gen_operands_ldrd_strd): Remove bogus early
+	return.  Reindent transformation comment and mention the ARM state
+	behavior.
+
+2016-05-24  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	PR middle-end/71252
+	* tree-ssa-reassoc.c (rewrite_expr_tree_parallel): Add stmt_to_insert
+	after build_and_add_sum creates new use stmt.
+
+2016-05-24  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* tree-vect-stmts.c (vectorizable_load): Reorder checks so that
+	load_lanes/grouped_load classification comes first.  Don't check
+	whether the vectorization factor is a multiple of the group size
+	for load_lanes.
+
+2016-05-24  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* tree-vect-data-refs.c (vect_analyze_group_access_1): Set
+	GROUP_GAP for single-element interleaving.
+	* tree-vect-stmts.c (vectorizable_load): Remove force_peeling
+	variable.
+
+2016-05-24  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/70434
+	PR c/69504
+	* tree-ssa.c (non_rewritable_mem_ref_base): Make sure to mark
+	bases which are accessed with non-invariant indices.
+	* gimple-fold.c (maybe_canonicalize_mem_ref_addr): Re-write
+	constant index ARRAY_REFs of vectors into BIT_FIELD_REFs.
+
+2016-05-24  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	PR middle-end/71170
+	* tree-ssa-reassoc.c (struct operand_entry): Add field stmt_to_insert.
+	(add_to_ops_vec): Add stmt_to_insert.
+	(add_repeat_to_ops_vec): Init stmt_to_insert.
+	(insert_stmt_before_use): New.
+	(transform_add_to_multiply): Remove mult_stmt insertion and add it
+	to ops vector.
+	(get_ops): Init stmt_to_insert.
+	(maybe_optimize_range_tests): Likewise.
+	(rewrite_expr_tree): Insert stmt_to_insert before use stmt.
+	(rewrite_expr_tree_parallel): Likewise.
+	(reassociate_bb): Likewise.
+
+2016-05-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/71201
+	* config/rs6000/altivec.md (altivec_vperm_<mode>_internal): Drop
+	ISA 3.0 xxperm fusion alternative.
+	(altivec_vperm_v8hiv16qi): Likewise.
+	(altivec_vperm_<mode>_uns_internal): Likewise.
+	(vperm_v8hiv4si): Likewise.
+	(vperm_v16qiv8hi): Likewise.
+
+2016-05-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
+	    Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+	* config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate
+	vpermr/xxpermr on ISA 3.0.
+	(altivec_expand_vec_perm_le): Likewise.
+	* config/rs6000/altivec.md (UNSPEC_VPERMR): New unspec.
+	(altivec_vpermr_<mode>_internal): Add VPERMR/XXPERMR support for
+	ISA 3.0.
+
+2016-05-23  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.h (IS_STACK_MODE): Enable for
+	TARGET_MIX_SSE_I387.  Rewrite using X87_FLOAT_MODE_P and
+	SSE_FLOAT_MODE_P macros.
+	* config/i386/i386.c (ix86_preferred_reload_class): Use
+	IS_STACK_MODE, INTEGER_CLASS_P, FLOAT_CLASS_P and Q_CLASS_P macros.
+	Cleanup regclass processing for CONST_DOUBLE_P.
+	(ix86_preferred_output_reload_class): Use IS_STACK_MODE macro.
+	(ix86_rtx_costs): Remove redundant TARGET_80387 check
+	with IS_STACK_MODE macro.
+	* config/i386/i386.md: Replace SSE_FLOAT_MODE_P (DFmode)
+	with TARGET_SSE2.
+	(*movdf_internal): Use IS_STACK_MODE macro.
+	(*movsf_internal): Ditto.
+
+2016-05-23  Marc Glisse  <marc.glisse@inria.fr>
+
+	* match.pd (a * (1 << b), ~x & ~y, ~X ^ ~Y, (X ^ Y) ^ Y, ~ (-A),
+	~ (A - 1), ~(~X >> Y), ~(~X >>r Y)): Relax constraints.
+
+2016-05-23  Jeff Law  <law@redhat.com>
+
+	* tree-ssa-threadbackward.c (profitable_jump_thread_path): New function
+	extracted from ...
+	(fsm_find_control_statement_thread_paths): Call it.
+
+2016-05-23  Martin Jambor  <mjambor@suse.cz>
+
+	PR ipa/71234
+	* ipa-cp.c (ipa_get_indirect_edge_target_1): Only check value of
+	from_global_constant if t is not NULL.
+
+2016-05-23  Marek Polacek  <polacek@redhat.com>
+
+	PR c/49859
+	* common.opt (Wswitch-unreachable): New option.
+	* doc/invoke.texi: Document -Wswitch-unreachable.
+	* gimplify.c (gimplify_switch_expr): Implement the -Wswitch-unreachable
+	warning.
+
+2016-05-23  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-address.c (copy_ref_info): Check NULL TMR_STEP when
+	TMR_INDEX is non-NULL.
+
+2016-05-23  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71230
+	* tree-ssa-reassoc.c (acceptable_pow_call): Move initial condition...
+	(try_special_add_to_ops): ... here.  Always test for single-use.
+
+2016-05-23  Martin Jambor  <mjambor@suse.cz>
+
+	* hsa-gen.c (gen_hsa_insns_for_switch_stmt): Create an empty
+	default block if a PHI node in the original one would be resized.
+
+2016-05-23  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
+
+	PR tree-optimization/58135
+	* tree-vect-slp.c: When group size is not multiple
+	of vector size, allow splitting of store group at
+	vector boundary.
+
+2016-05-23  Christophe Lyon  <christophe.lyon@linaro.org>
+
+	* config/arm/arm_neon.h (vtst_p16, vtstq_p16): New.
+
+2016-05-22  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/sse.md (vec_set_lo_<mode><mask_name>,
+	vec_set_hi_<mode><mask_name>): Add && <mask_avx512dq_condition>
+	condition.  For !TARGET_AVX512DQ, emit 32x4 instruction instead
+	of 64x2.
+
+	* config/i386/sse.md (vec_set_lo_v16hi, vec_set_hi_v16hi,
+	vec_set_lo_v32qi, vec_set_hi_v32qi): Add alternative with
+	v constraint instead of x and vinserti32x4 insn.
+
+	* config/i386/sse.md (i128vldq): New mode iterator.
+	(avx2_vbroadcasti128_<mode>, avx_vbroadcastf128_<mode>): Add
+	avx512dq and avx512vl alternatives.
+
+	* config/i386/sse.md (avx2_vec_dupv4df): Use v instead of x
+	constraint, use maybe_evex prefix instead of vex.
+	(vec_dupv4sf): Use v constraint instead of x for output
+	operand except for noavx alternative, use Yv constraint
+	instead of x for input.  Use maybe_evex prefix instead of vex.
+	(*vec_dupv4si): Likewise.
+	(*vec_dupv2di): Likewise.
+
+2016-05-22  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	PR middle-end/40921
+	* tree-ssa-reassoc.c (try_special_add_to_ops): New.
+	(linearize_expr_tree): Call try_special_add_to_ops.
+	(reassociate_bb): Convert MULT_EXPR by (-1) to NEGATE_EXPR.
+
+2016-05-21  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
+
+	* config/avr/avr.c (avr_expand_prologue): Add INCOMING_FRAME_SP_OFFSET
+	to computed stack_usage.
+
+2016-05-21  Pitchumani Sivanupandi  <pitchumani.s@atmel.com>
+
+	PR target/71103
+	* config/avr/avr.md (define_expand "mov<mode>"): If the source
+	operand is subreg (symbol_ref) then move the symbol ref to register.
+
+2016-05-21  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree.c (array_at_struct_end_p): Look through MEM_REF.
+
+2016-05-21  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	PR middle-end/71179
+	* tree-ssa-reassoc.c (transform_add_to_multiply): Disallow float
+	VECTOR type.
+
+2016-05-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree-vrp.c (compare_values_warnv): Simplify handling of symbolic
+	ranges by calling get_single_symbol and tidy up.  Look more closely
+	into NAME + CST1 vs CST2 comparisons if type overflow is undefined.
+
+2016-05-20  Jeff Law  <law@redhat.com>
+
+	* bitmap.c (bitmap_find_bit): Remove useless test.
+
+2016-05-20  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* function.c (thread_prologue_and_epilogue_insns): Commit the
+	insertion of the epilogue.
+
+2016-05-20  Martin Jambor  <mjambor@suse.cz>
+
+	PR tree-optimization/70884
+	* tree-sra.c (initialize_constant_pool_replacements): Do not check
+	should_scalarize_away_bitmap and cannot_scalarize_away_bitmap bits.
+	(sort_and_splice_var_accesses): Do not consider multiple scalar reads
+	of constant pool data as a reason for scalarization.
+
+2016-05-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/arm/arm.c (arm_expand_prologue): Set the stack usage to 0
+	for naked functions.
+	(thumb1_expand_prologue): Likewise.
+
+2016-05-20  Nathan Sidwell  <nathan@acm.org>
+
+	* config/nvptx/nptx.c (nvptx_option_override): Only set
+	flag_toplevel_reorder, if not explicitly specified.  Set
+	flag_no_common, unless explicitly specified.
+
+2016-05-20  David Malcolm  <dmalcolm@redhat.com>
+
+	* calls.c (can_implement_as_sibling_call_p): Mark param
+	reg_parm_stack_space with ATTRIBUTE_UNUSED.
+
+2016-05-20  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (ix86_rtx_costs) <case CONST_DOUBLE>:
+	Use IS_STACK_MODE when calculating cost of standard 80387 constants.
+	Fallthru to CONST_VECTOR case to calculate cost of standard SSE
+	constants.
+	<case CONST_WIDE_INT>: Calculate cost of (MEM (SYMBOL_REF)).
+	(ix86_legitimate_constant_p): Use CASE_CONST_SCALAR_INT
+	and CASE_CONST_ANY.
+
+2016-05-20  Cesar Philippidis  <cesar@codesourcery.com>
+
+	* config/nvptx/nvptx.md (sincossf3): New pattern.
+
+2016-05-20  David Malcolm  <dmalcolm@redhat.com>
+
+	* calls.c (maybe_complain_about_tail_call): New function.
+	(initialize_argument_information): Call
+	maybe_complain_about_tail_call when clearing *may_tailcall.
+	(can_implement_as_sibling_call_p): Call
+	maybe_complain_about_tail_call when returning false.
+	(expand_call): Read CALL_EXPR_MUST_TAIL_CALL and, if set,
+	ensure try_tail_call is set.  Call maybe_complain_about_tail_call
+	if tail-call optimization fails.
+	* cfgexpand.c (expand_call_stmt): Initialize
+	CALL_EXPR_MUST_TAIL_CALL from gimple_call_must_tail_p.
+	* gimple-pretty-print.c (dump_gimple_call): Dump
+	gimple_call_must_tail_p.
+	* gimple.c (gimple_build_call_from_tree): Call
+	gimple_call_set_must_tail with the value of
+	CALL_EXPR_MUST_TAIL_CALL.
+	* gimple.h (enum gf_mask): Add GF_CALL_MUST_TAIL_CALL.
+	(gimple_call_set_must_tail): New function.
+	(gimple_call_must_tail_p): New function.
+	* print-tree.c (print_node): Update printing of TREE_STATIC
+	to reflect its use for CALL_EXPR_MUST_TAIL_CALL.
+	* tree-core.h (struct tree_base): Add MUST_TAIL_CALL to the
+	trailing comment listing applicable flags.
+	* tree.h (CALL_EXPR_MUST_TAIL_CALL): New macro.
+
+2016-05-20  David Malcolm  <dmalcolm@redhat.com>
+
+	* calls.c (expand_call): Move "Rest of purposes for tail call
+	optimizations to fail" to...
+	(can_implement_as_sibling_call_p): ...this new function, and
+	split into multiple "if" statements.
+
+2016-05-20  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cfgloop.h (expected_loop_iterations_unbounded,
+	expected_loop_iterations): Unconstify.
+	* cfgloopanal.c (expected_loop_iterations_unbounded): Sanity check the
+	profile with known upper bound; return 3 when profile is absent.
+	(expected_loop_iterations): Update.
+
+2016-05-20  Jan Hubicka  <hubicka@ucw.cz>
+
+	* loop-doloop.c (doloop_optimize): Use get_estimated_loop_iterations_int
+	and get_max_loop_iterations_int.
+
+2016-05-20  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can not produce
+	realistic upper bounds here.
+
+2016-05-20  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/71210
+	* gimple-fold.c (gimple_fold_call): Do not remove lhs of noreturn
+	calls if the LHS is variable length or has addressable type.
+	If targets[0]->decl is a noreturn call with void return type and
+	zero arguments, adjust fntype and remove lhs in that case.
+
+2016-05-20  Marc Glisse  <marc.glisse@inria.fr>
+
+	PR tree-optimization/71079
+	PR tree-optimization/71206
+	* match.pd ((X ^ Y) ^ (X ^ Z)): Convert the arguments.
+
+2016-05-20  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	* tree-vectorizer.c (get_vec_alignment_for_decl): New static function.
+	(get_vec_alignment_for_array_decl): Likewise.
+	(get_vec_alignment_for_record_decl): Likewise.
+	(increase_alignment::execute): Move code to find alignment to
+	get_vec_alignment_for_array_decl and call get_vec_alignment_for_decl.
+	(type_align_map): New hash_map.
+
+2016-05-20  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/29756
+	* tree.def (BIT_INSERT_EXPR): New tcc_expression tree code.
+	* expr.c (expand_expr_real_2): Handle BIT_INSERT_EXPR.
+	* fold-const.c (operand_equal_p): Likewise.
+	(fold_ternary_loc): Add constant folding of BIT_INSERT_EXPR.
+	* gimplify.c (gimplify_expr): Handle BIT_INSERT_EXPR.
+	* tree-inline.c (estimate_operator_cost): Likewise.
+	* tree-pretty-print.c (dump_generic_node): Likewise.
+	* tree-ssa-operands.c (get_expr_operands): Likewise.
+	* cfgexpand.c (expand_debug_expr): Likewise.
+	* gimple-pretty-print.c (dump_ternary_rhs): Likewise.
+	* gimple.c (get_gimple_rhs_num_ops): Handle BIT_INSERT_EXPR.
+	* tree-cfg.c (verify_gimple_assign_ternary): Verify BIT_INSERT_EXPR.
+	* tree-ssa.c (non_rewritable_lvalue_p): We can rewrite
+	vector inserts using BIT_FIELD_REF or MEM_REF on the lhs.
+	(execute_update_addresses_taken): Do it.
+
+2016-05-20  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71185
+	* tree-ssa-loop-prefetch.c (gather_memory_references): Drop
+	register operations.
+
+2016-05-20  Richard Biener  <rguenther@suse.de>
+
+	* tree-if-conv.c (add_bb_predicate_gimplified_stmts): Use
+	gimple_seq_add_seq_without_update.
+	(release_bb_predicate): Assert we have no operands to free.
+	(if_convertible_loop_p_1): Calculate post dominators later.
+	Do not free BB predicates here.
+	(combine_blocks): Do not recompute BB predicates.
+	(version_loop_for_if_conversion): Save BB predicates around
+	loop versioning.
+
+2016-05-19  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* function.c (make_epilogue_seq): Remove epilogue_end parameter.
+	(thread_prologue_and_epilogue_insns): Remove bb_flags.  Restructure
+	code.  Ignore sibcalls on EDGE_IGNORE edges.
+	* shrink-wrap.c (handle_simple_exit): New function.  Set EDGE_IGNORE
+	on edges for sibcalls that run without prologue.  The rest of the
+	function is combined from...
+	(fix_fake_fallthrough_edge): ... this, and ...
+	(try_shrink_wrapping): ... a part of this.  Remove the bb_with
+	function argument, make it a local variable.
+
+2016-05-19  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* config/i386/cygming.h (DWARF2_UNWIND_INFO): Allow
+	--disable-sjlj-exceptions for TARGET_BI_ARCH to select DWARF-2 EH
+	for 32-bit mode and SEH for 64-bit.
+	* config/i386/mingw32.h (SHARED_LIBGCC_UNDEFS_SPEC): Handle
+	TARGET_64BIT_DEFAULT.
+
+2016-05-19  Ryan Burn  <contact@rnburn.com>
+
+	* Makefile.in (GTFILES): Add cilk.h and cilk-common.c.
+	* gengtype.c (open_base_files): Add cilk.h to ifiles.
+
+2016-05-19  Uros Bizjak  <ubizjak@gmail.com>
+
+	* sched-deps.c (sched_analyze_2) <case TRAP_IF>: Also
+	force pending loads from memory.
+
+2016-05-19  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+	* config/rs6000/altivec.md (UNSPEC_DARN): New unspec constant.
+	(UNSPEC_DARN_32): New unspec constant.
+	(UNSPEC_DARN_RAW): New unspec constant.
+	(darn_32): New instruction.
+	(darn_raw): New instruction.
+	(darn): New instruction.
+	* config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_0): Add
+	support and documentation for this macro.
+	(BU_P9_MISC_1): New macro definition.
+	(BU_P9_64BIT_MISC_0): New macro definition.
+	(BU_P9_MISC_0): New macro definition.
+	(darn_32): New builtin definition.
+	(darn_raw): New builtin definition.
+	(darn): New builtin definition.
+	* config/rs6000/rs6000.c: Add #define RS6000_BUILTIN_0 and #undef
+	RS6000_BUILTIN_0 directives to surround each occurrence of
+	#include "rs6000-builtin.def".
+	(rs6000_builtin_mask_calculate): Add in the RS6000_BTM_MODULO and
+	RS6000_BTM_64BIT flags to the returned mask, depending on
+	configuration.
+	(def_builtin): Correct an error in the assignments made to the
+	debugging variable attr_string.
+	(rs6000_expand_builtin): Add support for no-operand built-in
+	functions.
+	(builtin_function_type): Remove fatal_error assertion that is no
+	longer valid.
+	(rs6000_common_init_builtins): Add support for no-operand built-in
+	functions.
+	* config/rs6000/rs6000.h (RS6000_BTM_MODULO): New macro
+	definition.
+	(RS6000_BTM_PURE): Enhance comment to clarify intent of this flag
+	definition.
+	(RS6000_BTM_64BIT): New macro definition.
+	* doc/extend.texi: Document __builtin_darn (void),
+	__builtin_darn_raw (void), and __builtin_darn_32 (void) built-in
+	functions.
+
+2016-05-19  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-vect-loop.c (vect_analyze_loop_2): Use also
+	max_loop_iterations_int.
+
+2016-05-19  Marek Polacek  <polacek@redhat.com>
+
+	PR tree-optimization/71031
+	* tree-vrp.c (extract_range_from_binary_expr_1): Turn assert into a
+	condition and adjust the code a bit.
+
+2016-05-19  Martin Liska  <mliska@suse.cz>
+
+	* tree-vect-stmts.c (vectorizable_simd_clone_call): Utilize
+	auto_vec instead of vec.
+
+2016-05-19  Martin Liska  <mliska@suse.cz>
+
+	* tree-parloops.c (oacc_entry_exit_ok): Release a vector.
+
+2016-05-19  Martin Liska  <mliska@suse.cz>
+
+	* tree-if-conv.c (ifcvt_repair_bool_pattern): Utilize auto_vecs.
+
+2016-05-19  Martin Liska  <mliska@suse.cz>
+
+	* ipa-pure-const.c (set_function_state): Remove an existing
+	funct_state.
+	(remove_node_data): Do not free it as it's released
+	in set_function_state.
+
+2016-05-19  Martin Liska  <mliska@suse.cz>
+
+	* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Release
+	bitmap.
+
+2016-05-19  Martin Liska  <mliska@suse.cz>
+
+	* omp-simd-clone.c (simd_clone_adjust): Release vector.
+
+2016-05-19  Martin Liska  <mliska@suse.cz>
+
+	* tree-ssa-reassoc.c (eliminate_duplicate_pair): Truncate
+	an auto_vec instead of re-creating it.
+
+2016-05-19  Martin Liska  <mliska@suse.cz>
+
+	* tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Use
+	auto_vec instead of vec.
+
+2016-05-19  Martin Liska  <mliska@suse.cz>
+
+	* lto-section-in.c (lto_get_section_data): Call
+	lto_check_version with additional argument.
+	* lto-streamer.c (lto_check_version): Add new argument.
+	* lto-streamer.h (lto_check_version): Likewise.
+
+2016-05-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/arm/arm.c (arm_new_rtx_costs, SIGN_EXTEND case):
+	Don't add cost of inner memory when handling sign-extended loads.
+
+2016-05-19  Ilya Enkovich  <ilya.enkovich@intel.com>
+
+	PR rtl-optimization/71148
+	* cse.c (cse_main): Free dominance info.
+	(rest_of_handle_cse): Don't free dominance info.
+	(rest_of_handle_cse2): Likewise.
+	(rest_of_handle_cse_after_global_opts): Likewise.
+
+2016-05-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/71056
+	* config/arm/arm-builtins.c (arm_builtin_vectorized_function): Return
+	NULL_TREE early if NEON is not available.  Remove now redundant check
+	in ARM_CHECK_BUILTIN_MODE.
+
+2016-05-19  Maxim Ostapenko  <m.ostapenko@samsung.com>
+
+	PR sanitizer/64354
+	* cppbuiltin.c (define_builtin_macros_for_compilation_flags): Add new
+	builtin __SANITIZE_THREAD__ macros for fsanitize=thread switch.
+	* doc/cpp.texi: Document new macros.
+
+2016-05-19  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/69848
+	* tree-vect-loop.c (vectorizable_reduction): Don't factor
+	comparison expr out of VEC_COND_EXPR for COND_REDUCTION.
+
+2016-05-19  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* function.c (thread_prologue_and_epilogue_insn): Move the
+	"goto epilogue_done" one block later.
+
+2016-05-19  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/70729
+	* passes.def: Move LIM pass before PRE.  Remove no longer
+	required copyprop and move first DCE out of the loop pipeline.
+
+2016-05-18  David Malcolm  <dmalcolm@redhat.com>
+
+	PR driver/69265
+	* Makefile.in (GCC_OBJS): Move spellcheck.o to...
+	(OBJS-libcommon-target): ...here.
+	* opts-common.c: Include spellcheck.h.
+	(cmdline_handle_error): Build a vec of valid options and use it
+	to suggest provide hints for misspelled arguments.
+
+2016-05-18  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/71100
+	* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Don't drop
+	lhs if it has TREE_ADDRESSABLE type.
+
+2016-05-18  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/71145
+	* config/alpha/alpha.md (trap): Add (use (reg:DI 29)).
+	(*exception_receiver_1): Return "#" for TARGET_EXPLICIT_RELOCS.
+
+2016-05-18  Martin Jambor  <mjambor@suse.cz>
+
+	PR ipa/69708
+	* ipa-cp.c (ipa_get_jf_pass_through_result): Allow non-ip constant
+	input for NOP_EXPR pass-through functions.
+	* ipa-prop.c (ipa_compute_jump_functions_for_edge): Allow
+	aggregate global constant VAR_DECLs in constant jump functions.
+
+2016-05-18  Martin Jambor  <mjambor@suse.cz>
+
+	PR ipa/69708
+	* ipa-prop.c (parm_preserved_before_stmt_p): Return true for loads
+	from TREE_READONLY parameters.
+
+2016-05-18  Martin Jambor  <mjambor@suse.cz>
+
+	PR ipa/69708
+	* cgraph.h (cgraph_indirect_call_info): New field
+	guaranteed_unmodified.
+	* ipa-cp.c (ipa_get_indirect_edge_target_1): Also pass parameter value
+	to ipa_find_agg_cst_for_param, check guaranteed_unmodified when
+	appropriate.
+	* ipa-inline-analysis.c (evaluate_conditions_for_known_args): Also
+	pass the parameter value to ipa_find_agg_cst_for_param.
+	* ipa-prop.c (ipa_load_from_parm_agg): New parameter
+	guaranteed_unmodified, store AA results there instead of bailing out
+	if present.
+	(ipa_note_param_call): Also initialize guaranteed_unmodified flag.
+	(ipa_analyze_indirect_call_uses): Also set guaranteed_unmodified flag.
+	(find_constructor_constant_at_offset): New function.
+	(ipa_find_agg_cst_from_init): Likewise.
+	(ipa_find_agg_cst_for_param): Also seearch for aggregate values in
+	static initializers of contants, report back through a new paameter
+	from_global_constant if that was the case.
+	(try_make_edge_direct_simple_call): Also pass parameter value to
+	ipa_find_agg_cst_for_param, check guaranteed_unmodified when
+	appropriate.
+	(ipa_write_indirect_edge_info): Stream new flag guaranteed_unmodified.
+	(ipa_read_indirect_edge_info): Likewise.
+	* ipa-prop.h (ipa_find_agg_cst_for_param): Update declaration.
+	(ipa_load_from_parm_agg): Likewise.
+
+2016-05-18  Jiong Wang  <jiong.wang@arm.com>
+
+	PR rtl-optimization/71150
+	* lra-constraint (process_addr_reg): Guard "in_class_p" with REG_P
+	check.
+
+2016-05-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/70915
+	* config/rs6000/constraints.md (wE constraint): New constraint
+	for a vector constant that can be loaded with XXSPLTIB.
+	(wM constraint): New constraint for a vector constant of a 1's.
+	(wS constraint): New constraint for a vector constant that can be
+	loaded with XXSPLTIB and a vector sign extend instruction.
+	* config/rs6000/predicates.md (xxspltib_constant_split): New
+	predicates for wE/wS constraints.
+	(xxspltib_constant_nosplit): Likewise.
+	(easy_vector_constant): Add support for constants that can be
+	loaded via XXSPLTIB.
+	(all_ones_constant): New predicate for vector constant with all
+	1's set.
+	(splat_input_operand): Add support for ISA 3.0 word splat operations.
+	* config/rs6000/rs6000.c (xxspltib_constant_p): New function to
+	return if a constant can be loaded with the ISA 3.0 XXSPLTIB
+	instruction and possibly with a sign extension.
+	(output_vec_const_move): Add support for XXSPLTIB. If we are
+	loading up 0/-1 into Altivec registers, prefer using VSPLTISW
+	instead of XXLXOR/XXLORC.
+	(rs6000_expand_vector_init): Add support for ISA 3.0 word splat
+	operations.
+	(rs6000_legitimize_reload_address): Likewise.
+	(rs6000_output_move_128bit): Use output_vec_const_move to emit
+	constants.
+	* config/rs6000/vsx.md (VSX_M): Add TImode (if -mvsx-timode) and
+	combine VSX_M and VSX_M2 into one iterator.
+	(VSX_M2): Likewise.
+	(VSINT_84): New iterators for loading constants with XXSPLTIB.
+	(VSINT_842): Likewise.
+	(UNSPEC_VSX_SIGN_EXTEND): New UNSPEC.
+	(xxspltib_v16qi): New insns to load up constants with the ISA 3.0
+	XXSPLTIB instruction.
+	(xxspltib_<mode>_nosplit): Likewise.
+	(xxspltib_<mode>_split): New insn to load up constants with
+	XXSPLTIB and a sign extend instruction.
+	(vsx_mov<mode>): Replace single move that handled all vector types
+	with separate 32-bit and 64-bit moves.  Combine the movti_<bit>
+	moves (when -mvsx-timode is in effect) into the main vector
+	moves.  Eliminate separate moves for <VSr> <VSa>, where the
+	preferred register class (<VSr>) is listed first, and the
+	secondary register class (<VSa>) is listed second with a '?' to
+	discourage use.  Prefer loading 0/-1 in any VSX register for ISA
+	3.0, and Altivec registers for ISA 2.06/2.07 (PR target/70915) so
+	that if the register was involved in a slow operation, the
+	clear/set operation does not wait for the slow operation to
+	finish.  Adjust the length attributes for 32-bit mode.  Use
+	rs6000_output_move_128bit and drop the use of the string
+	instructions for 32-bit movti when -mvsx-timode is in effect.  Use
+	spacing so that the alternatives and attributes don't generate
+	long lines, and put things in columns, so that it is easier to
+	match up the operands and attributes with the insn alternatives.
+	(vsx_mov<mode>_64bit): Likewise.
+	(vsx_mov<mode>_32bit): Likewise.
+	(vsx_movti_64bit): Fold movti into normal vector moves.
+	(vsx_movti_32bit): Likewise.
+	(vsx_splat_<mode>, V4SI/V4SF modes): Add support for ISA 3.0 word
+	splat instructions.
+	(vsx_splat_v4si_internal): Likewise.
+	(vsx_splat_v4sf_internal): Likewise.
+	(vector fusion peepholes): Use VSX_M instead of VSX_M2.
+	(vsx_sign_extend_qi_<mode>): New ISA 3.0 instructions to sign
+	extend vector elements.
+	(vsx_sign_extend_hi_<mode>): Likewise.
+	(vsx_sign_extend_si_v2di): Likewise.
+	* config/rs6000/rs6000-protos.h (xxspltib_constant_p): Add
+	declaration.
+	* doc/md.texi (PowerPC constraints): Document the wE, wM, and wS
+	constraints.  Add trailing period to wL documentation.
+
+2016-05-18  Richard Sandiford  <richard.sandiford@arm.com>
+
+	PR middle-end/71020
+	* tree-dfa.h (replace_abnormal_ssa_names): Declare.
+	* tree-dfa.c (replace_abnormal_ssa_names): New function.
+	* tree-call-cdce.c: Include tree-dfa.h.
+	(can_guard_call_p): New function, extracted from...
+	(can_use_internal_fn): ...here.
+	(shrink_wrap_one_built_in_call_with_conds): Remove failure path
+	and return void.
+	(shrink_wrap_one_built_in_call): Likewise.
+	(use_internal_fn): Likewise.
+	(shrink_wrap_conditional_dead_built_in_calls): Update accordingly
+	and return void.  Call replace_abnormal_ssa_names.
+	(pass_call_cdce::execute): Check can_guard_call_p during the
+	initial walk.  Assume shrink_wrap_conditional_dead_built_in_calls
+	will always change something.
+
+2016-05-18  Martin Jambor  <mjambor@suse.cz>
+
+	PR ipa/70646
+	* ipa-prop.c (determine_locally_known_aggregate_parts): Bail out early
+	if parameter PARAM_IPA_MAX_AGG_ITEMS is zero.
+
+2016-05-18  Martin Jambor  <mjambor@suse.cz>
+
+	PR ipa/70646
+	* ipa-inline.h (condition): New field size.
+	* ipa-inline-analysis.c (add_condition): New parameter SIZE, use it
+	for comaprison and store it into the new condition.
+	(evaluate_conditions_for_known_args): Use condition size to check
+	access sizes for all but CHANGED conditions.
+	(unmodified_parm_1): New parameter size_p, store access size into it.
+	(unmodified_parm): Likewise.
+	(unmodified_parm_or_parm_agg_item): Likewise.
+	(eliminated_by_inlining_prob): Pass NULL to unmodified_parm as size_p.
+	(set_cond_stmt_execution_predicate): Extract access sizes and store
+	them to conditions.
+	(set_switch_stmt_execution_predicate): Likewise.
+	(will_be_nonconstant_expr_predicate): Likewise.
+	(will_be_nonconstant_predicate): Likewise.
+	(inline_read_section): Stream condition size.
+	(inline_write_summary): Likewise.
+
+2016-05-18  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-loop-im.c (determine_max_movement): Properly add
+	condition cost to PHI cost instead of total_cost.
+
+2016-05-18  Martin Liska  <mliska@suse.cz>
+
+	PR fortran/70856
+	* ipa-icf.c (sem_variable::merge): Set DECL_PT_UID for
+	merged variables.
+
+2016-05-18  Richard Biener  <rguenther@suse.de>
+
+	* lto-streamer.h (LTO_major_version): Bump to 6.
+
+2016-05-18  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* function.c (make_split_prologue_seq, make_prologue_seq,
+	make_epilogue_seq): New functions, factored out from...
+	(thread_prologue_and_epilogue_insns): Here.
+
+2016-05-18  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* function.c (rest_of_handle_thread_prologue_and_epilogue): Call
+	cleanup_cfg with CLEANUP_EXPENSIVE after shrink-wrapping instead
+	of before.  Add a comment.
+
+2016-05-18  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (get_computation_cost_at): Check invariant
+	expression pointer, not pointer to the pointer.
+
+2016-05-18  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/sse.md (pbroadcast_evex_isa): New mode attr.
+	(avx2_pbroadcast<mode>): Add another alternative with v instead
+	of x constraints in it, using <pbroadcast_evex_isa> isa.
+	(avx2_pbroadcast<mode>_1): Similarly, add two such alternatives.
+
+	* config/i386/sse.md (<ssse3_avx2>_palignr<mode>): Use
+	constraint x instead of v in second alternative, add avx512bw
+	alternative.
+
+	* config/i386/sse.md (<ssse3_avx2>_pshufb<mode>3<mask_name>): Use
+	constraint x instead of v in second alternative, add avx512bw
+	alternative.
+
+	* config/i386/sse.md (*<ssse3_avx2>_pmulhrsw<mode>3<mask_name>): Use
+	constraint x instead of v in second alternative, add avx512bw
+	alternative.
+
+	* config/i386/sse.md (avx2_pmaddubsw256, ssse3_pmaddubsw128): Add
+	avx512bw alternative.
+
+2016-05-18  Kirill Yukhin  <kirill.yukhin@intel.com>
+
+	* config/i386/sse.md (define_insn "*andnot<mode>3"): Extend static
+	array to 128 chars.
+	(define_insn "*andnottf3"): Ditto.
+	(define_insn "*<code><mode>3"/any_logic): Ditto.
+	(define_insn "*<code>tf3"/any_logic): Ditto.
+	(define_insn "sse2_storehpd"): Use Yv constraint for scalar
+	operand to block AVX-512VL insn variant emit when it is not enabled.
+
+2016-05-18  Kirill Yukhin  <kirill.yukhin@intel.com>
+
+	* config/i386/sse.md (define_insn "*vec_concatv2sf_sse4_1"): Use 'Yv'
+	constraint fot SF mode.
+
+2016-05-18  Petr Murzin  <petr.murzin@intel.com>
+	    Kirill Yukhin  <kirill.yukhin@intel.com>
+
+	* config/i386/sse.md (define_insn "srcp14<mode>"): Use proper operand
+	modifiers.
+	(define_insn "rsqrt14<mode>"): Ditto.
+	(define_insn "<mask_codefor>avx512dq_cvtps2qqv2di<mask_name>"): Ditto.
+	(define_insn "<fixsuffix>fix_truncv2sfv2di2<mask_name>"): Ditto.
+	(define_insn "avx512f_<code>v8div16qi2_mask_store"): Ditto.
+	(define_insn "vec_set_hi_<mode><mask_name>"): Ditto.
+	(define_insn "<mask_codefor>avx512dq_broadcast<mode><mask_name>"):
+	Ditto.
+	(define_insn "*avx512f_gatherdi<mode>"): Ditto.
+	(define_insn "*avx512f_scatterdi<mode>"): Ditto.
+	* config/i386/i386.c (ix86_print_operand): Expand check for size
+	override codes for Intel syntax.
+
+2016-05-18  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71168
+	* tree-loop-distribution.c (distribute_loop): Move *destroy_p
+	initialization earlier.
+
+2016-05-18  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/aarch64/aarch64-simd.md
+	(aarch64_reduc_plus_internal<mode>): Rename to...
+	(reduc_plus_scal): ...This, and remove previous implementation.
+
+2016-05-18  Richard Biener  <rguenther@suse.de>
+
+	* passes.def: Put late dse and cd_dce in canonical order.
+
+2016-05-17  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-inline-transform.c (preserve_function_body_p): Look for
+	first non-thunk clone.
+	(save_function_body): Save into first non-thunk.
+	* lto-cgraph.c (lto_output_edge): When streaming thunk do not look
+	up call stmt id.
+	(lto_output_node): Inline thunks don't need body in every
+	partition.
+	* lto-streamer-in.c: Do not fixup thunk clones.
+	* cgraphclones.c (cgraph_node::create_edge_including_clone): Skip
+	thunks.
+	* tree-inline.c (copy_bb): Be prepared for target node to be new after
+	folding suceeds.
+
+2016-05-17  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	PR middle-end/63586
+	* tree-ssa-reassoc.c (transform_add_to_multiply): New.
+	(reassociate_bb): Call transform_add_to_multiply.
+
+2016-05-17  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* config/aarch64/aarch64.c (all_extensions): Removed unused
+	static variable.
+
+2016-05-17  Nathan Sidwell  <nathan@acm.org>
+
+	* config/nvptx/nvptx.c (nvptx_function_arg_boundary): New.
+	(TARGET_FUNCTION_ARG_BOUNDARY): Override.
+
+2016-05-17  Mikhail Maltsev  <maltsevm@gmail.com>
+
+	PR tree-optimization/54579
+	PR middle-end/55299
+	* match.pd (~(~X >> Y), ~(~X >>r Y), ~(~X <<r Y)): New patterns.
+
+2016-05-17  Marek Polacek  <polacek@redhat.com>
+
+	PR ipa/71146
+	* tree-inline.c (expand_call_inline): Call
+	maybe_remove_unused_call_args.
+
+2016-05-17  Jim Wilson  <jim.wilson@linaro.org>
+
+	* doc/cpp.texi (__GNUC__): Major version changes are no longer rare.
+	* doc/invoke.texi (-mnan=2008): Change signalling to signaling.
+	* doc/md.texi (fmin@var{m}3): Likewise.
+
+2016-05-17  Marc Glisse  <marc.glisse@inria.fr>
+
+	* match.pd (X & C): New transformation.
+
+2016-05-17  Marc Glisse  <marc.glisse@inria.fr>
+
+	* match.pd (~X & Y): New transformation.
+
+2016-05-17  Marc Glisse  <marc.glisse@inria.fr>
+
+	* tree-vrp.c (simplify_truth_ops_using_ranges): Set range
+	information for new SSA_NAME.
+	(simplify_conversion_using_ranges): Get range through get_range_info
+	instead of get_value_range.
+
+2016-05-17  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/arm_neon.h (vmvn_s8): Reimplement using C operator.
+	Remove inline assembly.
+	(vmvn_s16): Likewise.
+	(vmvn_s32): Likewise.
+	(vmvn_u8): Likewise.
+	(vmvn_u16): Likewise.
+	(vmvn_u32): Likewise.
+	(vmvnq_s8): Likewise.
+	(vmvnq_s16): Likewise.
+	(vmvnq_s32): Likewise.
+	(vmvnq_u8): Likewise.
+	(vmvnq_u16): Likewise.
+	(vmvnq_u32): Likewise.
+	(vmvn_p8): Likewise.
+	(vmvnq_p16): Likewise.
+
+2016-05-17  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64-simd.md (vmul_n_f32): Remove inline assembly.
+	Use builtin.
+	(vmul_n_s16): Likewise.
+	(vmul_n_s32): Likewise.
+	(vmul_n_u16): Likewise.
+	(vmul_n_u32): Likewise.
+	(vmulq_n_f32): Likewise.
+	(vmulq_n_f64): Likewise.
+	(vmulq_n_s16): Likewise.
+	(vmulq_n_s32): Likewise.
+	(vmulq_n_u16): Likewise.
+	(vmulq_n_u32): Likewise.
+
+2016-05-17  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64-simd.md (*aarch64_mul3_elt_to_128df): Extend
+	to all supported modes.  Rename to "*aarch64_mul3_elt_from_dup".
+
+2016-05-17  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64-simd.md (*aarch64_fma4_elt_to_128df): Rename
+	to *aarch64_fma4_elt_from_dup<mode>.
+	(*aarch64_fnma4_elt_to_128df): Rename to
+	*aarch64_fnma4_elt_from_dup<mode>.
+	* config/aarch64/arm_neon.h (vfma_n_f64): New.
+	(vfms_n_f32): Likewise.
+	(vfms_n_f64): Likewise.
+	(vfmsq_n_f32): Likewise.
+	(vfmsq_n_f64): Likewise.
+
+2016-05-17  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* wide-int.h: Change fixed_wide_int_storage from class to struct.
+
+2016-05-17  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71132
+	* tree-loop-distribution.c (create_rdg_cd_edges): Pass in loop.
+	Only add control dependences for blocks in the loop.
+	(build_rdg): Adjust.
+	(generate_code_for_partition): Return whether loop should
+	be destroyed and delay that.
+	(distribute_loop): Likewise.
+	(pass_loop_distribution::execute): Record loops to be destroyed
+	and perform delayed destroying of loops.
+
+2016-05-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/70809
+	* config/aarch64/aarch64-simd.md (aarch64_vmls<mode>): Delete.
+
+2016-05-17  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/aarch64/aarch64-elf.h (ASM_OUTPUT_DEF): Delete.
+
+2016-05-17  Ilya Enkovich  <ilya.enkovich@intel.com>
+
+	PR target/71114
+	* config/i386/i386.c (dimode_scalar_chain::convert_op): Fix
+	insertion point for instructions generated by validize_mem.
+
+2016-05-17  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/aarch64/aarch64.c (SHIFT_COUNT_TRUNCATED): Wrap definition
+	in brackets.
+
+2016-05-17  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/aarch64/aarch64.c
+	(aarch64_output_simd_mov_immediate): Make "buf_size" a variable
+	rather than a macro.
+
+2016-05-16  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* doc/invoke.texi (AArch64 Options): Various updates.
+
+2016-05-16  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-inline-analysis.c (compute_inline_parameters): Disable inlinig
+	into instrumentation thunks.
+	* cif-code.def (CIF_CHKP): New.
+
+2016-05-16  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/xopintrin.h: Correct "unsinged" typo in the comments.
+
+2016-05-16  Martin Jambor  <mjambor@suse.cz>
+
+	* hsa-gen.c (fillup_for_decl): Increase alignment to natural one.
+	(get_symbol_for_decl): Sorry if a global symbol in under-aligned.
+
+2016-05-16  Marek Polacek  <polacek@redhat.com>
+
+	* gimple.c (maybe_remove_unused_call_args): Fix typos in the
+	commentary.
+
+2016-05-16  Martin Jambor  <mjambor@suse.cz>
+
+	PR hsa/70857
+	* omp-low.c (grid_expand_target_grid_body): Copy RESULT_DECL of
+	the outlined kernel function.
+
+2016-05-16  Robert Suchanek  <robert.suchanek@imgtec.com>
+
+	* config/mips/mips.h (ISA_HAS_LSA): Enable for -mmsa.
+	(ISA_HAS_DLSA): Ditto.
+
+2016-05-16  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* config/mips/m5100.md (m51_int_load): Update the latency to 2.
+
+2016-05-16  Nathan Sidwell  <nathan@acm.org>
+
+	* config/nvptx/nvptx.c (nvptx_mangle_decl_assembler_name): Revert.
+	(nvptx_name_replacement): Restore.  Add comment.
+	(write_fn_proto, write_fn_proto_from_insn,
+	nvptx_output_call_insn): Restore
+	(TARGET_MANGLE_DECL_ASSEMBLER_NAME): Delete.
+
+2016-05-16  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.md
+	(add<mode>3_compareC_cconly_imm): Remove use of %w.
+	(add<mode>3_compareC_imm): Likewise.
+	(<optab>si3_uxtw): Split into register and immediate variants.
+	(andsi3_compare0_uxtw): Likewise.
+	(and<mode>3_compare0): Likewise.
+	(and<mode>3nr_compare0): Likewise.
+	(stack_protect_test_<mode>): Don't use %x for memory operands.
+
+2016-05-16  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* config/mips/mips-cpus.def (p5600): Add multi-line brackets.
+
+2016-05-16  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.md (aarch64_ashl_sisd_or_int_<mode>3):
+	Split integer shifts into shift_reg and bfm.
+	(aarch64_lshr_sisd_or_int_<mode>3): Likewise.
+	(aarch64_ashr_sisd_or_int_<mode>3): Likewise.
+	(ror<mode>3_insn): Likewise.
+	(<optab>si3_insn_uxtw): Likewise.
+	(<optab><mode>3_insn): Change to rotate_imm.
+	(extr<mode>5_insn_alt): Likewise.
+	(extrsi5_insn_uxtw): Likewise.
+	(extrsi5_insn_uxtw_alt): Likewise.
+
+2016-05-16  Matthew Wahab  <matthew.wahab@arm.com>
+
+	* doc/tm.texi: Regenerate.
+	* doc/tm.texi.in (TARGET_INVALID_PARAMETER_TYPE): Remove.
+	(TARGET_INVALID_RETURN_TYPE): Remove.
+	* system.h: Poison TARGET_INVALID_PARAMETER_TYPE and
+	TARGET_INVALID_RETURN_TYPE.
+	* target.def (invalid_parameter_type): Remove.
+	(invalid_return_type): Remove.
+
+2016-05-16  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-inline-analysis.c (compute_inline_parameters): Be more reailistic
+	on estimating thunk bodies; do not set inline_failed to CIF_THUNK for
+	calls from thunk.
+	* ipa-inline-transform.c (inline_call): When inlining into thunk produce
+	gimple body.
+	(preserve_function_body_p): No need to preserve function body
+	* cif-codes.def (CIF_THUNK): Remove.
+	* cgraphclones.c (duplicate_thunk_for_node): Thunks calls are inlinable.
+
+2016-05-16  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-inline.c (expand_call_inline): recurse after inlining thunk.
+
+2016-05-16  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree.c (free_lang_data_in_decl): Also set target/optimization flags
+	for thunks.
+
+2016-05-16  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-inline.c (report_inline_failed_reason): Look into thunks, too
+	(inline_small_functions): Do not look for function symbol when
+	resetting caches.
+
+2016-05-16  Jan Hubicka  <hubicka@ucw.cz>
+
+	* lto-cgraph.c (compute_ltrans_boundary, output_symtab): Fix handling
+	of inline thunks
+
+2016-05-16  Matthew Wahab  <matthew.wahab@arm.com>
+	    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+	    Jiong Wang  <jiong.wang@arm.com>
+
+	* config/arm/arm-c.c (arm_cpu_builtins): Use def_or_undef_macro
+	for __ARM_FP16_FORMAT_IEEE and __ARM_FP16_FORMAT_ALTERNATIVE.
+	Define __ARM_FP16_ARGS when appropriate.
+	* config/arm/arm.c (arm_invalid_parameter_type): Remove
+	declaration.
+	(arm_invalid_return_type): Likewise.
+	(TARGET_INVALID_PARAMETER_TYPE): Remove.
+	(TARGET_INVALID_RETURN_TYPE): Remove.
+	(aapcs_vfp_sub_candidate): Allow HFmode.
+	(aapcs_vfp_allocate): Add comment.  Support HFmode.
+	(aapcs_vfp_allocate_return_reg): Likewise.
+	(struct aapcs_cp_arg_layout): Slightly reword comments for
+	is_return_candidate and allocate_return_reg.
+	(output_mov_vfp): Update assert.
+	(arm_hard_regno_mode_ok): Remove comment, update HF-mode
+	condition.
+	(arm_invalid_parameter_type): Remove.
+	(amr_invalid_return_type): Remove.
+	* config/arm/arm.h (TARGET_NEON_FP16): Fix definition.
+	* config/arm/arm.md (*arm32_movhf): Disable for TARGET_VFP.
+	* config/arm/vfp.md (*movhf_vfp): Enable for TARGET_VFP.
+
+2016-05-16  Matthew Wahab  <matthew.wahab@arm.com>
+
+	* config/aarch64/aarch64.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
+	* config/aarch64/arch64-protos.h
+	(aarch64_legitimize_reload_address): Remove.
+	* config/aarch64/aarch64.c (aarch64_legitimize_reload_address):
+	Remove.
+
+2016-05-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* configure.ac: Add ACX_NONCANONICAL_HOST.
+	* configure: Regenerate.
+	* Makefile.in: Set host_noncanonical.
+
+2016-05-14  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/71097
+	* config/i386/i386.md (*movtf_internal): Before register allocation,
+	do not allow FP constants for CM_MEDIUM memory model, allow only
+	standard FP constants for CM_LARGE and CM_LARGE_PIC models.
+	(*movxf_internal): Ditto.
+	(*movdf_internal): Ditto.
+	(*movsf_internal): Ditto.
+
+2016-05-13  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/67483
+	* combine.c (make_compound_operation): Don't call extract_left_shift
+	with negative shift amounts.
+
+2016-05-13  Jakub Jelinek  <jakub@redhat.com>
+
+	PR bootstrap/71071
+	* fold-const.c (fold_checksum_tree): Allow modification
+	of TYPE_ALIAS_SET during folding.
+
+	* config/i386/i386.c (ix86_compute_frame_layout, ix86_expand_prologue,
+	ix86_expand_split_stack_prologue): Use HOST_WIDE_INT_C macro.
+	(ix86_split_to_parts): Likewise.  Fix up formatting.
+
+2016-05-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* tree-ssa-loop-ivopts.c (create_new_ivs): Cast to
+	unsigned HOST_WIDE_INT with HOST_WIDE_INT_PRINT_UNSIGNED in
+	printf format.
+
+2016-05-13  Nathan Sidwell  <nathan@acm.org>
+
+	* config/nvptx/nvptx.c (nvptx_mangle_decl_assembler_name): New.
+	(nvptx_name_replacement): Delete.
+	(write_fn_proto, write_fn_proto_from_insn,
+	nvptx_output_call_insn): Remove nvptx_name_replacement call.
+	(TARGET_MANGLE_DECL_ASSEMBLER_NAME): Override.
+	* langhooks.c (add_builtin_funcction_common): Call
+	targetm.mangle_decl_assembler_name.
+
+	* config/nvptx/nvptx.c (write_fn_proto): Handle
+	BUILT_IN_ATOMIC_COMPARE_EXCHANGE_n oddity.
+
+2016-05-13  Martin Liska  <mliska@suse.cz>
+
+	* tree-ssa-loop-ivopts.c (create_new_ivs): Use HOST_WIDE_INT_PRINT_DEC
+	and PRIu64 in printf format.
+
+2016-05-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* tree-ssa-loop-ivanon.c (try_unroll_loop_completely): Typo fix in
+	comment.
+
+2016-05-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
+	Change --param max-completely-peeled-times to
+	--param max-completely-peel-times in dump file printing.
+
+2016-05-13  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/42587
+	* tree-ssa-math-opts.c (perform_symbolic_merge): Handle BIT_FIELD_REF.
+	(find_bswap_or_nop_1): Likewise.
+	(bswap_replace): Likewise.
+
+2016-05-13  Martin Liska  <mliska@suse.cz>
+
+	* tree-vect-patterns.c (vect_recog_mask_conversion_pattern):
+	Initialize a variable with default value.
+
+2016-05-13  Martin Liska  <mliska@suse.cz>
+
+	* doc/invoke.texi: Enhance explanation of error recovery
+	of sanitizers.
+
+2016-05-13  Martin Liska  <mliska@suse.cz>
+
+	* tree-ssa-loop-ivopts.c (avg_loop_niter): Fix coding style.
+	(struct cost_pair): Change inv_expr_id (int) to inv_expr
+	(iv_inv_expr_ent *).
+	(struct iv_inv_expr_ent): Comment struct fields.
+	(sort_iv_inv_expr_ent): New function.
+	(struct ivopts_data): Rename inv_expr_id to max_inv_expr_id.
+	(struct iv_ca): Replace used_inv_expr and num_used_inv_expr with
+	a hash_map between iv_inv_expr_ent and number of usages.
+	(niter_for_exit): Fix coding style.
+	(tree_ssa_iv_optimize_init): Use renamed variable.
+	(determine_base_object): Fix coding style.
+	(alloc_iv): Likewise.
+	(find_interesting_uses_outside): Likewise.
+	(add_candidate_1): Likewise.
+	(add_standard_iv_candidates): Likewise.
+	(set_group_iv_cost): Replace inv_expr_id with inv_expr.
+	(prepare_decl_rtl): Fix coding style.
+	(get_address_cost): Likewise.
+	(get_shiftadd_cost): Likewise.
+	(force_expr_to_var_cost): Likewise.
+	(compare_aff_trees): Likewise.
+	(get_expr_id): Restructure the function.
+	(get_loop_invariant_expr_id): Renamed to
+	get_loop_invariant_expr.
+	(get_computation_cost_at): Replace usage of inv_expr_id with
+	inv_expr.
+	(get_computation_cost): Likewise.
+	(determine_group_iv_cost_generic): Likewise.
+	(determine_group_iv_cost_address): Likewise.
+	(iv_period): Fix coding style.
+	(iv_elimination_compare_lt): Likewise.
+	(may_eliminate_iv): Likewise.
+	(determine_group_iv_cost_cond):  Replace usage of inv_expr_id with
+	inv_expr.
+	(determine_group_iv_costs): Dump invariant expressions.
+	(iv_ca_recount_cost): Use the newly added hash_map.
+	(iv_ca_set_remove_invariants): Fix coding style.
+	(iv_ca_set_add_invariants): Fix coding style.
+	(iv_ca_set_no_cp): Utilize the newly added hash_map for used
+	invariants.
+	(iv_ca_set_cp): Likewise.
+	(iv_ca_new): Initialize the newly added hash_map and remove
+	initialization of fields.
+	(iv_ca_free): Delete the hash_map.
+	(iv_ca_dump): Dump invariant expressions.
+	(iv_ca_extend): Fix coding style.
+	(try_add_cand_for): Likewise.
+	(create_new_ivs): Dump information about # of avg iterations and
+	# of used invariant expressions.
+	(rewrite_use_compare): Fix coding style.
+	(free_loop_data): Set default value for max_inv_expr_id.
+
+2016-05-13  Ilya Enkovich  <ilya.enkovich@intel.com>
+
+	* cse.c (rest_of_handle_cse): Use cleanup_cfg
+	returned value cse_cfg_altered computation.
+	(rest_of_handle_cse2): Likewise.
+	(rest_of_handle_cse_after_global_opts): Likewise.
+
+2016-05-13  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+	PR target/53440
+	* config/arm/arm.c (arm32_output_mi_thunk): New.
+	(arm_output_mi_thunk): Rename to arm_thumb1_mi_thunk. Rework
+	to split Thumb1 vs TARGET_32BIT functionality.
+	(arm_thumb1_mi_thunk): New.
+
+2016-05-13  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+	* config/aarch64/aarch64.c (TARGET_OMIT_STRUCT_RETURN_REG): Set
+	to true.
+
+2016-05-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	PR target/71080
+	* config/i386/i386.c (ix86_in_large_data_p): Guard against NULL exp.
+
+2016-05-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* builtins.c (expand_builtin_memcmp): Do not emit the call here.
+	(expand_builtin_trap): Emit a regular call.
+	(set_builtin_user_assembler_name): Remove obsolete cases.
+	* dse.c (scan_insn): Adjust.
+	* except.c: Include calls.h.
+	(sjlj_emit_function_enter): If DONT_USE_BUILTIN_SETJMP is defined,
+	emit a regular call to setjmp.
+	* expr.c (emit_block_move_hints): Call emit_block_copy_via_libcall.
+	(block_move_libcall_safe_for_call_parm): Use memcpy builtin.
+	(emit_block_move_via_libcall): Delete.
+	(block_move_fn): Delete.
+	(init_block_move_fn): Likewise.
+	(emit_block_move_libcall_fn): Likewise.
+	(emit_block_op_via_libcall): New function.
+	(set_storage_via_libcall): Tidy up and use memset builtin.
+	(block_clear_fn): Delete.
+	(init_block_clear_fn): Likewise.
+	(clear_storage_libcall_fn): Likewise.
+	(expand_assignment): Call emit_block_move_via_libcall.
+	Do not include gt-expr.h.
+	* expr.h (emit_block_op_via_libcall): Declare.
+	(emit_block_copy_via_libcall): New inline function.
+	(emit_block_move_via_libcall): Likewise.
+	(emit_block_comp_via_libcall): Likewise.
+	(block_clear_fn): Delete.
+	(init_block_move_fn): Likewise.
+	(init_block_clear_fn): Likewise.
+	(emit_block_move_via_libcall): Likewise.
+	(set_storage_via_libcall): Add default parameter value.
+	* libfuncs.h (enum libfunc_index): Remove obsolete values.
+	(abort_libfunc): Delete.
+	(memcpy_libfunc): Likewise.
+	(memmove_libfunc): Likewise.
+	(memcmp_libfunc): Likewise.
+	(memset_libfunc): Likewise.
+	(setbits_libfunc): Likewise.
+	(setjmp_libfunc): Likewise.
+	(longjmp_libfunc): Likewise.
+	(profile_function_entry_libfunc): Likewise.
+	(profile_function_exit_libfunc): Likewise.
+	(gcov_flush_libfunc): Likewise.
+	* optabs-libfuncs.c (build_libfunc_function): Set DECL_ARTIFICIAL
+	and DECL_VISIBILITY on the declaration.
+	(init_optabs): Do not initialize obsolete libfuncs.
+	* optabs.c (prepare_cmp_insn): Call emit_block_comp_via_libcall.
+	* tree-core.h (ECF_RET1): Define.
+	(ECF_TM_PURE): Adjust.
+	(ECF_TM_BUILTIN): Likewise.
+	* tree.c (set_call_expr_flags): Deal with ECF_RET1.
+	(build_common_builtin_nodes): Initialize abort builtin.
+	Add ECF_RET1 on memcpy, memmove and memset builtins.
+	Pass final flags for alloca and alloca_with_align builtins.
+	* config/alpha/alpha.c (alpha_init_libfuncs): Do not initialize
+	obsolete builtins.
+	* config/ia64/ia64.c (ia64_vms_init_libfuncs): Likewise.
+	* config/i386/i386.c (ix86_expand_set_or_movmem): Adjust call to
+	set_storage_via_libcall and call emit_block_copy_via_libcall.
+
+2016-05-12  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*call_got_x32): Change operand 0 to
+	DImode before it is passed to ix86_output_call_operand.
+	(*call_value_got_x32): Ditto for operand 1.
+
+2016-05-12  Jiong Wang  <jiong.wang@arm.com>
+
+	PR rtl-optimization/70904
+	* lra-constraint.c (process_addr_reg): Relax the restriction on subreg
+	reload for wide mode.
+
+2016-05-12  Marek Polacek  <polacek@redhat.com>
+
+	PR c/70756
+	* langhooks-def.h (lhd_incomplete_type_error): Adjust declaration.
+	* langhooks.c (lhd_incomplete_type_error): Add location parameter.
+	* langhooks.h (incomplete_type_error): Likewise.
+	* tree.c (size_in_bytes_loc): Renamed from size_in_bytes.  Add location
+	parameter, pass it down to incomplete_type_error.
+	* tree.h (size_in_bytes): New inline overload.
+	(size_in_bytes_loc): Renamed from size_in_bytes.
+
+2016-05-12  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71059
+	* tree-ssa-pre.c (phi_translate_1): Fully fold translated
+	nary before looking up or entering the expression into the VN
+	hashes.
+	* tree-ssa-sccvn.c (vn_nary_build_or_lookup): Fix comment typo.
+	Make sure to re-use NARYs without result as inserted by
+	phi-translation.
+
+2016-05-12  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71062
+	* tree-ssa-alias.h (struct pt_solution): Add vars_contains_restrict
+	field.
+	* tree-ssa-structalias.c (set_uids_in_ptset): Set
+	vars_contains_restrict if the var is a restrict tag.
+	* tree-ssa-alias.c (ptrs_compare_unequal): If vars_contains_restrict
+	do not disambiguate pointers against it.
+	(dump_points_to_solution): Re-structure and adjust for new
+	vars_contains_restrict flag.
+	* gimple-pretty-print.c (pp_points_to_solution): Likewise.
+
+2016-05-12  Martin Liska  <mliska@suse.cz>
+
+	* doc/invoke.texi: Explain connection between
+	-fsanitize-recover=address and ASAN_OPTIONS="halt_on_error=1".
+
+2016-05-12  Ilya Enkovich  <ilya.enkovich@intel.com>
+
+	PR tree-optimization/71006
+	* tree-vect-loop.c (vect_determine_vectorization_factor): Don't
+	consider COND_EXPR as a mask producer.
+
+2016-05-12  Marek Polacek  <polacek@redhat.com>
+
+	PR driver/71063
+	* opts.c (common_handle_option): Detect missing argument for --help^.
+
+2016-05-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/70830
+	* config/arm/arm.c (arm_output_multireg_pop): Avoid POP instruction
+	when popping the PC and within an interrupt handler routine.
+	Add missing tab to output of "ldmfd".
+	(output_return_instruction): Output LDMFD with SP update rather
+	than POP when returning from interrupt handler.
+
+2016-05-12  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/i386.md (isa): Add x64_avx512dq, enable if
+	TARGET_64BIT && TARGET_AVX512DQ.
+	* config/i386/sse.md (*vec_extract<mode>): Add avx512bw alternatives.
+	(*vec_extract<PEXTR_MODE12:mode>_zext): Add avx512bw alternative.
+	(*vec_extract<ssevecmodelower>_0, *vec_extractv4si_0_zext,
+	*vec_extractv2di_0_sse): Use v constraint instead of x constraint.
+	(*vec_extractv4si): Add avx512dq and avx512bw alternatives.
+	(*vec_extractv4si_zext): Add avx512dq alternative.
+	(*vec_extractv2di_1): Add x64_avx512dq and avx512bw alternatives,
+	use v instead of x constraint in other alternatives where possible.
+
+	* config/i386/sse.md (sse2_loadld): Use v instead of x
+	constraint in alternatives 0,1,4.
+
+	* config/i386/sse.md (pinsr_evex_isa): New mode attr.
+	(<sse2p4_1>_pinsr<ssemodesuffix>): Add 2 alternatives with
+	v constraints instead of x and <pinsr_evex_isa> isa attribute.
+
+	PR target/71019
+	* config/i386/sse.md (<sse2_avx2>_packssdw<mask_name>,
+	<sse4_1_avx2>_packusdw<mask_name>): Make sure EVEX encoded insn
+	is not emitted unless TARGET_AVX512BW.
+	(<sse2_avx2>_packuswb<mask_name>, <sse2_avx2>_packsswb<mask_name>):
+	Likewise.  For TARGET_AVX512BW, use "=v" constraint instead of "=x"
+	for the result operand.
+
+	* config/i386/sse.md (*vec_setv4sf_sse4_1, sse4_1_insertps): Use v
+	constraint instead of x in avx alternatives.  Use maybe_evex instead
+	of vex prefix.
+
+	* config/i386/constraints.md (Yv): New constraint.
+	* config/i386/i386.h (VALID_AVX512VL_128_REG_MODE): Allow
+	TFmode and V1TImode in xmm16+ registers for TARGET_AVX512VL.
+	* config/i386/i386.md (avx512fvecmode): New mode attr.
+	(*pushtf): Use v constraint instead of x.
+	(*movtf_internal): Likewise.  For TARGET_AVX512VL and
+	xmm16+ registers, use vmovdqu64 or vmovdqa64 instructions.
+	(*absneg<mode>2): Use Yv constraint instead of x constraint.
+	(*absnegtf2_sse): Likewise.
+	(copysign<mode>3_const, copysign<mode>3_var): Likewise.
+	* config/i386/sse.md (*andnot<mode>3): Add avx512vl and
+	avx512f alternatives.
+	(*andnottf3, *<code><mode>3, *<code>tf3): Likewise.
+
+2016-05-12  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71060
+	* tree-data-ref.c (initialize_data_dependence_relation): Do not
+	require exact match of DR_BASE_OBJECT but only matching address and
+	type.
+
+2016-05-12  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/70986
+	* cfganal.c: Include cfgloop.h.
+	(dfs_find_deadend): Prefer to take edges exiting loops.
+
+2016-05-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* gcc.target/powerpc/pr70963.c: Require at least power8 at both
+	compile and run time.
+
+2016-05-11  Mikhail Maltsev  <maltsevm@gmail.com>
+
+	PR c/43651
+	* doc/invoke.texi (Wduplicate-decl-specifier): Document new option.
+
+2016-05-11  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (legitimize_pic_address): Use
+	copy_to_suggested_reg instead of gen_movsi.
+
+2016-05-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/predicates.md (quad_memory_operand): Move most of
+	the code into quad_address_p and call it to share code with
+	vsx_quad_dform_memory_operand.
+	(vsx_quad_dform_memory_operand): New predicate for ISA 3.0 vector
+	d-form support.
+	* config/rs6000/rs6000.opt (-mlra): Switch to being an option mask
+	bit instead of being a separate word.  Split -mpower9-dform into
+	two switches, -mpower9-dform-scalar and -mpower9-dform-vector.
+	* config/rs6000/rs6000.c (RELOAD_REG_QUAD_OFFSET): New addr_mask
+	for the register class supporting 128-bit quad word memory offsets.
+	(mode_supports_vsx_dform_quad): Helper function to return if the
+	register class uses quad word memory offsets.
+	(rs6000_debug_addr_mask): Add support for quad word memory offsets.
+	(rs6000_debug_reg_global): Always print if we are using LRA or not.
+	(rs6000_setup_reg_addr_masks): If ISA 3.0 vector d-form
+	instructions are enabled, set up the appropriate addr_masks for
+	128-bit types.
+	(rs6000_init_hard_regno_mode_ok): wb constraint is now based on
+	-mpower9-dform-scalar, instead of -mpower9-dform.
+	(rs6000_option_override_internal): Split -mpower9-dform into two
+	switches, -mpower9-dform-scalar and -mpower9-dform-vector.  The
+	-mpower9-dform switch sets or clears both.  If we are not using
+	the LRA register allocator, do not enable -mpower9-dform-vector by
+	default.  If we are using LRA, enable -mpower9-dform-vector and
+	-mvsx-timode if it is appropriate.  Issue a warning if either
+	-mpower9-dform-vector or -mvsx-timode are explicitly used without
+	enabling LRA.
+	(quad_address_offset_p): New helper function to return if the
+	offset is legal for quad word memory instructions.
+	(quad_address_p): New function to determin if GPR or vector
+	register quad word memory addresses are legal.
+	(mem_operand_gpr): Validate quad word address offsets.
+	(reg_offset_addressing_ok_p): Add support for ISA 3.0 vector
+	d-form (register + offset) instructions.
+	(offsettable_ok_by_alignment): Likewise.
+	(rs6000_legitimate_offset_address_p): Likewise.
+	(legitimate_lo_sum_address_p): Likewise.
+	(rs6000_legitimize_address): Likewise.
+	(rs6000_legitimize_reload_address): Add more debug statements for
+	-mdebug=addr.
+	(rs6000_legitimate_address_p): Add support for ISA 3.0 vector
+	d-form instructions.
+	(rs6000_secondary_reload_memory): Add support for ISA 3.0 vector
+	d-form instructions.  Distinguish different cases in debug
+	output.	(rs6000_secondary_reload_inner): Add support for ISA 3.0 vector
+	d-form instructions.
+	(rs6000_preferred_reload_class): Likewise.
+	(rs6000_output_move_128bit): Add support for ISA 3.0 d-form
+	instructions.  If ISA 3.0 is available, generate lxvx/stxvx instead
+	of the ISA 2.06 indexed memory instructions.
+	(rs6000_emit_prologue): If we have ISA 3.0 d-form instructions,
+	use them to save/restore the saved vector registers instead of
+	using Altivec instructions.
+	(rs6000_emit_epilogue): Likewise.
+	(rs6000_lra_p): Use TARGET_LRA instead of the old option word.
+	(rs6000_opt_masks): Split -mpower9-dform into
+	-mpower9-dform-scalar and -mpower9-dform-vector.
+	(rs6000_print_options_internal): Print -mno-<switch> if <switch>
+	was not selected.
+	* config/rs6000/vsx.md (p9_vecload_<mode>): Delete hack to emit
+	ISA 3.0 vector indexed memory instructions, and fold the code into
+	the normal mov<mode> patterns.
+	(p9_vecstore_<mode>): Likewise.
+	(vsx_mov<mode>): Add support for ISA 3.0 vector d-form
+	instructions.
+	(vsx_movti_64bit): Likewise.
+	(vsx_movti_32bit): Likewise.
+	* config/rs6000/constraints.md (wO constraint): New constraint for
+	ISA 3.0 vector d-form support.
+	* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Use
+	-mpower9-dform-scalar instead of -mpower9-dform.  Add note not to
+	include -mpower9-dform-vector until we switch over to LRA.
+	(POWERPC_MASKS): Add -mlra. Split -mpower9-dform into two.
+	switches, -mpower9-dform-scalar and -mpower9-dform-vector.
+	* config/rs6000/rs6000-protos.h (quad_address_p): Add declaration.
+	* doc/invoke.texi (RS/6000 and PowerPC Options): Add documentation
+	for -mpower9-dform and -mlra.
+	* doc/md.texi (wO constraint): Document wO constraint.
+
+2016-05-11  Alexander Monakov  <amonakov@ispras.ru>
+
+	* genattr.c (main): Change 'rtx' to 'rtx_insn *' in prototypes of
+	'insn_latency', 'maximal_insn_latency', 'min_insn_conflict_delay'.
+	* genautomata.c (output_internal_insn_code_evaluation): Simplify.
+	Move handling of non-insn arguments inline into the sole user:
+	(output_trans_func): ...here.
+	(output_min_insn_conflict_delay_func): Change 'rtx' to 'rtx_insn *'
+	in emitted function prototype.
+	(output_internal_insn_latency_func): Ditto.  Simplify.
+	(output_internal_maximal_insn_latency_func): Ditto.  Delete
+	always-unused argument.
+	(output_insn_latency_func): Ditto.
+	(output_maximal_insn_latency_func): Ditto.
+
+2016-05-11  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71055
+	* tree-ssa-sccvn.c (vn_reference_lookup_3): When native-interpreting
+	sth with precision not equal to access size verify we don't chop
+	off bits.
+
+2016-05-11  Richard Biener  <rguenther@suse.de>
+
+	PR debug/71057
+	* dwarf2out.c (retry_incomplete_types): Set early_dwarf.
+	(dwarf2out_finish): Move retry_incomplete_types call ...
+	(dwarf2out_early_finish): ... here.
+
+2016-05-11  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/71002
+	* alias.c (reference_alias_ptr_type): Preserve alias-set zero
+	if the langhook insists on it.
+	* fold-const.c (make_bit_field_ref): Add arg for the original
+	reference and preserve its alias-set.
+	(decode_field_reference): Take exp by reference and adjust it
+	to the original memory reference.
+	(optimize_bit_field_compare): Adjust callers.
+	(fold_truth_andor_1): Likewise.
+	* gimplify.c (gimplify_expr): Adjust in-SSA form test.
+
+2016-05-11  Ilya Enkovich  <ilya.enkovich@intel.com>
+
+	PR middle-end/70807
+	* cfgrtl.h (delete_insn_and_edges): Now return bool.
+	* cfgrtl.c (delete_insn_and_edges): Likewise.
+	* config/i386/i386.c (convert_scalars_to_vector): Remove
+	redundant code.
+	* cse.c (cse_insn): Compute cse_cfg_altered.
+	(delete_trivially_dead_insns): Likewise.
+	(cse_cc_succs): Likewise.
+	(rest_of_handle_cse): Free dominance info if required.
+	(rest_of_handle_cse2): Likewise.
+	(rest_of_handle_cse_after_global_opts): Likewise.
+
+2016-05-11  Alan Modra  <amodra@gmail.com>
+
+	* config/rs6000/rs6000.c (is_complex_IBM_long_double,
+	abi_v4_pass_in_fpr): New functions.
+	(rs6000_function_arg_boundary): Exclude complex IBM long double
+	from 64-bit alignment when ABI_V4.
+	(rs6000_function_arg, rs6000_function_arg_advance_1,
+	rs6000_gimplify_va_arg): Use abi_v4_pass_in_fpr.
+
+2016-05-10  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/71028
+	* cfgcleanup.c (try_optimize_cfg): Do not flip a conditional
+	jump with just a return in the fallthrough block if the branch
+	block contains just a return as well.
+
+2016-05-10  Marc Glisse  <marc.glisse@inria.fr>
+
+	* fold-const.c (fold_binary_loc) [(X ^ Y) & Y]: Remove and merge with...
+	* match.pd ((X & Y) ^ Y): ... this.
+	((X & Y) & Y, (X | Y) | Y, (X ^ Y) ^ Y, (X & Y) & (X & Z), (X | Y)
+	| (X | Z), (X ^ Y) ^ (X ^ Z)): New transformations.
+
+2016-05-10  David Malcolm  <dmalcolm@redhat.com>
+
+	* read-md.c (require_char_ws): New function.
+	(read_string): Simplify using require_char_ws.
+	(handle_constants): Likewise.
+	(handle_enum): Likewise.
+	(handle_file): Likewise.
+	* read-md.h (require_char_ws): New declaration.
+	* read-rtl.c (read_conditions): Simplify using require_char_ws.
+	(read_mapping): Likewise.
+	(read_rtx_code): Likewise.
+	(read_nested_rtx): Likewise.
+
+2016-05-10  James Norris  <jnorris@codesourcery.com>
+
+	* 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.
+
+2016-05-10  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (legitimize_pic_address): Merge 64-bit and 32-bit
+	gotoff_operand code paths.  Use copy_to_suggested_regs and
+	expand_simple_binop where appropriate.  Cleanup.
+
+2016-05-10  Ilya Enkovich  <ilya.enkovich@intel.com>
+
+	PR target/70799
+	* config/i386/i386.c (dimode_scalar_to_vector_candidate_p): Allow
+	integer constants.
+	(dimode_scalar_chain::vector_const_cost): New.
+	(dimode_scalar_chain::compute_convert_gain): Handle constants.
+	(dimode_scalar_chain::convert_op): Likewise.
+	(dimode_scalar_chain::convert_insn): Likewise.
+
+2016-05-10  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* dwarf2out.c (resolve_args_picking_1): Consider DW_OP_neg as an
+	unary operation, not a binary one.
+
+2016-05-10  Ilya Enkovich  <ilya.enkovich@intel.com>
+
+	PR middle-end/70877
+	* tree-chkp.c (chkp_add_bounds_to_call_stmt): Handle
+	calls with type casted fndecl.
+
+2016-05-10  Ilya Enkovich  <ilya.enkovich@intel.com>
+
+	PR tree-optimization/70786
+	* tree-chkp.c (chkp_find_bounds_1): Support WITH_SIZE_EXPR.
+	* calls.c (initialize_argument_information): Bind bounds
+	with corresponding args passed by reference.
+
+2016-05-10  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/70927
+	* config/i386/sse.md (<sse>_andnot<mode>3<mask_name>),
+	*<code><mode>3<mask_name>): For !TARGET_AVX512DQ and EVEX encoding,
+	use vp*[dq] instead of v*p[sd] instructions and adjust mode attribute
+	accordingly.
+
+2016-05-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR target/70963
+	* config/rs6000/vsx.md (vsx_xvcvdpsxds_scale): Generate correct
+	code for a zero scale factor.
+	(vsx_xvcvdpuxds_scale): Likewise.
+
+2016-05-10  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic-show-locus.c (layout::layout): Call show_ruler
+	if show_ruler_p was set on the context.
+	(layout::show_ruler): New method.
+	* diagnostic.h (struct diagnostic_context): Add field
+	"show_ruler_p".
+
+2016-05-10  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71039
+	* tree-ssa-phiprop.c: Include tree-ssa-loop.h.
+	(chk_uses): New function.
+	(propagate_with_phi): Verify we can safely replicate the lhs of an
+	aggregate assignment on all incoming edges.
+
+2016-05-10  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	* config/rx/rx-protos.h (is_interrupt_func, is_fast_interrupt_func):
+	Forward declare.
+	(rx_atomic_sequence): New class.
+	* config/rx/rx.c (rx_print_operand): Use symbolic names for PSW bits.
+	(is_interrupt_func, is_fast_interrupt_func): Make non-static and
+	non-inline.
+	(rx_atomic_sequence::rx_atomic_sequence,
+	rx_atomic_sequence::~rx_atomic_sequence): New functions.
+	* config/rx/rx.md (CTRLREG_PSW, CTRLREG_USP, CTRLREG_FPSW, CTRLREG_CPEN,
+	CTRLREG_BPSW, CTRLREG_BPC, CTRLREG_ISP, CTRLREG_FINTV,
+	CTRLREG_INTB): New constants.
+	(FETCHOP): New code iterator.
+	(fethcop_name, fetchop_name2): New iterator code attributes.
+	(QIHI): New mode iterator.
+	(atomic_exchange<mode>, atomic_exchangesi, xchg_mem<mode>,
+	atomic_fetch_<fetchop_name>si, atomic_fetch_nandsi,
+	atomic_<fetchop_name>_fetchsi, atomic_nand_fetchsi): New patterns.
+
+2016-05-10  Martin Liska  <mliska@suse.cz>
+
+	* tree-inline.c (remap_dependence_clique): Do not remap
+	debugging statements.
+
+2016-05-10  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.md ("*vec_cmp<insn_cmp>df_cconly")
+	("*fixuns_truncdfdi2_z13")
+	("*fixuns_trunc<FP:mode><GPR:mode>2_z196")
+	("*fix_truncdfdi2_bfp_z13", "*floatunsdidf2_z13")
+	("*extendsfdf2_z13"): Replace TARGET_Z13 with TARGET_VX.
+
+2016-05-10  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/70497
+	PR tree-optimization/28367
+	* tree-ssa-sccvn.c (vn_nary_build_or_lookup): New function
+	split out from ...
+	(visit_reference_op_load): ... here.
+	(vn_reference_lookup_3): Use it to handle subreg-like accesses
+	with simplified BIT_FIELD_REFs.
+	* tree-ssa-pre.c (eliminate_insert): Handle inserting BIT_FIELD_REFs.
+	* tree-complex.c (extract_component): Handle BIT_FIELD_REFs
+	correctly.
+
+2016-05-10  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* dwarf2out.c (add_abstract_origin_attribute): Adjust
+	documentation comment.  For BLOCK nodes, add a
+	DW_AT_abstract_origin attribute that points to the DIE generated
+	for the origin BLOCK.
+	(gen_lexical_block_die): Call add_abstract_origin_attribute for
+	blocks from inlined functions.
+
+2016-05-10  Alan Modra  <amodra@gmail.com>
+
+	PR target/70947
+	* config/rs6000/rs6000.c (rs6000_expand_split_stack_prologue): Stop
+	regrename modifying insns saving lr before __morestack call.
+	* config/rs6000/rs6000.md (split_stack_return): Similarly for
+	insns restoring lr after __morestack call.
+
+2016-05-09  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/i386.md (set_got, set_got_labelled, lwp_llwpcb,
+	lwp_lwpval<mode>3, lwp_lwpins<mode>3): Remove constraints from
+	expanders.
+	* config/i386/sse.md (vec_interleave_high<mode>,
+	vec_interleave_low<mode>, <avx512>_vpermi2var<mode>3_maskz,
+	<avx512>_vpermt2var<mode>3_maskz): Likewise.
+
+2016-05-04  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_reassociation_width): Add
+	function for TARGET_SCHED_REASSOCIATION_WIDTH to enable
+	parallel reassociation for power8 and forward.
+
+2016-05-09  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (absneg splitters with general regs): Use
+	general_reg_operand predicate.
+	(btsq peephole2): Use x86_64_immediate_operand to check if new
+	value is suitable for immediate operand.  Generate emitted insn
+	using RTL expressions.
+	(btcq peephole2): Ditto.
+	(btrq peephole2): Ditto.  Generate correct immediate operand
+	for AND masking.
+
+2016-05-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* cfgexpand.c (expand_debug_expr): Fix address offset for negative
+	bitpos.
+
+2016-05-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* tree-affine.c (wide_int_constant_multiple_p): Add missing
+	pointer dereference.
+
+2016-05-09  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/70985
+	* match.pd (BIT_FIELD_REF -> (type)): Disable on GIMPLE when
+	op0 isn't a gimple register.
+
+2016-05-09  Prachi Godbole  <prachi.godbole@imgtec.com>
+
+	* config/mips/i6400.md (i6400_fpu_intadd, i6400_fpu_logic)
+	(i6400_fpu_div, i6400_fpu_cmp, i6400_fpu_float,	i6400_fpu_store)
+	(i6400_fpu_long_pipe, i6400_fpu_logic_l, i6400_fpu_float_l)
+	(i6400_fpu_mult): New cpu units.
+	(i6400_msa_add_d, i6400_msa_int_add, i6400_msa_short_logic3)
+	(i6400_msa_short_logic2, i6400_msa_short_logic, i6400_msa_move)
+	(i6400_msa_cmp, i6400_msa_short_float2, i6400_msa_div_d)
+	(i6400_msa_div_w, i6400_msa_div_h, i6400_msa_div_b)
+	(i6400_msa_copy, i6400_msa_branch, i6400_fpu_msa_store)
+	(i6400_fpu_msa_load, i6400_fpu_msa_move, i6400_msa_long_logic1)
+	(i6400_msa_long_logic2, i6400_msa_mult, i6400_msa_long_float2)
+	(i6400_msa_long_float4, i6400_msa_long_float5)
+	(i6400_msa_long_float8, i6400_msa_fdiv_df)
+	(i6400_msa_fdiv_sf): New reservations.
+	* config/mips/p5600.md (p5600_fpu_intadd, p5600_fpu_cmp)
+	(p5600_fpu_float, p5600_fpu_logic_a, p5600_fpu_logic_b)
+	(p5600_fpu_div, p5600_fpu_logic, p5600_fpu_float_a)
+	(p5600_fpu_float_b, p5600_fpu_float_c, p5600_fpu_float_d)
+	(p5600_fpu_mult, p5600_fpu_fdiv, p5600_fpu_load): New cpu units.
+	(msa_short_int_add, msa_short_logic, msa_short_logic_move_v)
+	(msa_short_cmp, msa_short_float2, msa_short_logic3)
+	(msa_short_store4, msa_long_load, msa_short_store)
+	(msa_long_logic, msa_long_float2, msa_long_float4)
+	(msa_long_float5, msa_long_float8, msa_long_mult)
+	(msa_long_fdiv, msa_long_div): New reservations.
+
+2016-05-09  Robert Suchanek  <robert.suchanek@imgtec.com>
+	    Sameera Deshpande  <sameera.deshpande@imgtec.com>
+	    Matthew Fortune  <matthew.fortune@imgtec.com>
+	    Graham Stott  <graham.stott@imgtec.com>
+	    Chao-ying Fu  <chao-ying.fu@imgtec.com>
+
+	* config.gcc: Add MSA header file for mips*-*-* target.
+	* config/mips/constraints.md (YI, YC, YZ, Unv5, Uuv5, Usv5, Uuv6)
+	(Ubv8i, Urv8):	New constraints.
+	* config/mips/mips-ftypes.def: Add function types for MSA
+	builtins.
+	* config/mips/mips-modes.def (V16QI, V8HI, V4SI, V2DI, V4SF)
+	(V2DF, V32QI, V16HI, V8SI, V4DI, V8SF, V4DF): New modes.
+	* config/mips/mips-msa.md: New file.
+	* config/mips/mips-protos.h
+	(mips_split_128bit_const_insns): New prototype.
+	(mips_msa_idiv_insns): Likewise.
+	(mips_split_128bit_move): Likewise.
+	(mips_split_128bit_move_p): Likewise.
+	(mips_split_msa_copy_d): Likewise.
+	(mips_split_msa_insert_d): Likewise.
+	(mips_split_msa_fill_d): Likewise.
+	(mips_expand_msa_branch): Likewise.
+	(mips_const_vector_same_val_p): Likewise.
+	(mips_const_vector_same_bytes_p): Likewise.
+	(mips_const_vector_same_int_p): Likewise.
+	(mips_const_vector_shuffle_set_p): Likewise.
+	(mips_const_vector_bitimm_set_p): Likewise.
+	(mips_const_vector_bitimm_clr_p): Likewise.
+	(mips_msa_vec_parallel_const_half): Likewise.
+	(mips_msa_output_division): Likewise.
+	(mips_ldst_scaled_shift): Likewise.
+	(mips_expand_vec_cond_expr): Likewise.
+	* config/mips/mips.c (enum mips_builtin_type): Add
+	MIPS_BUILTIN_MSA_TEST_BRANCH.
+	(mips_gen_const_int_vector_shuffle): New prototype.
+	(mips_const_vector_bitimm_set_p): New function.
+	(mips_const_vector_bitimm_clr_p): Likewise.
+	(mips_const_vector_same_val_p): Likewise.
+	(mips_const_vector_same_bytes_p): Likewise.
+	(mips_const_vector_same_int_p): Likewise.
+	(mips_const_vector_shuffle_set_p): Likewise.
+	(mips_symbol_insns): Forbid loading symbols via immediate for
+	MSA.
+	(mips_valid_offset_p): Limit offset to 10-bit for MSA loads and
+	stores.
+	(mips_valid_lo_sum_p): Forbid loadings symbols via %lo(base) for
+	MSA.
+	(mips_lx_address_p): Add support load indexed address for MSA.
+	(mips_address_insns): Add calculation of instructions needed for
+	stores and loads for MSA.
+	(mips_const_insns): Move CONST_DOUBLE below CONST_VECTOR.  Handle
+	CONST_VECTOR for MSA and let it fall through.
+	(mips_ldst_scaled_shift): New function.
+	(mips_subword_at_byte): Likewise.
+	(mips_msa_idiv_insns): Likewise.
+	(mips_legitimize_move): Validate MSA moves.
+	(mips_rtx_costs): Add UNGE, UNGT, UNLE, UNLT cases.  Add
+	calculation of costs for MSA division.
+	(mips_split_move_p): Check if MSA moves need splitting.
+	(mips_split_move): Split MSA moves if necessary.
+	(mips_split_128bit_move_p): New function.
+	(mips_split_128bit_move): Likewise.
+	(mips_split_msa_copy_d): Likewise.
+	(mips_split_msa_insert_d): Likewise.
+	(mips_split_msa_fill_d): Likewise.
+	(mips_output_move): Handle MSA moves.
+	(mips_expand_msa_branch): New function.
+	(mips_print_operand): Add 'E', 'B', 'w', 'v' and 'V' modifiers.
+	Reinstate 'y' modifier.
+	(mips_file_start): Add MSA .gnu_attribute.
+	(mips_hard_regno_mode_ok_p): Allow TImode and 128-bit vectors in
+	FPRs.
+	(mips_hard_regno_nregs): Always return 1 for MSA supported mode.
+	(mips_class_max_nregs): Add register size for MSA supported mode.
+	(mips_cannot_change_mode_class): Allow conversion between MSA
+	vector modes and TImode.
+	(mips_mode_ok_for_mov_fmt_p): Allow MSA to use move.v
+	instruction.
+	(mips_secondary_reload_class): Force MSA loads/stores via memory.
+	(mips_preferred_simd_mode): Add preffered modes for MSA.
+	(mips_vector_mode_supported_p): Add MSA supported modes.
+	(mips_autovectorize_vector_sizes): New function.
+	(mips_msa_output_division): Likewise.
+	(MSA_BUILTIN, MIPS_BUILTIN_DIRECT_NO_TARGET)
+	(MSA_NO_TARGET_BUILTIN, MSA_BUILTIN_TEST_BRANCH): New macros.
+	(CODE_FOR_msa_adds_s_b, CODE_FOR_msa_adds_s_h)
+	(CODE_FOR_msa_adds_s_w, CODE_FOR_msa_adds_s_d)
+	(CODE_FOR_msa_adds_u_b, CODE_FOR_msa_adds_u_h)
+	(CODE_FOR_msa_adds_u_w, CODE_FOR_msa_adds_u_du
+	(CODE_FOR_msa_addv_b, CODE_FOR_msa_addv_h, CODE_FOR_msa_addv_w)
+	(CODE_FOR_msa_addv_d, CODE_FOR_msa_and_v, CODE_FOR_msa_bmnz_v)
+	(CODE_FOR_msa_bmnzi_b, CODE_FOR_msa_bmz_v, CODE_FOR_msa_bmzi_b)
+	(CODE_FOR_msa_bnz_v, CODE_FOR_msa_bz_v, CODE_FOR_msa_bsel_v)
+	(CODE_FOR_msa_bseli_b, CODE_FOR_msa_ceqi_h, CODE_FOR_msa_ceqi_w)
+	(CODE_FOR_msa_ceqi_d, CODE_FOR_msa_clti_s_b)
+	(CODE_FOR_msa_clti_s_h, CODE_FOR_msa_clti_s_w)
+	(CODE_FOR_msa_clti_s_d, CODE_FOR_msa_clti_u_b)
+	(CODE_FOR_msa_clti_u_h, CODE_FOR_msa_clti_u_w)
+	(CODE_FOR_msa_clti_u_d, CODE_FOR_msa_clei_s_b)
+	(CODE_FOR_msa_clei_s_h, CODE_FOR_msa_clei_s_w)
+	(CODE_FOR_msa_clei_s_d, CODE_FOR_msa_clei_u_b)
+	(CODE_FOR_msa_clei_u_h, CODE_FOR_msa_clei_u_w)
+	(CODE_FOR_msa_clei_u_d, CODE_FOR_msa_div_s_b)
+	(CODE_FOR_msa_div_s_h, CODE_FOR_msa_div_s_w)
+	(CODE_FOR_msa_div_s_d, CODE_FOR_msa_div_u_b)
+	(CODE_FOR_msa_div_u_h, CODE_FOR_msa_div_u_w)
+	(CODE_FOR_msa_div_u_d, CODE_FOR_msa_fadd_w, CODE_FOR_msa_fadd_d)
+	(CODE_FOR_msa_fexdo_w, CODE_FOR_msa_ftrunc_s_w)
+	(CODE_FOR_msa_ftrunc_s_d, CODE_FOR_msa_ftrunc_u_w)
+	(CODE_FOR_msa_ftrunc_u_d, CODE_FOR_msa_ffint_s_w)
+	(CODE_FOR_msa_ffint_s_d, CODE_FOR_msa_ffint_u_w)
+	(CODE_FOR_msa_ffint_u_d, CODE_FOR_msa_fsub_w)
+	(CODE_FOR_msa_fsub_d, CODE_FOR_msa_fmsub_d, CODE_FOR_msa_fmadd_w)
+	(CODE_FOR_msa_fmadd_d, CODE_FOR_msa_fmsub_w, CODE_FOR_msa_fmul_w)
+	(CODE_FOR_msa_fmul_d, CODE_FOR_msa_fdiv_w, CODE_FOR_msa_fdiv_d)
+	(CODE_FOR_msa_fmax_w, CODE_FOR_msa_fmax_d, CODE_FOR_msa_fmax_a_w)
+	(CODE_FOR_msa_fmax_a_d, CODE_FOR_msa_fmin_w, CODE_FOR_msa_fmin_d)
+	(CODE_FOR_msa_fmin_a_w, CODE_FOR_msa_fmin_a_d)
+	(CODE_FOR_msa_fsqrt_w, CODE_FOR_msa_fsqrt_d)
+	(CODE_FOR_msa_max_s_b, CODE_FOR_msa_max_s_h)
+	(CODE_FOR_msa_max_s_w, CODE_FOR_msa_max_s_d)
+	(CODE_FOR_msa_max_u_b, CODE_FOR_msa_max_u_h)
+	(CODE_FOR_msa_max_u_w, CODE_FOR_msa_max_u_d)
+	(CODE_FOR_msa_min_s_b, CODE_FOR_msa_min_s_h)
+	(CODE_FOR_msa_min_s_w, CODE_FOR_msa_min_s_d)
+	(CODE_FOR_msa_min_u_b, CODE_FOR_msa_min_u_h)
+	(CODE_FOR_msa_min_u_w, CODE_FOR_msa_min_u_d)
+	(CODE_FOR_msa_mod_s_b, CODE_FOR_msa_mod_s_h)
+	(CODE_FOR_msa_mod_s_w, CODE_FOR_msa_mod_s_d)
+	(CODE_FOR_msa_mod_u_b, CODE_FOR_msa_mod_u_h)
+	(CODE_FOR_msa_mod_u_w, CODE_FOR_msa_mod_u_d)
+	(CODE_FOR_msa_mod_s_b, CODE_FOR_msa_mod_s_h)
+	(CODE_FOR_msa_mod_s_w, CODE_FOR_msa_mod_s_d)
+	(CODE_FOR_msa_mod_u_b, CODE_FOR_msa_mod_u_h)
+	(CODE_FOR_msa_mod_u_w, CODE_FOR_msa_mod_u_d)
+	(CODE_FOR_msa_mulv_b, CODE_FOR_msa_mulv_h, CODE_FOR_msa_mulv_w)
+	(CODE_FOR_msa_mulv_d, CODE_FOR_msa_nlzc_b, CODE_FOR_msa_nlzc_h)
+	(CODE_FOR_msa_nlzc_w, CODE_FOR_msa_nlzc_d, CODE_FOR_msa_nor_v)
+	(CODE_FOR_msa_or_v, CODE_FOR_msa_ori_b, CODE_FOR_msa_nori_b)
+	(CODE_FOR_msa_pcnt_b, CODE_FOR_msa_pcnt_h, CODE_FOR_msa_pcnt_w)
+	(CODE_FOR_msa_pcnt_d, CODE_FOR_msa_xor_v, CODE_FOR_msa_xori_b)
+	(CODE_FOR_msa_sll_b, CODE_FOR_msa_sll_h, CODE_FOR_msa_sll_w)
+	(CODE_FOR_msa_sll_d, CODE_FOR_msa_slli_b, CODE_FOR_msa_slli_h)
+	(CODE_FOR_msa_slli_w, CODE_FOR_msa_slli_d, CODE_FOR_msa_sra_b)
+	(CODE_FOR_msa_sra_h, CODE_FOR_msa_sra_w, CODE_FOR_msa_sra_d)
+	(CODE_FOR_msa_srai_b, CODE_FOR_msa_srai_h, CODE_FOR_msa_srai_w)
+	(CODE_FOR_msa_srai_d, CODE_FOR_msa_srl_b, CODE_FOR_msa_srl_h)
+	(CODE_FOR_msa_srl_w, CODE_FOR_msa_srl_d, CODE_FOR_msa_srli_b)
+	(CODE_FOR_msa_srli_h, CODE_FOR_msa_srli_w, CODE_FOR_msa_srli_d)
+	(CODE_FOR_msa_subv_b, CODE_FOR_msa_subv_h, CODE_FOR_msa_subv_w)
+	(CODE_FOR_msa_subv_d, CODE_FOR_msa_subvi_b, CODE_FOR_msa_subvi_h)
+	(CODE_FOR_msa_subvi_w, CODE_FOR_msa_subvi_d, CODE_FOR_msa_move_v)
+	(CODE_FOR_msa_vshf_b, CODE_FOR_msa_vshf_h, CODE_FOR_msa_vshf_w)
+	(CODE_FOR_msa_vshf_d, CODE_FOR_msa_ilvod_d, CODE_FOR_msa_ilvev_d)
+	(CODE_FOR_msa_pckod_d, CODE_FOR_msa_pckdev_d, CODE_FOR_msa_ldi_b)
+	(CODE_FOR_msa_ldi_hi, CODE_FOR_msa_ldi_w)
+	(CODE_FOR_msa_ldi_d): New code_aliasing macros.
+	(mips_builtins): Add MSA sll_b, sll_h, sll_w, sll_d, slli_b,
+	slli_h,	slli_w, slli_d, sra_b, sra_h, sra_w, sra_d, srai_b,
+	srai_h, srai_w,	srai_d, srar_b, srar_h, srar_w, srar_d, srari_b,
+	srari_h, srari_w, srari_d, srl_b, srl_h, srl_w, srl_d, srli_b,
+	srli_h, srli_w, srli_d, srlr_b, srlr_h, srlr_w, srlr_d, srlri_b,
+	srlri_h, srlri_w, srlri_d, bclr_b, bclr_h, bclr_w, bclr_d,
+	bclri_b, bclri_h, bclri_w, bclri_d, bset_b, bset_h, bset_w,
+	bset_d, bseti_b, bseti_h, bseti_w, bseti_d, bneg_b, bneg_h,
+	bneg_w, bneg_d, bnegi_b, bnegi_h, bnegi_w, bnegi_d, binsl_b,
+	binsl_h, binsl_w, binsl_d, binsli_b, binsli_h, binsli_w,
+	binsli_d, binsr_b, binsr_h, binsr_w, binsr_d, binsri_b, binsri_h,
+	binsri_w, binsri_d, addv_b, addv_h, addv_w, addv_d, addvi_b,
+	addvi_h, addvi_w, addvi_d, subv_b, subv_h, subv_w, subv_d,
+	subvi_b, subvi_h, subvi_w, subvi_d, max_s_b, max_s_h, max_s_w,
+	max_s_d, maxi_s_b, maxi_s_h, maxi_s_w, maxi_s_d, max_u_b,
+	max_u_h, max_u_w, max_u_d, maxi_u_b, maxi_u_h, maxi_u_w,
+	maxi_u_d, min_s_b, min_s_h, min_s_w, min_s_d, mini_s_b, mini_s_h,
+	mini_s_w, mini_s_d, min_u_b, min_u_h, min_u_w, min_u_d, mini_u_b,
+	mini_u_h, mini_u_w, mini_u_d, max_a_b, max_a_h, max_a_w, max_a_d,
+	min_a_b, min_a_h, min_a_w, min_a_d, ceq_b, ceq_h, ceq_w, ceq_d,
+	ceqi_b, ceqi_h, ceqi_w, ceqi_d, clt_s_b, clt_s_h, clt_s_w,
+	clt_s_d, clti_s_b, clti_s_h, clti_s_w, clti_s_d, clt_u_b,
+	clt_u_h, clt_u_w, clt_u_d, clti_u_b, clti_u_h, clti_u_w,
+	clti_u_d, cle_s_b, cle_s_h, cle_s_w, cle_s_d, clei_s_b, clei_s_h,
+	clei_s_w, clei_s_d, cle_u_b, cle_u_h, cle_u_w, cle_u_d, clei_u_b,
+	clei_u_h, clei_u_w, clei_u_d, ld_b, ld_h, ld_w, ld_d, st_b, st_h,
+	st_w, st_d, sat_s_b, sat_s_h, sat_s_w, sat_s_d, sat_u_b, sat_u_h,
+	sat_u_w, sat_u_d, add_a_b, add_a_h, add_a_w, add_a_d, adds_a_b,
+	adds_a_h, adds_a_w, adds_a_d, adds_s_b, adds_s_h, adds_s_w,
+	adds_s_d, adds_u_b, adds_u_h, adds_u_w, adds_u_d, ave_s_b,
+	ave_s_h, ave_s_w, ave_s_d, ave_u_b, ave_u_h, ave_u_w, ave_u_d,
+	aver_s_b, aver_s_h, aver_s_w, aver_s_d, aver_u_b, aver_u_h,
+	aver_u_w, aver_u_d, subs_s_b, subs_s_h, subs_s_w, subs_s_d,
+	subs_u_b, subs_u_h, subs_u_w, subs_u_d, subsuu_s_b, subsuu_s_h,
+	subsuu_s_w, subsuu_s_d, subsus_u_b, subsus_u_h, subsus_u_w,
+	subsus_u_d, asub_s_b, asub_s_h, asub_s_w, asub_s_d, asub_u_b,
+	asub_u_h, asub_u_w, asub_u_d, mulv_b, mulv_h, mulv_w, mulv_d,
+	maddv_b, maddv_h, maddv_w, maddv_d, msubv_b, msubv_h, msubv_w,
+	msubv_d, div_s_b, div_s_h, div_s_w, div_s_d, div_u_b, div_u_h,
+	div_u_w, div_u_d, hadd_s_h, hadd_s_w, hadd_s_d, hadd_u_h,
+	hadd_u_w, hadd_u_d, hsub_s_h, hsub_s_w, hsub_s_d, hsub_u_h,
+	hsub_u_w, hsub_u_d, mod_s_b, mod_s_h, mod_s_w, mod_s_d, mod_u_b,
+	mod_u_h, mod_u_w, mod_u_d, dotp_s_h, dotp_s_w, dotp_s_d,
+	dotp_u_h, dotp_u_w, dotp_u_d, dpadd_s_h, dpadd_s_w, dpadd_s_d,
+	dpadd_u_h, dpadd_u_w, dpadd_u_d, dpsub_s_h, dpsub_s_w, dpsub_s_d,
+	dpsub_u_h, dpsub_u_w, dpsub_u_d, sld_b, sld_h, sld_w, sld_d,
+	sldi_b, sldi_h, sldi_w, sldi_d, splat_b, splat_h, splat_w,
+	splat_d, splati_b, splati_h, splati_w, splati_d, pckev_b,
+	pckev_h, pckev_w, pckev_d, pckod_b, pckod_h, pckod_w, pckod_d,
+	ilvl_b, ilvl_h, ilvl_w, ilvl_d, ilvr_b, ilvr_h, ilvr_w, ilvr_d,
+	ilvev_b, ilvev_h, ilvev_w, ilvev_d, ilvod_b, ilvod_h, ilvod_w,
+	ilvod_d, vshf_b, vshf_h, vshf_w, vshf_d, and_v, andi_b, or_v,
+	ori_b, nor_v, nori_b, xor_v, xori_b, bmnz_v, bmnzi_b, bmz_v,
+	bmzi_b, bsel_v, bseli_b, shf_b, shf_h, shf_w, bnz_v, bz_v,
+	fill_b, fill_h, fill_w, fill_d, pcnt_b, pcnt_h, pcnt_w,
+	pcnt_d, nloc_b, nloc_h, nloc_w, nloc_d, nlzc_b, nlzc_h, nlzc_w,
+	nlzc_d, copy_s_b, copy_s_h, copy_s_w, copy_s_d, copy_u_b,
+	copy_u_h, copy_u_w, copy_u_d, insert_b, insert_h, insert_w,
+	insert_d, insve_b, insve_h, insve_w, insve_d, bnz_b, bnz_h,
+	bnz_w, bnz_d, bz_b, bz_h, bz_w, bz_d, ldi_b, ldi_h, ldi_w, ldi_d,
+	fcaf_w, fcaf_d, fcor_w, fcor_d, fcun_w, fcun_d, fcune_w, fcune_d,
+	fcueq_w, fcueq_d, fceq_w, fceq_d, fcne_w, fcne_d, fclt_w, fclt_d,
+	fcult_w, fcult_d, fcle_w, fcle_d, fcule_w, fcule_d, fsaf_w,
+	fsaf_d, fsor_w, fsor_d, fsun_w, fsun_d, fsune_w, fsune_d,
+	fsueq_w, fsueq_d, fseq_w, fseq_d, fsne_w, fsne_d, fslt_w,
+	fslt_d, fsult_w, fsult_d, fsle_w, fsle_d, fsule_w, fsule_d,
+	fadd_w,	fadd_d, fsub_w, fsub_d, fmul_w, fmul_d, fdiv_w, fdiv_d,
+	fmadd_w, fmadd_d, fmsub_w, fmsub_d, fexp2_w, fexp2_d, fexdo_h,
+	fexdo_w, ftq_h, ftq_w, fmin_w, fmin_d, fmin_a_w, fmin_a_d,
+	fmax_w, fmax_d, fmax_a_w, fmax_a_d, mul_q_h, mul_q_w, mulr_q_h,
+	mulr_q_w, madd_q_h, madd_q_w, maddr_q_h, maddr_q_w, msub_q_h,
+	msub_q_w, msubr_q_h, msubr_q_w, fclass_w, fclass_d, fsqrt_w,
+	fsqrt_d, frcp_w, frcp_d, frint_w, frint_d, frsqrt_w, frsqrt_d,
+	flog2_w, flog2_d, fexupl_w, fexupl_d, fexupr_w, fexupr_d, ffql_w,
+	ffql_d, ffqr_w, ffqr_d, ftint_s_w, ftint_s_d, ftint_u_w,
+	ftint_u_d, ftrunc_s_w, ftrunc_s_d, ftrunc_u_w, ftrunc_u_d,
+	ffint_s_w, ffint_s_d, ffint_u_w, ffint_u_d, ctcmsa, cfcmsa,
+	move_v builtins.
+	(mips_get_builtin_decl_index): New array.
+	(MIPS_ATYPE_QI, MIPS_ATYPE_HI, MIPS_ATYPE_V2DI, MIPS_ATYPE_V4SI)
+	(MIPS_ATYPE_V8HI, MIPS_ATYPE_V16QI, MIPS_ATYPE_V2DF)
+	(MIPS_ATYPE_V4SF, MIPS_ATYPE_UV2DI, MIPS_ATYPE_UV4SI)
+	(MIPS_ATYPE_UV8HI, MIPS_ATYPE_UV16QI): New.
+	(mips_init_builtins): Initialize mips_get_builtin_decl_index
+	array.
+	(TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Define target
+	hook.
+	(mips_expand_builtin_insn): Prepare operands for
+	CODE_FOR_msa_addvi_b, CODE_FOR_msa_addvi_h, CODE_FOR_msa_addvi_w,
+	CODE_FOR_msa_addvi_d, CODE_FOR_msa_clti_u_b,
+	CODE_FOR_msa_clti_u_h, CODE_FOR_msa_clti_u_w,
+	CODE_FOR_msa_clti_u_d, CODE_FOR_msa_clei_u_b,
+	CODE_FOR_msa_clei_u_h, CODE_FOR_msa_clei_u_w,
+	CODE_FOR_msa_clei_u_d, CODE_FOR_msa_maxi_u_b,
+	CODE_FOR_msa_maxi_u_h, CODE_FOR_msa_maxi_u_w,
+	CODE_FOR_msa_maxi_u_d, CODE_FOR_msa_mini_u_b,
+	CODE_FOR_msa_mini_u_h, CODE_FOR_msa_mini_u_w,
+	CODE_FOR_msa_mini_u_d, CODE_FOR_msa_subvi_b,
+	CODE_FOR_msa_subvi_h, CODE_FOR_msa_subvi_w, CODE_FOR_msa_subvi_d,
+	CODE_FOR_msa_ceqi_b, CODE_FOR_msa_ceqi_h, CODE_FOR_msa_ceqi_w,
+	CODE_FOR_msa_ceqi_d, CODE_FOR_msa_clti_s_b,
+	CODE_FOR_msa_clti_s_h, CODE_FOR_msa_clti_s_w,
+	CODE_FOR_msa_clti_s_d, CODE_FOR_msa_clei_s_b,
+	CODE_FOR_msa_clei_s_h, CODE_FOR_msa_clei_s_w,
+	CODE_FOR_msa_clei_s_d, CODE_FOR_msa_maxi_s_b,
+	CODE_FOR_msa_maxi_s_h, CODE_FOR_msa_maxi_s_w,
+	CODE_FOR_msa_maxi_s_d, CODE_FOR_msa_mini_s_b,
+	CODE_FOR_msa_mini_s_h, CODE_FOR_msa_mini_s_w,
+	CODE_FOR_msa_mini_s_d, CODE_FOR_msa_andi_b, CODE_FOR_msa_ori_b,
+	CODE_FOR_msa_nori_b, CODE_FOR_msa_xori_b, CODE_FOR_msa_bmzi_b,
+	CODE_FOR_msa_bmnzi_b, CODE_FOR_msa_bseli_b, CODE_FOR_msa_fill_b,
+	CODE_FOR_msa_fill_h, CODE_FOR_msa_fill_w, CODE_FOR_msa_fill_d,
+	CODE_FOR_msa_ilvl_b, CODE_FOR_msa_ilvl_h, CODE_FOR_msa_ilvl_w,
+	CODE_FOR_msa_ilvl_d, CODE_FOR_msa_ilvr_b, CODE_FOR_msa_ilvr_h,
+	CODE_FOR_msa_ilvr_w, CODE_FOR_msa_ilvr_d, CODE_FOR_msa_ilvev_b,
+	CODE_FOR_msa_ilvev_h, CODE_FOR_msa_ilvev_w, CODE_FOR_msa_ilvod_b,
+	CODE_FOR_msa_ilvod_h, CODE_FOR_msa_ilvod_w, CODE_FOR_msa_pckev_b,
+	CODE_FOR_msa_pckev_h, CODE_FOR_msa_pckev_w, CODE_FOR_msa_pckod_b,
+	CODE_FOR_msa_pckod_h, CODE_FOR_msa_pckod_w, CODE_FOR_msa_slli_b,
+	CODE_FOR_msa_slli_h, CODE_FOR_msa_slli_w, CODE_FOR_msa_slli_d,
+	CODE_FOR_msa_srai_b, CODE_FOR_msa_srai_h, CODE_FOR_msa_srai_w,
+	CODE_FOR_msa_srai_d, CODE_FOR_msa_srli_b, CODE_FOR_msa_srli_h,
+	CODE_FOR_msa_srli_w, CODE_FOR_msa_srli_d, CODE_FOR_msa_insert_b,
+	CODE_FOR_msa_insert_h, CODE_FOR_msa_insert_w,
+	CODE_FOR_msa_insert_d, CODE_FOR_msa_insve_b,
+	CODE_FOR_msa_insve_h, CODE_FOR_msa_insve_w, CODE_FOR_msa_insve_d,
+	CODE_FOR_msa_shf_b, CODE_FOR_msa_shf_h, CODE_FOR_msa_shf_w,
+	CODE_FOR_msa_shf_w_f, CODE_FOR_msa_vshf_b, CODE_FOR_msa_vshf_h,
+	CODE_FOR_msa_vshf_w, CODE_FOR_msa_vshf_d.
+	(mips_expand_builtin): Add case for MIPS_BULTIN_MSA_TEST_BRANCH.
+	(mips_set_compression_mode): Disallow MSA with MIPS16 code.
+	(mips_option_override): -mmsa requires -mfp64 and -mhard-float.
+	These are set implicitly and an error is reported if overridden.
+	(mips_expand_builtin_msa_test_branch): New function.
+	(mips_expand_msa_shuffle): Likewise.
+	(MAX_VECT_LEN): Increase maximum length of a vector to 16 bytes.
+	(TARGET_SCHED_REASSOCIATION_WIDTH): Define target hook.
+	(TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Likewise.
+	(mips_expand_vec_unpack): Add support for MSA.
+	(mips_expand_vector_init): Likewise.
+	(mips_expand_vi_constant): Use CONST0_RTX (element_mode)
+	instead of const0_rtx.
+	(mips_msa_vec_parallel_const_half): New function.
+	(mips_gen_const_int_vector): Likewise.
+	(mips_gen_const_int_vector_shuffle): Likewise.
+	(mips_expand_msa_cmp): Likewise.
+	(mips_expand_vec_cond_expr): Likewise.
+	* config/mips/mips.h
+	(TARGET_CPU_CPP_BUILTINS): Add __mips_msa and __mips_msa_width.
+	(OPTION_DEFAULT_SPECS): Ignore --with-fp-32 if -mmsa is
+	specified.
+	(ASM_SPEC): Pass mmsa and mno-msa to the assembler.
+	(ISA_HAS_MSA): New macro.
+	(UNITS_PER_MSA_REG): Likewise.
+	(BITS_PER_MSA_REG): Likewise.
+	(BIGGEST_ALIGNMENT): Redefine using ISA_HAS_MSA.
+	(MSA_REG_FIRST): New macro.
+	(MSA_REG_LAST): Likewise.
+	(MSA_REG_NUM): Likewise.
+	(MSA_REG_P): Likewise.
+	(MSA_REG_RTX_P): Likewise.
+	(MSA_SUPPORTED_MODE_P): Likewise.
+	(HARD_REGNO_CALL_PART_CLOBBERED): Redefine using TARGET_MSA.
+	(ADDITIONAL_REGISTER_NAMES): Add named registers $w0-$w31.
+	* config/mips/mips.md: Include mips-msa.md.
+	(alu_type): Add simd_add.
+	(mode): Add V2DI, V4SI, V8HI, V16QI, V2DF, V4SF.
+	(type): Add simd_div, simd_fclass, simd_flog2, simd_fadd,
+	simd_fcvt, simd_fmul, simd_fmadd, simd_fdiv, simd_bitins,
+	simd_bitmov, simd_insert, simd_sld, simd_mul, simd_fcmp,
+	simd_fexp2, simd_int_arith, simd_bit, simd_shift, simd_splat,
+	simd_fill, simd_permute, simd_shf, simd_sat, simd_pcnt,
+	simd_copy, simd_branch, simd_cmsa, simd_fminmax, simd_logic,
+	simd_move, simd_load, simd_store.  Choose "multi" for moves
+	for "qword_mode".
+	(qword_mode): New attribute.
+	(insn_count): Add instruction count for quad moves.
+	Increase the count for MIPS SIMD division.
+	(UNITMODE): Add UNITMODEs for vector types.
+	(addsub): New code iterator.
+	* config/mips/mips.opt (mmsa): New option.
+	* config/mips/msa.h: New file.
+	* config/mips/mti-elf.h: Don't infer -mfpxx if -mmsa is
+	specified.
+	* config/mips/mti-linux.h: Likewise.
+	* config/mips/predicates.md
+	(const_msa_branch_operand): New constraint.
+	(const_uimm3_operand): Likewise.
+	(const_uimm4_operand): Likewise.
+	(const_uimm5_operand): Likewise.
+	(const_uimm8_operand): Likewise.
+	(const_imm5_operand): Likewise.
+	(aq10b_operand): Likewise.
+	(aq10h_operand): Likewise.
+	(aq10w_operand): Likewise.
+	(aq10d_operand): Likewise.
+	(const_m1_operand): Likewise.
+	(reg_or_m1_operand): Likewise.
+	(const_exp_2_operand): Likewise.
+	(const_exp_4_operand): Likewise.
+	(const_exp_8_operand): Likewise.
+	(const_exp_16_operand): Likewise.
+	(const_vector_same_val_operand): Likewise.
+	(const_vector_same_simm5_operand): Likewise.
+	(const_vector_same_uimm5_operand): Likewise.
+	(const_vector_same_uimm6_operand): Likewise.
+	(const_vector_same_uimm8_operand): Likewise.
+	(par_const_vector_shf_set_operand): Likewise.
+	(reg_or_vector_same_val_operand): Likewise.
+	(reg_or_vector_same_simm5_operand): Likewise.
+	(reg_or_vector_same_uimm6_operand): Likewise.
+	* doc/extend.texi (MIPS SIMD Architecture Functions): New
+	section.
+	* doc/invoke.texi (-mmsa): Document new option.
+
+2016-05-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* configure.ac (enable_vtable_verify): Handle --enable-vtable-verify.
+	* configure: Regenerate.
+	* config.in: Regenerate.
+	* gcc.c (VTABLE_VERIFICATION_SPEC) [!ENABLE_VTABLE_VERIFY]: Error
+	on -fvtable-verify.
+	* config/sol2.h [!ENABLE_VTABLE_VERIFY] (STARTFILE_VTV_SPEC): Define.
+	(ENDFILE_VTV_SPEC): Define.
+
+2016-05-09  Kaushik Phatak  <kaushik.phatak@kpit.com>
+
+	* config/rl78/rl78.c (rl78_expand_prologue): Save the MDUC related
+	registers in all interrupt handlers if necessary.
+	(rl78_option_override): Add warning.
+	(MUST_SAVE_MDUC_REGISTERS): New macro.
+	(rl78_expand_epilogue): Restore the MDUC registers if necessary.
+	* config/rl78/rl78.c (check_mduc_usage): New function.
+	(mduc_regs): New structure to hold MDUC register data.
+	* config/rl78/rl78.md (is_g13_muldiv_insn): New attribute.
+	(mulsi3_g13): Add is_g13_muldiv_insn attribute.
+	(udivmodsi4_g13): Add is_g13_muldiv_insn attribute.
+	(mulhi3_g13): Add is_g13_muldiv_insn attribute.
+	* config/rl78/rl78.opt (msave-mduc-in-interrupts): New option.
+	* doc/invoke.texi (RL78 Options): Add -msave-mduc-in-interrupts.
+
+2016-05-09  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-if-conv.c (tree-ssa-loop.h): Include header file.
+	(tree-ssa-loop-niter.h): Ditto.
+	(idx_within_array_bound, ref_within_array_bound): New functions.
+	(ifcvt_memrefs_wont_trap): Check if array ref is within bound.
+	Factor out check on writable base object to ...
+	(base_object_writable): ... here.
+
+2016-05-09  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/arm/arm.md (probe_stack): Add modes to set source
+	and destination.
+
+2016-05-09  Bernd Schmidt  <bschmidt@redhat.com>
+
+	* regrename.c (base_reg_class_for_rename): New static function.
+	(scan_rtx_address, scan_rtx): Use it instead of base_reg_class.
+
+2016-05-08  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cgraph.c (thunk_adjust): Export.
+	* cgraphclones.c (cgraph_node::create_clone): Clone thunk info.
+	* cgraphunit.c (thunk_adjust): Export.
+	(cgraph_node::assemble_thunks_and_aliases): Do not assemble inlined
+	thunks.
+	* ipa-inline-analyssi.c (compute_inline_parameters): Thunks are
+	inlinable.
+	* tree-inline.c (expand_call_inline): Expand thunks inline.
+
+2016-05-08  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/70998
+	* config/i386/sse.md (*sse2_vd_cvtsd2ss): New insn pattern.
+	(*sse2_vd_cvtss2sd): Ditto.
+	* config/i386/i386.md
+	(TARGET_SSE_PARTIAL_REG_DEPENDENCY float_truncate df->sf splitter):
+	Generate *sse2_vd_cvtsd2ss pattern.
+	(TARGET_SSE_PARTIAL_REG_DEPENDENCY float_extend sf->df splitter):
+	Generate *sse2_vd_cvtss2sd pattern.
+
+2016-05-08  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	* config/sh/sh.h (GET_SH_ARG_CLASS): Convert macro into ...
+	* config/sh/sh.c (get_sh_arg_class): ... this new function.  Update its
+	users.
+
+2016-05-08  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	* config/sh/sh-protos.h (sh_media_register_for_return): Remove.
+	* config/sh/sh.c: Define and declare variables on first use throughout
+	the file.
+	(current_function_interrupt): Change to bool type.
+	(frame_insn): Rename to emit_frame_insn and update users.
+	(push_regs): Use bool for 'interrupt_handler' argument.
+	(save_schedule_s): Remove.
+	(TARGET_ASM_UNALIGNED_DI_OP, TARGET_ASM_ALIGNED_DI_OP): Remove.
+	(sh_option_override): Don't nullify targetm.asm_out.aligned_op.di and
+	targetm.asm_out.unaligned_op.di.
+	(gen_far_branch): Remove redundant forward declaration.
+	(sh_media_register_for_return, MAX_SAVED_REGS, save_entry_s, save_entry,
+	MAX_TEMPS, save_schedule_ssave_schedule): Remove.
+	(sh_set_return_address, sh_function_ok_for_sibcall,
+	scavenge_reg): Update comments.
+	(sh_builtin_saveregs): Use TRAGET_FPU_ANY condition.
+	(sh2a_get_function_vector_number, sh2a_function_vector_p): Use for loop.
+	(sh_attr_renesas_p): Remove unnecessary parentheses.
+	(branch_dest): Simplify.
+	* config/sh/sh.h (sh_args): Remove byref, byref_regs, stack_regs fields.
+	Change force_mem, prototype_p, outgoing, renesas_abi fields to bool.
+	(CUMULATIVE_ARGS): Change macro to typedef.
+	(current_function_interrupt): Change to bool type.
+	(sh_arg_class, sh_args, CUMULATIVE_ARGS, current_function_interrupt):
+	Surround with __cplusplus ifdef.
+	(sh_compare_op0, sh_compare_op1): Remove.
+	(EPILOGUE_USES): Use TARGET_FPU_ANY condition.
+
+2016-05-07  Jim Wilson  <jim.wilson@linaro.org>
+
+	* config/arm/arm.md (arch): Add neon.
+	(arch_enabled): Return yes for arch neon when TARGET_NEON.
+	* config/arm/vfp.md (movdf_vfp): Add w/G as alternative 3.  Add
+	neon_move as type for alt 3.  Add arch attr enabling alt 3 for neon.
+	Emit vmov.i64 for alt 3.  Renumber alternatives 3 to 8.  Adjust
+	attributes for alt renumbering.  Mark alt 3 as non-predicable.
+	(thumb2_movdf_vfp): Likewise.
+
+2016-05-07  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*addqi_1): Add preferred_for_speed attribute
+	to disparage alternatives 3 and 4 for TARGET_PARTIAL_REG_STALL targets.
+	(*andqi_1): Add preferred_for_speed attribute to disparage
+	alternative 2 for TARGET_PARTIAL_REG_STALL targets.
+	(*<code>qi_1): Ditto.
+	(*one_cmplqi2_1): Add preferred_for_speed attribute to disparage
+	alternative 1 for TARGET_PARTIAL_REG_STALL targets.
+	(*ashlqi3_1): Ditto.
+	(*swap<mode>): Merge from *swap<mode>_1 and *swap<mode>_2 patterns.
+	Add preferred_for_size attribute to disparage alternative 0 and
+	preferred_for_speed attribute to disparage alternative 1 for
+	TARGET_PARTIAL_REG_STALL targets.
+
+2016-05-07  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/70956
+	* graphite-scop-detection.c (build_cross_bb_scalars_def): Handle NULL
+	def.
+
+2016-05-07  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	* config/sh/sh-protos.h (sh_cbranch_distance): Declare new function.
+	* config/sh/sh.c (sh_cbranch_distance): Implement it.
+	* config/sh/sh.md (branch_zero): Remove define_attr.
+	(define_delay): Disable delay slot if branch distance is one insn.
+
+2016-05-06  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (LEAMODE): New mode attribute.
+	(plus to LEA splitter): Rewrite splitter using LEAMODE mode attribute.
+	(ashift to LEA splitter): Rewrte splitter using SWI mode iterator
+	and LEAMODE mode attribute.  Use VOIDmode const_0_to_3_operand as
+	operand 2 predicate.
+	(*lea<mode>_general_2): Use VOIDmode for const248_operand.
+	(*lea<mode>_general_3): Ditto.
+	(*lea<mode>_general_4): Use VOIDmode for const_0_to_3_operand.
+
+2016-05-06  Jakub Jelinek  <jakub@redhat.com>
+
+	* genmddump.c (main): Convert argv from char ** to const char **.
+
+2016-05-06  David Malcolm  <dmalcolm@redhat.com>
+
+	* coretypes.h (OVERRIDE): New macro.
+	(FINAL): New macro.
+
+2016-05-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree-ssa-coalesce.c (gimple_can_coalesce_p): In the optimized case,
+	allow coalescing if the types are compatible.
+
+2016-05-06  David Malcolm  <dmalcolm@redhat.com>
+
+	* pass_manager.h (pass_manager::register_pass_name): New method.
+	(pass_manager::get_pass_by_name): New method.
+	(pass_manager::create_pass_tab): New method.
+	(pass_manager::m_name_to_pass_map): New field.
+	* passes.c (name_to_pass_map): Delete global in favor of field
+	"m_name_to_pass_map" of pass_manager.
+	(register_pass_name): Rename from a function to...
+	(pass_manager::register_pass_name): ...this method, updating
+	for renaming of global "name_to_pass_map" to field
+	"m_name_to_pass_map".
+	(create_pass_tab): Rename from a function to...
+	(pass_manager::create_pass_tab): ...this method, updating
+	for renaming of global "name_to_pass_map" to field.
+	(get_pass_by_name): Rename from a function to...
+	(pass_manager::get_pass_by_name): ...this method.
+	(enable_disable_pass): Convert use of get_pass_by_name to
+	a method call, locating the pass_manager singleton.
+
+2016-05-06  David Malcolm  <dmalcolm@redhat.com>
+
+	* genattr-common.c (main): Convert argv from char ** to const char **.
+	* genattr.c (main): Likewise.
+	* genattrtab.c (main): Likewise.
+	* genautomata.c (initiate_automaton_gen): Likewise.
+	(main): Likewise.
+	* gencodes.c (main): Likewise.
+	* genconditions.c (main): Likewise.
+	* genconfig.c (main): Likewise.
+	* genconstants.c (main): Likewise.
+	* genemit.c (main): Likewise.
+	* genenums.c (main): Likewise.
+	* genextract.c (main): Likewise.
+	* genflags.c (main): Likewise.
+	* genmddeps.c (main): Likewise.
+	* genopinit.c (main): Likewise.
+	* genoutput.c (main): Likewise.
+	* genpeep.c (main): Likewise.
+	* genpreds.c (main): Likewise.
+	* genrecog.c (main): Likewise.
+	* gensupport.c (init_rtx_reader_args_cb): Likewise.
+	(init_rtx_reader_args): Likewise.
+	* gensupport.h (init_rtx_reader_args_cb): Likewise.
+	(init_rtx_reader_args): Likewise.
+	* gentarget-def.c (main): Likewise.
+	* read-md.c (read_md_files): Likewise.
+	* read-md.h (read_md_files): Likewise.
+
+2016-05-06  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (int cmove peephole2s): Use general_reg_operand
+	instead of register_and_not_any_fp_reg_operand as operand 0 predicate.
+	* config/i386/predicates.md (register_and_not_any_fp_reg_operand):
+	Remove unused predicate.
+	(register_and_not_fp_reg_operand): Ditto.
+
+2016-05-06  Martin Liska  <mliska@suse.cz>
+
+	* tree-if-conv.c (ifcvt_split_critical_edges): Use auto_vec
+	instead of vec as the vector is local to the function.
+
+2016-05-06  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/sse.md (*<code>v8hi3, *<code>v16qi3): Add
+	avx512bw alternative.
+
+	* config/i386/sse.md (<mask_codefor>ashr<mode>3<mask_name>): Move
+	before the ashr<mode>3 pattern.
+
+	* config/i386/sse.md (*avx2_pmaddwd, *sse2_pmaddwd): Use
+	v instead of x in vex or maybe_vex alternatives, use
+	maybe_evex instead of vex in prefix.
+
+	* config/i386/sse.md (*vec_extractv4sf_0, *sse4_1_extractps,
+	*vec_extractv4sf_mem, vec_extract_lo_v16hi, vec_extract_hi_v16hi,
+	vec_extract_lo_v32qi, vec_extract_hi_v32qi): Use v instead of x
+	in vex or maybe_vex alternatives, use maybe_evex instead of vex
+	in prefix.
+
+	* config/i386/sse.md (*vec_concatv2sf_sse4_1, *vec_concatv4sf): Use
+	v instead of x in vex or maybe_vex alternatives, use
+	maybe_evex instead of vex in prefix.
+
+	* config/i386/sse.md (sse_shufps_<mode>, sse_storehps, sse_loadhps,
+	sse_storelps, sse_movss, avx2_vec_dup<mode>, avx2_vec_dupv8sf_1,
+	sse2_shufpd_<mode>, sse2_storehpd, sse2_storelpd, sse2_loadhpd,
+	sse2_loadlpd, sse2_movsd): Use v instead of x in vex or maybe_vex
+	alternatives, use maybe_evex instead of vex in prefix.
+
+	* config/i386/sse.md (vec_interleave_lowv4sf,
+	*vec_interleave_highv2df, *vec_interleave_lowv2df): Use
+	v instead of x in vex or maybe_vex alternatives, use
+	maybe_evex instead of vex in prefix.
+
+	* config/i386/sse.md (sse_movhlps, sse_movlhps): Use
+	v instead of x in vex or maybe_vex alternatives, use
+	maybe_evex instead of vex in prefix.
+
+	* config/i386/sse.md (*avx_cvtpd2dq256_2, *avx_cvtps2pd256_2): Use
+	v constraint instead of x.
+
+2016-05-06  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* gimple.c (gimple_call_same_target_p): Unique functions are eq.
+	* tree-ssa-tail-merge.c (same_succ::equal): Check pointer eq
+	equality first.
+
+2016-05-06  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/70948
+	* tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
+	Properly clobber all fields of va_list for __builtin_va_start.
+
+2016-05-06  Yuri Rumyantsev  <ysrumyan@gmail.com>
+
+	PR debug/70935
+	* tree-ssa-loop-unswitch.c (find_loop_guard): Reject guard edge with
+	loop latch destination.
+
+2016-05-06  Martin Liska  <mliska@suse.cz>
+
+	* tree-ssa-uninit.c: Apply manual changes
+	to the GNU coding style.
+	(prune_uninit_phi_opnds): Rename from
+	prune_uninit_phi_opnds_in_unrealizable_paths.
+
+2016-05-06  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	* config/sh/sh.opt (madjust-unroll, minvalid-symbols, msoft-atomic,
+	mspace): Remove deprecated options.
+	* doc/invoke.texi (SH options): Remove -mspace.
+
+2016-05-06  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	* config/sh/sh.md (ic_invalidate_line_sh4a): Fix insn length.
+
+2016-05-06  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	* config/sh/sh.md (*cmpeqsi_t): Remove combine insn pattern and similar
+	corresponding combine split pattern.
+
+2016-05-06  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	PR target/58219
+	* config/sh/predicates.md (long_displacement_mem_operand): New.
+	* config/sh/sh.md (movsi_i): Allow for SH2A, disallow for any FPU.
+	Add movi20, movi20s alternatives.  Adjust length attribute for
+	alternatives.
+	(movsi_ie): Allow for any FPU.  Adjust length attribute for
+	alternatives.
+	(movsi_i_lowpart): Add movi20, movi20s alternatives.  Adjust length
+	attribute for alternatives.
+	(*mov<mode>): Use long_displacement_mem_operand for length attribute.
+	(*movdi_i, movdf_k, movdf_i4, movsf_i, movsf_ie, movsf_ie_ra): Adjust
+	length attribute for alternatives.
+
+2016-05-06  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/70960
+	* tree-if-conv.c (ifcvt_walk_pattern_tree): Handle non-SSA ops.
+
+2016-05-06  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	PR target/52933
+	* config/sh/sh.md (*cmp_div0s_7, *cmp_div0s_8): Add div0s variants.
+	* config/sh/sh.c (sh_rtx_costs): Add another div0s case.
+
+2016-05-06  Marek Polacek  <polacek@redhat.com>
+
+	PR sanitizer/70875
+	* ubsan.c (get_ubsan_type_info_for_type): Remove assert.
+
+2016-05-06  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	PR target/54089
+	* config/sh/sh.md (*rotcr): Add another variant.
+
+2016-05-06  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/70931
+	* dwarf2out.c (native_encode_initializer): Skip zero-sized fields.
+
+2016-05-06  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/70941
+	* fold-const.c (split_tree): Always convert to the original type
+	before negating.
+
+2016-05-06  Richard Biener  <rguenther@suse.de>
+
+	* fwprop.c (fwprop): Remove duplicate cleanup_cfg call.
+	(fwprop_addr): Likewise.
+
+2016-05-06  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/70873
+	* config/i386/i386-protos.h (ix86_standard_x87sse_constant_load_p):
+	New prototype.
+	* config/i386/i386.c (ix86_standard_x87sse_constant_load_p): New.
+	* config/i386/i386.md (push mem splitter): Use find_constant_src in
+	the splitter condition.
+	(FP load splitter): Use ix86_standard_x87sse_constant_load_p in
+	the splitter condition.
+	(FP float_extend load splitter): Ditto.
+
+2016-05-05  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (peehole2 patterns): Change true_regnum
+	to REGNO in all peephole2 patterns.
+	(post-reload splitters): Change true_regnum to REGNO in
+	post-reload splitters.
+	(zero_extend splitters): Use general_reg_operand and
+	nonimmediate_gr_operand predicates.
+
+2016-05-05  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/sse.md (<avx512>_fmadd_<mode>_mask3<round_name>): Use
+	v constraint instead of x.
+
+2016-05-05  Alan Modra  <amodra@gmail.com>
+
+	PR target/68662
+	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't
+	set OPTION_MASK_RELOCATABLE when flag_pic == 2.  Set
+	TARGET_NO_FP_IN_TOC for -mrelocatable.
+	(MINIMAL_TOC_SECTION_ASM_OP): Remove redundant
+	TARGET_RELOCATABLE test.
+	(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
+	(ASM_PREFERRED_EH_DATA_FORMAT): Likewise.
+	* config/rs6000/linux64.h (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
+	(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
+	(ASM_PREFERRED_EH_DATA_FORMAT): Likewise.
+	* config/rs6000/freebsd64.h (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
+	(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
+	(ASM_PREFERRED_EH_DATA_FORMAT): Likewise.
+	* config/rs6000/predicates.md (easy_fp_constant): Likewise.
+	* config/rs6000/rs6000.c (rs6000_elf_output_toc_section_asm_op):
+	Likewise.
+	(rs6000_assemble_integer): Update TARGET_RELOCATABLE test.
+	(rs6000_stack_info): Likewise.
+	(rs6000_elf_asm_out_constructor): Likewise.
+	(rs6000_elf_asm_out_destructor): Likewise.
+	(rs6000_elf_declare_function_name): Likewise.
+	* config/rs6000/rs6000.md (load_toc_aix_di): Likewise.
+	* config/rs6000/rs6000.h (MASK_RELOCATABLE, MASK_MINIMAL_TOC):
+	Don't define.
+
+2016-05-05  Alan Modra  <amodra@gmail.com>
+
+	* config/rs6000/rs6000.c (rs6000_frame_related): Rewrite.
+
+2016-05-05  Alan Modra  <amodra@gmail.com>
+
+	* config/rs6000/rs6000.c (rs6000_savres_strategy): Don't use
+	out-of-line gpr restore for one or two regs if that would add
+	a save of lr.
+
+2016-05-04  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/70873
+	* config/i386/i386.md
+	(TARGET_SSE_PARTIAL_REG_DEPENDENCY float_extend sf->df peephole2):
+	Change to post-epilogue_completed late splitter.  Use sse_reg_operand
+	as operand 0 predicate.
+	(TARGET_SSE_PARTIAL_REG_DEPENDENCY float_truncate df->sf peephole2):
+	Ditto.
+	(TARGET_SSE_PARTIAL_REG_DEPENDENCY float {si,di}->{sf,df} peephole2):
+	Ditto.  Emit the pattern using RTX.
+
+	(TARGET_USE_VECTOR_FP_CONVERTS float_extend sf->df splitter):
+	Use sse_reg_opreand as operand 0 predicate.  Do not use true_regnum in
+	the post-reload splitter.  Use lowpart_subreg instead of gen_rtx_REG.
+	(TARGET_USE_VECTOR_FP_CONVERTS float_truncate df->sf splitter):
+	Ditto.
+	(TARGET_USE_VECTOR_CONVERTS float si->{sf,df} splitter): Use
+	sse_reg_operand as operand 0 predicate.
+
+	(TARGET_SPLIT_MEM_OPND_FOR_FP_CONVERTS float_extend sf->df peephole2):
+	Use sse_reg_opreand as operand 0 predicate.  Use lowpart_subreg
+	instead of gen_rtx_REG.
+	(TARGET_SPLIT_MEM_OPND_FOR_FP_CONVERTS float_truncate sf->df peephole2):
+	Ditto.
+
+2016-05-04  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* function.c (emit_use_return_register_into_block): Delete.
+	(gen_return_pattern): Delete.
+	(emit_return_into_block): Delete.
+	(active_insn_between): Delete.
+	(convert_jumps_to_returns): Delete.
+	(emit_return_for_exit): Delete.
+	(thread_prologue_and_epilogue_insns): Delete all code dealing with
+	simple_return for shrink-wrapped blocks.
+	* shrink-wrap.c (try_shrink_wrapping): Insert simple_return at the
+	end of blocks that need one.
+	(get_unconverted_simple_return): Delete.
+	(convert_to_simple_return): Delete.
+	* shrink-wrap.c (get_unconverted_simple_return): Delete declaration.
+	(convert_to_simple_return): Ditto.
+
+2016-05-04  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* cfgcleanup.c (bb_is_just_return): New function.
+	(try_optimize_cfg): Simplify jumps to return, branches to return,
+	and branches around return.
+
+2016-05-04  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* cfgcleanup.c (try_simplify_condjump): Don't try to simplify a
+	branch to a return.
+
+2016-05-04  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/70906
+	PR c++/70933
+	* tree-core.h (enum operand_equal_flag): Add OEP_HASH_CHECK.
+	* tree.c (inchash::add_expr): If !IS_EXPR_CODE_CLASS (tclass),
+	assert flags & OEP_HASH_CHECK, instead of asserting it
+	never happens.  Handle TARGET_EXPR.
+	* fold-const.c (operand_equal_p): For hash verification,
+	or in OEP_HASH_CHECK into flags.
+
+2016-05-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree-ssa-coalesce.c (gimple_can_coalesce_p): Fix reference in head
+	comment.
+	(compute_samebase_partition_bases): Fix typo.
+
+2016-05-04  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/sse.md (vec_interleave_highv8sf,
+	vec_interleave_lowv8sf, vec_interleave_highv4df,
+	vec_interleave_lowv4df): Remove constraints from expanders.
+
+	* config/i386/sse.md (sse2_movq128): Use v constraint instead of x.
+
+2016-05-04  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-inline.c (expand_call_inline): Fix path dealing with
+	making lhs of call statement undefined.
+
+2016-05-04  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
+	Check availability on NODE, too.
+	* cgraph.h (symtab_node::call_for_symbol_and_aliases): Likewise.
+	(cgraph_node::call_for_symbol_and_aliases): Likewise.
+	(varpool_node::call_for_symbol_and_aliase): Likewise.
+	* ipa-pure-const.c (add_new_function): Analyze all bodies.
+	(propagate_pure_const): Propagate across interposable functions, too.
+	(skip_function_for_local_pure_const): Do not skip interposable bodies
+	with aliases.
+	(pass_local_pure_const::execute): Update.
+
+2016-05-04  Marek Polacek  <polacek@redhat.com>
+
+	* doc/invoke.texi: Document -Wdangling-else.
+
+2016-05-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config.gcc: Error out when conflicting multilib is detected.  Do not
+	loop over multilibs since no combination is legal.
+
+2016-05-04  Alan Modra  <amodra@gmail.com>
+
+	* config/rs6000/rs6000.h (PIC_OFFSET_TABLE_REGNUM): Correct.
+	* config/rs6000/sysv4.h (TARGET_TOC): Simplify.
+	* config/rs6000/rs6000.c (rs6000_elf_output_toc_section_asm_op):
+	Align .toc.
+
+2016-05-04  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* config/mips/mips-cpus.def (p5600): Avoid IMADD by default.
+	Clean up p5600 comments.
+
+2016-05-04  Richard Biener  <rguenther@suse.de>
+
+	* match.pd: Add BIT_FIELD_REF canonicalizations and vector
+	constructor simplifications.
+	* fold-const.c (fold_ternary_loc): Remove duplicate functionality here.
+
+2016-05-04  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	* config/sh/predicates (post_inc_mem, pre_dec_mem): New predicates.
+	* config/sh/sh-protos.h (sh_find_set_of_reg): Return null result if
+	result.set_rtx is null instead of aborting.
+	* config/sh/sh.h (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT):
+	Always enable.
+	(USE_LOAD_PRE_DECREMENT, USE_STORE_POST_INCREMENT): Enable for SH2A.
+	* config/sh/sh.md (*extend<mode>si2_predec, *mov<mode>_load_predec,
+	*mov<mode>_store_postinc): New patterns.
+
+2016-05-04  Marc Glisse  <marc.glisse@inria.fr>
+
+	* match.pd ((A | B) & (A | C)): Generalize to BIT_XOR_EXPR.  Mark
+	as commutative.  Check both conversions are NOP.
+	((A & B) OP (C & B)): Remove.
+
+2016-05-04  Alan Modra  <amodra@gmail.com>
+
+	* combine.c (simplify_set): Correct WORD_REGISTER_OPERATIONS test.
+
+2016-05-04  Alan Modra  <amodra@gmail.com>
+
+	PR target/70866
+	* config/rs6000/rs6000.c (rs6000_stack_info): Don't set cr_save_p
+	when cr2,3,4 are all fixed regs.
+
+2016-05-04  Bernd Schmidt  <bschmidt@redhat.com>
+
+	PR rtl-optimization/57193
+	* opts.c (default_options_table): Revert OPT_frename_registers change.
+	* doc/invoke.texi (-frename-registers, -O2): Likewise.
+
+2016-05-03  Martin Sebor  <msebor@redhat.com>
+
+	PR c++/66561
+	* builtins.c (fold_builtin_FILE): New function.
+	(fold_builtin_FUNCTION, fold_builtin_LINE): New functions.
+	(fold_builtin_0): Call them.
+	* gimplify.c (gimplify_call_expr): Remove the handling of
+	BUILT_IN_FILE, BUILT_IN_FUNCTION, and BUILT_IN_LINE.
+
+	PR c++/66561
+	* doc/extend.texi (Other Builtins): Update __builtin_FILE,
+	__builtin_FUNCTION, and __builtin_LINE to reflect they yield
+	constants.
+
+	PR c++/66639
+	* doc/extend.texi (Function Names as Strings): Update __func__,
+	__FUNCTION__, __PRETTY_FUNCTION__ to reflect they evaluate to
+	constants.
+
+2016-05-03  Jakub Jelinek  <jakub@redhat.com>
+	    Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/70916
+	* tree-if-conv.c: Include cfganal.h.
+	(pass_if_conversion::execute): Call connect_infinite_loops_to_exit
+	and remove_fake_exit_edges around the optimization pass.
+
+2016-05-03  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cgraph.c (symbol_table::create_edge): Set inline_failed.
+	(cgraph_edge::make_direct): Likewise.
+	(cgraph_edge::dump_edge_flags): Dump call_stmt_cannot_inline_p.
+	* cgraphclones.c (duplicate_thunk_for_node): Set inline_failed.
+	* cif-code.def (CIF_LTO_MISMATCHED_DECLARATIONS): New code
+	(CIF_THUNK): New code.
+	* ipa-inline-analysis.c (initialize_inline_failed): Preserve
+	CIF_FINAL_ERROR codes; do not deal with call_stmt_cannot_inline_p.
+	(compute_inline_parameters): Set inline_failed for thunks.
+	(inline_analyze_function): Cleanup.
+	* ipa-inline.c (can_inline_edge_p): Do not deal with
+	call_stmt_cannot_inline_p.
+	(can_early_inline_edge_p): Likewise.
+	(early_inliner): Initialize inline_failed.
+	* lto-cgraph.c (lto_output_edge): Sanity check inline_failed.
+
+2016-05-03  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/predicates.md (x87nonimm_ssenomem_operand): Rename
+	from nonimm_ssenomem_operand.
+	(nonimm_ssenomem_operand): New predicate.
+	* config/i386/i386.md (extendsfdf2): Use nonimm_ssenomem_operand
+	as operand 0 predicate.
+	(*extendsfdf2): Merge from *extendsfdf2_mixed and *extendsfdf2_i387.
+	Disable unsupported alternatives using "enabled" attribute.
+	Use register_ssemem_operand as operand 0 predicate.
+	(*fop_<mode>_1): Use x87nonimm_ssenomem_operand as operand 1 predicate.
+
+2016-05-03  Marek Polacek  <polacek@redhat.com>
+
+	PR c/70859
+	* input.c (expansion_point_location): New function.
+	* input.h (expansion_point_location): Declare.
+
+2016-05-03  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* dwarf2out.c (resolve_args_picking_1): Replace the frame_offset
+	occurence with frame_offset_ ones.
+
+2016-05-03  Alan Modra  <amodra@gmail.com>
+
+	PR rtl-optimization/70890
+	* ira.c (combine_and_move_insns): When moving def_insn, remove
+	equivs on use_insn.
+
+2016-05-03  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	* config/s390/s390.md ("*r<noxa>sbg_<mode>_sll")
+	("*r<noxa>sbg_<mode>_srl"): New define_insns.
+	("*r<noxa>sbg_<mode>_srl_bitmask"): Rename by adding "_bitmask".
+	("*r<noxa>sbg_<mode>_sll_bitmask"): Likewise.
+
+2016-05-03  Alan Modra  <amodra@gmail.com>
+
+	* config/rs6000/rs6000.c (rs6000_savres_strategy): Correct condition
+	for SAVE_MULTIPLE/STORE_MULTIPLE.
+
+2016-05-03  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/i386.md (*truncdfsf_mixed, *truncdfsf_i387,
+	*truncxfsf2_mixed, *truncxfdf2_mixed): Use v constraint instead of x.
+
+2016-05-03  Richard Biener  <rguenther@suse.de>
+
+	* gimplify.h (get_initialized_tmp_var): Add allow_ssa parameter
+	default true.
+	(gimplify_arg): Likewise.
+	* gimplify.c (gimplify_expr): Add overload with allow_ssa parameter,
+	re-writing the result to a decl if required.
+	(internal_get_tmp_var): Add allow_ssa parameter
+	and override into_ssa with it.
+	(get_formal_tmp_var): Adjust.
+	(get_initialized_tmp_var): Add allow_ssa parameter.
+	(gimplify_arg): Add allow_ssa parameter and avoid generating
+	SSA names for the result false.
+	(gimplify_call_expr): If the call may return twice do not
+	gimplify parameters into SSA.
+	(prepare_gimple_addressable): Do not allow an SSA name as temporary.
+	(gimplify_modify_expr): Adjust assert.  For noreturn calls
+	with a SSA name LHS adjust its def.
+	(gimplify_save_expr): Do not allow an SSA name as save-expr result.
+	(gimplify_one_sizepos): Do not allow an SSA name as a sizepos.
+	(gimplify_body): Init GIMPLE SSA data structures and gimplify into-SSA.
+	(gimplify_scan_omp_clauses): Make sure OMP_CLAUSE_SIZE is not
+	an SSA name.  Likewise for OMP_CLAUSE_REDUCTION operands.
+	(gimplify_omp_for): Likewise for OMP_CLAUSE_DECL.  Likewise
+	for OMP_FOR_COND,  OMP_FOR_INCR and OMP_CLAUSE_LINEAR_STEP.
+	(optimize_target_teams): Do not allow SSA names for clause operands.
+	(gimplify_expr): Likewise for where we mark the result addressable.
+	* passes.def (pass_init_datastructures): Remove.
+	* tree-into-ssa.c (mark_def_sites): Ignore existing SSA names.
+	(rewrite_stmt): Likewise.
+	* tree-inline.c (initialize_cfun): Properly transfer SSA state.
+	(replace_locals_op): Replace SSA names.
+	(copy_gimple_seq_and_replace_locals): Init src_cfun.
+	* gimple-low.c (lower_builtin_setjmp): Deal with SSA.
+	* cgraph.c (release_function_body): Free CFG annotations only
+	when we have a CFG.  Simplify.
+	* gimple-fold.c (gimplify_and_update_call_from_tree): Use
+	force_gimple_operand instead of get_initialized_tmp_var.
+	* tree-pass.h (make_pass_init_datastructures): Remove.
+	* tree-ssa.c (execute_init_datastructures): Remove.
+	(pass_data_init_datastructures): Likewise.
+	(class pass_init_datastructures): Likewise.
+	(make_pass_init_datastructures): Likewise.
+	* omp-low.c (create_omp_child_function): Init SSA data structures.
+	(grid_expand_target_grid_body): Likewise.
+	* tree-cfg.c (move_block_to_fn): Double-check the DEF is an SSA
+	name before adding it to names_to_release.
+	(remove_bb): Always release SSA defs.
+	* tree-ssa-ccp.c (get_default_value): Check SSA_NAME_VAR
+	before dereferencing it.
+	* cgraphunit.c (init_lowered_empty_function): Always
+	int SSA data structures.
+	* tree-ssanames.c (release_defs): Remove assert that we are in
+	SSA form.
+	* trans-mem.c (diagnose_tm_1): Handle SSA name function.
+
+2016-05-03  Jakub Jelinek  <jakub@redhat.com>
+	    Uros Bizjak  <ubizjak@gmail.com>
+
+	PR rtl-optimization/70467
+	* config/i386/predicates.md (x86_64_hilo_int_operand,
+	x86_64_hilo_general_operand): New predicates.
+	* config/i386/constraints.md (Wd): New constraint.
+	* config/i386/i386.md (mode attr di): Use Wd instead of e.
+	(general_hilo_operand): New mode attr.
+	(add<mode>3, sub<mode>3): Use <general_hilo_operand>
+	instead of <general_operand>.
+	(*add<dwi>3_doubleword, *sub<dwi>3_doubleword): Use
+	x86_64_hilo_general_operand instead of <general_operand>.
+
+2016-05-03  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/70916
+	* tree-if-conv.c (constant_or_ssa_name): Removed.
+	(fold_build_cond_expr): Use is_gimple_val instead of
+	constant_or_ssa_name.
+
+	PR tree-optimization/70916
+	* tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Give up
+	if COND_EXPR rhs1 is neither SSA_NAME nor COMPARISON_CLASS_P.
+
+	PR target/49244
+	* tree-ssa-ccp.c: Include stor-layout.h and optabs-query.h.
+	(optimize_atomic_bit_test_and): New function.
+	(pass_fold_builtins::execute): Use it.
+	* optabs.def (atomic_bit_test_and_set_optab,
+	atomic_bit_test_and_complement_optab,
+	atomic_bit_test_and_reset_optab): New optabs.
+	* internal-fn.def (ATOMIC_BIT_TEST_AND_SET,
+	ATOMIC_BIT_TEST_AND_COMPLEMENT, ATOMIC_BIT_TEST_AND_RESET): New ifns.
+	* builtins.h (expand_ifn_atomic_bit_test_and): New prototype.
+	* builtins.c (expand_ifn_atomic_bit_test_and): New function.
+	* internal-fn.c (expand_ATOMIC_BIT_TEST_AND_SET,
+	expand_ATOMIC_BIT_TEST_AND_COMPLEMENT,
+	expand_ATOMIC_BIT_TEST_AND_RESET): New functions.
+	* doc/md.texi (atomic_bit_test_and_set@var{mode},
+	atomic_bit_test_and_complement@var{mode},
+	atomic_bit_test_and_reset@var{mode}): Document.
+	* config/i386/sync.md (atomic_bit_test_and_set<mode>,
+	atomic_bit_test_and_complement<mode>,
+	atomic_bit_test_and_reset<mode>): New expanders.
+	(atomic_bit_test_and_set<mode>_1,
+	atomic_bit_test_and_complement<mode>_1,
+	atomic_bit_test_and_reset<mode>_1): New insns.
+
+2016-05-03  Richard Sandiford  <richard.sandiford@arm.com>
+
+	PR rtl-optimization/70687
+	* combine.c (change_zero_ext): Check for scalar modes.  Use wide_int
+	instead of unsigned HOST_WIDE_INT.
+
+2016-05-03  Bernd Schmidt  <bschmidt@redhat.com>
+
+	PR rtl-optimization/44281
+	* hard-reg-set.h (struct target_hard_regs): New field
+	x_fixed_nonglobal_reg_set.
+	(fixed_nonglobal_reg_set): New macro.
+	* reginfo.c (init_reg_sets_1): Initialize it.
+	* ira.c (setup_alloc_regs): Use fixed_nonglobal_reg_set instead
+	of fixed_reg_set.
+	* df-scan.c (df_insn_refs_collect): Asms may reference global regs.
+
+2016-05-03  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/56541
+	* doc/invoke.texi (@item max-tree-if-conversion-phi-args): New item.
+	* params.def (PARAM_MAX_TREE_IF_CONVERSION_PHI_ARGS): new param.
+	* tree-if-conv.c (MAX_PHI_ARG_NUM): new macro.
+	(any_complicated_phi): new static variable.
+	(aggressive_if_conv): delete.
+	(if_convertible_phi_p): support phis with more than two arguments.
+	(if_convertible_bb_p): remvoe check on aggressive_if_conv and
+	critical pred edges.
+	(ifcvt_split_critical_edges): support phis with more than two
+	arguments by checking new parameter.  only split critical edges
+	if needed.
+	(tree_if_conversion): handle simd pragma marked loop using new
+	local variable aggressive_if_conv.  check any_complicated_phi.
+
+2016-05-03  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (get_computation_cost_at): Check depends_on
+	before using it.
+
+2016-05-03  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (get_computation_cost_at): Don't clobber
+	cbase.
+
+2016-05-03  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	* config/sh/sh.md (udivsi3, divsi3, mulsi3): Simplify.
+	(mulhisi3, umulhisi3, (smulsi3_highpart, umulsi3_highpart): Convert to
+	define_insn_and_split.
+	(mulsi3_i): New define_insn_and_split.
+	(mulsi3_call): Convert to define_insn.
+	(mulsidi3, mulsidi3_compact, umulsidi3, umulsidi3_compact):
+	Remove constraints.
+
+2016-05-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* machmode.h (mode_complex): Add support to give the complex mode
+	for a given mode.
+	(GET_MODE_COMPLEX_MODE): Likewise.
+	* stor-layout.c (layout_type): For COMPLEX_TYPE, use the mode
+	stored by build_complex_type and gfc_build_complex_type instead of
+	trying to figure out the appropriate mode based on the size. Raise
+	an assertion error, if the type was not set.
+	* genmodes.c (struct mode_data): Add field for the complex type of
+	the given type.
+	(blank_mode): Likewise.
+	(make_complex_modes): Remember the complex mode created in the
+	base type.
+	(emit_mode_complex): Write out the mode_complex array to map a
+	type mode to the complex version.
+	(emit_insn_modes_c): Likewise.
+	* tree.c (build_complex_type): Set the complex type to use before
+	calling layout_type.
+	* config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Add
+	support for __float128 complex datatypes.
+	(rs6000_hard_regno_mode_ok): Likewise.
+	(rs6000_setup_reg_addr_masks): Likewise.
+	(rs6000_complex_function_value): Likewise.
+	* config/rs6000/rs6000.h (FLOAT128_IEEE_P): Likewise.
+	__float128 and __ibm128 complex.
+	(FLOAT128_IBM_P): Likewise.
+	(ALTIVEC_ARG_MAX_RETURN): Likewise.
+	* doc/extend.texi (Additional Floating Types): Document that
+	-mfloat128 must be used to enable __float128.  Document complex
+	__float128 and __ibm128 support.
+
+2016-05-02  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/49244
+	* gimple.c (gimple_builtin_call_types_compatible_p): Allow
+	char/short arguments promoted to int because of promote_prototypes.
+
+2016-05-02  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/predicates.md (register_ssemem_operand): New predicate.
+	* config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>): Merge from
+	*cmpi<FPCMP:unord><MODEF:mode>_mixed and
+	*cmpi<FPCMP:unord><X87MODEF:mode>_i387.  Disable unsupported
+	alternatives using "enabled" attribute.  Use register_ssemem_operand
+	as operand 1 predicate.
+	(*cmpi<unord>xf_i387): Split XFmode pattern from
+	*cmpi<FPCMP:unord><X87MODEF:mode>_i387.
+	(*absneg<mode>2): Merge from *absneg<mode>2_mixed and
+	*absneg<mode>2_i387.  Disable unsupported alternatives using
+	"enabled" attribute.
+	(*absnegxf2_i387): Split XFmode pattern from *absneg<mode>2_i387.
+
+2016-05-02  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* omp-low.c (lower_oacc_head_tail): Assert there is at least one
+	marker.
+	(oacc_loop_process): Check mask for loop termination.
+
+2016-05-02  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cif-code.def (CIF_THUNK): Add.
+	* ipa-inline-analsysis.c (evaluate_conditions_for_known_args): Revert
+	accidental change.
+
+2016-05-02  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-inline-analysis.c (reset_inline_summary): Clear fp_expressions
+	(dump_inline_summary): Dump it.
+	(fp_expression_p): New predicate.
+	(estimate_function_body_sizes): Use it.
+	(inline_merge_summary): Merge fp_expressions.
+	(inline_read_section): Read fp_expressions.
+	(inline_write_summary): Write fp_expressions.
+	* ipa-inline.c (can_inline_edge_p): Permit inlining across fp math
+	codegen boundary if either caller or callee is !fp_expressions.
+	* ipa-inline.h (inline_summary): Add fp_expressions.
+	* ipa-inline-transform.c (inline_call): When inlining !fp_expressions
+	to fp_expressions be sure the fp generation flags are updated.
+
+2016-05-02  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/70467
+	* cse.c (cse_insn): Handle no-op MEM moves after folding.
+
+	PR rtl-optimization/70467
+	* ipa-pure-const.c (check_call): Handle internal calls even in
+	ipa mode like in local mode.
+
+2016-05-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* doc/install.texi: Document supported in-tree gmp/mpfr/mpc versions.
+
+2016-05-02  Marc Glisse  <marc.glisse@inria.fr>
+
+	* match.pd (X u< X, X u> X): New transformations.
+
+2016-05-02  Marc Glisse  <marc.glisse@inria.fr>
+
+	* flag-types.h (enum warn_strict_overflow_code): Move ...
+	* coretypes.h: ... here.
+	* fold-const.h (fold_overflow_warning): Declare.
+	* fold-const.c (fold_overflow_warning): Make non-static.
+	(fold_comparison): Move the transformation of X +- C1 CMP C2
+	into X CMP C2 -+ C1 ...
+	* match.pd: ... here.
+	* gimple-fold.c (fold_stmt_1): Protect with
+	fold_defer_overflow_warnings.
+
+2016-05-02  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* omp-low.c (struct oacc_loop): Add 'inner' field.
+	(new_oacc_loop_raw): Initialize it to zero.
+	(oacc_loop_fixed_partitions): Initialize it.
+	(oacc_loop_auto_partitions): Partition outermost loop to outermost
+	available partitioning.
+
+2016-05-02  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.md (mulsidi3): Change operand 0 predicate to
+	register_operand.
+	(umulsidi3): Likewise.
+	(indirect_jump): Fix jump instruction assembly patterns.
+
+2016-05-02  Thomas Schwinge  <thomas@codesourcery.com>
+
+	PR target/70860
+	* config/nvptx/nvptx.c (nvptx_libcall_value): Handle NULL cfun.
+	(nvptx_function_value): Assert non-NULL cfun.
+
+2016-05-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR rtl-optimization/70886
+	* sched-deps.c (estimate_dep_weak): Canonicalize cselib values.
+
+	* cselib.h (rtx_equal_for_cselib_1): Declare.
+	(rtx_equal_for_cselib_p: New inline function.
+	* cselib.c (rtx_equal_for_cselib_p): Delete.
+	(rtx_equal_for_cselib_1): Make public.
+
+2016-05-02  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/predicates.md (nonimm_ssenomem_operand): New predicate.
+	(register_mixssei387nonimm_operand): Remove predicate.
+	* config/i386/i386.md (*fop_<mode>_comm): Merge from
+	*fop_<mode>_comm_mixed and *fop_<mode>_comm_i387.  Disable unsupported
+	alternatives using "enabled" attribute.  Also check X87_ENABLE_ARITH
+	for TARGET_MIX_SSE_I387 alternatives.
+	(*fop_<mode>_1): Merge from *fop_<mode>_1_mixed and *fop_<mode>_1_i387.
+	Disable unsupported alternatives using "enabled" attribute.  Use
+	nonimm_ssenomem_operand as operand 1 predicate.  Also check
+	X87_ENABLE_ARITH for TARGET_MIX_SSE_I387 alternatives.
+
+2016-05-02  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* tree.c (cst_and_fits_in_hwi): Simplify.
+
+2016-05-02  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* tree.h (wi::to_wide): New function.
+	* expr.c (expand_expr_real_1): Use wi::to_wide.
+	* fold-const.c (int_const_binop_1): Likewise.
+	(extract_muldiv_1): Likewise.
+
+2016-05-02  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* wide-int.h: Update offset_int and widest_int documentation.
+	(WI_SIGNED_SHIFT_RESULT): New macro.
+	(wi::binary_shift): Define signed_shift_result_type for
+	shifts on offset_int- and widest_int-like types.
+	(generic_wide_int): Support <<= and >>= if << and >> are supported.
+	* tree.h (int_bit_position): Use shift operators instead of wi::
+	 shifts.
+	* alias.c (adjust_offset_for_component_ref): Likewise.
+	* expr.c (get_inner_reference): Likewise.
+	* fold-const.c (fold_comparison): Likewise.
+	* gimple-fold.c (fold_nonarray_ctor_reference): Likewise.
+	* gimple-ssa-strength-reduction.c (restructure_reference): Likewise.
+	* tree-dfa.c (get_ref_base_and_extent): Likewise.
+	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise.
+	(stmt_kills_ref_p): Likewise.
+	* tree-ssa-ccp.c (bit_value_binop_1): Likewise.
+	* tree-ssa-math-opts.c (find_bswap_or_nop_load): Likewise.
+	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
+	(ao_ref_init_from_vn_reference): Likewise.
+
+2016-05-02  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* wide-int.h: Update offset_int and widest_int documentation.
+	(WI_SIGNED_BINARY_PREDICATE_RESULT): New macro.
+	(wi::binary_traits): Allow ordered comparisons between offset_int and
+	offset_int, between widest_int and widest_int, and between either
+	of these types and basic C types.
+	(operator <, <=, >, >=): Define for the same combinations.
+	* tree.h (tree_int_cst_lt): Use comparison operators instead
+	of wi:: comparisons.
+	(tree_int_cst_le): Likewise.
+	* gimple-fold.c (fold_array_ctor_reference): Likewise.
+	(fold_nonarray_ctor_reference): Likewise.
+	* gimple-ssa-strength-reduction.c (record_increment): Likewise.
+	* tree-affine.c (aff_comb_cannot_overlap_p): Likewise.
+	* tree-parloops.c (try_transform_to_exit_first_loop_alt): Likewise.
+	* tree-sra.c (completely_scalarize): Likewise.
+	* tree-ssa-alias.c (stmt_kills_ref_p): Likewise.
+	* tree-ssa-reassoc.c (extract_bit_test_mask): Likewise.
+	* tree-vrp.c (extract_range_from_binary_expr_1): Likewise.
+	(check_for_binary_op_overflow): Likewise.
+	(search_for_addr_array): Likewise.
+	* ubsan.c (ubsan_expand_objsize_ifn): Likewise.
+
+2016-05-02  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (arc_preferred_simd_mode): Remove enum keyword.
+	(arc_save_restore): Likewise.
+	(arc_dwarf_register_span): Likewise.
+	(arc_output_pic_addr_const): Initialize suffix variable.
+
+2016-05-02  Martin Liska  <mliska@suse.cz>
+
+	* symbol-summary.h (function_summary::function_summary):
+	Remove checking assert for all cgraph nodes.
+	(function_summary::get): Check summary_uid.
+	(symtab_insertion): Check summary_uid.
+
+2016-05-02  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc-protos.h (compact_memory_operand_p): Declare.
+	* config/arc/arc.c (arc_output_commutative_cond_exec): Consider
+	bmaskn instruction.
+	(arc_dwarf_register_span): Remove enum keyword.
+	(compact_memory_operand_p): New function.
+	* config/arc/arc.h (reg_class): Add code density register classes.
+	(REG_CLASS_NAMES): Likewise.
+	(REG_CLASS_CONTENTS): Likewise.
+	* config/arc/arc.md (*movqi_insn): Add code density instructions.
+	(*movhi_insn, *movsi_insn, *movsf_insn): Likewise.
+	(*extendhisi2_i, andsi3_i, cmpsi_cc_insn_mixed): Likewise.
+	(*cmpsi_cc_c_insn, *movsi_ne): Likewise.
+	* config/arc/constraints.md (C2p, Uts, Cm1, Cm3, Ucd): New
+	constraints.
+	(h, Rcd, Rsd, Rzd): New register constraints.
+	(T): Use compact_memory_operand_p function.
+	* config/arc/predicates.md (compact_load_memory_operand): Remove.
+
+2016-05-02  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	* config/sh/sh.md (*negnegt, *movtt): Remove.
+
+2016-05-02  Marek Polacek  <polacek@redhat.com>
+	    Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/70700
+	* tree-ssa-structalias.c (dump_pred_graph): Fix getting varinfo for ids
+	bigger than FIRST_REF_NODE.
+
+2016-05-02  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	PR target/52898
+	* config/sh/sh.c (sh_option_override): Remove TARGET_CBRANCHDI4,
+	TARGET_CMPEQDI_T.
+	(prepare_cbranch_operands): Don't use scratch register.  Assume that
+	function is used when pseudos can be created.
+	(expand_cbranchdi4): Likewise.  Remove unused TARGET_CMPEQDI_T paths.
+	* config/sh/sh.md (cbranchsi4): Allow only when pseudos can be created.
+	(cbranchdi4, cbranchdi4_i): Simplify to single cbranchdi4
+	define_expand.  Allow it only when pseudos can be created.
+	* config/sh/sh.opt (mcbranchdi, mcmpeqdi): Delete.
+
+2016-05-01  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/constraints.md (BC): Only allow -1 operands.
+	* config/i386/sse.md (mov<mode>_internal): Add (v,C) alternative.
+	Add "enabled" attribute.  Update XI mode attribute calculation.
+	* config/i386/i386.md (*movxi_internal_avx512f): Add (v,C) alternative.
+	(*movoi_internal_avx): Update XI mode attribute calculation.
+	(*movti_internal): Ditto.
+
+2016-05-01  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	* config/sh/sh.md (push, pop, ic_invalidate_line, cstoresi4, cstoredi4,
+	cstoresf4, cstoredf4, fix_truncsfsi2): Remove constraints.
+
+2016-05-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/rs6000/rs6000.c (altivec_expand_lv_builtin): Do not use switch
+	statement on instruction code.  Remove trailing spaces.
+	(altivec_expand_stv_builtin): Likewise.
+
+2016-05-01  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	* config/sh/sh.h (TARGET_SH4): Remove and use default implementation.
+	(TARGET_FPU_DOUBLE): Simplify.
+	(BASE_ARG_REG, DOUBLE_TYPE_SIZE, OPTIMIZE_MODE_SWITCHING): Replace
+	'TARGET_SH4 || TARGET_SH2A_DOUBLE' conditions with 'TARGET_FPU_DOUBLE'.
+	* config/sh/sh.c: Replace 'TARGET_SH4 || TARGET_SH2A_DOUBLE' conditions
+	with 'TARGET_FPU_DOUBLE'.
+	* config/sh/sh.md: Likewise.
+
+2016-05-01  Yoshinori Sato  <ysato@users.sourceforge.jp>
+
+	* config/sh/linux.h (SH_DIV_STRATEGY_DEFAULT,
+	SH_DIV_STR_FOR_SIZE): Remove.
+	* config/sh/netbsd-elf.h (SH_DIV_STRATEGY_DEFAULT,
+	SH_DIV_STR_FOR_SIZE): Remove.
+
+2016-05-01  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	* config/sh/predicates.md (any_register_operand, zero_extend_operand,
+	logical_reg_operand): Delete.
+	(arith_operand, arith_reg_dest, arith_or_int_operand, cmpsi_operand,
+	arith_reg_or_0_operand, arith_reg_or_0_or_1_operand, logical_operand,
+	logical_and_operand, movsrc_no_disp_mem_operand): Rewrite using
+	match_operand and match_test.
+	(sh_const_vec, sh_1el_vec): Remove redundant checks.  Declare local
+	variables on their first use.  Return bool values.
+	* config/sh/sh.h (LOAD_EXTEND_OP): Update comment.
+	* config/sh/sh.md (andsi3, iorsi3): Use arith_reg_dest for result and
+	arith_reg_operand for input operand.  Remove empty constraints.
+	(xorsi3): Delete.
+	(*xorsi3_compact): Rename to xorsi3.
+	(zero_extend<mode>si2): Use arith_reg_operand for input operand.
+	(*zero_extend<mode>si2_disp_mem): Update comment.
+	(mov_nop): Delete.
+
+2016-04-30  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	* config/sh/t-sh: Remove SH5 support.
+	* config.gcc: Likewise.
+	* configure: Likewise.
+
+2016-04-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* config/darwin.h (LINK_COMMAND_SPEC_A): Handle -fcilkplus.
+
+2016-04-30  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	* config/sh/sh.c (register_sh_passes, sh_option_override,
+	sh_print_operand, prepare_move_operands,
+	sh_can_follow_jump): Remove TARGET_SH1 checks.
+	* config/sh/sh.h (TARGET_VARARGS_PRETEND_ARGS, VALID_REGISTER_P,
+	PROMOTE_MODE): Likewise.
+	* config/sh/sh.md (adddi3, addsi3, subdi3, subsi3, andsi3,
+	movdi): Likewise.
+
+2016-04-30  Alan Modra  <amodra@gmail.com>
+
+	* config/rs6000/rs6000.c (rs6000_savres_strategy): Force inline
+	restoring when fixed_reg_p, but allow out-of-line or stmw save.
+	Check for user regs later to avoid unnecessary looping over regs.
+	Merge user reg check with non-saved reg check.  Don't force
+	inline VR restore when static chain used.
+	(rs6000_frame_related): Omit eh_frame info for user regs when
+	saving.
+	(fixed_regs_p): Delete.
+
+2016-04-30  Alan Modra  <amodra@gmail.com>
+
+	* config/rs6000/rs6000.c (SAVRES_MULTIPLE): Replace with..
+	(SAVE_STRATEGY, REST_STRATEGY): ..this.  Renumber and sort enum.
+	Update all uses.
+
+2016-04-30  Alan Modra  <amodra@gmail.com>
+
+	PR target/69645
+	* config/rs6000/rs6000.c (fixed_reg_p): New function.
+	(fixed_regs_p): Rename from global_regs_p.  Call fixed_reg_p.
+	Update all uses.
+
+2016-04-30  Alan Modra  <amodra@gmail.com>
+
+	* config/rs6000/rs6000.c (rs6000_conditional_register_usage):
+	Remove redundant PIC_OFFSET_TABLE_REGNUM test.  Replace with
+	flag_pic test for Darwin.
+
+2016-04-30  Alan Modra  <amodra@gmail.com>
+
+	* regs.h (struct reg_info_t): Delete freq_calls_crossed and
+	throw_calls_crossed.
+	(REG_FREQ_CALLS_CROSSED): Delete.
+	(REG_N_THROWING_CALLS_CROSSED): Delete.
+	* regstat.c (regstat_bb_compute_ri): Don't calculate
+	REG_FREQ_CALLS_CROSSED and REG_N_THROWING_CALLS_CROSSED.
+	(dump_reg_info): Don't print call cross frequency.
+	* ira.c (combine_and_move_insns): Don't set REG_FREQ_CALLS_CROSSED
+	and REG_N_THROWING_CALLS_CROSSED.
+
+2016-04-30  Alan Modra  <amodra@gmail.com>
+
+	* regs.h (struct reg_info_t): Delete live_length.
+	(REG_LIVE_LENGTH): Delete macro.
+	* regstat.c (regstat_bb_compute_ri): Delete artificial_uses,
+	local_live, local_processed and local_live_last_luid params.
+	Replace bb_index param with bb.  Don't set REG_LIVE_LENGTH.
+	Formatting fixes.
+	(regstat_compute_ri): Adjust for above.  Don't set
+	REG_LIVE_LENGTH.
+	(dump_reg_info): Don't print live length.
+	* ira.c (update_equiv_regs): Replace test of REG_LIVE_LENGTH
+	with test of setjmp_crosses.  Don't set REG_LIVE_LENGTH.
+	Localize loop_depth var.
+
+2016-04-30  Alan Modra  <amodra@gmail.com>
+
+	* ira.c (enum valid_equiv): New.
+	(validate_equiv_mem): Return enum.
+	(update_equiv_mem): Create replacement in more cases.
+	(add_store_equivs): Update validate_equiv_mem call.
+
+2016-04-30  Alan Modra  <amodra@gmail.com>
+
+	* ira.c (combine_and_move_insns): Rather than scanning insns,
+	use DF infrastucture to find use and def insns.
+
+2016-04-30  Alan Modra  <amodra@gmail.com>
+
+	ira.c (combine_and_move_insns): Move invariant conditions..
+	(ira.c): ..to here.  Call combine_and_move_insns before
+	add_store_equivs.  Call grow_reg_equivs later.  Allocate
+	req_equiv later using max_reg_num() rather than global max_regno.
+	(contains_replace_regs): Delete.
+	(add_store_equivs): Remove contains_replace_regs test.
+
+2016-04-30  Alan Modra  <amodra@gmail.com>
+
+	* ira.c (struct equiv_mem_data): New.
+	(equiv_mem, equiv_mem_modified): Delete static vars.
+	(validate_equiv_mem_from_store): Use "data" param to communicate..
+	(validate_equiv_mem): ..from here.
+
+2016-04-30  Alan Modra  <amodra@gmail.com>
+
+	* ira.c (add_store_equivs, combine_and_move_insns): New functions,
+	split out from..
+	(update_reg_equivs): ..here.  Move allocation and freeing of
+	reg_equiv, and calls to grow_reg_equivs, init_alias_analysis,
+	end_alias_analysis to..
+	(ira): ..here.
+
+2016-04-30  Alan Modra  <amodra@gmail.com>
+
+	* ira.c (pdx_subregs): Delete.
+	(struct equivalence): Add pdx_subregs field.
+	(set_paradoxical_subreg): Remove pdx_subregs param.  Update
+	pdx_subregs access.
+	(update_equiv_regs): Don't create or free pdx_subregs.  Update
+	pdx_subregs access.
+
+2016-04-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/altivec.h: Change definitions of vec_xl and
+	vec_xst.
+	* config/rs6000/rs6000-builtin.def (LD_ELEMREV_V2DF): New.
+	(LD_ELEMREV_V2DI): New.
+	(LD_ELEMREV_V4SF): New.
+	(LD_ELEMREV_V4SI): New.
+	(LD_ELEMREV_V8HI): New.
+	(LD_ELEMREV_V16QI): New.
+	(ST_ELEMREV_V2DF): New.
+	(ST_ELEMREV_V2DI): New.
+	(ST_ELEMREV_V4SF): New.
+	(ST_ELEMREV_V4SI): New.
+	(ST_ELEMREV_V8HI): New.
+	(ST_ELEMREV_V16QI): New.
+	(XL): New.
+	(XST): New.
+	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
+	descriptions for VSX_BUILTIN_VEC_XL and VSX_BUILTIN_VEC_XST.
+	* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Map from
+	TARGET_P9_VECTOR to RS6000_BTM_P9_VECTOR.
+	(altivec_expand_builtin): Add handling for
+	VSX_BUILTIN_ST_ELEMREV_<MODE> and VSX_BUILTIN_LD_ELEMREV_<MODE>.
+	(rs6000_invalid_builtin): Add error-checking for
+	RS6000_BTM_P9_VECTOR.
+	(altivec_init_builtins): Define builtins used to implement vec_xl
+	and vec_xst.
+	(rs6000_builtin_mask_names): Define power9-vector.
+	* config/rs6000/rs6000.h (MASK_P9_VECTOR): Define.
+	(RS6000_BTM_P9_VECTOR): Define.
+	(RS6000_BTM_COMMON): Include RS6000_BTM_P9_VECTOR.
+	* config/rs6000/vsx.md (vsx_ld_elemrev_v2di): New define_insn.
+	(vsx_ld_elemrev_v2df): Likewise.
+	(vsx_ld_elemrev_v4sf): Likewise.
+	(vsx_ld_elemrev_v4si): Likewise.
+	(vsx_ld_elemrev_v8hi): Likewise.
+	(vsx_ld_elemrev_v16qi): Likewise.
+	(vsx_st_elemrev_v2df): Likewise.
+	(vsx_st_elemrev_v2di): Likewise.
+	(vsx_st_elemrev_v4sf): Likewise.
+	(vsx_st_elemrev_v4si): Likewise.
+	(vsx_st_elemrev_v8hi): Likewise.
+	(vsx_st_elemrev_v16qi): Likewise.
+	* doc/extend.texi: Add prototypes for vec_xl and vec_xst.  Correct
+	grammar.
+
+2016-04-29  Patrick Palka  <ppalka@gcc.gnu.org>
+
+	* tree-ssa-threadedge.c (simplify_control_stmt_condition): Split
+	out into ...
+	(simplify_control_stmt_condition_1): ... here.  Recurse into
+	BIT_AND_EXPRs and BIT_IOR_EXPRs.
+
+2016-04-29  David Edelsohn  <dje.gcc@gmail.com>
+
+	PR target/69810
+	* config/rs6000/rs6000.md (EXTQI): Don't allow extension to HImode.
+	(zero_extendqi<mode>2_dot): Revert earlier conversion from
+	define_insn_and_split to define_insn.
+	(zero_extendqi<mode>2_dot2): Same.
+	(extendqi<mode>2_dot): Same.
+	(extendqi<mode>2_dot2): Same.
+
+2016-04-29  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (unspec): Add UNSPEC_PROBE_STACK.
+	(probe_stack): New expander.
+	(probe_stack_<mode>): New insn pattern.
+
+2016-04-29  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md
+	(operations with memory inputs setting flags peephole2):
+	Remove uneeded REG_P checks.  Cleanup pattern generation.
+
+2016-04-29  Ilya Enkovich  <ilya.enkovich@intel.com>
+
+	* tree-vect-loop.c (vect_transform_loop): Fix
+	nb_iterations_upper_bound computation for vectorized loop.
+
+2016-04-29  Marek Polacek  <polacek@redhat.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/70342
+	* fold-const.c (tree_single_nonzero_warnv_p): For TARGET_EXPR, use
+	TARGET_EXPR_SLOT as a base.
+
+2016-04-29  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* config/arc/arc.md (*loadqi_update): Replace use of 'rI' constraint
+	with 'rCm2' constraints to limit possible immediate size.
+	(*load_zeroextendqisi_update): Likewise.
+	(*load_signextendqisi_update): Likewise.
+	(*loadhi_update): Likewise.
+	(*load_zeroextendhisi_update): Likewise.
+	(*load_signextendhisi_update): Likewise.
+	(*loadsi_update): Likewise.
+	(*loadsf_update): Likewise.
+
+2016-04-29  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/predicates.md (constm1_operand): Fix comparison.
+
+2016-04-29  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* testsuite/gcc.target/arc/ieee_eq.c: New test.
+
+2016-04-29  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	* common/config/sh/sh-common.c (sh_option_optimization_table): Remove
+	remaining SH5 related settings.
+	* config/sh/sh-protos.h (shmedia_cleanup_truncate,
+	shmedia_prepare_call_address): Delete.
+	* config/sh/sh.c (sh_print_operand, output_stack_adjust,
+	DWARF_CIE_DATA_ALIGNMENT, LOCAL_ALIGNMENT): Update comments.
+	* config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC,
+	UNSUPPORTED_SH2A): Remove m5 checks.
+	(sh_divide_strategy_e): Remove SH5 division strategies.
+	(TARGET_PTRMEMFUNC_VBIT_LOCATION): Remove and use default.
+	* config/sh/sh.md (divsf3): Reinstate define_expand pattern.
+
+2016-04-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	* config/s390/s390.c (s390_rtx_costs): Update documentation.
+
+2016-04-29  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/2964.md ("z13_unit_fxu", "z13_0"): Remove lder.
+	* config/s390/s390.md ("movsi_larl", "*movsi_esa", "mov<mode>"):
+	Change lder to ldr.
+	* config/s390/vector.md ("mov<mode>"): Likewise.
+
+2016-04-29  Ulrich Weigand  <uweigand@de.ibm.com>
+
+	* config/s390/constraints.md ("U", "W"): Invoke
+	s390_mem_constraint with "ZR" and "ZT".
+	* config/s390/s390.c (s390_check_qrst_address): Reject invalid
+	addresses when using LRA.  Accept also short displacements for S
+	and T constraints.  Do not check for long displacement target for
+	S and T constraints.
+	(s390_mem_constraint): Remove handling of U and W constraints.
+	* config/s390/s390.md (various patterns): Remove the short
+	displacement constraints (Q and R) if a long displacement
+	constraint is present.  Add longdisp as required CPU capability.
+	* config/s390/vector.md: Likewise.
+	* config/s390/vx-builtins.md: Likewise.
+
+2016-04-29  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
+
+	PR target/60040
+	* reload1.c (reload): Call finish_spills before
+	restarting reload loop. Skip select_reload_regs
+	if update_eliminables_and_spill returns true.
+
+2016-04-29  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.h (UNSIGNED_INT12, UNSIGNED_INT16): Define.
+	* config/arc/arc.md (umulhisi3): Use arc_short_operand predicate.
+	(umulhisi3_imm): Update predicates and constraint letters.
+	(umulhisi3_reg): Declare instruction as commutative.
+	* config/arc/constraints.md (J12, J16): New constraints.
+	* config/arc/predicates.md (short_unsigned_const_operand): New
+	predicate.
+	(arc_short_operand): Likewise.
+	* testsuite/gcc.target/arc/umulsihi3_z.c: New file.
+
+2016-04-29  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/13962
+	PR tree-optimization/65686
+	* tree-ssa-alias.h (ptrs_compare_unequal): Declare.
+	* tree-ssa-alias.c (ptrs_compare_unequal): New function
+	using PTA to compare pointers.
+	* match.pd: Add pattern for pointer equality compare simplification
+	using ptrs_compare_unequal.
+
+2016-04-29  Richard Biener  <rguenther@suse.de>
+
+	* stor-layout.c (layout_type): Do not build a pointer-to-element
+	type for arrays.
+
+2016-04-29  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (Load+RegOp to Mov+MemOp peephole2):
+	Use SWI mode iterator.  Use general_reg_operand predicate.
+	(Load+RegOp to Mov+MemOp peephole2 with vector regs): Split
+	peephole to MMX and SSE part.  Use mmx_reg_operand and sse_reg_operand
+	predicates.
+
+2016-04-29  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/70843
+	* fold-const.c (operand_equal_p): Don't verify hash value equality
+	if arg0 == arg1.
+	* tree.c (inchash::add_expr): Handle STATEMENT_LIST.  Ignore BLOCK
+	and OMP_CLAUSE.
+
+2016-04-28  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/70858
+	* config/i386/i386.c (bdesc_special_args): Add | OPTION_MASK_ISA_64BIT
+	to __builtin_ia32_lwpval64 and __builtin_ia32_lwpins64.
+	(bdesc_args): Add | OPTION_MASK_ISA_64BIT to __builtin_ia32_bextr_u64,
+	__builtin_ia32_bextri_u64, __builtin_ia32_bzhi_di,
+	__builtin_ia32_pdep_di and __builtin_ia32_pext_di.
+
+2016-04-28  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.c (compute_save_world_info): Rename info_ptr
+	to info.  Don't initialize separate fields to 0.  Clean up
+	formatting a bit.
+
+2016-04-28  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (peephole2s for operations with memory inputs):
+	Use SWI mode iterator.
+	(peephole2s for operations with memory outputs): Ditto.
+	Do not check for stack checking probe.
+
+	(probe_stack): Remove expander.
+
+2016-04-28  Joern Rennecke  <joern.rennecke@embecosm.com>
+	    Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* config/arc/arc.c (arc_print_operand): Print integer 'H' / 'L'
+	operands as 32-bits.
+
+2016-04-28  Jason Merrill  <jason@redhat.com>
+
+	* gdbinit.in: Skip line-map.h.
+
+2016-04-28  Joern Rennecke  <joern.rennecke@embecosm.com>
+	    Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* config/arc/arc.c (arc_conditional_register_usage): Take
+	TARGET_RRQ_CLASS into account.
+	(arc_print_operand): Support printing 'p' and 's' operands.
+	* config/arc/arc.h (TARGET_NPS_BITOPS_DEFAULT): Provide default
+	as 0.
+	(TARGET_RRQ_CLASS): Define.
+	(IS_POWEROF2_OR_0_P): Define.
+	* config/arc/arc.md (*movsi_insn): Add w/Clo, w/Chi, and w/Cbi
+	alternatives.
+	(*tst_movb): New define_insn.
+	(*tst): Avoid recognition if it could prevent '*tst_movb'
+	combination; replace c/CnL with c/Chs alternative.
+	(*tst_bitfield_tst): New define_insn.
+	(*tst_bitfield_asr): New define_insn.
+	(*tst_bitfield): New define_insn.
+	(andsi3_i): Add Rrq variant.
+	(extzv): New define_expand.
+	(insv): New define_expand.
+	(*insv_i): New define_insn.
+	(*movb): New define_insn.
+	(*movb_signed): New define_insn.
+	(*movb_high): New define_insn.
+	(*movb_high_signed): New define_insn.
+	(*movb_high_signed + 1): New define_split pattern.
+	(*mrgb): New define_insn.
+	(*mrgb + 1): New define_peephole2 pattern.
+	(*mrgb + 2): New define_peephole2 pattern.
+	* config/arc/arc.opt (mbitops): New option for nps400, uses
+	TARGET_NPS_BITOPS_DEFAULT.
+	* config/arc/constraints.md (q): Make register class conditional.
+	(Rrq): New register constraint.
+	(Chs): New constraint.
+	(Clo): New constraint.
+	(Chi): New constraint.
+	(Cbf): New constraint.
+	(Cbn): New constraint.
+	(C18): New constraint.
+	(Cbi): New constraint.
+
+2016-04-28  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* cfganal.c (bitmap_intersection_of_succs): Delete assert checking
+	dst->popcount.
+	(bitmap_intersection_of_preds): Ditto.
+	(bitmap_union_of_succs): Ditto.
+	(bitmap_union_of_preds): Ditto.
+	* sbitmap.c (do_popcount): Delete.
+	(BITMAP_DEBUGGING): Delete.
+	(sbitmap_verify_popcount): Delete.
+	(sbitmap_alloc): Don't initialize the popcount field.
+	(sbitmap_alloc_with_popcount): Delete.
+	(sbitmap_resize): Don't resize the popcount array.
+	(sbitmap_vector_alloc): Don't initialize the popcount field.
+	(bitmap_copy): Don't copy the popcount array.
+	(bitmap_clear): Don't clear the popcount array.
+	(bitmap_clear): Delete the popcount array handling.
+	(bitmap_ior_and_compl): Delete the popcount assert.
+	(bitmap_not): Ditto.
+	(bitmap_and_compl): Ditto.
+	(bitmap_and): Delete the popcount array handling.
+	(bitmap_xor): Ditto.
+	(bitmap_ior): Ditto.
+	(bitmap_or_and): Delete the popcount assert.
+	(bitmap_and_or): Ditto.
+	(popcount_table): Delete.
+	(sbitmap_elt_popcount): Delete.
+	* sbitmap.h (simple_bitmap_def): Delete the popcount field.
+	(bitmap_set_bit): Delete the popcount assert.
+	(bitmap_clear_bit): Ditto.
+	(sbitmap_free): Don't free the popcount array.
+	(sbitmap_alloc_with_popcount): Delete declaration.
+	(sbitmap_popcount): Ditto.
+
+2016-04-28  Joern Rennecke  <joern.rennecke@embecosm.com>
+	    Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* config/arc/arc.h (SYMBOL_FLAG_CMEM): Define.
+	(TARGET_NPS_CMEM_DEFAULT): Provide default definition.
+	* config/arc/arc.c (arc_address_cost): Return 0 for cmem_address.
+	(arc_encode_section_info): Set SYMBOL_FLAG_CMEM where indicated.
+	* config/arc/arc.opt (mcmem): New option.
+	* config/arc/arc.md (*extendqihi2_i): Add r/Uex alternative,
+	supply length for r/m alternative.
+	(*extendqisi2_ac): Likewise.
+	(*extendhisi2_i): Add r/Uex alternative, supply length for r/m and
+	r/Uex alternative.
+	(movqi_insn): Add r/Ucm and Ucm/?Rac alternatives.
+	(movhi_insn): Likewise.
+	(movsi_insn): Add r/Ucm,Ucm/w alternatives.
+	(*zero_extendqihi2_i): Add r/Ucm alternative.
+	(*zero_extendqisi2_ac): Likewise.
+	(*zero_extendhisi2_i): Likewise.
+	* config/arc/constraints.md (Uex): New memory constraint.
+	(Ucm): New define_constraint.
+	* config/arc/predicates.md (long_immediate_loadstore_operand):
+	Return 0 for MEM with cmem_address address.
+	(cmem_address_0): New predicates.
+	(cmem_address_1): Likewise.
+	(cmem_address_2): Likewise.
+	(cmem_address): Likewise.
+
+2016-04-28  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.c (machine_function): Rename
+	insn_chain_scanned_p to spe_insn_chain_scanned_p.
+	(rs6000_stack_info): Adjust.
+
+2016-04-28  Joern Rennecke  <joern.rennecke@embecosm.com>
+	    Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* config/arc/constraints.md (Usd): Convert to define_constraint.
+	(Us<): Likewise.
+	(Us>): Likewise.
+
+2016-04-28  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/70821
+	* config/i386/sync.md (define_peephole2 *atomic_fetch_add_cmp<mode>):
+	Add new peephole2 where the first insn is *mov<mode>_or instead of
+	*mov<mode>_internal.
+
+2016-04-28  Segher Boesssenkool  <segher@kernel.crashing.org>
+
+	* tracer.c (bb_seen): Make static.
+
+2016-04-28  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* common/config/arc/arc-common.c (arc_handle_option): Add NPS400
+	support, setup defaults.
+	* config/arc/arc-opts.h (enum processor_type): Add NPS400.
+	* config/arc/arc.c (arc_init): Add NPS400 support.
+	* config/arc/arc.h (CPP_SPEC): Add NPS400 defines.
+	(TARGET_ARC700): NPS400 is also an ARC700.
+	* config/arc/arc.opt: Add NPS400 options to -mcpu=.
+
+2016-04-28  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR target/70668
+	* config/nds32/nds32.md (casesi): Don't access the operands array
+	out of bounds.
+
+2016-04-28  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (zeroing peephole2): Use general_reg_operand.
+	(or $-1,reg peephole2): Ditto.
+	(strict_low_part zeroing peephole2): Use SWI12 mode iterator.
+
+2016-04-28  Markus Trippelsdorf  <markus@trippelsdorf.de>
+
+	* doc/extend.texi (Common Function Attributes) [optimize]:
+	Discourage use of the optimize attribute.
+
+2016-04-28  Bill Seurer  <seurer@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000-builtin.def (vec_adde): Change vec_adde to a
+	special case builtin.
+	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
+	ALTIVEC_BUILTIN_VEC_ADDE.
+	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add
+	support for ALTIVEC_BUILTIN_VEC_ADDE.
+	* config/rs6000/rs6000.c (altivec_init_builtins): Add definition
+	for __builtin_vec_adde.
+
+2016-04-28  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/i386.md (sse4_1_round<mode>2): Add avx512f alternative.
+	* config/i386/sse.md (sse4_1_round<ssescalarmodesuffix>): Likewise.
+
+2016-04-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	PR testsuite/70595
+	* doc/sourcebuild.texi (Effective-Target Keywords, Other
+	attributes): Document cilkplus_runtime.
+
+2016-04-28  Martin Jambor  <mjambor@suse.cz>
+
+	* tree-cfg.c (verify_expr): Verify that local declarations belong to
+	this function.  Call verify_expr on MEM_REFs and bases of other
+	handled_components.
+
+2016-04-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* internal-fn.c (expand_arith_overflow): Convert preprocessor check
+	for WORD_REGISTER_OPERATIONS to runtime check.
+
+2016-04-28  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.h (ASM_SPEC): Pass mfpuda to assembler.
+
+2016-04-28  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (arc_process_double_reg_moves): Fix for
+	big-endian compilation.
+	* config/arc/arc.md (addf3): Likewise.
+	(subdf3): Likewise.
+	(muldf3): Likewise.
+
+2016-04-28  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/70840
+	* match.pd: powi(-x, y) and powi(|x|,y) -> powi(x,y) if y is even;
+	Fix pow(copysign(x, y), z) -> pow(x, z) and add powi variant;
+	Mark x * pow(x,c) -> pow(x,c+1) commutative.
+	Add powi(x,y) * powi(z,y) -> powi(x*z,y).
+
+2015-04-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64.h (WORD_REGISTER_OPERATIONS): Define to 0
+	and explain why in a comment.
+
+2016-04-28  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.md (cpu_facility): Add fpx variant.
+	(subdf3): Prohibit use reverse sub when assist operations option
+	is enabled.
+	* config/arc/fpx.md (subdf3_insn, *dsubh_peep2_insn): Allow drsub
+	instructions only when FPX is enabled.
+	* testsuite/gcc.target/arc/trsub.c: New test.
+
+2016-04-28  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*fop_<mode>_1_mixed): Do not check for
+	mult_operator when calculating "type" attribute.
+	(*fop_<mode>_1_i387): Ditto.
+	(*fop_xf_1_i387): Ditto.
+	(x87 stack loads peephole2): Add "reg = op (mem, reg)" peephole2.
+	Use std::swap to swap operands.  Use RTL expressions to generate
+	converted pattern.
+
+2016-04-28  Claudiu Zissulescu  <claziss@synopsys.com>
+	    Joern Rennecke  <joern.rennecke@embecosm.com>
+
+	* config/arc/arc-protos.h (arc_legitimize_pic_address): Remove
+	declaration.
+	(emit_pic_move): Remove.
+	(arc_eh_uses, insn_is_tls_gd_dispatch): Declare.
+	* config/arc/arc.c (emit_pic_move): Removed.
+	(TARGET_HAVE_TLS): Define.
+	(arc_conditional_register_usage): Test for arc_tp_regno.
+	(arc_print_operand, arc_print_operand_address): Handle TLS
+	unspecs.
+	(arc_needs_pcl_p): New function.
+	(arc_legitimate_pc_offset_p): Use arc_needs_pcl_p.
+	(arc_legitimate_pic_addr_p): Handle TLS unspecs.
+	(arc_raw_symbolic_reference_mentioned_p): Likewise.
+	(arc_get_tp, arc_emit_call_tls_get_addr): New function.
+	(arc_legitimize_tls_address): Likewise.
+	(DTPOFF_ZERO_SYM): Define.
+	(arc_legitimize_pic_address): Make it static, handle TLS cases.
+	(arc_output_pic_addr_const): Print TLS unspecs.
+	(prepare_pic_move): New function, replaces emit_pic_move.
+	(arc_legitimate_constant_p): Handle TLS unspecs.
+	(arc_legitimate_address_p): Likewise.
+	(arc_rewrite_small_data_p): Use assert for TLS constants.
+	(prepare_move_operands): Use prepare_pic_move.
+	(arc_legitimize_address): Legitimize tls addresses.
+	(arc_epilogue_uses): Check for arc_tp_regno.
+	(arc_eh_uses, insn_is_tls_gd_dispatch): New function.
+	* config/arc/arc.h [DEFAULT_LIBC != LIBC_UCLIBC] (EXTRA_SPECS):
+	Define.
+	[DEFAULT_LIBC != LIBC_UCLIBC] (ARC_TLS_EXTRA_START_SPEC):
+	Likewise.
+	[DEFAULT_LIBC != LIBC_UCLIBC] (STARTFILE_SPEC): Add
+	%(arc_tls_extra_start_spec).
+	(TARGET_CPU_CPP_BUILTINS): Define __ARC_TLS_REGNO__.
+	(REGNO_OK_FOR_BASE_P): Check for arc_tp_regno.
+	(EH_USES): Define.
+	(INSN_REFERENCES_ARE_DELAYED): Use insn_is_tls_gd_dispatch.
+	* config/arc/arc.md (UNSPEC_TLS_GD, UNSPEC_TLS_LD, UNSPEC_TLS_IE)
+	(UNSPEC_TLS_OFF): Add.
+	(R10_REG): Define.
+	(tls_load_tp_soft, tls_gd_load, tls_gd_get_addr, tls_gd_dispatch)
+	(get_thread_pointersi): New patterns.
+	* config/arc/arc.opt (mtp-regno): New option.
+	* config/arc/predicates.md (move_src_operand): Handle TLS symbols.
+	(move_dest_operand): Likewise.
+	* configure: Regenerate.
+	* configure.ac: Add arc*-*-* case to test for tls.
+	* doc/invoke.texi (ARC options): Document mtp-regno.
+
+2016-04-28  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (arc_vector_mode_supported_p): Add support for
+	the new ARC HS SIMD instructions.
+	(arc_preferred_simd_mode): New function.
+	(arc_autovectorize_vector_sizes): Likewise.
+	(TARGET_VECTORIZE_PREFERRED_SIMD_MODE)
+	(TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
+	(arc_init_reg_tables): Accept new ARC HS SIMD modes.
+	(arc_init_builtins): Add new SIMD builtin types.
+	(arc_split_move): Handle 64 bit vector moves.
+	* config/arc/arc.h (TARGET_PLUS_DMPY, TARGET_PLUS_MACD)
+	(TARGET_PLUS_QMACW): Define.
+	* config/arc/builtins.def (QMACH, QMACHU, QMPYH, QMPYHU, DMACH)
+	(DMACHU, DMPYH, DMPYHU, DMACWH, DMACWHU, VMAC2H, VMAC2HU, VMPY2H)
+	(VMPY2HU, VADDSUB2H, VSUBADD2H, VADDSUB, VSUBADD, VADDSUB4H)
+	(VSUBADD4H): New builtins.
+	* config/arc/simdext.md: Add new ARC HS SIMD instructions.
+	* testsuite/gcc.target/arc/builtin_simdarc.c: New file.
+
+2016-04-28  Eduard Sanou  <dhole@openmailbox.org>
+	    Matthias Klose  <doko@debian.org>
+
+	* doc/cppenv.texi: Document SOURCE_DATE_EPOCH environment variable.
+
+2016-04-28  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/70777
+	* fold-const.c (fold_binary_loc): Remove x*x to pow(x,2.0)
+	canonicalization.
+
+2016-04-28  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	* common/config/sh/sh-common.c: Remove SH5 support.
+	* config/sh/constraints.md: Likewise.
+	* config/sh/config/sh/elf.h: Likewise.
+	* config/sh/linux.h: Likewise.
+	* config/sh/netbsd-elf.h: Likewise.
+	* config/sh/predicates.md: Likewise.
+	* config/sh/sh-c.c: Likewise.
+	* config/sh/sh-protos.h: Likewise.
+	* config/sh/sh.c: Likewise.
+	* config/sh/sh.h: Likewise.
+	* config/sh/sh.md: Likewise.
+	* config/sh/sh.opt: Likewise.
+	* config/sh/sync.md: Likewise.
+	* config/sh/sh64.h: Delete.
+	* config/sh/shmedia.h: Likewise.
+	* config/sh/shmedia.md: Likewise.
+	* config/sh/sshmedia.h: Likewise.
+	* config/sh/t-netbsd-sh5-64: Likewise.
+	* config/sh/t-sh64: Likewise.
+	* config/sh/ushmedia.h: Likewise.
+
+2016-04-28  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (sign_extend to memory peephole2s): Use
+	general_reg_operand instead of register_operand predicate.
+
+2016-04-27  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	* params.def (MIN_PARTITION_SIZE): Set default value to 10000.
+
+2016-04-27  Marc Glisse  <marc.glisse@inria.fr>
+
+	* match.pd (A - B > A, A + B < A): New transformations.
+
+2016-04-27  Patrick Palka  <ppalka@gcc.gnu.org>
+
+	* genattrtab.c (write_test_expr): New parameter EMIT_PARENS
+	which defaults to true.  Emit an outer pair of parentheses only if
+	EMIT_PARENS.  When continuing a chain of && or || (or & or |),
+	don't emit parentheses for the right-hand operand.
+
+2016-04-27  Jeff Law  <law@redhat.com>
+
+	* tree-ssa-dom.c (record_temporary_equivalences): Fix typo in comment.
+
+2016-04-27  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/altivec.md (altivec_lvx_<mode>): Remove.
+	(altivec_lvx_<mode>_internal): Document.
+	(altivec_lvx_<mode>_2op): New define_insn.
+	(altivec_lvx_<mode>_1op): Likewise.
+	(altivec_lvx_<mode>_2op_si): Likewise.
+	(altivec_lvx_<mode>_1op_si): Likewise.
+	(altivec_stvx_<mode>): Remove.
+	(altivec_stvx_<mode>_internal): Document.
+	(altivec_stvx_<mode>_2op): New define_insn.
+	(altivec_stvx_<mode>_1op): Likewise.
+	(altivec_stvx_<mode>_2op_si): Likewise.
+	(altivec_stvx_<mode>_1op_si): Likewise.
+	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
+	Expand vec_ld and vec_st during parsing.
+	* config/rs6000/rs6000.c (altivec_expand_lvx_be): Commentary
+	changes.
+	(altivec_expand_stvx_be): Likewise.
+	(altivec_expand_lv_builtin): Expand lvx built-ins to expose the
+	address-masking behavior in RTL.
+	(altivec_expand_stv_builtin): Expand stvx built-ins to expose the
+	address-masking behavior in RTL.
+	(altivec_expand_builtin): Change builtin code arguments for calls
+	to altivec_expand_stv_builtin and altivec_expand_lv_builtin.
+	(insn_is_swappable_p): Avoid incorrect swap optimization in the
+	presence of lvx/stvx patterns.
+	(alignment_with_canonical_addr): New function.
+	(alignment_mask): Likewise.
+	(find_alignment_op): Likewise.
+	(recombine_lvx_pattern): Likewise.
+	(recombine_stvx_pattern): Likewise.
+	(recombine_lvx_stvx_patterns): Likewise.
+	(rs6000_analyze_swaps): Perform a pre-pass to recognize lvx and
+	stvx patterns from expand.
+	* config/rs6000/vector.md (vector_altivec_load_<mode>): Use new
+	expansions.
+	(vector_altivec_store_<mode>): Likewise.
+
+2016-04-26  Evandro Menezes  <e.menezes@samsung.com>
+
+	* config/aarch64/aarch64.md
+	(*movhf_aarch64): Add "movi %0, #0" to zero up register and
+	remove the "fp" attributes.
+	(*movsf_aarch64): Add "movi %0, #0" to zero up register and
+	add the "simd" attributes.
+	(*movdf_aarch64): Likewise.
+	(*movtf_aarch64): Remove the "fp" attributes.
+	* testsuite/gcc.target/aarch64/fmovf-zero-reg.c: Update accordingly.
+	* testsuite/gcc.target/aarch64/fmovd-zero-reg.c: Likewise.
+
+2016-04-27  David Malcolm  <dmalcolm@redhat.com>
+
+	* emit-rtl.c (maybe_set_first_label_num): Strengthen param from
+	rtx to rtx_code_label *.
+	* rtl.h (maybe_set_first_label_num): Likewise.
+
+2016-04-27  David Malcolm  <dmalcolm@redhat.com>
+
+	* df-core.c (df_add_problem): Make the problem param be const.
+	(df_remove_problem): Make local "problem" be const.
+	* df-problems.c (problem_RD): Make const.
+	(problem_LR): Likewise.
+	(problem_LIVE): Likewise.
+	(problem_MIR): Likewise.
+	(problem_CHAIN): Likewise.
+	(problem_WORD_LR): Likewise.
+	(problem_NOTE): Likewise.
+	(problem_MD): Likewise.
+	* df-scan.c (problem_SCAN): Likewise.
+	* df.h (struct df_problem): Make field "dependent_problem" be
+	const.
+	(struct dataflow): Likewise for field "problem".
+	(df_add_problem): Make param const.
+
+2016-04-27  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (ix86_spill_class): Enable for TARGET_SSE2 when
+	inter-unit moves to/from vector registers are enabled.  Do not disable
+	for TARGET_MMX.
+
+2016-04-27  David Malcolm  <dmalcolm@redhat.com>
+
+	* df.h (DF_SCAN, DF_LR, DF_LIVE, DF_RD, DF_CHAIN, DF_WORD_LR,
+	DF_NOTE, DF_MD, DF_MIR, DF_LAST_PROBLEM_PLUS1): Convert from
+	#define to...
+	(enum df_problem_id): ...this new enum.
+	(struct df_problem): Convert field "id" from "int" to
+	enum df_problem_id.
+
+2016-04-27  David Malcolm  <dmalcolm@redhat.com>
+
+	* rtl.def: Update comment for "things in the instruction chain" to
+	reflect the removal of the leading "i" field for INSN_UID in
+	r210360.  Fix bogus apostrophe.
+
+2016-04-27  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md
+	(lea arith with mem operand + setcc peephole2): Set operator mode.
+
+2016-04-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/70155
+	* config/i386/i386.c (scalar_to_vector_candidate_p): Renamed to ...
+	(dimode_scalar_to_vector_candidate_p): This.
+	(timode_scalar_to_vector_candidate_p): New function.
+	(scalar_to_vector_candidate_p): Likewise.
+	(timode_check_non_convertible_regs): Likewise.
+	(timode_remove_non_convertible_regs): Likewise.
+	(remove_non_convertible_regs): Likewise.
+	(remove_non_convertible_regs): Renamed to ...
+	(dimode_remove_non_convertible_regs): This.
+	(scalar_chain::~scalar_chain): Make it virtual.
+	(scalar_chain::compute_convert_gain): Make it pure virtual.
+	(scalar_chain::mark_dual_mode_def): Likewise.
+	(scalar_chain::convert_insn): Likewise.
+	(scalar_chain::convert_registers): Likewise.
+	(scalar_chain::add_to_queue): Make it protected.
+	(scalar_chain::emit_conversion_insns): Likewise.
+	(scalar_chain::replace_with_subreg): Likewise.
+	(scalar_chain::replace_with_subreg_in_insn): Likewise.
+	(scalar_chain::convert_op): Likewise.
+	(scalar_chain::convert_reg): Likewise.
+	(scalar_chain::make_vector_copies): Likewise.
+	(scalar_chain::convert_registers): New pure virtual function.
+	(class dimode_scalar_chain): New class.
+	(class timode_scalar_chain): Likewise.
+	(scalar_chain::mark_dual_mode_def): Renamed to ...
+	(dimode_scalar_chain::mark_dual_mode_def): This.
+	(timode_scalar_chain::mark_dual_mode_def): New function.
+	(timode_scalar_chain::convert_insn): Likewise.
+	(dimode_scalar_chain::convert_registers): Likewise.
+	(scalar_chain::compute_convert_gain): Renamed to ...
+	(dimode_scalar_chain::compute_convert_gain): This.
+	(scalar_chain::replace_with_subreg): Renamed to ...
+	(dimode_scalar_chain::replace_with_subreg): This.
+	(scalar_chain::replace_with_subreg_in_insn): Renamed to ...
+	(dimode_scalar_chain::replace_with_subreg_in_insn): This.
+	(scalar_chain::make_vector_copies): Renamed to ...
+	(dimode_scalar_chain::make_vector_copies): This.
+	(scalar_chain::convert_reg): Renamed to ...
+	(dimode_scalar_chain::convert_reg ): This.
+	(scalar_chain::convert_op): Renamed to ...
+	(dimode_scalar_chain::convert_op): This.
+	(scalar_chain::convert_insn): Renamed to ...
+	(dimode_scalar_chain::convert_insn): This.
+	(scalar_chain::convert): Call convert_registers.
+	(convert_scalars_to_vector): Change to scalar_chain pointer to
+	use timode_scalar_chain in 64-bit mode and dimode_scalar_chain
+	in 32-bit mode.  Delete scalar_chain pointer.  Call
+	free_dominance_info in 64-bit mode.
+	(pass_stv::gate): Remove TARGET_64BIT check.
+	(ix86_option_override): Put the 64-bit STV pass before the CSE
+	pass.
+
+2016-04-27  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* dwarf2out.h (struct dw_loc_descr_node): Remove the
+	dw_loc_frame_offset field.
+	* dwarf2out.c (new_loc_descr): Likewise.
+	(resolve_args_picking_1): Turn the VISITED hash set into a
+	FRAME_OFFSET hash map. Use it to associate a frame offset to
+	visited nodes. Remove uses of the CHECKING_P macro.
+	(resolve_args_picking): Update call to resolve_args_picking_1.
+
+2016-04-27  Martin Liska  <mliska@suse.cz>
+
+	* tree-ssa-loop-ivopts.c (iv_ca_dump): Fix level of indentation.
+	(free_loop_data): Release vuses of groups.
+
+2016-04-27  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (struct iv): Use pointer to struct iv_use
+	instead of redundant use_id and boolean have_use_for.
+	(struct iv_use): Change sub_id into group_id.  Remove field next.
+	Move fields: related_cands, n_map_members, cost_map and selected
+	to ...
+	(struct iv_group): ... here.  New structure.
+	(struct iv_common_cand): Use structure declaration directly.
+	(struct ivopts_data, iv_ca, iv_ca_delta): Rename fields.
+	(MAX_CONSIDERED_USES): Rename macro to ...
+	(MAX_CONSIDERED_GROUPS): ... here.
+	(n_iv_uses, iv_use, n_iv_cands, iv_cand): Delete.
+	(dump_iv, dump_use, dump_cand): Refactor format of dump information.
+	(dump_uses): Rename to ...
+	(dump_groups): ... here.  Update all uses.
+	(tree_ssa_iv_optimize_init, alloc_iv): Update all uses.
+	(find_induction_variables): Refactor format of dump information.
+	(record_sub_use): Delete.
+	(record_use): Update all uses.
+	(record_group): New function.
+	(record_group_use, find_interesting_uses_op): Call above functions.
+	Update all uses.
+	(find_interesting_uses_cond): Ditto.
+	(group_compare_offset): New function.
+	(split_all_small_groups): Rename to ...
+	(split_small_address_groups_p): ... here.  Update all uses.
+	(split_address_groups):  Update all uses.
+	(find_interesting_uses): Refactor format of dump information.
+	(add_candidate_1): Update all uses.  Remove redundant check on iv,
+	base and step.
+	(add_candidate, record_common_cand): Remove redundant assert.
+	(add_iv_candidate_for_biv): Update use.
+	(add_iv_candidate_derived_from_uses): Update all uses.
+	(add_iv_candidate_for_groups, record_important_candidates): Ditto.
+	(alloc_use_cost_map): Ditto.
+	(set_use_iv_cost, get_use_iv_cost): Rename to ...
+	(set_group_iv_cost, get_group_iv_cost): ... here.  Update all uses.
+	(determine_use_iv_cost_generic): Ditto.
+	(determine_group_iv_cost_generic): Ditto.
+	(determine_use_iv_cost_address): Ditto.
+	(determine_group_iv_cost_address): Ditto.
+	(determine_use_iv_cost_condition): Ditto.
+	(determine_group_iv_cost_cond): Ditto.
+	(determine_use_iv_cost): Ditto.
+	(determine_group_iv_cost): Ditto.
+	(set_autoinc_for_original_candidates): Update all uses.
+	(find_iv_candidates): Update all uses.  Refactor dump information.
+	(determine_use_iv_costs): Ditto.
+	(determine_iv_costs): Ditto.
+	(iv_ca_cand_for_use): Rename to ...
+	(iv_ca_cand_for_group): ... here.  Update all uses.
+	(iv_ca_add_use, iv_ca_add_group): Ditto.
+	(iv_ca_set_cp, iv_ca_cost, iv_ca_delta_add): Update all uses.
+	(iv_ca_delta_join, iv_ca_delta_reverse, iv_ca_delta_free): Ditto.
+	(iv_ca_new, iv_ca_dump, iv_ca_extend, iv_ca_narrow): Ditto.
+	(iv_ca_prune, cheaper_cost_with_cand, iv_ca_replace): Ditto.
+	(try_add_cand_for, try_improve_iv_set, find_optimal_iv_set): Ditto.
+	(create_new_iv, adjust_iv_update_pos): Ditto.
+	(rewrite_use_address): Delete.
+	(rewrite_use_address_1): Rename to ...
+	(rewrite_use_address): ... here.
+	(rewrite_use_compare): Update all uses.
+	(rewrite_use): Delete.
+	(rewrite_uses): Rename to ...
+	(rewrite_groups): ... here.  Update all uses.
+	(remove_unused_ivs, free_loop_data): Update all uses.
+	(tree_ssa_iv_optimize_finalize, tree_ssa_iv_optimize_loop): Ditto.
+
+2016-04-27  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* rtlanal.c (nonzero_bits1): Convert preprocessor check
+	for WORD_REGISTER_OPERATIONS to runtime check.
+
+2016-04-27  Richard Biener  <rguenther@suse.de>
+
+	PR ipa/70760
+	* tree-ssa-structalias.c (find_func_aliases_for_call): Use
+	aggregate_value_p to determine if a function result is
+	returned by reference.
+	(ipa_pta_execute): Functions having their address taken are
+	not automatically nonlocal.
+
+2016-04-27  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/70683
+	* tree-core.h (enum operand_equal_flag): Add OEP_NO_HASH_CHECK.
+	* fold-const.c (operand_equal_p): If flag_checking and
+	OEP_NO_HASH_CHECK is not set in flag, recurse with OEP_NO_HASH_CHECK
+	and if it returns non-zero, assert iterative_hash_expr on both
+	args is the same.
+
+2016-04-27  Bernd Schmidt  <bschmidt@redhat.com>
+
+	* doc/invoke.texi (-frename-registers): Also enabled at -Os.
+
+2016-04-27  Nick Clifton  <nickc@redhat.com>
+
+	PR middle-end/49889
+	* varasm.c (merge_weak): Generate an error if an attempt is made
+	to convert a non-weak static function into a weak, public function.
+
+2016-04-27  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	* params.def (MAX_PARTITION_SIZE): New param.
+	* doc/invoke.texi: Document lto-max-partition.
+
+2016-04-27  Richard Biener  <rguenther@suse.de>
+
+	PR ipa/70785
+	* tree-ssa-structalias.c (refered_from_nonlocal_fn): New
+	function cummulating used_from_other_partition, externally_visible
+	and force_output from aliases.
+	(refered_from_nonlocal_var): Likewise.
+	(ipa_pta_execute): Use call_for_symbol_and_aliases to cummulate
+	node flags properly.
+
+2016-04-27  Bernd Schmidt  <bschmidt@redhat.com>
+
+	* doc/invoke.texi (Warning Options): Add -Wmemset-elt-size.
+	(-Wmemset-elt-size): New item.
+
+2016-04-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/70759
+	* stor-layout.h (internal_reference_types): Delete.
+	* stor-layout.c (reference_types_internal): Likewise.
+	(internal_reference_types): Likewise.
+	(layout_type) <REFERENCE_TYPE>: Adjust.
+
+2016-04-27  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/70683
+	* tree.h (inchash::add_expr): Add FLAGS argument.
+	* tree.c (inchash::add_expr): Likewise.  If not OEP_ADDRESS_OF,
+	use STRIP_NOPS first.  For INTEGER_CST assert not OEP_ADDRESS_OF.
+	For REAL_CST and !HONOR_SIGNED_ZEROS (t) hash +/- 0 the same.
+	Formatting fix.  Adjust recursive calls.  For tcc_comparison,
+	if swap_tree_comparison (code) is smaller than code, hash that
+	and arguments in the other order.  Hash CONVERT_EXPR the same
+	as NOP_EXPR.  For OEP_ADDRESS_OF hash MEM_REF with 0 offset
+	of ADDR_EXPR of decl as the decl itself.  Add or remove
+	OEP_ADDRESS_OF from recursive flags as needed.  For
+	FMA_EXPR, WIDEN_MULT_{PLUS,MINUS}_EXPR hash the first two
+	operands commutatively and only the third one normally.
+	For internal CALL_EXPR hash in CALL_EXPR_IFN.
+
+2016-04-27  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+	* config/rtems.h (LIB_SPEC): Add -latomic.
+
+2016-04-27  Joel Sherrill  <joel@rtems.org>
+
+	* config/microblaze/rtems.h: Redefine LINK_SPEC to avoid
+	xilink.ld and flags not relevant to RTEMS.
+
+2016-04-26  Zhouyi Zhou  <yizhouzhou@ict.ac.cn>
+
+	* toplev.c (backend_init_target): Avoid calling init_reload when using
+	LRA.
+
+2016-04-26  Jakub Jelinek  <jakub@redhat.com>
+
+	* reorg.c (try_merge_delay_insns): Declare i and j inside the
+	for loops rather than one for the whole function.
+
+2016-04-26  Marc Glisse  <marc.glisse@inria.fr>
+
+	* match.pd (X + CST CMP X): New transformation.
+
+2016-04-26  Marc Glisse  <marc.glisse@inria.fr>
+
+	* genmatch.c (write_predicate): Add ATTRIBUTE_UNUSED.
+	* fold-const.c (fold_binary_loc): Remove 2 transformations
+	superseded by match.pd.
+	* match.pd (x+x -> x*2): Generalize to integers.
+
+2016-04-26  Bernd Schmidt  <bschmidt@redhat.com>
+
+	* config/i386/i386.md (operation on memory peephole): Duplicate an
+	existing peephole and adapt it to match lea rather than an operation
+	that clobbers CC.
+
+	PR rtl-optimization/57193
+	* opts.c (default_options_table): Add OPT_frename_registers at -O2
+	and above.
+	* doc/invoke.texi (-frename-registers, -O2): Update documentation.
+
+2016-04-26  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-if-conv.c (any_pred_load_store): New static variable.
+	(if_convertible_gimple_assign_stmt_p): Remove parameter.  Use
+	any_pred_load_store instead of and_mask_load_store.
+	(if_convertible_stmt_p, if_convertible_loop_p_1): Ditto.
+	(if_convertible_loop_p, insert_gimplified_predicates): Ditto.
+	(combine_blocks, tree_if_conversion): Ditto.
+
+2016-04-26  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/70771
+	PR tree-optimization/70775
+	* tree-if-conv.c (if_convertible_phi_p): Remove check on special
+	virtual PHI nodes.  Delete parameter.
+	(if_convertible_loop_p_1): Delete argument to above function.
+	(predicate_all_scalar_phis): Delete code handling single-argument
+	PHIs.
+	(tree_if_conversion): Mark and update virtual SSA.
+
+2016-04-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	PR target/61821
+	* config/i386/i386.c (LARGECOMM_SECTION_ASM_OP): Define default.
+	(x86_elf_aligned_common): Rename to ...
+	(x86_elf_aligned_decl_common): ... this.
+	Add decl arg.  Switch to .lbss for largecomm object.  Use
+	LARGECOMM_SECTION_ASM_OP.
+	* config/i386/i386-protos.h (x86_elf_aligned_common): Reflect
+	renaming.
+	* config/i386/x86-64.h (ASM_OUTPUT_ALIGNED_COMMON): Rename to ...
+	(ASM_OUTPUT_ALIGNED_DECL_COMMON): ... this.
+	Pass new decl arg.
+	* config/i386/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
+	[!USE_GAS] (LARGECOMM_SECTION_ASM_OP): Define.
+
+2016-04-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	PR target/59407
+	* config/i386/i386.c (SECTION_LARGE): Define.
+	(x86_64_elf_select_section): Set it for large data/bss sections.
+	Only clear SECTION_WRITE for .lrodata.
+	(x86_64_elf_section_type_flags): Set SECTION_LARGE for large
+	data/bss sections.
+	* config/i386/sol2.h (MACH_DEP_SECTION_ASM_FLAG): Define.
+	* varasm.c (default_elf_asm_named_section): Grow flagchars.
+	[MACH_DEP_SECTION_ASM_FLAG] Emit MACH_DEP_SECTION_ASM_FLAG for
+	SECTION_MACH_DEP.
+	* doc/tm.texi.in (Sections, MACH_DEP_SECTION_ASM_FLAG): Describe.
+	* doc/tm.texi: Regenerate.
+
+2016-04-26  Jakub Jelinek  <jakub@redhat.com>
+
+	PR bootstrap/70704
+	* configure.ac (--enable-checking): Document extra flag, for
+	non-release builds default to --enable-checking=yes,extra.
+	If misc checking and extra checking, define CHECKING_P to 2 instead
+	of 1.
+	* common.opt (fchecking=): Add.
+	* doc/invoke.texi (-fchecking=): Document.
+	* doc/install.texi: Document --enable-checking changes.
+	* configure: Regenerated.
+	* config.in: Regenerated.
+
+2016-04-25  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*movxi_internal_avx512f): Use insn type
+	attribute instead of which_alternative.
+	* config/i386/sse.md (*mov<mode>_internal): Ditto.
+	Use EXT_REX_SSE_REG_P where appropriate.
+
+2016-04-25  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/predicates.md (const0_operand): Do not match
+	const_wide_int code.
+	(const1_operand): Ditto.
+
+2016-04-25  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*movoi_internal_avx): Set mode attribute to XI
+	for SSE constm1 operands and TARGET_AVX512VL.
+	(*movti_internal): Ditto.
+	(*mov<mode>_or): Use constm1_operand predicate.
+	* config/i386/sse.md (*mov<mode>_internal): Set mode attribute to XI
+	for SSE vector_all_ones operands and TARGET_AVX512VL.
+	* config/i386/predicates.md (constm1_operand): New predicate.
+	* config/i386/i386.c (standard_sse_constant_opcode): Simplify
+	emission of constant -1 load.
+
+2016-04-25  Jason Merrill  <jason@redhat.com>
+
+	* gdbinit.in: Skip is-a.h.
+
+	* attribs.c (register_scoped_attributes): Fix logic.
+	* attribs.h: Declare register_scoped_attributes.
+
+2016-04-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000-builtin.def: Correct pasto error for
+	stxvd2x and stxvw4x built-in functions.
+
+2016-04-25  DJ Delorie  <dj@redhat.com>
+
+	* config/msp430/msp430.md (ashlhi3): Optimize one bit shifts.
+	(ashrhi3): Likewise.
+	(lshrhi3): Likewise.
+
+2016-04-25  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/70780
+	* tree-ssa-pre.c (compute_antic_aux): Also return true if the block
+	wasn't visited yet.
+	(compute_antic): Mark blocks with abnormal preds as visited as
+	they have a final empty antic-in solution already.
+
+2016-04-25  Michael Collison  <michael.collison@linaro.org>
+
+	* ChangeLog(2016-04-25): Fix ChangeLog formatting.
+
+2016-04-25  Michael Collison  <michael.collison@linaro.org>
+
+	* config/arm/neon.md (widen_<us>sum<mode>): New patterns where
+	mode is VQI to improve mixed mode vectorization.
+	* config/arm/neon.md (vec_sel_widen_ssum_lo<VQI:mode><VW:mode>3): New
+	define_insn to match low half of signed vaddw.
+	* config/arm/neon.md (vec_sel_widen_ssum_hi<VQI:mode><VW:mode>3): New
+	define_insn to match high half of signed vaddw.
+	* config/arm/neon.md (vec_sel_widen_usum_lo<VQI:mode><VW:mode>3): New
+	define_insn to match low half of unsigned vaddw.
+	* config/arm/neon.md (vec_sel_widen_usum_hi<VQI:mode><VW:mode>3): New
+	define_insn to match high half of unsigned vaddw.
+	* config/arm/arm.c (arm_simd_vect_par_cnst_half): New function.
+	(arm_simd_check_vect_par_cnst_half_p): Likewise.
+	* config/arm/arm-protos.h (arm_simd_vect_par_cnst_half): Prototype
+	for new function.
+	(arm_simd_check_vect_par_cnst_half_p): Likewise.
+	* config/arm/predicates.md (vect_par_constant_high): Support
+	big endian and simplify by calling
+	arm_simd_check_vect_par_cnst_half
+	(vect_par_constant_low): Likewise.
+
+2016-04-25  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*lea<mode>_general_4): Use const_0_to_3_operand
+	predicate for operand 2.
+
+2016-04-24  Uros Bizjak  <ubizjak@gmail.com>
+	    H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/i386-protos.h (standard_sse_constant_p): Add
+	machine_mode argument.
+	* config/i386/i386.c (standard_sse_constant_p): Return 2 for
+	constm1_rtx operands.  For VOIDmode constants, get mode from
+	pred_mode.  Check mode size if the mode is supported by ABI.
+	(standard_sse_constant_opcode): Do not use standard_constant_p.
+	Strictly check ABI support for all-ones operands.
+	(ix86_legitimate_constant_p): Handle TImode, OImode and XImode
+	immediates. Update calls to standard_sse_constant_p.
+	(ix86_expand_vector_move): Update calls to standard_sse_constant_p.
+	(ix86_rtx_costs): Ditto.
+	* config/i386/i386.md (*movxi_internal_avx512f): Use
+	nonimmediate_or_sse_const_operand instead of vector_move_operand.
+	Use (v,BC) alternative instead of (v,C). Use register_operand
+	checks instead of MEM_P.
+	(*movoi_internal_avx): Use nonimmediate_or_sse_const_operand instead
+	of vector_move_operand.  Add (v,BC) alternative and corresponding avx2
+	isa attribute.  Use register_operand checks instead of MEM_P.
+	(*movti_internal): Use nonimmediate_or_sse_const_operand for
+	TARGET_SSE.  Improve TARGET_SSE insn constraint.  Add (v,BC)
+	alternative and corresponding sse2 isa attribute.
+	(*movtf_internal, *movdf_internal, *movsf_interal): Update calls
+	to standard_sse_constant_p.
+	(FP constant splitters): Ditto.
+	* config/i386/constraints.md (BC): Do not use standard_sse_constant_p.
+	(C): Ditto.
+	* config/i386/predicates.md (constm1_operand): Remove.
+	(nonimmediate_or_sse_const_operand): Rewrite using RTX.
+	* config/i386/sse.md (*<avx512>_cvtmask2<ssemodesuffix><mode>): Use
+	vector_all_ones_operand instead of constm1_operand.
+
+2016-04-24  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* print-rtl.c (print_rtx_insn_vec): New function.
+	* print-rtl.h: New prototype.
+	* store-motion.c (struct st_expr): Make avail_stores a vector.
+	(st_expr_entry): Adjust.
+	(free_st_expr_entry): Likewise.
+	(print_store_motion_mems): Likewise.
+	(find_moveable_store): Likewise.
+	(compute_store_table): Likewise.
+	(delete_store): Likewise.
+	(build_store_vectors): Likewise.
+
+2016-04-24  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* reorg.c (try_merge_delay_insns): Make merged_insns a vector.
+
+2016-04-24  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* vec.h (vec_safe_contains): New function.
+	(vec::contains): Likewise.
+	(vec::begin): Likewise.
+	(vec::end): Likewise.
+
+2016-04-23  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/70712
+	* cfgexpand.c (expand_stack_vars): Fix typo.
+
+2016-04-22  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+	* system.h (list, map, set, vector): Include conditionally.
+	* auto-profile.c (INCLUDE_MAP, INCLUDE_SET): Define.
+	* graphite-isl-ast-to-gimple.c (INCLUDE_MAP): Define.
+	* ipa-icf.c (INCLUDE_LIST): Define.
+	* config/aarch64/cortex-a57-fma-steering.c (INCLUDE_LIST): Define.
+	* config/sh/sh.c (INCLUDE_VECTOR): Define.
+	* config/sh/sh_treg_combine.cc (INCLUDE_ALGORITHM): Define.
+	(INCLUDE_LIST, INCLUDE_VECTOR): Define.
+	* cp/logic.cc (INCLUDE_LIST): Define.
+	* fortran/trans-common.c (INCLUDE_MAP): Define.
+
+2016-04-22  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+	* auto-profile.c: Remove <string.h> include.
+	* ipa-icf-gimple.c: Remove <list> include.
+	* diagnostic.c: Remove <new> include.
+	* genmatch.c: Likewise.
+	* pretty-print.c: Likewise.
+	* toplev.c: Likewise
+	* c/c-objc-common.c: Likewise.
+	* cp/error.c: Likewise.
+	* fortran/error.c: Likewise.
+
+2016-04-22  Richard Biener  <rguenther@suse.de>
+
+	* lto-streamer-in.c (input_ssa_names): Do not allocate
+	GIMPLE_NOP for all SSA names.
+	* lto-streamer-out.c (output_ssa_names): Do not output
+	SSA names that should have been released.
+
+2016-04-22  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/70740
+	* tree-ssa-phiprop.c (propagate_with_phi): Handle inserted
+	VDEF.
+
+2016-04-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/70750
+	* config/i386/predicates.md (call_insn_operand): Replace
+	sibcall_memory_operand with memory_operand.
+
+2016-04-21  Patrick Palka  <ppalka@gcc.gnu.org>
+
+	* tree-vrp.c (register_edge_assert_for_2): Remove redundant
+	has_single_use() tests.
+	(register_edge_assert_for_1): Likewise.
+	(find_assert_locations_1): Check the liveness bitmap instead of
+	checking has_single_use().
+
+2016-04-21  Kirill Yukhin  <kirill.yukhin@intel.com>
+
+	PR target/70728
+	* config/i386/sse.md (define_insn "<shift_insn><mode>3<mask_name>"):
+	Extract AVX-512BW constraint from AVX.
+
+2016-04-21  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/70725
+	* tree-if-conv.c (if_convertible_phi_p): Adjust guard
+	for phi_convertible_by_degenerating_args.
+	(predicate_all_scalar_phis): Handle single-argument PHIs.
+
+2016-04-21  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/70747
+	* fold-const.c (fold_comparison): Return properly typed
+	constant boolean.
+
+2016-04-21  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/70715
+	* tree-ssa-loop-niter.c (loop_exits_before_overflow): Check equality
+	after expanding BASE using expand_simple_operations.
+
+2016-04-21  Marc Glisse  <marc.glisse@inria.fr>
+
+	* match.pd (min(-x, -y), max(-x, -y), min(~x, ~y), max(~x, ~y)):
+	New transformations.
+
+2016-04-21  Marc Glisse  <marc.glisse@inria.fr>
+
+	* match.pd (min(int_max, x), max(int_min, x)): New transformations.
+
+2016-04-20  Jan Hubicka  <jh@suse.cz>
+
+	* ipa-inline.c (can_inline_edge_p): Pass caller info to
+	ultiimate_alias_target.
+	(update_callee_keys): Likewise.
+	(lookup_recursive_calls): Likewise.
+	(speculation_useful_p): Likewise.
+
+2016-04-20  Jan Hubicka  <jh@suse.cz>
+
+	PR ipa/70018
+	* cgraph.c (cgraph_set_nothrow_flag_1): Rename to ...
+	(set_nothrow_flag_1): ... this; handle interposition correctly;
+	recurse on aliases and thunks.
+	(cgraph_node::set_nothrow_flag): New.
+	* ipa-pure-const.c (ignore_edge_for_nothrow): Ignore calls to
+	functions compiled with non-call exceptions that binds to current
+	def.
+	(propagate_nothrow): Be safe WRT interposition.
+	* cgraph.h (set_nothrow_flag): Update prototype.
+
+2016-04-18  Jan Hubicka  <jh@suse.cz>
+
+	* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
+	max_loop_iterations_int.
+	(tree_unswitch_outer_loop): Likewise.
+
+2016-04-20  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/69489
+	* tree-if-conv.c (phi_convertible_by_degenerating_args): New.
+	(if_convertible_phi_p): Call phi_convertible_by_degenerating_args.
+	Revise dump message.
+	(if_convertible_bb_p): Remove check on edge count of basic block's
+	predecessors.
+
+2016-04-20  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/56625
+	PR tree-optimization/69489
+	* tree-data-ref.h (DR_INNERMOST): New macro.
+	* tree-if-conv.c (innermost_loop_behavior_hash): New class for
+	hashing struct innermost_loop_behavior.
+	(ref_DR_map): Remove.
+	(innermost_DR_map): New map.
+	(baseref_DR_map): Revise comment.
+	(hash_memrefs_baserefs_and_store_DRs_read_written_info): Store DR
+	to innermost_DR_map accroding to its innermost loop behavior.
+	(ifcvt_memrefs_wont_trap): Get DR from innermost_DR_map according
+	to its innermost loop behavior.
+	(if_convertible_loop_p_1): Remove intialization for ref_DR_map.
+	Add initialization for innermost_DR_map.  Record memory reference
+	in DR_BASE_ADDRESS if the reference is compound one or it doesn't
+	have innermost loop behavior.
+	(if_convertible_loop_p): Remove release for ref_DR_map.  Release
+	innermost_DR_map.
+
+2016-04-20  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*lea<mode>_general_1): Rename from
+	*lea_general_1.  Use explicit SWI12 mode interator.
+	(*lea<mode>_general_2): Rename from *lea_general_2.
+	Use explicit SWI12 mode interator.
+	(*lea<mode>_general_3): Rename from *lea_general_3.
+	Use explicit SWI12 mode interator.
+	(*lea<SWI12:mode>_general_4): Split from *lea_general_4.
+	Use explicit SWI12 mode interator.
+	(*lea<SWI48:mode>_general_4): Split from *lea_general_4.
+	Use explicit SWI48 mode interator.
+
+2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/i386.c (ix86_avx256_split_vector_move_misalign):
+	Short-cut unaligned load and store cases.  Handle all integer
+	vector modes.
+	(ix86_expand_vector_move_misalign): Short-cut unaligned load
+	and store cases.  Call ix86_avx256_split_vector_move_misalign
+	directly without checking mode class.
+
+2016-04-20  Andrew Pinski  <apinski@cavium.com>
+	    Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/64971
+	* config/aarch64/aarch64.md (sibcall): Force call
+	address to be DImode for ILP32.
+	(sibcall_value): Likewise.
+
+2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* doc/invoke.texi: Replace -skip-rax-setup with -mskip-rax-setup.
+
+2016-04-20  Richard Biener  <rguenther@suse.de>
+
+	* gimple-match.h (maybe_build_generic_op): Adjust prototype.
+	* gimple-match-head.c (maybe_build_generic_op): Pass all ops
+	by reference, clear op1 and op2 when GENERICizing BIT_FIELD_REF.
+	(maybe_push_res_to_seq): Adjust.
+	* gimple-fold.c (maybe_build_generic_op): Likewise.
+
+2016-04-20  Marek Polacek  <polacek@redhat.com>
+
+	* tree-if-conv.c (is_false_predicate): For NULL_TREE return false
+	rather than true.
+
+2016-04-20  Ilya Enkovich  <ilya.enkovich@intel.com>
+
+	* config/i386/sse.md (vec_unpacks_lo_hi): Always
+	use kmovw to support AVX512F target.
+
+2016-04-20  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-scalar-evolution.c (interpret_rhs_expr): Handle BIT_AND_EXPR.
+
+2016-04-20  Marek Polacek  <polacek@redhat.com>
+
+	PR tree-optimization/70725
+	* tree-if-conv.c (is_false_predicate): New function.
+	(predicate_mem_writes): Use it.
+
+2016-04-20  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/70726
+	* tree-vect-stmts.c (vectorizable_shift): Do not use scalar
+	shift amounts from a pattern stmt operand.
+
+2016-04-20  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	PR target/70674
+	* config/s390/s390.c (s390_restore_gprs_from_fprs): Pick the new
+	stack_restore_from_fpr pattern when restoring r15.
+	(s390_optimize_prologue): Strip away the memory barrier in the
+	parallel when trying to get rid of restore insns.
+	* config/s390/s390.md ("stack_restore_from_fpr"): New insn
+	definition for loading the stack pointer from an FPR.  Compared to
+	the normal move insn this pattern includes a full memory barrier.
+
+2016-04-19  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/70680
+	* gimplify.c (gimplify_omp_for): Call omp_notice_variable for
+	implicitly linear or lastprivate iterator on the outer context.
+
+2016-04-19  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/i386.c (ix86_legitimate_combined_insn): Remove
+	alignment check.
+	* config/i386/i386.md (ssememalign): Removed.
+	* config/i386/sse.md: Remove ssememalign attribute from patterns.
+
+2016-04-19  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/69201
+	* config/i386/avx512bwintrin.h (_mm512_mask_loadu_epi16): Pass
+	const short * to __builtin_ia32_loaddquhi512_mask.
+	(_mm512_maskz_loadu_epi16): Likewise.
+	(_mm512_mask_storeu_epi16): Pass short * to
+	__builtin_ia32_storedquhi512_mask.
+	(_mm512_mask_loadu_epi8): Pass const char * to
+	__builtin_ia32_loaddquqi512_mask.
+	(_mm512_maskz_loadu_epi8): Likewise.
+	(_mm512_mask_storeu_epi8): Pass char * to
+	__builtin_ia32_storedquqi512_mask.
+	* config/i386/avx512fintrin.h (_mm512_loadu_pd): Pass
+	const double * to __builtin_ia32_loadupd512_mask.
+	(_mm512_mask_loadu_pd): Likewise.
+	(_mm512_maskz_loadu_pd): Likewise.
+	(_mm512_storeu_pd): Pass double * to
+	__builtin_ia32_storeupd512_mask.
+	(_mm512_mask_storeu_pd): Likewise.
+	(_mm512_loadu_ps): Pass const float * to
+	__builtin_ia32_loadups512_mask.
+	(_mm512_mask_loadu_ps): Likewise.
+	(_mm512_maskz_loadu_ps): Likewise.
+	(_mm512_storeu_ps): Pass float * to
+	__builtin_ia32_storeups512_mask.
+	(_mm512_mask_storeu_ps): Likewise.
+	(_mm512_mask_loadu_epi64): Pass const long long * to
+	__builtin_ia32_loaddqudi512_mask.
+	(_mm512_maskz_loadu_epi64): Likewise.
+	(_mm512_mask_storeu_epi64): Pass long long *
+	to __builtin_ia32_storedqudi512_mask.
+	(_mm512_loadu_si512): Pass const int * to
+	__builtin_ia32_loaddqusi512_mask.
+	(_mm512_mask_loadu_epi32): Likewise.
+	(_mm512_maskz_loadu_epi32): Likewise.
+	(_mm512_storeu_si512): Pass int * to
+	__builtin_ia32_storedqusi512_mask.
+	(_mm512_mask_storeu_epi32): Likewise.
+	* config/i386/avx512vlbwintrin.h (_mm256_mask_storeu_epi8): Pass
+	char * to __builtin_ia32_storedquqi256_mask.
+	(_mm_mask_storeu_epi8): Likewise.
+	(_mm256_mask_loadu_epi16): Pass const short * to
+	__builtin_ia32_loaddquhi256_mask.
+	(_mm256_maskz_loadu_epi16): Likewise.
+	(_mm_mask_loadu_epi16): Pass const short * to
+	__builtin_ia32_loaddquhi128_mask.
+	(_mm_maskz_loadu_epi16): Likewise.
+	(_mm256_mask_loadu_epi8): Pass const char * to
+	__builtin_ia32_loaddquqi256_mask.
+	(_mm256_maskz_loadu_epi8): Likewise.
+	(_mm_mask_loadu_epi8): Pass const char * to
+	__builtin_ia32_loaddquqi128_mask.
+	(_mm_maskz_loadu_epi8): Likewise.
+	(_mm256_mask_storeu_epi16): Pass short * to.
+	__builtin_ia32_storedquhi256_mask.
+	(_mm_mask_storeu_epi16): Pass short * to.
+	__builtin_ia32_storedquhi128_mask.
+	* config/i386/avx512vlintrin.h (_mm256_mask_loadu_pd): Pass
+	const double * to __builtin_ia32_loadupd256_mask.
+	(_mm256_maskz_loadu_pd): Likewise.
+	(_mm_mask_loadu_pd): Pass onst double * to
+	__builtin_ia32_loadupd128_mask.
+	(_mm_maskz_loadu_pd): Likewise.
+	(_mm256_mask_storeu_pd): Pass double * to
+	__builtin_ia32_storeupd256_mask.
+	(_mm_mask_storeu_pd): Pass double * to
+	__builtin_ia32_storeupd128_mask.
+	(_mm256_mask_loadu_ps): Pass const float * to
+	__builtin_ia32_loadups256_mask.
+	(_mm256_maskz_loadu_ps): Likewise.
+	(_mm_mask_loadu_ps): Pass const float * to
+	__builtin_ia32_loadups128_mask.
+	(_mm_maskz_loadu_ps): Likewise.
+	(_mm256_mask_storeu_ps): Pass float * to
+	__builtin_ia32_storeups256_mask.
+	(_mm_mask_storeu_ps): ass float * to
+	__builtin_ia32_storeups128_mask.
+	(_mm256_mask_loadu_epi64): Pass const long long * to
+	__builtin_ia32_loaddqudi256_mask.
+	(_mm256_maskz_loadu_epi64): Likewise.
+	(_mm_mask_loadu_epi64): Pass const long long * to
+	__builtin_ia32_loaddqudi128_mask.
+	(_mm_maskz_loadu_epi64): Likewise.
+	(_mm256_mask_storeu_epi64): Pass long long * to
+	__builtin_ia32_storedqudi256_mask.
+	(_mm_mask_storeu_epi64): Pass long long * to
+	__builtin_ia32_storedqudi128_mask.
+	(_mm256_mask_loadu_epi32): Pass const int * to
+	__builtin_ia32_loaddqusi256_mask.
+	(_mm256_maskz_loadu_epi32): Likewise.
+	(_mm_mask_loadu_epi32): Pass const int * to
+	__builtin_ia32_loaddqusi128_mask.
+	(_mm_maskz_loadu_epi32): Likewise.
+	(_mm256_mask_storeu_epi32): Pass int * to
+	__builtin_ia32_storedqusi256_mask.
+	(_mm_mask_storeu_epi32): Pass int * to
+	__builtin_ia32_storedqusi128_mask.
+	* config/i386/i386-builtin-types.def (PCSHORT): New.
+	(PINT64): Likewise.
+	(V64QI_FTYPE_PCCHAR_V64QI_UDI): Likewise.
+	(V32HI_FTYPE_PCSHORT_V32HI_USI): Likewise.
+	(V32QI_FTYPE_PCCHAR_V32QI_USI): Likewise.
+	(V16SF_FTYPE_PCFLOAT_V16SF_UHI): Likewise.
+	(V8DF_FTYPE_PCDOUBLE_V8DF_UQI): Likewise.
+	(V16SI_FTYPE_PCINT_V16SI_UHI): Likewise.
+	(V16HI_FTYPE_PCSHORT_V16HI_UHI): Likewise.
+	(V16QI_FTYPE_PCCHAR_V16QI_UHI): Likewise.
+	(V8SF_FTYPE_PCFLOAT_V8SF_UQI): Likewise.
+	(V8DI_FTYPE_PCINT64_V8DI_UQI): Likewise.
+	(V8SI_FTYPE_PCINT_V8SI_UQI): Likewise.
+	(V8HI_FTYPE_PCSHORT_V8HI_UQI): Likewise.
+	(V4DF_FTYPE_PCDOUBLE_V4DF_UQI): Likewise.
+	(V4SF_FTYPE_PCFLOAT_V4SF_UQI): Likewise.
+	(V4DI_FTYPE_PCINT64_V4DI_UQI): Likewise.
+	(V4SI_FTYPE_PCINT_V4SI_UQI): Likewise.
+	(V2DF_FTYPE_PCDOUBLE_V2DF_UQI): Likewise.
+	(V2DI_FTYPE_PCINT64_V2DI_UQI): Likewise.
+	(VOID_FTYPE_PDOUBLE_V8DF_UQI): Likewise.
+	(VOID_FTYPE_PDOUBLE_V4DF_UQI): Likewise.
+	(VOID_FTYPE_PDOUBLE_V2DF_UQI): Likewise.
+	(VOID_FTYPE_PFLOAT_V16SF_UHI): Likewise.
+	(VOID_FTYPE_PFLOAT_V8SF_UQI): Likewise.
+	(VOID_FTYPE_PFLOAT_V4SF_UQI): Likewise.
+	(VOID_FTYPE_PINT64_V8DI_UQI): Likewise.
+	(VOID_FTYPE_PINT64_V4DI_UQI): Likewise.
+	(VOID_FTYPE_PINT64_V2DI_UQI): Likewise.
+	(VOID_FTYPE_PINT_V16SI_UHI): Likewise.
+	(VOID_FTYPE_PINT_V8SI_UHI): Likewise.
+	(VOID_FTYPE_PINT_V4SI_UHI): Likewise.
+	(VOID_FTYPE_PSHORT_V32HI_USI): Likewise.
+	(VOID_FTYPE_PSHORT_V16HI_UHI): Likewise.
+	(VOID_FTYPE_PSHORT_V8HI_UQI): Likewise.
+	(VOID_FTYPE_PCHAR_V64QI_UDI): Likewise.
+	(VOID_FTYPE_PCHAR_V32QI_USI): Likewise.
+	(VOID_FTYPE_PCHAR_V16QI_UHI): Likewise.
+	(V64QI_FTYPE_PCV64QI_V64QI_UDI): Removed.
+	(V32HI_FTYPE_PCV32HI_V32HI_USI): Likewise.
+	(V32QI_FTYPE_PCV32QI_V32QI_USI): Likewise.
+	(V16HI_FTYPE_PCV16HI_V16HI_UHI): Likewise.
+	(V16QI_FTYPE_PCV16QI_V16QI_UHI): Likewise.
+	(V8HI_FTYPE_PCV8HI_V8HI_UQI): Likewise.
+	(VOID_FTYPE_PV32HI_V32HI_USI): Likewise.
+	(VOID_FTYPE_PV16HI_V16HI_UHI): Likewise.
+	(VOID_FTYPE_PV8HI_V8HI_UQI): Likewise.
+	(VOID_FTYPE_PV64QI_V64QI_UDI): Likewise.
+	(VOID_FTYPE_PV32QI_V32QI_USI): Likewise.
+	(VOID_FTYPE_PV16QI_V16QI_UHI): Likewise.
+	* config/i386/i386.c (ix86_emit_save_reg_using_mov): Don't
+	use UNSPEC_STOREU.
+	(ix86_emit_restore_sse_regs_using_mov): Don't use UNSPEC_LOADU.
+	(ix86_avx256_split_vector_move_misalign): Don't use unaligned
+	load nor store.
+	(ix86_expand_vector_move_misalign): Likewise.
+	(bdesc_special_args): Use CODE_FOR_movvNXY_internal and pointer
+	to scalar function prototype for unaligned load/store builtins.
+	(ix86_expand_special_args_builtin): Updated.
+	* config/i386/sse.md (UNSPEC_LOADU): Removed.
+	(UNSPEC_STOREU): Likewise.
+	(VI_ULOADSTORE_BW_AVX512VL): Likewise.
+	(VI_ULOADSTORE_F_AVX512VL): Likewise.
+	(ssescalarsize): Handle V4TI, V2TI and V1TI.
+	(<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>): Likewise.
+	(*<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>): Likewise.
+	(<sse>_storeu<ssemodesuffix><avxsizesuffix>): Likewise.
+	(<avx512>_storeu<ssemodesuffix><avxsizesuffix>_mask): Likewise.
+	(<sse2_avx_avx512f>_loaddqu<mode><mask_name>): Likewise.
+	(*<sse2_avx_avx512f>_loaddqu<mode><mask_name>"): Likewise.
+	(sse2_avx_avx512f>_storedqu<mode>): Likewise.
+	(<avx512>_storedqu<mode>_mask): Likewise.
+	(*sse4_2_pcmpestr_unaligned): Likewise.
+	(*sse4_2_pcmpistr_unaligned): Likewise.
+	(*mov<mode>_internal): Renamed to ...
+	(mov<mode>_internal): This.  Remove check of AVX and IAMCU on
+	misaligned operand.  Replace vmovdqu64 with vmovdqu<ssescalarsize>.
+	(movsd/movhpd to movupd peephole): Don't use UNSPEC_LOADU.
+	(movlpd/movhpd to movupd peephole): Don't use UNSPEC_STOREU.
+
+2016-04-19  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/70171
+	* tree-ssa-phiprop.c: Include stor-layout.h.
+	(phiprop_insert_phi): Handle the aggregate copy case.
+	(propagate_with_phi): Likewise.
+
+2016-04-19  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (ix86_decompose_address): Use lowpart_subreg
+	instead of simplify_gen_subreg (... , 0).
+	(ix86_delegitimize_address): Ditto.
+	(ix86_split_divmod): Ditto.
+	(ix86_split_copysign_const): Ditto.
+	(ix86_split_copysign_var): Ditto.
+	(ix86_expand_args_builtin): Ditto.
+	(ix86_expand_round_builtin): Ditto.
+	(ix86_expand_special_args_builtin): Ditto.
+	* config/i386/i386.md (TARGET_USE_VECTOR_FP_CONVERTS splitters): Ditto.
+	(TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters and peephole2s): Ditto.
+	(udivmodqi4): Ditto.
+	(absneg splitters): Ditto.
+	(*jcc_bt<mode>_1): Ditto.
+
+2016-04-19  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/70724
+	* tree-ssa-sccvn.c (scc_vn_restore_ssa_info): Split SSA info
+	restoring out from ...
+	(free_scc_vn): ... here.
+	* tree-ssa-sccvn.h (scc_vn_restore_ssa_info): Declare.
+	* tres-ssa-pre.c (pass_pre::execute): Restore SSA info before
+	tail merging.
+	(pass_fre::execute): Restore SSA info.
+
+2016-04-19  Richard Biener  <rguenther@suse.de>
+
+	* gimple-walk.h (struct walk_stmt_info): Add stmt member.
+	* gimple-walk.c (walk_gimple_op): Initialize it.
+	(walk_gimple_asm): Set wi->is_lhs before each callback invocation.
+	* tree-inline.c (remap_gimple_op_r): Set SSA_NAME_DEF_STMT when
+	remapping SSA names of defs.
+	(copy_bb): Remove walk over all SSA defs and SSA_NAME_DEF_STMT
+	adjustment.
+
+2016-04-18  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR middle-end/70689
+	* lra-constraints.c (equiv_substition_p): New.
+	(process_alt_operands): Use it.
+	(swap_operands): Swap it.
+	(curr_insn_transform): Update it.
+
+2016-04-18  Michael Matz  <matz@suse.de>
+
+	* tree.h (TYPE_ALIGN, DECL_ALIGN): Return shifted amount.
+	(SET_TYPE_ALIGN, SET_DECL_ALIGN): New.
+	* tree-core.h (tree_type_common.align): Use bit-field.
+	(tree_type_common.spare): New.
+	(tree_decl_common.off_align): Make smaller.
+	(tree_decl_common.align): Use bit-field.
+
+	* expr.c (expand_expr_addr_expr_1): Use SET_TYPE_ALIGN.
+	* omp-low.c (install_var_field): Use SET_DECL_ALIGN.
+	(scan_sharing_clauses): Ditto.
+	(finish_taskreg_scan): Use SET_DECL_ALIGN and SET_TYPE_ALIGN.
+	(omp_finish_file): Ditto.
+	* stor-layout.c (do_type_align): Use SET_DECL_ALIGN.
+	(layout_decl): Ditto.
+	(relayout_decl): Ditto.
+	(finalize_record_size): Use SET_TYPE_ALIGN.
+	(finalize_type_size): Ditto.
+	(finish_builtin_struct): Ditto.
+	(layout_type): Ditto.
+	(initialize_sizetypes): Ditto.
+	* targhooks.c (std_gimplify_va_arg_expr): Use SET_TYPE_ALIGN.
+	* tree-nested.c (insert_field_into_struct): Use SET_TYPE_ALIGN.
+	(lookup_field_for_decl): Use SET_DECL_ALIGN.
+	(get_chain_field): Ditto.
+	(get_trampoline_type): Ditto.
+	(get_nl_goto_field): Ditto.
+	* tree-streamer-in.c (unpack_ts_decl_common_value_fields): Use
+	SET_DECL_ALIGN.
+	(unpack_ts_type_common_value_fields): Use SET_TYPE_ALIGN.
+	* gimple-expr.c (copy_var_decl): Use SET_DECL_ALIGN.
+	* tree.c (make_node_stat): Use SET_DECL_ALIGN and SET_TYPE_ALIGN.
+	(build_qualified_type): Use SET_TYPE_ALIGN.
+	(build_aligned_type, build_range_type_1): Ditto.
+	(build_atomic_base): Ditto.
+	(build_common_tree_nodes): Ditto.
+	* cfgexpand.c (align_local_variable): Use SET_DECL_ALIGN.
+	(expand_one_stack_var_at): Ditto.
+	* coverage.c (build_var): Use SET_DECL_ALIGN.
+	* except.c (init_eh): Ditto.
+	* function.c (assign_parm_setup_block): Ditto.
+	* symtab.c (increase_alignment_1): Ditto.
+	* tree-ssa-ccp.c (fold_builtin_alloca_with_align): Ditto.
+	* tree-vect-stmts.c (ensure_base_align): Ditto.
+	* varasm.c (align_variable): Ditto.
+	(assemble_variable): Ditto.
+	(build_constant_desc): Ditto.
+	(output_constant_def_contents): Ditto.
+
+	* config/arm/arm.c (arm_relayout_function): Use SET_DECL_ALIGN.
+	* config/avr/avr.c (avr_adjust_type_node): Use SET_TYPE_ALIGN.
+	* config/mips/mips.c (mips_std_gimplify_va_arg_expr): Ditto.
+	* config/msp430/msp430.c (msp430_gimplify_va_arg_expr): Ditto.
+	* config/spu/spu.c (spu_build_builtin_va_list): Use SET_DECL_ALIGN.
+
+2016-04-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/70708
+	* config/i386/sse.md (sse2_loadlpd): Accept load from "xm" and
+	replace %vmovsd with "%vmovq".
+	(vec_concatv2df): Likewise.
+
+2016-04-18  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/mmx.md (*vec_extractv2sf_0): Use gen_lowpart.
+	(*vec_extractv2si_0): Ditto.
+	* config/i386/sse.md (*vec_extractv4sf_0): Ditto.
+	(zero_extended_scalar_load_operand splitters): Ditto.
+	(vec_extract splitters): Ditto.
+	(*vec_extractv4si_0_zext): Ditto.
+	(avx_<castmode><avxsizesuffix>_<castmode>): Use gen_lowpart
+	and lowpart_subreg.
+	(avx512f_<castmode><avxsizesuffix>_<castmode>): Ditto.
+	(avx512f_<castmode><avxsizesuffix>_256<castmode>): Ditto.
+	(*sse4_1_extractps): Use lowpart_subreg.
+	* config/i386/i386.md (x87 floatsplitter): Use gen_lowpart.
+
+2016-04-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* doc/install.texi (Specific, i?86-*-solaris2.10): Update gas and
+	gld requirements.
+	(Specific, *-*-solaris2*): Update Solaris 11 bundled gcc versions.
+	Mention Solaris 11 packaging changes.
+	Update gas and gld requirements.
+	Remove reference to pre-Solaris 10 bug.
+	(Specific, sparc-sun-solaris2*): Remove reference to pre-Solaris 10
+	systems and bugs.
+	(Specific, sparc64-*-solaris2*): Remove reference to bootstrap
+	with cc.
+
+2016-04-17  Jan Hubicka  <jh@suse.cz>
+
+	* tree-ssa-loop-ivopts.c (avg_loop_niter): Use also
+	max_loop_iterations_int.
+
+2016-04-18  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/43434
+	* tree-ssa-structalias.c (struct vls_data): New.
+	(visit_loadstore): Handle all pointer-based accesses.
+	(compute_dependence_clique): Compute a bitmap of restrict tags
+	assigned bases and pass it to visit_loadstore.
+
+2016-04-18  Matthew Wahab  <matthew.wahab@arm.com>
+
+	PR target/70711
+	* config/arm/bpabi.h (BE8_LINK_SPEC): Add entries for armv8+crc,
+	armv8.1-a and armv8.1-a+crc.
+
+2016-04-18  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/70701
+	* tree-ssa-sccvn.c (vn_reference_lookup_3): Resolve fully constant
+	references after translating through a memcpy.
+
+2016-04-18  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-pre.c (postorder, postorder_num): Make locals ...
+	(compute_antic): ... here.  For partial antic use regular
+	postorder and scrap iteration.
+	(compute_partial_antic_aux): Remove unused return value.
+	(init_pre): Do not allocate postorder.
+	(fini_pre): Do not free postorder.
+
+2016-04-18  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/37870
+	* expmed.c (extract_bit_field_1): Remove broken case
+	using a wider MODE_INT mode.
+
+2016-04-18  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* has-brig.c (lendian16): Don't try to use __builtin_bswap16
+	unless compiling with at least GCC-4.8.
+
+2016-04-17  Jan Hubicka  <jh@suse.cz>
+
+	PR bootstrap/70706
+	* graphite.c (graphite_finalize): Update call to
+	tree_estimate_probability.
+	* predict.h (tree_estimate_probability): Update prototype.
+
+2016-04-17  Jan Hubicka  <jh@suse.cz>
+
+	* predict.c (combine_predictions_for_bb): Add dry_run parmaeter.
+	(tree_estimate_probability): Likewise.
+	(pass_profile::execute): Update.
+	(report_predictor_hitrates): New function.
+	* profile.c (compute_branch_probabilities): Use it.
+	* predict.h (report_predictor_hitrates): Declare.
+
+2016-04-17  Jan Hubicka  <jh@suse.cz>
+
+	PR ipa/70018
+	* cgraph.h (cgraph_node::set_const_flag,
+	cgraph_node::set_pure_flag): Update prototype to return bool;
+	update comment.
+	* cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases): Thunks
+	of interposable symbol are interposable, too.
+	(cgraph_set_const_flag_1): Rename to ...
+	(set_const_flag_1): ... this one; change to self recursive function
+	instead of call_for_symbol_thunks_and_aliases. Handle correctly
+	clearnig the flag in all variants and also virtual thunks of const
+	functions are pure; track if any change was done.
+	(cgraph_node::set_const_flag): Update.
+	(struct set_pure_flag_info): New struct.
+	(cgraph_set_pure_flag_1): Rename to ...
+	(set_pure_flag_1): ... this one; take set_pure_flag_info parameter
+	rather than pointer encoded flags; track if any changes was done;
+	handle correctly clearning flag and setting flag of aliases already
+	declared const.
+	(cgraph_node::set_pure_flag): Update.
+	(cgraph_node::set_nothrow_flag): Handle correctly clearning the flag.
+
+2016-04-17  Tom de Vries  <tom@codesourcery.com>
+
+	PR other/70433
+	* pretty-print.c (pp_write_text_as_dot_label_to_stream): Escape
+	backslash in label.
+
+2016-04-17  Tom de Vries  <tom@codesourcery.com>
+
+	* pretty-print.c (pp_write_text_as_dot_label_to_stream): Classify chars
+	'{}<> ' as escape-for-record.
+
+2016-04-17  Tom de Vries  <tom@codesourcery.com>
+
+	* pretty-print.c (pp_write_text_as_dot_label_to_stream): Simplify loop
+	structure.
+
+2016-04-17  Tom de Vries  <tom@codesourcery.com>
+
+	PR other/70185
+	* tree-pass.h (class opt_pass): Remove graph_dump_initialized member.
+	* dumpfile.h (struct dump_file_info): Add graph_dump_initialized field.
+	* dumpfile.c (dump_files): Initialize graph_dump_initialized field.
+	* passes.c (finish_optimization_passes): Only call
+	finish_graph_dump_file if dfi->graph_dump_initialized.
+	(execute_function_dump, pass_init_dump_file): Use
+	dfi->graph_dump_initialized instead of pass->graph_dump_initialized.
+
+2016-04-17  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/70256
+	* tree-ssa-structalias.c (dump_varinfo, debug_varinfo, dump_varmap)
+	(debug_varmap): New function.
+
+2016-04-17  Tom de Vries  <tom@codesourcery.com>
+
+	PR other/70183
+	* passes.c (pass_manager::register_pass): Propagate pflags.
+
+2016-04-17  Tom de Vries  <tom@codesourcery.com>
+
+	PR other/68875
+	* pass_manager.h (TERMINATE_PASS_LIST): Add pass argument.
+	* passes.c (pass_manager::pass_manager): Declare and init p_start in
+	INSERT_PASSES_AFTER.  Add pass parameter to TERMINATE_PASS_LIST, and
+	check if it's equal to p_start.
+	* passes.def: Add arguments to TERMINATE_PASS_LISTs.
+
+2016-04-15  Jan Hubicka  <jh@suse.cz>
+
+	PR ipa/70018
+	* cgraph.c (cgraph_set_const_flag_1): Only set as pure if
+	function does not bind to current def.
+	* ipa-pure-const.c (worse_state): Add FROM and TO parameters;
+	handle conservatively calls to functions that does not need to bind
+	to current def.
+	(check_call): Update call of worse_state.
+	(ignore_edge_for_nothrow): Update.
+	(ignore_edge_for_pure_const): Likewise.
+	(propagate_pure_const): Update calls to worse_state.
+	(skip_function_for_local_pure_const): Reformat comments.
+
+2016-04-15  Jan Hubicka  <jh@suse.cz>
+
+	PR ipa/70018
+	* cgraph.c (cgraph_node::get_availability): Add REF parameter.
+	(cgraph_node::function_symbol): Likewise.
+	(cgraph_node::function_or_virtual_thunk_symbol): Likewise.
+	* cgraph.h (symtab_node::get_availabbility): Add REF parameter.
+	(symtab_node::ultimate_alias_target): Add REF parameter.
+	(symtab_node::binds_to_current_def_p): Declare.
+	(symtab_node;:ultimate_alias_target_1): Add REF parameter.
+	(cgraph_node::function_symbol): Likewise.
+	(cgraph_node::function_or_virtual_thunk_symbol): Likewise.
+	(cgraph_node::get_availability): Likewise.
+	(cgraph_edge::binds_to_current_def_p): New inline function.
+	(varpool_node::get_availability): Add REF parameter.
+	(varpool_node::ultimate_alias_target): Likewise.
+	* symtab.c (symtab_node::ultimate_alias_target_1): Likewise.
+	(symtab_node::binds_to_current_def_p): Likewise.
+	* varpool.c (varpool_node::get_availability): Likewise.
+
+2016-04-15  Kirill Yukhin  <kirill.yukhin@intel.com>
+
+	PR target/70662
+	* config/i386/sse.md(define_insn "<avx512>_vec_dup<mode><mask_name>"):
+	Fix mode size check.
+
+2016-04-15  Jakub Jelinek  <jakub@redhat.com>
+
+	* BASE-VER: Set to 7.0.0.
+
+2016-04-15  Alexander Monakov  <amonakov@ispras.ru>
+
+	* config/nvptx/nvptx.opt (moptimize): Add a period at end of help text.
+
+2016-04-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* doc/invoke.texi (ARM Options): Add note on deprecation of pre-ARMv4T
+	architecture revisions.
+
+2016-04-15  Bernd Schmidt  <bschmidt@redhat.com>
+
+	* 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 ().
+
+2016-04-15  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/70675
+	* tree-pretty-print.c (do_niy): Add FLAGS argument, pass it down
+	to dump_generic_node.
+	(NIY): Pass also flags to do_niy.
+
+2016-04-15  Thomas Schwinge  <thomas@codesourcery.com>
+
+	* omp-low.c (simd_clone_struct_alloc, simd_clone_struct_copy)
+	(simd_clone_vector_of_formal_parm_types)
+	(simd_clone_clauses_extract, simd_clone_compute_base_data_type)
+	(simd_clone_mangle, simd_clone_create)
+	(simd_clone_adjust_return_type, create_tmp_simd_array)
+	(simd_clone_adjust_argument_types, simd_clone_init_simd_arrays)
+	(struct modify_stmt_info, ipa_simd_modify_stmt_ops)
+	(ipa_simd_modify_function_body, simd_clone_linear_addend)
+	(simd_clone_adjust, expand_simd_clones, ipa_omp_simd_clone)
+	(pass_data_omp_simd_clone, class pass_omp_simd_clone)
+	(pass_omp_simd_clone::gate, make_pass_omp_simd_clone): Move into...
+	* omp-simd-clone.c: ... this new file.
+	(simd_clone_vector_of_formal_parm_types): Make it static.
+	* Makefile.in (OBJS): Add omp-simd-clone.o.
+
+2016-04-15  Kirill Yukhin  <kirill.yukhin@intel.com>
+
+	PR target/70662
+	* config/i386/sse.md: Use proper memory operand modifiers.
+
+
+2016-04-15  Richard Biener  <rguenther@suse.de>
+	Alan Modra  <amodra@gmail.com>
+
+	PR tree-optimization/70130
+	* tree-vect-data-refs.c (vect_supportable_dr_alignment): Detect
+	when alignment stays not the same and no not use the realign
+	scheme then.
+
+2016-04-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/70669
+	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add
+	direct move handlers for KFmode. Change TFmode handlers test from
+	FLOAT128_IEEE_P to FLOAT128_VECTOR_P.
+
+2016-04-14  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/70594
+	* ipa-utils.h (polymorphic_ctor_dtor_p): New prototype.
+	* ipa-polymorphic-call.c (polymorphic_ctor_dtor_p): New function.
+	(inlined_polymorphic_ctor_dtor_block_p): Use it.
+	* tree-ssa-live.c (remove_unused_scope_block_p): When
+	in_ctor_dtor_block, avoid discarding not just BLOCKs with
+	BLOCK_ABSTRACT_ORIGIN being FUNCTION_DECL, but even when
+	block_ultimate_origin is FUNCTION_DECL.
+	(remove_unused_locals): If current_function_decl is
+	polymorphic_ctor_dtor_p, pass initial true to
+	remove_unused_scope_block_p' is_ctor_dtor_block.
+
+2016-04-14  Martin Sebor  <msebor@redhat.com>
+
+	PR c++/69517
+	PR c++/70019
+	PR c++/70588
+	* doc/extend.texi (Variable Length): Revert.
+
+2016-04-14  Marek Polacek  <polacek@redhat.com>
+	    Jan Hubicka  <hubicka@ucw.cz>
+
+	PR c++/70029
+	* tree.c (verify_type): Disable the canonical type of main variant
+	check.
+
+2016-04-14  Jason Merrill  <jason@redhat.com>
+
+	* cfgexpand.c, expr.c: Revert previous change.
+
+2016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
+
+	PR middle-end/70643
+	* omp-low.c (lower_oacc_reductions): Check for TREE_CONSTANT
+	when building a mem ref for the incoming reduction variable.
+
+2016-04-14  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/70614
+	* tree-scalar-evolution.c (analyze_evolution_in_loop): Terminate
+	loop if the evolution dropped to chrec_dont_know.
+	(interpret_condition_phi): Likewise.
+
+2016-04-14  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/70623
+	* tree-ssa-pre.c (changed_blocks): Make global ...
+	(compute_antic): ... local here.  Move and fix worklist
+	handling here.  Do not clear EDGE_DFS_BACK or call mark_dfs_back_edges.
+	(compute_antic_aux): Add dumping for MAX assumed succs.  Remove
+	worklist handling, dump when ANTIC_IN changed.
+	(compute_partial_antic_aux): Remove worklist handling.
+	(init_pre): Do not compute post dominators.  Add a comment about
+	the CFG order chosen.
+	(fini_pre): Do not free post dominators.
+
+2016-04-13  Martin Sebor  <msebor@redhat.com>
+
+	PR c++/69517
+	PR c++/70019
+	PR c++/70588
+	* doc/extend.texi (Variable Length): Document C++ specifics.
+
+2016-04-13  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/70641
+	* ipa-pure-const.c (pass_nothrow::execute): Call maybe_clean_eh_stmt
+	on all recursive call stmts.  Return TODO_cleanup_cfg if any dead
+	eh edges have been purged.
+
+	PR c++/70594
+	* tree-sra.c (create_access_replacement,
+	get_replaced_param_substitute): Set DECL_NAMELESS on repl if it
+	gets fancy name.
+	* tree-pretty-print.c (dump_fancy_name): New function.
+	(dump_decl_name, dump_generic_node): Use it.
+
+2016-04-13  Jason Merrill  <jason@redhat.com>
+
+	* cfgexpand.c (pass_expand::execute): Handle attribute "abi warning".
+	* expr.c (expand_expr_real_1): Likewise.
+
+2016-04-13  Ilya Enkovich  <ilya.enkovich@intel.com>
+
+	* config/i386/i386.md (kunpckhi): Swap operands.
+	(kunpcksi): Likewise.
+	(kunpckdi): Likewise.
+	* config/i386/sse.md (vec_pack_trunc_qi): Likewise.
+	(vec_pack_trunc_<mode>): Likewise.
+
+2016-04-13  Jakub Jelinek  <jakub@redhat.com>
+
+	PR debug/70628
+	* explow.c (convert_memory_address_addr_space_1): Formatting fix.
+
+	PR middle-end/70633
+	* gimplify.c (gimplify_init_constructor): Clear TREE_STATIC if
+	gimplification turns some element into non-constant.
+
+	PR debug/70628
+	* rtl.h (convert_memory_address_addr_space_1): New prototype.
+	* explow.c (convert_memory_address_addr_space_1): No longer static,
+	add NO_EMIT argument and don't call convert_modes if true, pass
+	it down recursively, remove break after return.
+	(convert_memory_address_addr_space): Adjust caller.
+	* simplify-rtx.c (simplify_unary_operation_1): Call
+	convert_memory_address_addr_space_1 instead of convert_memory_address,
+	if it returns NULL, don't simplify.
+
+2016-04-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR target/70630
+	* config/sparc/sparc.c (sparc_compute_frame_size): Add parentheses.
+
+2016-04-12  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
+	Bump the upper SIMDLEN limits, so that if the return type or
+	characteristic type if the return type is void can be passed in
+	all available SSE2/AVX/AVX2/AVX512-F registers, the SIMDLEN is
+	allowed.
+
+2016-04-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/70640
+	* config/rs6000/rs6000.md (ieee_128bit_vsx_neg<mode>2_internal):
+	Do not use "=" constraint on an input constraint.
+	(ieee_128bit_vsx_abs<mode>2_internal): Likewise.
+	(ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
+	(ieee_128bit_vsx_nabs<mode>2): Correct splitter so that it
+	generates (neg (abs ...)) instead of (abs ...).
+
+2016-04-12  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/70596
+	* lra-spills.c (spill_pseudos): Don't delete debug insns, instead
+	just invalidate LRA data and reset them.  Adjust dump wording.
+
+2016-04-12  Martin Liska  <mliska@suse.cz>
+
+	Revert
+	2016-03-30  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic
+	estimates here.
+	* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
+	max_loop_iterations_int.
+	(tree_unswitch_outer_loop): Likewise.
+	* tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
+	* tree-vect-loop.c (vect_analyze_loop_2): Likewise.
+
+2016-04-12  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/68756
+	* graphite-isl-ast-to-gimple.c (copy_cond_phi_args): Use new_expr
+	instead of new_name.
+
+2016-04-12  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/70602
+	* tree-sra.c (generate_subtree_copies): Don't write anything into
+	constant pool decls.
+
+	* omp-low.c (lower_omp_target): Use GOMP_MAP_FIRSTPRIVATE_INT
+	regardless whether there are depend clauses or not.
+
+2016-04-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/70381
+	* config/rs6000/rs6000.c (rs6000_opt_masks): Disable using the
+	target attribute and pragma from changing the -mfloat128
+	and -mfloat128-hardware options.
+
+	* doc/extend.texi (Additional Floating Types): Document PowerPC
+	__float128 restrictions.
+
+2016-04-11  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	PR target/70133
+	* config/aarch64/driver-aarch64.c
+	(aarch64_get_extension_string_for_isa_flags): New.
+	(arch_extension): Rename to...
+	(aarch64_arch_extension): ...This.
+	(ext_to_feat_string): Rename to...
+	(aarch64_extensions): ...This.
+	(aarch64_core_data): Keep track of architecture extension flags.
+	(cpu_data): Rename to...
+	(aarch64_cpu_data): ...This.
+	(aarch64_arch_driver_info): Keep track of architecture extension
+	flags.
+	(get_arch_name_from_id): Rename to...
+	(get_arch_from_id): ...This, change return type.
+	(host_detect_local_cpu): Update and reformat for renames, handle
+	extensions through common infrastructure.
+
+2016-04-11  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	PR target/70133
+	* config/aarch64/aarch64-common.c (aarch64_option_extension): Keep
+	track of a canonical flag name.
+	(all_extensions): Likewise.
+	(arch_to_arch_name): Also track extension flags enabled by the arch.
+	(all_architectures): Likewise.
+	(aarch64_parse_extension): Move to here.
+	(aarch64_get_extension_string_for_isa_flags): Take a new argument,
+	rework.
+	(aarch64_rewrite_selected_cpu): Update for above change.
+	* config/aarch64/aarch64-option-extensions.def: Rework the way flags
+	are handled, such that the single explicit value enabled by an
+	extension is kept seperate from the implicit values it also enables.
+	* config/aarch64/aarch64-protos.h (aarch64_parse_opt_result): Move
+	to here.
+	(aarch64_parse_extension): New.
+	* config/aarch64/aarch64.c (aarch64_parse_opt_result): Move from
+	here to config/aarch64/aarch64-protos.h.
+	(aarch64_parse_extension): Move from here to
+	common/config/aarch64/aarch64-common.c.
+	(aarch64_option_print): Update.
+	(aarch64_declare_function_name): Likewise.
+	(aarch64_start_file): Likewise.
+	* config/aarch64/driver-aarch64.c (arch_extension): Keep track of
+	the canonical flag for extensions.
+	* config.gcc (aarch64*-*-*): Extend regex for capturing extension
+	flags.
+
+2016-04-11  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8_1): Also add
+	AARCH64_FL_CRC.
+
+2016-04-09  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/68953
+	* graphite-sese-to-poly.c (pdr_add_memory_accesses): Order accesses from
+	first to last subscript.
+
+2016-04-09  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/70586
+	* tree-ssa-ifcombine.c (bb_no_side_effects_p): Return false
+	for any calls.
+
+2016-04-08  Cesar Philippidis  <cesar@codesourcery.com>
+
+	PR lto/70289
+	PR ipa/70348
+	PR tree-optimization/70373
+	PR middle-end/70533
+	PR middle-end/70534
+	PR middle-end/70535
+	* gimplify.c (gimplify_adjust_omp_clauses): Add or adjust data
+	clauses for acc parallel reductions as necessary.  Error on those
+	that are private.
+	* omp-low.c (scan_sharing_clauses): Don't install variables which
+	are used in acc parallel reductions.
+	(lower_rec_input_clauses): Remove dead code.
+	(lower_oacc_reductions): Add support for reference reductions.
+	(lower_reduction_clauses): Remove dead code.
+	(lower_omp_target): Don't remap variables appearing in acc parallel
+	reductions.
+	* tree.h (OMP_CLAUSE_MAP_IN_REDUCTION): New macro.
+
+2016-04-08  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/70593
+	* tree-ssa-coalesce.c (build_ssa_conflict_graph): For stmt
+	with multiple SSA_NAME defs, force the outputs other than first
+	to be live before calling live_track_process_def on each output.
+
+	PR rtl-optimization/70574
+	* fwprop.c (forward_propagate_and_simplify): Don't add
+	REG_EQUAL note if DF_REF_REG (use) is a paradoxical subreg.
+	(try_fwprop_subst): Don't add REG_EQUAL note if there are any
+	paradoxical subregs within *loc.
+
+2016-04-08  Thomas Schwinge  <thomas@codesourcery.com>
+
+	* config/arc/arc.h (LINK_COMMAND_SPEC): Use gt to ignore
+	-ftree-parallelize-loops={0,1}.
+	* config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
+	* config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
+	* config/ia64/hpux.h (LIB_SPEC): Likewise.
+	* config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
+	* config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
+
+2016-04-08  Maxim Ostapenko  <m.ostapenko@samsung.com>
+
+	PR sanitizer/70541
+	* asan.c (instrument_derefs): If we get unknown location, extract it
+	with EXPR_LOCATION.
+	(maybe_instrument_call): Instrument gimple_call's arguments if needed.
+
+2016-04-08  Tom de Vries  <tom@codesourcery.com>
+
+	* omp-low.c (lower_omp_target): Set TREE_NO_WARNING for oacc
+	implicit firstprivate clause.
+
+2016-04-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/70566
+	* config/arm/thumb2.md (tst + branch-> lsls + branch
+	peephole below *orsi_not_shiftsi_si): Require that condition
+	register is dead after the peephole.
+	(second peephole after the above): Likewise.
+
+2016-04-08  Alan Modra  <amodra@gmail.com>
+
+	PR target/70117
+	* builtins.c (fold_builtin_classify): For IBM extended precision,
+	look at just the high-order double to test for NaN.
+	(fold_builtin_interclass_mathfn): Similarly for Inf.  For isnormal
+	test just the high double for Inf but both doubles for subnormal
+	limit.
+
+2016-04-07  Jakub Jelinek  <jakub@redhat.com>
+
+	* cgraph.h (struct cgraph_simd_clone): Add mask_mode field.
+	* omp-low.c (simd_clone_init_simd_arrays, simd_clone_adjust): Handle
+	node->simdclone->mask_mode != VOIDmode masks.
+	(simd_clone_adjust_argument_types): Likewise.  Move sc var definition
+	earlier, use it instead of node->simdclone.
+	* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
+	Set clonei->mask_mode.
+
+2016-04-06  Patrick Palka  <ppalka@gcc.gnu.org>
+
+	PR c/70436
+	* parser.c (cp_parser_iteration_statement): New parameter IF_P.
+	Pass it through to cp_parser_already_scoped_statement.
+	(cp_parser_already_scoped_statement): New parameter IF_P.  Pass
+	it through to cp_parser_statement.
+	(cp_parser_statement): Pass IF_P through to
+	cp_parser_iteration_statement.
+	(cp_parser_pragma): Adjust call to
+	cp_parser_iteration_statement.
+
+2016-04-06  Patrick Palka  <ppalka@gcc.gnu.org>
+
+	PR c/70436
+	* gimplify.c (gimplify_omp_ordered): Add explicit braces to
+	resolve a future -Wparentheses warning.
+	* omp-low.c (scan_sharing_clauses): Likewise.
+	* tree-parloops.c (eliminate_local_variables): Likewise.
+
+2016-04-06  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-optimization/70398
+	* lra-constraints.c (process_address_1): Check zero scale and code
+	for reloading with zero scale.
+
+2016-04-06  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/sse.md (shuffletype): Add V32HI and V4TI modes.
+	(ssescalarsize): Add V8SF, V4SF, V4DF and V2DF modes.
+
+2016-04-06  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
+	Add support for AVX512F clones, include them by default for
+	exported OpenMP declare simd functions.  For AVX2 allow simdlen 32
+	and use it if charasteric type is 8-bit, for AVX512F allow simdlen
+	up to 128.
+
+	PR middle-end/70550
+	* tree.h (OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT): Define.
+	* gimplify.c (gimplify_adjust_omp_clauses_1): Set it for implicit
+	firstprivate clauses.
+	* omp-low.c (lower_send_clauses): Set TREE_NO_WARNING for
+	OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT !by_ref vars in task contexts.
+	(lower_omp_target): Set TREE_NO_WARNING for
+	non-addressable possibly uninitialized vars which are copied into
+	addressable temporaries or copied for GOMP_MAP_FIRSTPRIVATE_INT.
+
+2016-04-05  John David Anglin  <danglin@gcc.gnu.org>
+
+	* config/pa/predicates.md (integer_store_memory_operand): Accept
+	REG+D operands with a large offset when reload_in_progress is true.
+	(floating_point_store_memory_operand): Likewise.
+
+2016-04-05  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/70336
+	* match.pd (nested int casts): Limit to GIMPLE.
+
+2016-04-05  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR ipa/66223
+	* ipa-devirt.c (maybe_record_node): Fix comment; use
+	SANITIZE_UNREACHABLE instead of SANITIZE_UNDEFINED.
+
+2016-04-05  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/70542
+	* ree.c (add_removable_extension): For VECTOR_MODE_P punt
+	if there are any uses other than insn or debug insns.
+
+2016-04-05  Marc Glisse  <marc.glisse@inria.fr>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/70509
+	* simplify-rtx.c (simplify_binary_operation_1) <case VEC_SELECT>:
+	Shift HOST_WIDE_INT_1U instead of 1.
+
+2016-04-05  Zdenek Sojka  <zsojka@seznam.cz>
+
+	PR tree-optimization/70509
+	* tree-ssa-forwprop.c (simplify_bitfield_ref): Use bitsize_int instead
+	of the vector base type for index.
+
+2016-04-05  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/70510
+	* config/i386/sse.md (iptr): Add V64QI, V32HI, V16SI and V8DI modes.
+
+2016-04-05  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/70526
+	* tree-sra.c (build_ref_for_offset): Use prev_base to
+	extract the alias pointer type.
+
+2016-04-05  Richard Biener  <rguenther@suse.de>
+
+	* dse.c (struct store_info): Remove alias_set member.
+	(struct read_info_type): Likewise.
+	(clear_alias_group, clear_alias_mode_table, clear_alias_mode_holder,
+	spill_deleted, clear_alias_set_lookup): Remove.
+	(get_group_info): Remove dead base == NULL_RTX case.
+	(dse_step0): Remove initialization of removed variables.
+	(delete_dead_store_insn): Reomve alias set dumping.
+	(free_read_records): Remove alias_set handling.
+	(canon_address): Remove alias_set_out parameter.
+	(record_store): Remove spill_alias_set, it's always zero.
+	(check_mem_read_rtx): Likewise.
+	(dse_step2): Rename from ...
+	(dse_step2_nospill): ... this.  Adjust.
+	(scan_stores): Rename from ...
+	(scan_stores_nospill): ... this.
+	(scan_reads): Rename from ...
+	(scan_reads_nospill): ... this.
+	(scan_stores_spill, scan_reads_spill): Remove.
+	(dse_step3_scan): Remove for_spills argument which is always false.
+	(dse_step3): Likewise.
+	(dse_step5): Rename from ...
+	(dse_step5_nospill): ... this.  Remove alias_set handling.
+	(rest_of_handle_dse): Adjust.
+
+2016-04-05  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/70525
+	* config/i386/sse.md (*andnot<mode>3): Simplify assertions.
+	Use vpandn<ssemodesuffix> for V16SI/V8DImode, vpandnq for
+	V32HI/V64QImode, don't use <mask_operand3_1>, fix up formatting.
+	(*andnot<mode>3_mask): Remove insn with VI12_AVX512VL iterator.
+
+2016-04-05  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/70499
+	* gimplify-me.c (gimple_regimplify_operands): Do not rewrite
+	non-register type temporaries into SSA.
+
+2016-04-04  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR ipa/66223
+	* ipa-devirt.c (maybe_record_node): Do not optimize cxa_pure_virtual
+	calls when sanitizing.
+	(possible_polymorphic_call_target_p): Fix formatting.
+
+2016-04-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/70457
+	* tree-inline.c (estimate_num_insn): Use gimple_call_builtin_p
+	to ensure a call statement is compatible with a built-in's
+	prototype.
+	* tree-ssa-math-opts.c (pass_optimize_windening_mul::execute):
+	Likewise.
+
+2016-04-04  Richard Biener  <rguenther@suse.de>
+
+	PR rtl-optimization/70484
+	* rtl.h (canon_output_dependence): Declare.
+	* alias.c (canon_output_dependence): New function.
+	* dse.c (record_store): Use canon_output_dependence rather
+	than canon_true_dependence.
+
+2016-03-30  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR ipa/68881
+	* cgraph.h (symtab_node::copy_visibility_from): New function.
+	* symtab.c (symtab_node::copy_visibility_from): New function.
+	* ipa-visibility.c (optimize_weakref): New function.
+	(function_and_variable_visibility): Use it.
+
+2016-04-04  Martin Liska  <mliska@suse.cz>
+
+	PR hsa/70402
+	* hsa-gen.c (gen_hsa_insns_for_switch_stmt): Guard index
+	value that is really in range handled by SBR instruction.
+	* hsa-brig.c (emit_switch_insn): Do not emit unconditional jump.
+	* hsa-dump.c (dump_hsa_insn_1): Do not dump default BB.
+	* hsa.h (hsa_insn_sbr::m_default_bb): Remove field.
+
+2016-04-03  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	PR target/70416
+	PR target/67391
+	* config/sh/sh.md (*addsi3): Allow pattern when reload_in_progress is
+	set, but not for SP_REG operands.
+
+2016-04-02  Martin Sebor  <msebor@redhat.com>
+
+	PR c++/67376
+	* fold-const.c (maybe_nonzero_address): New function.
+	(fold_comparison): Call it.  Fold equality and relational
+	expressions involving null pointers.
+	(tree_single_nonzero_warnv_p): Call maybe_nonzero_address.
+
+2016-03-31  Evandro Menezes  <e.menezes@samsung.com>
+
+	Fix the predicate "aarch64_simd_reg_or_zero" to correctly validate
+	the "Y" constraint (scalar FP 0.0 immediate).
+
+	* config/aarch64/predicates.md (aarch64_simd_reg_or_zero):
+	Add the "const_double" to the list of operand constraints.
+
+2016-04-01  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/70467
+	* config/i386/i386.md (*add<dwi>3_doubleword, *sub<dwi>3_doubleword):
+	If low word of the last operand is 0, just emit addition/subtraction
+	for the high word.
+
+2016-04-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	PR target/70404
+	* config/s390/s390.c (s390_expand_insv): Check for everything
+	constant instead of just VOIDmode stuff.
+
+2016-04-01  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+	PR target/70496
+	* config/arm/arm.h (ASM_APP_OFF): Handle TARGET_ARM and TARGET_THUMB.
+
+2016-04-01  Nathan Sidwell  <nathan@acm.org>
+
+	* tree.def (TRY_CATCH_EXPR): Correct documentation.
+
+2016-03-31  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-optimization/70461
+	* ira-color.c (allocno_copy_cost_saving): Use allocno class if it
+	is necessary.
+
+2016-03-31  Martin Liska  <mliska@suse.cz>
+
+	PR hsa/70399
+	* hsa-brig.c (hsa_op_immed::emit_to_buffer): Emit either
+	a tree value or an immediate integer value to a buffer
+	that is eventually copied to a BRIG section.
+	(emit_immediate_operand): Call the function here.
+	* hsa-dump.c (dump_hsa_immed): Remove checking assert.
+	* hsa-gen.c (hsa_op_immed::hsa_op_immed): Remove initialization
+	of class' fields that are removed.
+	(hsa_op_immed::~hsa_op_immed): Remove deinitialization.
+	* hsa.h (class hsa_op_immed): Remove m_brig_repr and
+	m_brig_repr_size fields.
+
+2016-03-31  Martin Liska  <mliska@suse.cz>
+
+	PR hsa/70391
+	* hsa-gen.c (hsa_function_representation::update_dominance): New
+	function.
+	(convert_addr_to_flat_segment): Likewise.
+	(gen_hsa_memory_set): New alignment argument.
+	(gen_hsa_ctor_assignment): Likewise.
+	(gen_hsa_insns_for_single_assignment): Provide alignment
+	to gen_hsa_ctor_assignment.
+	(gen_hsa_insns_for_direct_call): Add new argument.
+	(expand_lhs_of_string_op): New function.
+	(expand_string_operation_builtin): Likewise.
+	(expand_memory_copy): New function.
+	(expand_memory_set): New function.
+	(gen_hsa_insns_for_call): Use HOST_WIDE_INT.
+	(convert_switch_statements): Change signature.
+	(generate_hsa): Use a return value of the function.
+	(pass_gen_hsail::execute): Do not call
+	convert_switch_statements here.
+	* hsa-regalloc.c (hsa_regalloc): Call update_dominance.
+	* hsa.h (hsa_function_representation::m_modified_cfg): New flag.
+	(hsa_function_representation::update_dominance): New function.
+
+2016-03-31  Martin Liska  <mliska@suse.cz>
+
+	PR hsa/70391
+	* hsa-brig.c (emit_directive_variable): Emit alignment
+	according to hsa_symbol::m_align.
+	* hsa-dump.c (hsa_byte_alignment): Move the function to	another file.
+	(dump_hsa_symbol): Dump alignment of HSA symbols.
+	* hsa-gen.c (get_symbol_for_decl): Set-up alignment of a symbol.
+	(gen_hsa_addr_with_align): New function.
+	(hsa_bitmemref_alignment): Use newly added function.
+	(gen_hsa_insns_for_load): Likewise.
+	(gen_hsa_insns_for_store): Likewise.
+	(gen_hsa_memory_copy): New argument added.
+	(gen_hsa_insns_for_single_assignment): Respect
+	alignment for assignments processed via gen_hsa_memory_copy.
+	(gen_hsa_insns_for_direct_call): Likewise.
+	(gen_hsa_insns_for_return): Likewise.
+	(gen_function_def_parameters): Set default alignment.
+	* hsa.c (hsa_object_alignment): New function.
+	(hsa_byte_alignment): Pasted function.
+	* hsa.h (hsa_symbol::m_align): New field.
+
+2016-03-31  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (get_computation_cost_at): Initialize
+	scratch field for goto case.
+
+2016-03-31  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/arm/linux-elf.h (ASM_OUTPUT_DEF): Delete.
+
+2016-03-31  Ilya Enkovich  <enkovich.gnu@gmail.com>
+
+	PR target/70442
+	* config/i386/i386.c (scalar_chain::convert_op): Fix description.
+	(scalar_chain::convert_insn): Call convert_op for reg
+	moves to handle undefined registers.
+
+2016-03-31  Nathan Sidwell  <nathan@acm.org>
+
+	PR c++/70393
+	* varasm.c (output_constructor_regular_field): Flush bitfield earlier.
+	Assert we don't want to move backwards.
+
+2016-03-31  Kirill Yukhin  <kirill.yukhin@intel.com>
+
+	PR target/70453
+	* config/i386/sse.md (define_mode_attr shuffletype): Fix typo.
+
+2016-03-31  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/70460
+	* ira.c (indirect_jump_optimize): Don't substitute LABEL_REF
+	with operand from REG_LABEL_OPERAND, instead substitute
+	SET_SRC or REG_EQUAL note content if it is a LABEL_REF.
+	Don't do anything for REG_NON_LOCAL_GOTO jumps.
+
+2016-03-31  Martin Liska  <mliska@suse.cz>
+
+	* passes.c (execute_one_pass): Do not call
+	todo_after for a discarded function.
+
+2016-03-31  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (struct comp_cost): New scrach field.
+	(no_cost, infinite_cost): Initialize the new field.
+	(get_computation_cost_at): Record setup cost.
+	(determine_use_iv_cost_address): Skip cost computation for sub
+	uses if we can estimate it without losing accuracy.
+
+2016-03-30  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic
+	estimates here.
+	* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
+	max_loop_iterations_int.
+	(tree_unswitch_outer_loop): Likewise.
+	* tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
+	* tree-vect-loop.c (vect_analyze_loop_2): Likewise.
+
+2016-03-30  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/70450
+	* fold-const.c (extract_muldiv_1): Fix thinko in wide_int::from usage.
+
+2016-03-30  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/70421
+	* config/i386/i386.c (ix86_expand_vector_set): Fix up argument order
+	in gen_blendm expander.
+
+2016-03-30  Nick Clifton  <nickc@redhat.com>
+
+	PR target/62254
+	* config/arm/arm.c (arm_reload_out_hi): Add code to handle the
+	case where we are already provided with an SImode SUBREG.
+
+2016-03-30  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/70439
+	* config/i386/i386.c (ix86_expand_epilogue): Properly check
+	conflict between DRAP register and __builtin_eh_return.
+
+2016-03-30  Michael Matz  <matz@suse.de>
+	    Richard Biener  <rguenther@suse.de>
+
+	PR ipa/12392
+	* ipa-polymorphic-call.c (struct type_change_info): Change
+	speculative to an unsigned allowing to limit the work we do.
+	(csftc_abort_walking_p): New inline function..
+	(check_stmt_for_type_change): Limit the number of may-defs
+	skipped for speculative devirtualization to
+	max-speculative-devirt-maydefs.
+	* params.def (max-speculative-devirt-maydefs): New param.
+	* doc/invoke.texi (--param max-speculative-devirt-maydefs): Document.
+
+2016-03-30  Mike Stump  <mrs@gcc.gnu.org>
+
+	PR target/63890
+	* config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Use when profiling
+	and TARGET_MACHO.
+
+2016-03-30  Patrick Palka  <ppalka@gcc.gnu.org>
+
+	PR tree-optimization/59124
+	* tree-vrp.c (register_edge_assert_for_2): For NAME != CST1
+	where NAME = A +- CST2 add the assertion A != (CST1 -+ CST2).
+
+2016-03-29  Jeff Law  <law@redhat.com>
+
+	* tree-ssa-coalesce.c (struct ssa_conflicts): Fix typo in comment.
+
+2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-ssa-loop-ivcanon.c (try_peel_loop): Change type of peel
+	to HOST_WIDE_INT.
+
+2016-03-29  Thomas Schwinge  <thomas@codesourcery.com>
+
+	* config/gnu.h (CPP_SPEC, LIB_SPEC): Don't override.
+	* config/i386/gnu.h (STARTFILE_SPEC): Use gcrt1.o instead of
+	gcrt0.o if linking dynamically.
+
+2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR ipa/70283
+	* ipa-devirt.c (methods_equal_p): New function.
+	(compare_virtual_tables): Use it.
+	* cgraph.h (symbol_table::symbol_suffix_separator): Declare.
+	* cgraphclones.c (clone_function_name_1): Use
+	symbol_table::symbol_suffix_separator.
+	* coverage.c (build_var): Likewise.
+	* symtab.c (symbol_table::symbol_suffix_separator): New.
+
+2016-03-29  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/70429
+	* combine.c (simplify_shift_const_1): For ASHIFTRT don't optimize
+	(cst1 >> count) >> cst2 into (cst1 >> cst2) >> count if
+	mode != result_mode.
+
+	PR c++/70353
+	* tree-inline.c (remap_decls): Don't add_local_decl if cfun is null.
+
+	PR tree-optimization/70405
+	* ssa-iterators.h (num_imm_uses): Add missing braces.
+
+2016-03-29  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-optimization/68695
+	* ira-color.c (allocno_copy_cost_saving): New.
+	(improve_allocation): Use it.
+
+2016-03-29  Richard Henderson  <rth@redhat.com>
+
+	PR middle-end/70355
+	* lower-subreg.c (simplify_subreg_concatn): Reject paradoxical subregs.
+
+2016-03-29  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/70424
+	* ipa-prop.c (ipa_compute_jump_functions_for_edge): Always
+	use alignment returned by get_pointer_alignment_1 if it is
+	bigger than BITS_PER_UNIT.
+	* builtins.c (get_pointer_alignment_1): Do not return true
+	for alignment extracted from SSA info.
+
+2016-03-28  James Bowman  <james.bowman@ftdichip.com>
+
+	* config/ft32/ft32.opt (mnodiv): New.
+	* config/ft32/ft32.md (*divsi3, *modsi3): Qualify with TARGET_NODIV.
+	* doc/invoke.texi (FT32 Options -mnodiv): New.
+
+2016-03-28  Kirill Yukhin  <kirill.yukhin@intel.com>
+
+	PR target/70406
+	* config/i386/i386.md (define_split, andn): Fix modes.
+
+2016-03-26  Richard Biener  <rguenther@suse.de>
+	    Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	PR ipa/70366
+	* ipa-inline-transform.c (inline_call): Pass opts_for_fn (to->decl)
+	instead of
+	TREE_OPTIMIZATION (DECL_FUNCTION_SPECIFIC_OPTIMIZATION (to->decl))
+	as 2nd argument to cl_optimization_restore().
+
+2016-03-25  Richard Henderson  <rth@redhat.com>
+
+	PR target/70120
+	* config/aarch64/aarch64.c (aarch64_asm_output_pool_epilogue): New.
+	* config/aarch64/aarch64-protos.h: Declare it.
+	* config/aarch64/aarch64.h (ASM_OUTPUT_POOL_EPILOGUE): New.
+
+2016-03-25  Alan Modra  <amodra@gmail.com>
+
+	PR target/70052
+	* config/rs6000/constraints.md (j): Simplify.
+	* config/rs6000/predicates.md (easy_fp_constant): Exclude
+	decimal float 0.D.
+	* config/rs6000/rs6000.md (zero_fp): New mode_attr.
+	(mov<mode>_hardfloat, mov<mode>_hardfloat32, mov<mode>_hardfloat64,
+	 mov<mode>_64bit_dm, mov<mode>_32bit): Use zero_fp in place of j
+	in all constraint alternatives.
+	(movtd_64bit_nodm): Delete "j" constraint alternative.
+
+2016-03-24  Aldy Hernandez  <aldyh@redhat.com>
+
+	* tree-ssa-propagate.c: Enhance docs for
+	SSA_PROP_NOT_INTERESTING.
+
+2016-03-24  Aldy Hernandez  <aldyh@redhat.com>
+
+	* doc/extend.texi: Fix typo in documentation to pure attribute.
+
+2016-03-24  John David Anglin  <danglin@gcc.gnu.org>
+
+	PR target/70319
+	* config/pa/pa.md (bswapdi2): Use a scratch register.
+
+2016-03-24  Richard Henderson  <rth@redhat.com>
+
+	PR middle-end/69845
+	* fold-const.c (extract_muldiv_1): Correct test for multiplication
+	overflow.
+
+2016-03-24  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*anddi3_doubleword): Generate AND insn
+	using ix86_expand_binary_operator instead of gen_andsi3.
+
+2016-03-24  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/70396
+	* tree-vect-stmts.c (vectorizable_comparison): Use
+	get_vectype_for_scalar_type.
+
+2016-03-24  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/70370
+	* gimplify.c (gimplify_asm_expr): Handle !allows_mem outputs
+	with register bases.
+
+2016-03-24  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/70372
+	* tree-ssa-reassoc.c (eliminate_plus_minus_pair): Use
+	build_all_ones_cst to also handle vector types correctly.
+
+2016-03-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/70381
+	* config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Do not set
+	-mfloat128 here.
+
+2016-03-23  Marek Polacek  <polacek@redhat.com>
+
+	PR c++/69884
+	* doc/invoke.texi: Document -Wignored-attributes.
+
+2016-03-23  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/69042
+	* params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND): Increase the
+	parameter from 30 to 40.
+
+2016-03-23  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/69042
+	* tree-ssa-loop-ivopts.c (add_iv_candidate_for_use): Add IV cand
+	for use with constant offset stripped in base.
+
+2016-03-23  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/70251
+	* match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Adjust
+	mode compatibility check.
+	(A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
+
+2016-03-23  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/64058
+	* tree-ssa-coalesce.c (struct coalesce_pair): Add new field
+	CONFLICT_COUNT.
+	(struct ssa_conflicts): Move up earlier in the file.
+	(conflicts_, var_map_): New static variables.
+	(initialize_conflict_count): New function to initialize the
+	CONFLICT_COUNT field for each conflict pair.
+	(compare_pairs): Lazily initialize the conflict count and use it
+	as the first tie-breaker.
+	(sort_coalesce_list): Add new arguments conflicts, map.  Initialize
+	and wipe conflicts_ and map_ around the call to qsort.  Remove
+	special case for 2 coalesce pairs.
+	* bitmap.c (bitmap_count_unique_bits): New function.
+	(bitmap_count_bits_in_word): New function, extracted from
+	bitmap_count_bits.
+	(bitmap_count_bits): Use bitmap_count_bits_in_word.
+	* bitmap.h (bitmap_count_unique_bits): Declare it.
+
+2016-03-23  Ilya Enkovich  <enkovich.gnu@gmail.com>
+
+	PR target/69917
+	* config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Follow
+	transparent alias chain for decl assembler name.
+	* config/sol2.c (solaris_assemble_visibility): Likewise.
+
+2016-03-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/arm/arm1020e.md (1020call_op): Reduce reservation
+	duration.
+	(v10_fdivs): Likewise.
+	(v10_fdivd): Likewise.
+
+2016-03-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR driver/70132
+	* config/arm/driver-arm.c (host_detect_local_cpu): Reorder exit logic
+	to not call fclose twice on file.
+
+2016-03-23  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/70354
+	* tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
+	oprnd0 is wider than oprnd1 and there is a cast from the wider
+	type to oprnd1, mask it with the mask of the narrower type.
+
+	PR target/70321
+	* config/i386/i386.md (*anddi3_doubleword, *<code>di3_doubleword):
+	Optimize TARGET_STV splitters, if high or low word of last argument
+	is 0 or -1.
+
+2016-03-22  Jeff Law  <law@redhat.com>
+
+	PR target/70232
+	tree-ssa-threadbackward.c
+	(fsm_find_control_statement_thread_paths): Correctly distinguish
+	between old style jump threads vs FSM jump threads.
+
+2016-03-22  Ilya Enkovich  <enkovich.gnu@gmail.com>
+
+	PR target/70302
+	* config/i386/i386.c (scalar_chain::convert_op): Support
+	uninitialized register usage case.
+
+2016-03-22  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/70251
+	* genmatch.c (gen_transform): Adjust last parameter to a three-state
+	int...
+	(capture::gen_transform): ... to change behavior when substituting
+	a condition into cond or not-cond expr context.
+	(dt_simplify::gen_1): Adjust.
+	* gimple-match-head.c: Include gimplify.h for unshare_expr.
+	* match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Revert
+	last change and instead change to
+	A + (B vcmp C ? 1 : 0) -> A - (B vcmp C ? -1 : 0).
+	(A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
+
+2016-03-22  Anthony Green  <green@moxielogic.com>
+
+	* config/moxie/moxiebox.h (CC1_SPEC): Define.  Fix endianness
+	issue for moxiebox targets.
+	(CC1PLUS_SPEC): Ditto.
+
+2016-03-22  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/70333
+	* fold-const.c (extract_muldiv_1): Properly perform multiplication
+	in the wide type.
+
+2016-03-22  Kirill Yukhin  <kirill.yukhin@intel.com>
+
+	* config/i386/i386.c (def_builtin): Remove duplicated functionality.
+
+2016-03-22  Kirill Yukhin  <kirill.yukhin@intel.com>
+
+	PR target/70325
+	* config/i386/i386.c (def_builtin): Handle
+	OPTION_MASK_ISA_AVX512VL to be and-ed with other
+	bits.
+	(const struct builtin_description bdesc_special_args[]):
+	Remove duplicate ISA bits.
+
+2016-03-22  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/70329
+	* config/i386/i386.c (ix86_expand_vecop_qihi): Don't bother computing
+	d.perm[i] for i >= d.nelt.  If not full_interleave, compute d.perm[i]
+	in a way that works also for AVX512BW.
+
+	PR target/70300
+	* config/i386/i386.md (cvtsd2ss splitter): Unpack in destination
+	instead of source if operands[1] is xmm16 and above and
+	!TARGET_AVX512VL.  Use avx512f_vec_dupv16sf_1 instead of
+	vec_interleave_lowv4sf if we need to unpack xmm16 and above.
+
+	PR c++/70295
+	* gimplify.c (gimplify_modify_expr): Call gimple_set_no_warning
+	on assign if (*from_p) is a comparison, set it to
+	TREE_NO_WARNING (*from_p).
+
+2016-03-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/70326
+	* lra.c (restore_scratches): Ignore deleted insns.
+
+2016-03-21  Marc Glisse  <marc.glisse@inria.fr>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/70317
+	* match.pd (cmp @0 @0): Pass @0 instead of TYPE_MODE (TREE_TYPE (@0))
+	to HONOR_NANS.
+
+2016-03-21  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/70327
+	* config/i386/i386.md (movxi): Use ix86_expand_vector_move instead
+	of ix86_expand_move.
+	(movoi): Ditto.
+	(movti): Use general_operand for operand 1 predicate.
+
+2016-03-21  Martin Liska  <mliska@suse.cz>
+
+	* hsa-dump.c (dump_hsa_insn_1): dump default branch of SBR
+	insns.
+	(dump_hsa_symbol): Dump BRIG offset of hsa_symbols.
+
+2016-03-21  Martin Liska  <mliska@suse.cz>
+
+	PR ipa/70306
+	* ipa-icf.c (sem_function::parse): Skip static
+	constructors and destructors.
+
+2016-03-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/70296
+	* config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If IDENT is
+	function-like macro, peek following token(s) if it is followed
+	by CPP_OPEN_PAREN token with optional padding in between, and
+	if not, don't treat it like a macro.
+
+2016-03-21  Thomas Schwinge  <thomas@codesourcery.com>
+	    Alexander Monakov  <amonakov@ispras.ru>
+
+	* config/nvptx/nvptx.c (nvptx_option_override): Don't emit sorry
+	for the stabs debug format.
+
+2016-03-21  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/70310
+	* tree-vect-generic.c (expand_vector_condition): Fold the built
+	condition.
+
+2016-03-21  Kirill Yukhin  <kirill.yukhin@intel.com>
+
+	PR target/70293
+	* config/i386/sse.md (define_insn "*vec_dup<mode>"/AVX2):
+	Block third alternative for AVX-512VL target,
+
+2016-03-21  Martin Liska  <mliska@suse.cz>
+
+	PR hsa/70234
+	* hsa-brig.c (emit_function_directives): Mark unemitted
+	global variables for emission.
+	* hsa-gen.c (hsa_symbol::hsa_symbol): Initialize a new flag.
+	(get_symbol_for_decl): Likewise.
+	* hsa.h (struct hsa_symbol): New flag.
+
+2016-03-21  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/70288
+	* tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Make sure
+	we do not estimate unsimplified all-constant conditionals or
+	switches as optimized away.
+
+2016-03-21  Andrey Belevantsev  <abel@ispras.ru>
+
+	PR rtl-optimization/69102
+	* sched-deps.c (sched_analyze_insn): Do not set last_args_size field
+	when we have a readonly dependency context.
+
+2016-03-18  Jeff Law  <law@redhat.com>
+
+	PR rtl-optimization/70263
+	* ira.c (memref_used_between_p): Assert we found END in the insn chain.
+	(update_equiv_regs): When trying to move a store to after the insn
+	that sets the source of the store, make sure the store occurs after
+	the insn that sets the source of the store.  When successful note
+	the REG_EQUIV note created in the dump file.
+
+2016-03-16  David Wohlferd  <dw@LimeGreenSocks.com>
+	    Bernd Schmidt  <bschmidt@redhat.com>
+
+	* doc/extend.texi: Document more potential problems with basic asms.
+
+2016-03-18  Bernd Schmidt  <bschmidt@redhat.com>
+
+	PR rtl-optimization/70278
+	* lra-constraints.c (split_reg): Handle the case where biggest_mode is
+	VOIDmode.
+
+2016-03-18  Jason Merrill  <jason@redhat.com>
+
+	* calls.c (load_register_parameters): Fix zero size sibcall logic.
+
+2016-03-18  Kirill Yukhin  <kirill.yukhin@intel.com>
+
+	* config/i386/sse.md: Use vpbroadcastq for broadcasting DF
+	values to 128b regs.
+
+2016-03-18  Ilya Enkovich  <enkovich.gnu@gmail.com>
+
+	PR tree-optimization/70252
+	* tree-vect-stmts.c (supportable_widening_operation): Check resulting
+	boolean vector has a proper number of elements.
+	(supportable_narrowing_operation): Likewise.
+
+2016-03-18  Tom de Vries  <tom@codesourcery.com>
+
+	PR ipa/70269
+	* cgraph.c (cgraph_node::get_body): Set dump_file to NULL after save.
+
+2016-03-18  Jakub Jelinek  <jakub@redhat.com>
+
+	* reload1.c (emit_input_reload_insns): Use simplify_replace_rtx
+	instead of replace_rtx for DEBUG_INSNs.
+
+2016-03-18  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
+
+	* config/i386/znver1.md : Fix latencies of FP/SSE/AVX
+	load type reservations.
+
+2016-03-17  John David Anglin  <danglin@gcc.gnu.org>
+
+	PR target/70188
+	* config/pa/constraints.md: Revert 2015-02-13 change.  Use
+	define_constraint for "Q" and "T" constraints.
+
+2016-03-17  Evandro Menezes  <e.menezes@samsung.com>
+
+	Tweak the pipeline model for Exynos M1
+
+	* config/aarch64/aarch64.c (exynosm1_tunings):	Enable weak prefetching
+	model.
+
+2016-03-17  David Malcolm  <dmalcolm@redhat.com>
+
+	PR c/70264
+	* diagnostic-show-locus.c (compatible_locations_p): Handle the case
+	where one or both locations aren't within a line_map.
+
+2016-03-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR driver/70192
+	* opts.c (finish_options): Don't set flag_pie to the default if
+	-fpic, -fPIC, -fno-pic or -fno-PIC is used.  Set flag_pic to 0
+	if it is -1.
+
+2016-03-17  Joern Rennecke  <joern.rennecke@embecosm.com>
+
+	* config/i386/i386.md (*movv4qicc_insn+1..36): Pass
+	true as ALL_REGS argument to replace_rtx.
+
+2016-03-17  Richard Biener  <rguenther@suse.de>
+
+	PR debug/70271
+	* dwarf2out.c (dwarf2out_early_finish): Process deferred_asm_name
+	last.
+
+2016-03-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/70245
+	* rtl.h (replace_rtx): Add ALL_REGS argument.
+	* rtlanal.c (replace_rtx): Likewise.  If true, use REGNO
+	equality and assert mode is the same, instead of just rtx pointer
+	equality.
+	* config/i386/i386.md (mov + arithmetics with load peephole): Pass
+	true as ALL_REGS argument to replace_rtx.
+
+2016-03-17  Ilya Enkovich  <enkovich.gnu@gmail.com>
+
+	* match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Apply
+	for boolean vector with vector mode only.
+	(A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
+
+2016-03-17  Nick Clifton  <nickc@redhat.com>
+
+	PR target/70162
+	* config/rx/rx.c (rx_print_integer): Print negative constants in
+	decimal.
+
+2016-03-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/70261
+	* rtlanal.c (replace_rtx): Revert 2016-03-16 change.
+
+2016-03-16  Richard Henderson  <rth@redhat.com>
+	    Richard Biener  <rguenth@suse.de>
+
+	PR middle-end/70240
+	PR middle-end/68215
+	PR tree-opt/68714
+	* gimplify.c (gimplify_expr) [VEC_COND_EXPR]: Gimplify the
+	first operand as is_gimple_condexpr.
+
+	PR middle-end/70240
+	PR middle-end/68215
+	Revert r231575
+	2015-12-11  Eric Botcazou  <ebotcazou@adacore.com>
+	* tree-vect-generic.c (tree_vec_extract): Remove GSI parameter.
+	Do not gimplify the result.
+	(do_unop): Adjust call to tree_vec_extract.
+	(do_binop): Likewise.
+	(do_compare): Likewise.
+	(do_plus_minus): Likewise.
+	(do_negate): Likewise.
+	(expand_vector_condition): Likewise.
+	(do_cond): Likewise.
+
+2016-03-16  Richard Henderson  <rth@redhat.com>
+
+	PR target/70048
+	* config/aarch64/aarch64.c (virt_or_elim_regno_p): New.
+	(aarch64_classify_address): Use it.
+	(aarch64_legitimize_address): Force all subexpressions of PLUS
+	into registers.  Simplify as (sfp+const)+reg or (reg+reg)+const.
+
+2016-03-16  Jakub Jelinek  <jakub@redhat.com>
+	    Richard Biener  <rguenth@suse.de>
+
+	PR target/70245
+	* rtlanal.c (replace_rtx): For REG, if from is a REG,
+	return to even if only REGNO is equal, and assert
+	mode is the same.
+
+2016-03-11  Jeff Law  <law@redhat.com>
+
+	PR rtl-optimization/70224
+	* reorg.c (relax_delay_slots): Pass right argument to CROSSING_JUMP_P.
+
+2016-03-16  Richard Henderson  <rth@redhat.com>
+
+	PR middle-end/70199
+	* function.h (struct function): Add has_forced_label_in_static.
+	* gimplify.c (force_labels_r): Set it.
+	* lto-streamer-in.c (input_struct_function_base): Read it.
+	* lto-streamer-out.c (output_struct_function_base): Write it.
+	* tree-inline.c (has_label_address_in_static_1): Remove.
+	(copy_forbidden): Remove fndecl parameter; test
+	has_forced_label_in_static.
+	(inline_forbidden_p): Update call to copy_forbidden.
+	(tree_versionable_function_p): Likewise.
+	* ipa-chkp.c (chkp_instrumentable_p): Likewise.
+	(chkp_versioning): Likewise.
+	* tree-inline.h (copy_forbidden): Update decl.
+
+2016-03-16  Marek Polacek  <polacek@redhat.com>
+
+	PR c/70093
+	* cgraphunit.c (cgraph_node::expand_thunk): Also build call to the
+	function being thunked if the result type doesn't have fixed size.
+	* gimplify.c (gimplify_modify_expr): Also set LHS if the result type
+	doesn't have fixed size.
+
+2016-03-16  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-vect-loop.c (vect_analyze_loop_2): Fix wrong dump info by
+	reporting malformed loop nest.
+
+2016-03-16  Tom de Vries  <tom@codesourcery.com>
+
+	PR lto/70187
+	* ipa-devirt.c (possible_polymorphic_call_targets): Move
+	nodes.length () == 1 test to before first nodes[0] access.
+
+2016-03-16  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/68715
+	* graphite-scop-detection.c (scop_detection::merge_sese): Add missing
+	single_pred_p test.
+
+2016-03-16  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/68809
+	* graphite-scop-detection.c (same_close_phi_node): Test if result types
+	are the same.
+
+2016-03-16  Carlos O'Donell  <carlos@redhat.com>
+	    Sandra Loosemore  <sandra@codesourcery.com>
+
+	* doc/extend.texi (Common Function Attributes): Describe ifunc impact
+	on leaf attribute. Mention ELF interposition problems.
+
+2016-03-16  Alan Modra  <amodra@gmail.com>
+
+	PR rtl-optimization/69195
+	PR rtl-optimization/47992
+	* ira.c (indirect_jump_optimize): Ignore artificial defs.
+	Add comments.
+
+2016-03-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR bootstrap/69513
+	* dwarf2out.c (flush_limbo_die_list): Really flush the limbo list.
+
+2016-03-15  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
+
+	* config/avr/avr.md (rotl<mode>3): Set mode for operand 2.
+
+2016-03-15  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/70222
+	* combine.c (simplify_shift_const_1): For A >> B >> C LSHIFTRT
+	optimization if mode is different from result_mode, queue up masking
+	of the result in outer_op.  Formatting fix.
+
+	PR middle-end/70239
+	* tree-ssa-sccvn.c (VN_INFO_GET): Use safe_grow_cleared instead
+	of safe_grow.
+
+2016-03-15  Andrey Belevantsev  <abel@ispras.ru>
+
+	PR rtl-optimization/69032
+	* sel-sched-ir.c (get_seqno_by_preds): Include both insn and head when
+	looping backwards over basic block insns.
+
+2016-03-15  Andrey Belevantsev  <abel@ispras.ru>
+
+	PR target/66660
+	* sel-sched-ir.c (merge_expr): Avoid changing the speculative pattern
+	to non-speculative when propagating trap bits.
+
+2016-03-15  Andrey Belevantsev  <abel@ispras.ru>
+
+	PR rtl-optimization/63384
+	* sel-sched.c (invoke_aftermath_hooks): Do not decrease issue_more on
+	DEBUG_INSN_P insns.
+
+2016-03-15  Andrey Belevantsev  <abel@ispras.ru>
+
+	PR target/64411
+	* sched-deps.c (get_implicit_reg_pending_clobbers): New function,
+	factored out from ...
+	(sched_analyze_insn): ... here.
+	* sched-int.h (get_implicit_reg_pending_clobbers): Declare it.
+	* sel-sched-ir.c (setup_id_implicit_regs): New function, use
+	get_implicit_reg_pending_clobbers in it.
+	(setup_id_reg_sets): Use setup_id_implicit_regs.
+	(deps_init_id): Ditto.
+
+2016-03-15  Tom de Vries  <tom@codesourcery.com>
+
+	PR ipa/70161
+	* cgraph.c (cgraph_node::get_body): Save, reset and restore
+	dump_file_name.
+	* passes.c (execute_one_ipa_transform_pass): Add missing argument to
+	execute_function_dump.
+	(execute_one_pass): Don't dump function if it will be dumped after ipa
+	transform.
+
+2016-03-15  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* genrecog.c (match_pattern_2): If pred is NULL don't call
+	safe_predicate_mode on it.
+
+2016-03-14  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/70219
+	* lra-constraints.c (delete_move_and_clobber): Change assertion
+	to also allow dregno == 0.
+
+2016-03-14  Richard Henderson  <rth@redhat.com>
+
+	PR tree-opt/68714
+	* tree-ssa-reassoc.c (ovce_extract_ops, optimize_vec_cond_expr): New.
+	(can_reassociate_p): Allow ANY_INTEGRAL_TYPE_P.
+	(reassociate_bb): Use optimize_vec_cond_expr; avoid
+	optimize_range_tests, attempt_builtin_copysign and attempt_builtin_powi
+	on vectors.
+
+2016-03-14  Bernd Schmidt  <bschmidt@redhat.com>
+
+	PR target/70083
+	* lra-lives.c (process_bb_lives): Also update biggest mode for hard
+	regs.
+	(lra_create_live_ranges_1): initialize hard register biggest_mode to
+	VOIDmode.
+	* lra-constraints.c (split_reg): For hard regs, try to find the
+	biggest single-register mode used in the function.
+
+2016-03-14  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/56365
+	* tree-ssa-phiopt.c (minmax_replacement): Handle alternate
+	constants to compare against.
+
+2016-03-14  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR target/70098
+	* config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
+	*ctr<mode>_internal5, *ctr<mode>_internal6): Also allow "d" as output.
+	(define_split for the GPR case): Use int_reg_operand instead of
+	gpc_reg_operand for the output.
+
+2016-03-14  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/70045
+	* graphite-isl-ast-to-gimple.c (graphite_create_new_loop_guard): Unshare
+	create_empty_if_region_on_edge argument.
+
+2016-03-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/arm/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Define.
+	(STACK_CHECK_PROTECT): Likewise.
+	* config/i386/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise
+	(STACK_CHECK_PROTECT): Likewise.
+	* config/rs6000/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise
+	(STACK_CHECK_PROTECT): Likewise.
+	* config/rs6000/vxworksae.h (STACK_CHECK_PROTECT): Likewise.
+	* config/sparc/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
+	(STACK_CHECK_PROTECT): Likewise.
+
+2016-03-12  Andrey Belevantsev  <abel@ispras.ru>
+
+	PR rtl-optimization/69307
+	* sel-sched.c (choose_best_pseudo_reg): Properly check for hard
+	registers in modes that span more than one register.
+
+2016-03-12  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR target/69614
+	* lra-constraints.c (delete_move_and_clobber): New.
+	(remove_inheritance_pseudos): Use it.
+
+2016-03-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/70017
+	* calls.c (emit_library_call_value_1): Clear the ECF_NOTHROW flag if
+	the libcall is LCT_THROW.
+	* explow.c (probe_stack_range): Pass LCT_THROW to emit_library_call
+	for the checking routine.
+
+2016-03-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/70131
+	* config/rs6000/rs6000.md (round32<mode>2_fprs): Do not do the
+	optimization if we have direct move.
+	(roundu32<mode>2_fprs): Likewise.
+
+2016-03-11  Bernd Schmidt  <bschmidt@redhat.com>
+
+	PR target/70123
+	* lra-remat.c (operand_to_remat): Disallow hard regs in the value t
+	be rematerialized.
+	(reg_overlap_for_remat_p): Renamed from input_regno_present_p.
+	Arguments swapped.  All callers changed.  Take reg_renumber into
+	account, and Calculate and compare register ranges for hard regs.
+
+2016-03-11  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/70190
+	* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
+	Handle cases where we can not extract the taken edge, even though we
+	found a constant value.
+
+	PR tree-optimization/64058
+	* tree-ssa-coalesce.c (struct coalesce_pair): Add new field INDEX.
+	(num_coalesce_pairs): Move up earlier in file.
+	(find_coalesce_pair): Initialize the INDEX field for each pair
+	discovered.
+	(compare_pairs): No longer sort on the elements in each pair.
+	Instead break ties with the index of the coalesce pair.
+
+2016-03-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/70002
+	* config/aarch64/aarch64-protos.h
+	(aarch64_save_restore_target_globals): New prototype.
+	* config/aarch64/aarch64-c.c (aarch64_pragma_target_parse):
+	Call the above when popping pragma.
+	* config/aarch64/aarch64.c (aarch64_save_restore_target_globals):
+	New function.
+	(aarch64_set_current_function): Rewrite using the above.
+
+2016-03-11  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/70177
+	* gimple-expr.h (extract_ops_from_tree_1): Renamed to ...
+	(extract_ops_from_tree): ... this.  In the 2 argument
+	overload remove _1 suffix.
+	* gimple-expr.c (extract_ops_from_tree_1): Renamed to ...
+	(extract_ops_from_tree): ... this.
+	* gimple.c (gimple_build_assign, gimple_assign_set_rhs_from_tree):
+	Adjust callers.
+	* tree-ssa-loop-niter.c (derive_constant_upper_bound): Likewise.
+	* tree-ssa-forwprop.c (defcodefor_name): Call 3 operand
+	extract_ops_from_tree instead of 2 operand one.
+
+2016-03-11  Alan Lawrence  <alan.lawrence@arm.com>
+
+	PR tree-optimization/70013
+	* tree-sra.c (analyze_access_subtree): Also set grp_unscalarized_data
+	for constant-pool entries.
+
+2016-03-11  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/70174
+	* expmed.c (store_bit_field_using_insv): Use gen_lowpart_if_possible
+	followed by gen_lowpart on force_reg instead of just gen_lowpart.
+
+	PR tree-optimization/70169
+	* tree-ssa-loop.c (gen_lsm_tmp_name): Handle FUNCTION_DECL and
+	LABEL_DECL like VAR_DECL.  Emit nothing instead of gcc_unreachable
+	for unknown codes.
+
+2016-03-11  Ilya Enkovich  <enkovich.gnu@gmail.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/70160
+	* config/i386/i386.c (scalar_chain::convert_reg): Skip uses
+	of uninitialized values.
+
+2016-03-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.md ("trunctddd2"): Turn former define_insn into
+	define_expand.
+	("*trunctddd2"): New pattern definition.
+	("trunctdsd2"): Set prep_for_short_prec rounding mode for the
+	TD->DD truncation.
+
+2016-03-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.md (BFP_RND_*, DFP_RND_*): Add new constant
+	definitions for BFP and DFP rounding modes.
+	("fixuns_truncdddi2", "fixuns_trunctddi2")
+	("fixuns_trunc<BFP:mode><GPR:mode>2", "fixuns_trunc<mode>si2")
+	("fix_trunc<DSF:mode><GPR:mode>2", "fix_trunc<mode>di2")
+	("fix_trunctf<mode>2"): Use the new constants instead of magic
+	numbers.
+
+2016-03-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/constraints.md: Adjust comment.
+	("Y"): Adjust comment.  Rename s390_decompose_shift_count to
+	s390_decompose_addrstyle_without_index.
+	* config/s390/predicates.md (shift_count_or_setmem_operand):
+	Rename to setmem_operand.
+	* config/s390/s390-protos.h
+	(s390_decompose_shift_count): Rename to
+	s390_decompose_addrstyle_without_index.
+	* config/s390/s390.c (s390_decompose_shift_count)
+	(s390_mem_constraint, print_shift_count_operand)
+	(print_operand_address, print_operand): Rename
+	s390_decompose_shift_count to
+	s390_decompose_addrstyle_without_index and rename
+	print_shift_count_operand to print_addrstyle_operand troughout the
+	file.
+	* config/s390/s390.md ("setmem_long_<P:mode>", "*setmem_long")
+	("*setmem_long_and", "*setmem_long_31z", "*setmem_long_and_31z"):
+	Rename shift_count_or_setmem_operand to setmem_operand.
+	* config/s390/vx-builtins.md ("vec_insert<mode>")
+	("vec_promote<mode>"): Replace shift_count_or_setmem_operand with
+	nonmemory_operand.
+
+2016-03-10  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+	PR target/70168
+	* config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
+	Handle overlapping retval and newval.
+
+2016-03-10  Nick Clifton  <nickc@redhat.com>
+
+	PR target/7044
+	* config/aarch64/aarch64.c
+	(aarch64_override_options_after_change_1): When forcing
+	flag_omit_frame_pointer to be true, use a special value that can
+	be detected if this function is called again, thus preventing
+	flag_omit_leaf_frame_pointer from being forced to be false.
+
+2016-03-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* common/config/aarch64/aarch64-common.c (aarch64_handle_option):
+	Set x_flag_omit_leaf_frame_pointer when handling
+	-momit-leaf-frame-pointer.
+
+2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR lto/69589
+	* cgraph.c (cgraph_node::dump): Dump split_part and
+	indirect_call_target.
+	* cgraph.h (cgraph_node): Add indirect_call_target flag.
+	* ipa.c (has_addr_references_p): Cleanup.
+	(is_indirect_call_target_p): New.
+	(walk_polymorphic_call_targets): Do not mark virtuals that may be
+	called indirectly as local.
+	(symbol_table::remove_unreachable_nodes): Compute indirect_call_target.
+
+2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR ipa/69630
+	* ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
+	on cxa_pure_virtual.
+
+2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR lto/69589
+	* tree.c (free_lang_data_in_decl): Clear visibility of TYPE_DECL.
+
+2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR lto/69589
+	* tree.c (need_assembler_name_p): Only record main variant type names.
+
+2016-03-10  Christophe Lyon  <christophe.lyon@linaro.org>
+
+	PR target/70113.
+	* config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_843419_DEFAULT):
+	Always define to 0 or 1.
+	(TARGET_FIX_ERR_A53_843419): New macro.
+	* config/aarch64/aarch64-elf-raw.h
+	(TARGET_FIX_ERR_A53_843419_DEFAULT): Update for above changes.
+	* config/aarch64/aarch64-linux.h: Likewise.
+	* config/aarch64/aarch64.c
+	(aarch64_override_options_after_change_1): Do not default
+	aarch64_nopcrelative_literal_loads to true if Cortex-A53 erratum
+	843419 is on.
+	(aarch64_attributes): Handle fix-cortex-a53-843419.
+	(aarch64_can_inline_p): Likewise.
+	* config/aarch64/aarch64.opt (aarch64_fix_a53_err843419): Save.
+
+2016-03-10  Alan Lawrence  <alan.lawrence@arm.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	* common.opt (funconstrained-commons, flag_unconstrained_commons): New.
+	* tree.c (array_at_struct_end_p): Do not limit to size of decl for
+	DECL_COMMONS if flag_unconstrained_commons is set.
+	* tree-dfa.c (get_ref_base_and_extent): Likewise.
+	* doc/invoke.texi (Optimize Options): Add -funconstrained-commons.
+	(funconstrained-commons): Document.
+
+2016-03-10  Christophe Lyon  <christophe.lyon@linaro.org>
+
+	* config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add
+	aarch64-fusion-pairs.def and aarch64-tuning-flags.def
+
+2016-03-10  Ilya Enkovich  <enkovich.gnu@gmail.com>
+
+	* tree-vect-stmts.c (vectorizable_mask_load_store): Check mask
+	has a proper number of elements.
+
+2016-03-10  Alan Modra  <amodra@gmail.com>
+
+	PR rtl-optimization/69195
+	PR rtl-optimization/47992
+	* ira.c (recorded_label_ref): Delete.
+	(update_equiv_regs): Return void.
+	(indirect_jump_optimize): New function.
+	(ira): Call indirect_jump_optimize and delete_trivially_dead_insns
+	before regstat_compute_ri.  Don't rebuild_jump_labels here.
+	Delete update_regstat.
+
+2016-03-10  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/70128
+	* tree-ssa-structalias.c (set_uids_in_ptset): Set
+	vars_contains_nonlocal for any FUNCTION_DECL or LABEL_DECL.
+
+2016-03-09  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/70152
+	* tree-sra.c (replace_removed_params_ssa_names): Copy over
+	SSA_NAME_OCCURS_IN_ABNORMAL_PHI from old_name to new_name.
+
+	PR target/70086
+	* config/i386/i386.md (truncdfsf2 splitter): Use gen_vec_concatv2df
+	instead of gen_sse2_loadlpd.
+	* config/i386/sse.md (*vec_concatv2df): Rename to...
+	(vec_concatv2df): ... this.
+
+	PR tree-optimization/70127
+	* fold-const.c (operand_equal_p): Revert the 2015-10-28 change.
+
+2016-03-09  David Malcolm  <dmalcolm@redhat.com>
+
+	PR c/68473
+	PR c++/70105
+	* diagnostic-show-locus.c (compatible_locations_p): New function.
+	(layout::layout): Sanitize ranges using compatible_locations_p.
+
+2016-03-09  David Malcolm  <dmalcolm@redhat.com>
+
+	PR c/68473
+	PR c++/70105
+	* diagnostic-show-locus.c (layout_range::layout_range): Replace
+	location_range param with three const expanded_locations * and a
+	bool.
+	(layout::layout): Replace call to
+	rich_location::lazily_expand_location with get_expanded_location.
+	Extract the range and perform location expansion here, passing
+	the results to the layout_range ctor.
+	* diagnostic.c (source_range::debug): Delete.
+	* diagnostic.h (diagnostic_expand_location): Reimplement in terms
+	of rich_location::get_expanded_location.
+	* gcc-rich-location.c (get_range_for_expr): Delete.
+	(gcc_rich_location::add_expr): Reimplement to avoid the
+	rich_location::add_range overload that took a location_range,
+	passing a location_t instead.
+
+2016-03-09  Richard Biener  <rguenther@suse.de>
+	Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/70138
+	* tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
+	Also skip vect_double_reduction_def.
+
+2016-03-09  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/70049
+	* config/i386/sse.md (*vec_extract<mode>): Use %0 instead of %k0
+	if the operand is "m".
+
+2016-03-09  Nathan Sidwell  <nathan@acm.org>
+
+	* config/nvptx/nvptx.c (nvptx_option_override): Don't kill debug level.
+
+2016-03-09  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
+
+	* config/i386/i386.c (processor_target_table): Fix cost table
+	intialization order for znver1.
+
+2016-03-08  Jakub Jelinek  <jakub@redhat.com>
+
+	* ipa-polymorphic-call.c (walk_ssa_copies): Fix spelling
+	- becuase -> because.
+	* ipa-reference.c (ignore_module_statics): Likewise.
+	* cgraph.c (cgraph_node::get_body): Likewise.
+	* ipa-inline.c (early_inliner): Likewise.
+	* ipa-devirt.c (types_same_for_odr): Likewise.
+	* tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise.
+	* config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Likewise.
+
+2016-03-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* tree-ssa-math-opts.c: Fix typo in comment.
+
+2016-03-08  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/70110
+	* config/i386/i386.c (scalar_chain::make_vector_copies,
+	scalar_chain::convert_reg): Call end_sequence in between
+	get_insns and emit_conversion_insns rather than after both
+	calls.
+
+2016-03-07  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/70064
+	* config/i386/i386.h (machine_function): Add
+	pc_thunk_call_expanded flag.
+	(ix86_pc_thunk_call_expanded): New define.
+	* config/i386/i386.md (set_got, set_got_labelled): New expanders.
+	(*set_got): Rename insn pattern from set_got.
+	(*set_got_labelled): Rename inst pattern from set_got_labelled.
+	* config/i386/i386.c (ix86_compute_frame_layout): Use
+	ix86_pc_thunk_call_expanded to prevent red-zone.
+
+2016-03-07  Martin Jambor  <mjambor@suse.cz>
+
+	* hsa.h (hsa_get_ctor_statements): Declare.
+	(hsa_get_dtor_statements): Likewise.
+	(hsa_get_kernel_dispatch_type): Likewise.
+	* hsa.c (hsa_get_ctor_statements): New function.
+	(hsa_get_dtor_statements): Likewise.
+	(hsa_get_kernel_dispatch_type): Likewise.
+	* hsa-brig.c (hsa_cdtor_statements): Removed.
+	(hsa_output_libgomp_mapping): Use hsa_get_ctor_statements and
+	hsa_get_dtor_statements.
+	* hsa-gen.c (hsa_kernel_dispatch_type): Removed.
+	(get_hsa_kernel_dispatch_offset): Use hsa_get_kernel_dispatch_type.
+
+2016-03-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+	* config/arm/arm-cores.def (cortex-r8): New.
+	* config/arm/arm-tables.opt (cortex-r8): Regenerate.
+	* config/arm/arm-tune.md: Likewise.
+	* doc/invoke.texi: Add cortex-r8 to list of cpu values.
+
+2016-03-07  Martin Sebor  <msebor@redhat.com>
+
+	PR rtl-optimization/19705
+	* doc/invoke.texi (Options That Control Optimization): Clarify
+	-fno-branch-count-reg.
+
+2016-02-26  Richard Biener  <rguenther@suse.de>
+	    Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/69740
+	* cfghooks.c (remove_edge): Request loop fixups if we delete
+	an edge that might turn an irreducible loop into a natural
+	loop.
+	* cfgloop.h (check_verify_loop_structure): Clear LOOPS_NEED_FIXUP.
+	Move after definition of loops_state_clear.
+
+2016-03-07  Bin Cheng  <bin.cheng@arm.com>
+
+	PR rtl-optimization/69052
+	* rtlanal.c (commutative_operand_precedence): Set higher precedence
+	to CONST_WIDE_INT.
+
+2016-03-07  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/70116
+	* tree-ssa-tail-merge.c	(merge_stmts_p): New function, handling
+	is_tm_ending stmts and ubsan/asan internal functions.
+	(find_duplicate): Use it.  Don't test is_tm_ending here.
+
+2016-03-07  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/70115
+	* tree-ssa-loop-ivcanon.c (propagate_into_all_uses): Remove.
+	(propagate_constants_for_unrolling): Use replace_uses_by.
+
+2016-03-07  Nathan Sidwell  <nathan@codesourcery.com>
+
+	PR middle-end/69916
+	* omp-low.c (struct oacc_loop): Add ifns.
+	(new_oacc_loop_raw): Initialize it.
+	(finish_oacc_loop): Clear mask & flags if no ifns.
+	(oacc_loop_discover_walk): Count IFN_GOACC_LOOP calls.
+	(oacc_loop_xform_loop): Add ifns arg & adjust.
+	(oacc_loop_process): Adjust oacc_loop_xform_loop call.
+
+2016-03-07  Richard Henderson  <rth@redhat.com>
+
+	PR rtl-opt/70061
+	* tree-outofssa.c (emit_partition_copy): Flush pending stack adjust.
+	(insert_value_copy_on_edge): Likewise.
+
+2016-03-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/arm/arm_neon.h: Show error if using with soft-float ABI.
+
+2016-03-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	PR target/62281
+	* config/i386/sol2.h (STACK_REALIGN_DEFAULT): Define.
+
+2016-03-05  Venkataramanan Kumar  <Venkataramanan.kumar@amd.com>
+
+	* config/i386/i386.c (znver1_cost): Fix Multiply cost.
+
+2016-03-05  Venkataramanan Kumar  <Venkataramanan.kumar@amd.com>
+
+	Fix sseimul type attribute.
+	* config/i386/znver1.md
+	(znver1_sseimul, znver1_sseimul_avx256, znver1_sseimul_load,
+	znver1_sseimul_avx256_load) : Fix the type attribute.
+	(znver1_sseimul_di, znver1_sseimul_load_di): Fix type attribute,
+	pipe usage and latency.
+
+2016-03-05  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/70084
+	* tree-inline.c (copy_tree_body_r): When cancelling ADDR_EXPR
+	of INDIRECT_REF and ADDR_EXPR changed type, fold_convert it
+	to the right type.
+
+2016-03-04  Bernd Schmidt  <bschmidt@redhat.com>
+
+	PR c/69973
+	* targhooks.c (default_vector_alignment): Limit to MAX_OFILE_ALIGNMENT.
+
+	PR rtl-optimization/69941
+	* postreload.c (reload_combine_recognize_pattern): Ensure all uses of
+	the reg share its mode.
+
+2016-03-04  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/69196
+	* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
+	If the both SSA_NAMEs are anonymous, then consider them unassociated
+	and include the PHI in the statement count.
+
+2016-03-05  Tom de Vries  <tom@codesourcery.com>
+
+	* omp-low.c (check_omp_nesting_restrictions): Check for non-oacc
+	construct in oacc routine.  Check for oacc region in oacc routine.
+
+2016-03-04  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/70062
+	* config/i386/i386.c (decide_alg): Add RECUR argument.  Revert
+	2016-02-22 changes, instead don't recurse if RECUR is already true.
+	Don't change *dynamic_check if RECUR.  Adjust recursive caller
+	to pass true to the new argument.
+	(ix86_expand_set_or_movmem): Adjust decide_alg caller.
+
+	PR target/70059
+	* config/i386/sse.md (vec_set_lo_<mode><mask_name>,
+	<extract_type_2>_vinsert<shuffletype><extract_suf_2>_mask): Formatting
+	fixes.
+	(vec_set_hi_<mode><mask_name>): Likewise.  Swap VEC_CONCAT operands.
+
+2016-03-04  Bernd Schmidt  <bschmidt@redhat.com>
+
+	PR rtl-optimization/57676
+	* lra-assigns.c (lra_assign): Guard test for maximum iterations
+	with flag_checking.
+
+2016-03-04  Ilya Enkovich  <enkovich.gnu@gmail.com>
+
+	* tree-vect-patterns.c (search_type_for_mask): Handle
+	comparison of booleans.
+
+2016-03-04  Jakub Jelinek  <jakub@redhat.com>
+
+	* doc/extend.texi (__builtin_alloca, __builtin_alloca_with_align):
+	Fix @xref usage.
+
+	PR debug/69947
+	* dwarf2out.c (prune_unused_types_walk_loc_descr): Handle
+	all other ops that have dw_val_class_die_ref operands,
+	and DW_OP_GNU_entry_value.
+
+2016-03-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR rtl-optimization/69904
+	* config/arm/arm.c (arm_cannot_copy_insn_p):
+	Return true for load-exclusive instructions.
+
+2016-03-03  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/70021
+	* tree-vect-stmts.c (vect_mark_relevant): Remove USED_IN_PATTERN
+	argument, if STMT_VINFO_IN_PATTERN_P (stmt_info), always mark
+	the pattern no matter if it is used just by non-pattern, pattern
+	or mix thereof.
+	(process_use, vect_mark_stmts_to_be_vectorized): Adjust callers.
+	* tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
+	oprnd1 def_stmt is in pattern, don't look through it.
+
+2016-03-03  Marek Polacek  <polacek@redhat.com>
+
+	PR middle-end/70050
+	* match.pd (X % -Y): Add INTEGRAL_TYPE_P check.
+
+2016-03-03  Martin Liska  <mliska@suse.cz>
+
+	PR tree-optimization/70043
+	* tree-vect-loop.c (optimize_mask_stores): Move iterator to
+	previous statement if we see a debug statement.
+
+2016-03-03  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/55936
+	* tree-vrp.c (compare_name_with_value): Add use_equiv_p
+	parameter and guard unsafe equivalence use.
+	(vrp_evaluate_conditional_warnv_with_ops): Always use
+	safe equivalences but not via the quadratic compare_names
+	helper.
+
+2016-03-03  Michael Collison  <michael.collison@linaro.org>
+
+	PR target/70014
+	* config/arm/arm.md (*subsi3_carryin_const): Change predicate
+	for operand 1 to s_register_operand. Change predicate for operand
+	2 to arm_not_immediate_operand.
+
+2016-03-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* doc/tm.texi: Regenerated.
+
+2016-03-02  Richard Henderson  <rth@redhat.com>
+
+	PR rtl-opt/67145
+	* simplify-rtx.c (simplify_plus_minus): Allow reassoc without
+	simplification when all args are positive non-fixed registers.
+
+2016-03-02  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	* target.def (lra_p): Specify that new ports should use LRA.
+
+2016-03-02  Jakub Jelinek  <jakub@redhat.com>
+
+	PR libgomp/69555
+	* gimplify.c (gimplify_decl_expr): For decls with REFERENCE_TYPE, also
+	gimplify_type_sizes the type they refer to.
+	(omp_notice_variable): Handle reference vars to VLAs.
+	* omp-low.c (lower_omp_target): Emit setup of OMP_CLAUSE_PRIVATE
+	reference to VLA decls in the second pass instead of first pass.
+
+2016-03-02  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/68659
+	* graphite-isl-ast-to-gimple.c (collect_all_ssa_names): Handle
+	new_expr == NULL_TREE.
+	(get_new_name): Handle ADDR_EXPR.
+
+2016-03-02  Bin Cheng  <bin.cheng@arm.com>
+
+	PR rtl-optimization/69052
+	* loop-invariant.c (canonicalize_address): New function.
+	(inv_can_prop_to_addr_use): Check validity of address expression
+	which is canonicalized by above function.
+
+2016-03-02  Alan Modra  <amodra@gmail.com>
+
+	PR ipa/69990
+	* ipa-icf.c (sem_variable::merge): Do not merge an alias with
+	larger alignment.
+
+2016-03-02  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/70028
+	* config/i386/i386.md (kmovw): Move m constraint to 2nd alternative.
+	(*movhi_internal): Put mask moves from and to memory separately
+	from moves from/to GPRs.
+
+2016-03-02  Richard Biener  <rguenther@suse.de>
+
+	* genmatch.c (dt_node::gen_kids): Fix match code-gen for embedded
+	GENERIC expressions in GIMPLE.
+
+2016-03-02  Richard Biener  <rguenther@suse.de>
+
+	* config/i386/i386.c (type_natural_mode): Fix typo.
+
+2016-03-02  Nick Clifton  <nickc@redhat.com>
+
+	* config.gcc (mep-*-elf): Add newlib-stdint.h to tm_file.
+
+2016-03-02  Richard Biener  <rguenther@suse.de>
+	    Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/67278
+	* config/i386/i386.c (type_natural_mode): Handle XFmode vectors.
+
+2016-03-02  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/67278
+	* tree-cfg.c (verify_expr): Adjust BIT_FIELD_REF case.
+
+2016-03-02  Marek Polacek  <polacek@redhat.com>
+
+	PR c/67854
+	* gimplify.c (gimplify_va_arg_expr): Use expanded location for the
+	"is promoted to" warning.
+
+2016-03-01  DJ Delorie  <dj@redhat.com>
+
+	* config.gcc: Deprecate mep-*.
+
+2016-03-01  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR middle-end/70025
+	* lra-constraints.c (regno_val_use_in): New.
+	(match_reload): Use it instead of regno_use_in.
+
+2016-03-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR rtl-optimization/70007
+	* gcse.c (compute_ld_motion_mems): Tidy up and also invalidate memory
+	references present in REG_EQUAL notes attached to non-SET patterns.
+
+2016-03-01  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/69196
+	* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
+	Appropriately clamp the number of statements to copy when the
+	thread path does not traverse a loop backedge.
+
+	PR tree-optimization/69196
+	* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
+	Do count some PHIs in the thread path against the insn count.  Decrease
+	final statement count by one as the control statement in the last
+	block will get removed.  Remove special cased code for handling PHIs
+	in the last block.
+
+2016-03-01  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/70027
+	* config/i386/i386.c (ix86_output_call_insn): Add -masm=intel
+	asm dialect alternatives to explicit GOTPCREL calls.
+
+2016-03-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/70017
+	* ira.c (do_reload): Issue warning for generic stack checking here...
+	* reload1.c (reload): ...instead of here and streamline it.
+
+2016-03-01  Nick Clifton  <nickc@redhat.com>
+
+	* config.gcc (cr16-*-elf): Add newlib-stdint.h to tm_file.
+
+2016-03-01  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69983
+	* tree-chrec.c (eq_evolutions_p): Handle conversions, compare
+	types and fall back to operand_equal_p.
+
+2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	Revert
+	2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/constraints.md ("jm8"): New constraint.
+	* config/s390/predicates.md ("const_int_8bitset_operand"): New
+	predicate.
+	* config/s390/s390.md ("*setmem_long", "*setmem_long_and"): Merge
+	into ...
+	("*setmem_long<setmem_and>"): New pattern.
+	("*setmem_long_31z", "*setmem_long_and_31z"): Merge
+	into ...
+	("*setmem_long_31z<setmem_and>"): New pattern.
+	* config/s390/subst.md ("setmem_31z_subst", "setmem_and_subst"):
+	New substitution rules with the required attributes.
+
+
+2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	Revert
+	2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* gensupport.c (process_substs_on_one_elem): Split loop to
+	complete mark_operands_used_in_match_dup on all expressions in the
+	vector first.
+	(adjust_operands_numbers): Inline into process_substs_on_one_elem
+	and remove function.
+
+2016-03-01  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/70022
+	* fold-const.c (fold_indirect_ref_1): Fix range checking for
+	vector BIT_FIELD_REF extract.
+
+2016-03-01  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69994
+	* tree-ssa-reassoc.c (ops_equal_values_p): Handle missing case.
+
+2016-03-01  Ilya Enkovich  <enkovich.gnu@gmail.com>
+
+	PR tree-optimization/69956
+	* tree-vect-stmts.c (supportable_widening_operation): Support
+	multi-step conversion of boolean vectors.
+	(supportable_narrowing_operation): Likewise.
+
+2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.c (s390_decompose_address): Don't accept SImode
+	anymore.
+
+2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/subst.md (DSI_VI): New mode iterator.
+	("addr_style_op_subst"): Use DSI_VI instead of DSI.
+	* config/s390/vector.md ("vec_set<mode>"): Move expander before
+	the insn definition.
+	("*vec_set<mode>"): Change predicate and add alternative to
+	support only either register or const_int operands as element
+	selector.
+	("*vec_set<mode>_plus"): New pattern to support reg + const_int
+	operands.
+	("vec_extract<mode>"): New expander.
+	("*vec_extract<mode>"): New insn definition supporting reg and
+	const_int element selectors.
+	("*vec_extract<mode>_plus"): New insn definition supporting
+	reg+const_int element selectors.
+	("rotl<mode>3", "ashl<mode>3", "ashr<mode>3"): Merge into the
+	following expander+insn definition.
+	("<vec_shifts_name><mode>3"): New expander.
+	("*<vec_shifts_name><mode>3<addr_style_op>"): New insn definition.
+
+2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.md ("*tabort_1"): Change predicate to
+	nonmemory_operand.  Add a second alternative to cover
+	register as well as const int operands.
+	("*tabort_1_plus"): New pattern definition.
+
+2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.md ("*ashrdi3_cc_31")
+	("*ashrdi3_cconly_31""*ashrdi3_cc_31_and")
+	("*ashrdi3_cconly_31_and", "*ashrdi3_31_and", "*ashrdi3_31"):
+	Merge insn definitions into ...
+	("*ashrdi3_31<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
+	New pattern definition.
+	("*ashr<mode>3_cc", "*ashr<mode>3_cconly", "ashr<mode>3", )
+	("*ashr<mode>3_cc_and", "*ashr<mode>3_cconly_and")
+	("*ashr<mode>3_and"): Merge insn definitions into ...
+	("*ashr<mode>3<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
+	New pattern definition.
+	* config/s390/subst.md ("addr_style_op_cc_subst")
+	("masked_op_cc_subst", "setcc_subst", "cconly_subst"): New
+	substitutions patterns plus attributes.
+	Add ashiftrt to SUBST iterator.
+
+2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.md ("<shift><mode>3"): Change predicate of
+	op2 to nonmemory_operand.
+	("*<shift>di3_31", "*<shift>di3_31_and"):
+	Merge into single pattern definition ...
+	("*<shift>di3_31<addr_style_op><masked_op>"): New pattern.
+	("*<shift><mode>3", "*<shift><mode>3_and"): Merge into single
+	pattern definition ...
+	("*<shift><mode>3<addr_style_op><masked_op>"): New pattern.
+	* config/s390/subst.md: Add ashift and lshiftrt to SUBST
+	iterator.
+
+2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/predicates.md (const_int_6bitset_operand): New
+	predicate.
+	* config/s390/s390.md: Include subst.md.
+	("rotl<mode>3"): New expander.
+	("rotl<mode>3", "*rotl<mode>3_and"): Merge insn definitions into
+	...
+	("*rotl<mode>3<addr_style_op><masked_op>"): New insn definition.
+	* config/s390/subst.md: New file.
+
+2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.md ("op_type", "atype", "length" attributes):
+	Remove RRR type.  It doesn't really exist.
+	("RRer", "f0", "v0", "vf", "vd", "op1", "Rf"): Remove mode
+	attributes.
+	("BFP", "DFP", "nDSF", "nDFDI"): Add mode attributes.
+	("*cmp<mode>_ccs", "floatdi<mode>2", "add<mode>3")
+	("*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3")
+	("*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3")
+	("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2")
+	("*abs<mode>2", "*negabs<mode>2", "sqrt<mode>2"): Override
+	`enabled' attribute.
+
+2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* gensupport.c (process_substs_on_one_elem): Split loop to
+	complete mark_operands_used_in_match_dup on all expressions in the
+	vector first.
+	(adjust_operands_numbers): Inline into process_substs_on_one_elem
+	and remove function.
+
+2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR target/69706
+	* config/sparc/sparc.c (NWORDS_UP): Rename to...
+	(CEIL_NWORDS): ...this.  Use CEIL macro.
+	(compute_fp_layout): Adjust to above renaming.
+	(function_arg_union_value): Likewise.
+	(sparc_arg_partial_bytes): Likewise.
+	(sparc_function_arg_advance): Likewise.
+
+2016-02-29  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/70005
+	* tree-ssa-uncprop.c (associate_equivalences_with_edges): Handle case
+	where an object with a boolean range is compared against a value
+	outside [0..1].
+
+	PR tree-optimization/69999
+	* gimple-ssa-split-paths.c (split_paths): When duplicating a block
+	with an outgoing edge marked with EDGE_IRREDUCIBLE_LOOP, schedule
+	loop cleanups.
+
+2016-02-29  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69994
+	* tree-ssa-reassoc.c (gimple_nop_conversion_p): New function.
+	(get_unary_op): Look through nop conversions.
+	(ops_equal_values_p): New function, look for equality diregarding
+	nop conversions.
+	(eliminate_plus_minus_pair): Use ops_equal_values_p
+	(repropagate_negates): Do not use get_unary_op here.
+
+2016-02-29  Martin Liska  <mliska@suse.cz>
+
+	* system.h: Poison ENABLE_CHECKING macro.
+
+2016-02-29  Martin Liska  <mliska@suse.cz>
+
+	* hsa-gen.c (gen_body_from_gimple): Dump only if TDF_DETAILS
+	is presented in dump flags.
+	* hsa-regalloc.c (linear_scan_regalloc): Likewise.
+	(hsa_regalloc): Likewise.
+
+2016-02-19  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69980
+	* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Update
+	permutation of those we need to keep.
+
+2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR target/69706
+	* config/sparc/sparc.c (ROUND_ADVANCE): Rename to...
+	(NWORDS_UP): ...this
+	(init_cumulative_args): Minor tweaks.
+	(sparc_promote_function_mode): Likewise.
+	(scan_record_type): Delete.
+	(traverse_record_type): New function template.
+	(classify_data_t): New structure type.
+	(classify_registers): New inline function.
+	(function_arg_slotno): In 64-bit mode, bail out early if FP slots are
+	exhausted.  Instantiate traverse_record_type on classify_registers and
+	deal with the case of a structure passed in slot #15 with no FP field
+	in the first word.
+	(assign_data_t): New structure type.
+	(compute_int_layout): New static function.
+	(compute_fp_layout): Likewise.
+	(count_registers): New inline function.
+	(assign_int_registers): New static function.
+	(assign_fp_registers): Likewise.
+	(assign_registers): New inline function.
+	(function_arg_record_value_1): Delete.
+	(function_arg_record_value_2): Likewise.
+	(function_arg_record_value_3): Likewise.
+	(function_arg_record_value): Adjust to above changes.  Instantiate
+	traverse_record_type on count_registers to first count the number of
+	registers to be used and then on assign_registers to assign them.
+	(function_arg_union_value): Adjust to above renaming.
+	(sparc_function_arg_1); Minor tweaks.  Remove commented out code.
+	(sparc_arg_partial_bytes): Adjust to above renaming.  Deal with the
+	case of a structure passed in slot #15
+	(sparc_function_arg_advance): Likewise.
+	(function_arg_padding): Minor tweak.
+
+2016-02-29  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69720
+	* tree-vect-loop.c (get_initial_def_for_reduction): Avoid
+	the adjustment_def path for possibly vectorized defs.
+	(vect_create_epilog_for_reduction): Handle vectorized initial
+	defs properly.
+
+2016-02-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/i386/cygming.h (STACK_REALIGN_DEFAULT): Define.
+
+2016-02-27  Jeff Law  <law@redhat.com>
+
+	Revert
+	2016-02-26  Richard Biener  <rguenther@suse.de>
+		    Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/69740
+	* cfghooks.c (remove_edge): Request loop fixups if we delete
+	an edge that might turn an irreducible loop into a natural
+	loop.
+
+2016-02-27  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/69896
+	* tree-vect-generic.c (get_compute_type): Avoid single element
+	vector types.
+
+2016-02-26  Evandro Menezes  <e.menezes@samsung.com>
+
+	Rename the AArch64 tuning option and related functions to enable the
+	Newton series for the reciprocal square root to reflect its
+	approximative characteristic.
+
+	* config/aarch64/aarch64-protos.h (aarch64_emit_swrsqrt): Rename
+	function to "aarch64_emit_approx_rsqrt".
+	* config/aarch64/aarch64-tuning-flags.def: Rename tuning flag to
+	AARCH64_EXTRA_TUNE_APPROX_RSQRT.
+	* config/aarch64/aarch64.c (exynosm1_tunigs): Use new flag name.
+	(xgene1_tunings): Likewise.
+	(use_rsqrt_p): Likewise.
+	(aarch64_emit_swrsqrt): Use new function name.
+	* config/aarch64/aarch64-simd.md (aarch64_rsqrts_*): Likewise.
+	* config/aarch64/aarch64.opt (mlow-precision-recip-sqrt): Reword the
+	text explaining this option.
+	* doc/invoke.texi (-mlow-precision-recip-sqrt): Likewise.
+
+2016-02-26  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/69969
+	* config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
+	complain about -mallow-movmisalign without -mvsx if
+	TARGET_ALLOW_MOVMISALIGN was not set explicitly.
+
+2016-02-26  Joel Sherrill  <joel@rtems.org>
+
+	* config.gcc: Add x86_64-*-rtems*.
+	* config/i386/rtems-64.h: New file.
+
+2016-02-26  Joel Sherrill  <joel@rtems.org>
+
+	* config.gcc: Add aarch64-*-rtems*.
+	* config/aarch64/rtems.h: New file.
+
+2016-02-26  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR target/69946
+	* config/rs6000/rs6000.c (rs6000_insn_for_shift_mask): Print rlwinm
+	shift amount using %h.  Add comment.
+
+2016-02-26  Richard Biener  <rguenther@suse.de>
+	    Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/69740
+	* cfghooks.c (remove_edge): Request loop fixups if we delete
+	an edge that might turn an irreducible loop into a natural
+	loop.
+
+2016-02-26  Martin Jambor  <mjambor@suse.cz>
+
+	PR middle-end/69920
+	* tree-sra.c (sra_modify_assign): Do not remove loads of
+	uninitialized aggregates to SSA_NAMEs.
+
+2016-02-26  Richard Henderson  <rth@redhat.com>
+
+	PR target/69709
+	* config/s390/s390.md (risbg and risbgn splitters): Allocate new
+	pseudo in case the target rtx matches the source of the left
+	shift.
+
+2016-02-26  Martin Jambor  <mjambor@suse.cz>
+
+	PR hsa/69568
+	* hsa.h (hsa_type_packed_p): Declare.
+	* hsa.c (hsa_type_packed_p): New function.
+	* hsa-gen.c (mem_type_for_type): Use unsigned type for packed
+	loads.
+	(gen_hsa_insns_for_store): Use hsa_type_packed_p.
+	* hsa-brig.c (emit_basic_insn): Likewise.
+
+2016-02-26  Martin Jambor  <mjambor@suse.cz>
+
+	pr hsa/69674
+	* hsa-gen.c (gen_hsa_phi_from_gimple_phi): Use proper hsa type for
+	pointers.
+	(gen_hsa_addr): Allow integer constants in TMR_INDEX2.
+
+2016-02-26  Martin Jambor  <mjambor@suse.cz>
+
+	* hsa.h (is_a_helper): New overload for hsa_op_immed for
+	hsa_op_with_type operands.
+	(hsa_unsigned_type_for_type): Declare.
+	* hsa.c (hsa_unsigned_type_for_type): New function.
+	* hsa-gen.c (gen_hsa_binary_operation): Use hsa_unsigned_type_for_type.
+	(gen_hsa_insns_for_operation_assignment): Satisfy constrains of
+	the finalizer.  Do not emit extra move.
+
+2016-02-26  Martin Jambor  <mjambor@suse.cz>
+
+	* hsa-gen.c (gen_hsa_ternary_atomic_for_builtin): Fail in presence of
+	atomic operations in private segment.
+
+2016-02-26  Martin Jambor  <mjambor@suse.cz>
+
+	* omp-low.c (grid_find_ungridifiable_statement): Store problematic
+	statements to wi->info.  Also disallow omp simd constructs.
+	(grid_target_follows_gridifiable_pattern): Use wi.info to dump reason
+	for not gridifying.  Dump special string for omp_for.
+
+2016-02-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/69245
+	* config/aarch64/aarch64.c (aarch64_set_current_function):
+	Save/restore target globals when switching to
+	target_option_default_node.
+
+2016-02-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/69613
+	* config/aarch64/aarch64.c (aarch64_shift_truncation_mask):
+	Return 0 if !SHIFT_COUNT_TRUNCATED.
+
+2016-02-26  Jakub Jelinek  <jakub@redhat.com>
+	    Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR rtl-optimization/69891
+	* dse.c (scan_insn): If we can't figure out memset arguments
+	or they are non-constant, call clear_rhs_from_active_local_stores.
+
+2016-02-26  Martin Liska  <mliska@suse.cz>
+
+	* doc/extend.texi: Mention clog10, clog10f an clog10l
+	in Builtins section.
+
+2016-02-26  Martin Liska  <mliska@suse.cz>
+
+	* dwarf2out.c (new_loc_descr): Replace ENABLE_CHECKING with
+	CHECKING_P.
+	(resolve_args_picking_1): Likewise.
+	* dwarf2out.h (struct GTY): Likewise.
+
+2016-02-26  Martin Liska  <mliska@suse.cz>
+
+	* hsa-gen.c (generate_hsa): Replace ENABLE_CHECKING macro
+	with flag_checking.
+	* hsa-regalloc.c (linear_scan_regalloc): Likewise.
+
+2016-02-26  Markus Trippelsdorf  <markus@trippelsdorf.de>
+	    Martin Liska  <mliska@suse.cz>
+
+	* doc/install.texi: Mention --enable-valgrind-annotations.
+
+2016-02-26  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69551
+	* tree-ssa-structalias.c (get_constraint_for_ssa_var): When
+	looking through aliases adjust DECL_PT_UID to refer to the
+	ultimate alias target.
+
+2016-02-25  Martin Liska  <mliska@suse.cz>
+
+	PR middle-end/69919
+	* alloc-pool.c (after_memory_report): New variable.
+	* alloc-pool.h (base_pool_allocator ::release): Do not use
+	the infrastructure if after_memory_report.
+	* toplev.c (toplev::main): Mark after memory report.
+
+2016-02-25  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/48795
+	* tree-vrp.c (check_array_ref): Use array_at_struct_end_p.
+
+2016-02-25  Ilya Verbin  <ilya.verbin@intel.com>
+
+	PR driver/68463
+	* config/gnu-user.h (CRTOFFLOADBEGIN): Define.  Add crtoffloadbegin.o if
+	offloading is enabled and -fopenacc or -fopenmp is specified.
+	(CRTOFFLOADEND): Likewise.
+	(GNU_USER_TARGET_STARTFILE_SPEC): Add CRTOFFLOADBEGIN.
+	(GNU_USER_TARGET_ENDFILE_SPEC): Add CRTOFFLOADEND.
+	* lto-wrapper.c (offloadbegin, offloadend): Remove static vars.
+	(offload_objects_file_name): New static var.
+	(tool_cleanup): Remove offload_objects_file_name file.
+	(find_offloadbeginend): Replace with ...
+	(find_crtoffloadtable): ... this.
+	(run_gcc): Remove offload_argc and offload_argv.
+	Get offload_objects_file_name from -foffload-objects=... option.
+	Read names of object files with offload from this file, pass them to
+	compile_images_for_offload_targets.  Don't call find_offloadbeginend and
+	don't pass offloadbegin and offloadend to the linker.  Don't pass
+	offload non-LTO files to the linker, because now they're not claimed.
+
+2016-02-25  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR ipa/69630
+	* ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
+	on builtin_unreachable.
+
+2016-02-25  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/69896
+	* regcprop.c: Include cfgrtl.h.
+	(copyprop_hardreg_forward_1): If noop_p insn uses narrower
+	than remembered mode, either delete it (if noop_move_p), or
+	treat like copy_p but not noop_p instruction.
+
+2016-02-24  Jakub Jelinek  <jakub@redhat.com>
+
+	PR debug/69705
+	* dwarf2out.c (gen_variable_die): Work around buggy LTO
+	- allow NULL decl for Fortran DW_TAG_common_block variables.
+
+2016-02-24  Jason Merrill  <jason@redhat.com>
+
+	* common.opt (flifetime-dse): Add -flifetime-dse=1.
+
+2016-02-24  Richard Biener  <rguenther@suse.de>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/69760
+	* tree-scalar-evolution.c (interpret_rhs_expr): Re-write
+	conditionally executed ops to well-defined overflow behavior.
+
+2016-02-24  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/69915
+	* tree.c (build_vector_from_ctor): Fix handling of VECTOR_CST
+	elements.
+
+2016-02-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR rtl-optimization/69886
+	* gcse.c (can_assign_to_reg_without_clobbers_p): Accept mode
+	argument.  Use it when checking validity of set instructions.
+	(want_to_gcse_p): Pass mode to can_assign_to_reg_without_clobbers_p.
+	(compute_ld_motion_mems): Update can_assign_to_reg_without_clobbers_p
+	callsite.
+	* rtl.h (can_assign_to_reg_without_clobbers_p): Update prototype.
+	* store-motion.c (find_moveable_store): Update
+	can_assign_to_reg_without_clobbers_p callsite.
+
+2016-02-24  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/68963
+	* tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Fix
+	bogus check.
+	(record_nonwrapping_iv): Do not fall back to the low/high bound
+	for non-constant IV bases if the stmt is not always executed.
+
+2016-02-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/arm/arm-cores.def (cortex-a32): New entry.
+	* config/arm/arm-tables.opt: Regenerate.
+	* config/arm/arm-tune.md: Regenerate.
+	* config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a32.
+	* config/arm/t-aprofile: Handle mcpu=cortex-a32.
+	* doc/invoke.texi (ARM Options): Document cortex-a32 as value
+	for -mcpu and -mtune.
+
+2016-02-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/69875
+	* config/arm/arm.h (TARGET_HAVE_LPAE): Define.
+	* config/arm/unspecs.md (VUNSPEC_LDRD_ATOMIC): New value.
+	* config/arm/sync.md (arm_atomic_loaddi2_ldrd): New pattern.
+	(atomic_loaddi_1): Delete.
+	(atomic_loaddi): Rewrite expander using the above changes.
+
+2016-02-24  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/69918
+	* params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): Bump default from
+	2 to 3.
+
+2016-02-24  Jakub Jelinek  <jakub@redhat.com>
+	    Richard Biener  <rguenth@suse.de>
+
+	PR middle-end/69909
+	* expr.c (expand_expr_real_1) <normal_inner_ref>: Avoid
+	set_mem_attributes if tem is SSA_NAME which got expanded
+	as a MEM.
+
+2016-02-24  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69907
+	* tree-vect-stmts.c (vectorizable_load): Check for gaps at the
+	end of permutations for BB vectorization.
+
+2016-02-24  Christian Bruel  <christian.bruel@st.com>
+
+	* config/arm/arm-c.c (arm_option_override): Initialize
+	target_option_current_node.
+	* config/arm/arm.c (arm_pragma_target_parse): Replace
+	build_target_option_node call by target_option_current_node.
+	Set target_option_current_node.
+	Fix comments.
+
+2016-02-23  David Edelsohn  <dje.gcc@gmail.com>
+
+	PR target/69810
+	* config/rs6000/rs6000.md (zero_extendqi<mode>2_dot): Convert from
+	define_insn_and_split to define_insn.
+	(zero_extendqi<mode>2_dot2): Same.
+	(extendqi<mode>2_dot): Same.
+	(extendqi<mode>2_dot2): Same.
+
+2016-02-23  Evandro Menezes  <e.menezes@samsung.com>
+
+	* config/arm/exynos-m1.md: Change cost of STP, fix bypass for stores
+	and add bypass for AES{D,E} and AESMC pairs.
+	* config/aarch64/aarch64.c (exynosm1_tunings): Enable fusion of AES{D,E}
+	and AESMC pairs.
+
+2016-02-23  Evandro Menezes  <e.menezes@samsung.com>
+
+	* config/aarch64/aarch64.c (exynosm1_tunings): Enable the Newton
+	series for reciprocal square root in Exynos M1.
+
+2016-02-23  Martin Sebor  <msebor@redhat.com>
+
+	PR c/69759
+	* doc/extend.texi (Other Builtins): Document __builtin_alloca and
+	__builtin_alloca_with_align.
+
+2016-02-23  Richard Henderson  <rth@redhat.com>
+
+	* config/i386/i386-c.c (ix86_target_macros): Remove __SEG_TLS.
+	(ix86_register_pragmas): Remove __seg_tls.
+	* config/i386/i386-protos.h (ADDR_SPACE_SEG_TLS): Remove.
+	* config/i386/i386.c (ix86_print_operand_address_as): Don't handle it.
+	(ix86_addr_space_subset_p, TARGET_ADDR_SPACE_SUBSET_P): Remove.
+	(ix86_addr_space_convert, TARGET_ADDR_SPACE_CONVERT): Remove.
+	(ix86_addr_space_debug, TARGET_ADDR_SPACE_DEBUG): Remove.
+	* doc/extend.texi (__seg_tls): Remove item.
+
+2016-02-23  Richard Biener  <rguenther@suse.de>
+
+	* alloc-pool.h (struct allocation_object): Make id member
+	conditional on CHECKING_P again.
+	(get_instance): Adjust.
+	(base_pool_allocator): Likewise.
+
+2016-02-23  Thomas Schwinge  <thomas@codesourcery.com>
+
+	* tree-parloops.c (create_parallel_loop, gen_parallel_loop)
+	(parallelize_loops): In OpenACC kernels mode, set n_threads to
+	zero.
+	(pass_parallelize_loops::gate): In OpenACC kernels mode, gate on
+	flag_openacc.
+	* tree-ssa-loop.c (gate_oacc_kernels): Likewise.
+
+2016-02-23  Richard Biener  <rguenther@suse.de>
+
+	* mem-stats.h (struct mem_usage): Use PRIu64 for printing size_t.
+	* bitmap.h (struct bitmap_usage): Likewise.
+	(bitmap_move): Declare.
+	* bitmap.c (register_overhead): Take size_t argument.
+	(bitmap_move): New function.
+	* df-problems.c (df_rd_transfer_function): Use bitmap_move
+	to properly account overhead.
+	* tree.c (free_node): Use tree_size.
+
+2016-02-23  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/69902
+	* fold-const.c (fold_truth_not_expr): Propagate TREE_NO_WARNING
+	when inverting comparison.
+
+	PR c/69900
+	* common.opt (Wunreachable-code): Add Warning flag.
+
+2016-02-23  Mark Wielaard  <mjw@redhat.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/69911
+	* cgraphunit.c (check_global_declaration): Check main_input_filename
+	and DECL_SOURCE_FILE are not NULL.
+
+2016-02-23  Martin Jambor  <mjambor@suse.cz>
+
+	PR tree-optimization/69666
+	* tree-sra.c (sra_modify_assign): Do not attempt to create
+	default_def replacements for unscalarizable regions.
+
+2016-02-20  Mark Wielaard  <mjw@redhat.com>
+
+	PR c/28901
+	* cgraphunit.c (check_global_declaration): Check level of
+	warn_unused_const_variable and main_input_filename.
+	* doc/invoke.texi (Warning Options): Add -Wunused-const-variable=.
+	(-Wunused-variable): For C implies -Wunused-const-variable=1.
+	(-Wunused-const-variable): Explain levels 1 and 2.
+
+2016-02-22  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/69888
+	* config/i386/i386.c (decide_alg): Ensure we don't recurse with
+	identical arguments.  Formatting and spelling fixes.
+
+	PR target/69885
+	* doc/md.texi (ashl@var{m}3): Document that mode of operand 2 must
+	be specified.
+
+	PR target/69894
+	PR target/69895
+	* config/m68k/t-opts (OPTIONS_H_EXTRA): Add m68k-microarchs.def
+	and m68k-devices.def.
+	* config/c6x/t-c6x (OPTIONS_H_EXTRA): Add c6x-isas.def.
+	* config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add aarch64-arches.def.
+
+2016-02-22  Cesar Philippidis  <cesar@codesourcery.com>
+
+	* config/nvptx/nvptx.c (nvptx_gen_shuffle): Add support for QImode
+	and HImode registers.
+
+2016-02-22  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69882
+	* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Properly
+	preserve permutations present because of gaps.
+	(vect_supported_load_permutation_p): Always continue checking
+	permutations after vect_attempt_slp_rearrange_stmts.
+
+2016-02-22  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-vect-loop.c (vect_estimate_min_profitable_iters): Dump
+	min_profitable_estimate, rather than min_profitable_iters.
+
+2016-02-22  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/69885
+	* config/m68k/m68k.md (ashldi3, ashrdi3, lshrdi3): Use
+	SImode for last match_operand.
+
+2016-02-22  Martin Liska  <mliska@suse.cz>
+
+	* hsa-gen.c (gen_hsa_clrsb): In case of zero value,
+	return bitsize - 1 as the return value.
+
+2016-02-22  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	PR target/69806
+	PR target/54089
+	* config/sh/sh.c (sh_lshrsi_clobbers_t_reg_p, sh_dynamicalize_shift_p):
+	Handle negative shift counts.
+	* config/sh/sh.md (ashlsi3, lshrsi3_n, lshrsi3_n_clobbers_t): Don't use
+	force_reg on the shift constant.
+	(lshrsi3): Likewise.  Expand into lshrsi3_n* instead of lshrsi3_d.
+	(lshrsi3_d): Handle negative shift counts.
+
+2016-02-22  Richard Biener  <rguenther@suse.de>
+	    Tom de Vries  <tom@codesourcery.com>
+
+	* graph.c: Include dumpfile.h.
+	(print_graph_cfg): Split into three overloads.
+	* gdbhooks.py (class DotFn): Add and instantiate, adding command dot-fn.
+
+2016-02-22  Tom de Vries  <tom@codesourcery.com>
+
+	* gdbhooks.py (class DumpFn): Add and instantiate, adding command
+	dump-fn.
+
+2016-02-22  Richard Biener  <rguenther@suse.de>
+
+	PR ipa/37448
+	* ipa-inline-transform.c (inline_call): When not updating
+	overall summaries adjust self size by the growth estimate.
+	* ipa-inline.c (inline_to_all_callers_1): Add to the callers
+	hash-set, do not update overall summaries here.  Renamed from ...
+	(inline_to_all_callers): ... this which is now wrapping the
+	above and performing delayed overall summary update.
+	(early_inline_small_functions): Delay updating of the overall
+	summary.
+
+2016-02-21  Markus Trippelsdorf  <markus@trippelsdorf.de>
+
+	* tree-chkp.c (chkp_mark_invalid_bounds_walker): Initialize
+	variable.
+
+2016-02-19  Jakub Jelinek  <jakub@redhat.com>
+
+	PR driver/69805
+	* gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use
+	:%* in %:gt() argument.
+	(greater_than_spec_func): Adjust for expecting only numbers,
+	if there are more than two numbers, compare the last two.
+
+2016-02-19  Jonathan Wakely  <jwakely@redhat.com>
+
+	* doc/invoke.texi (C++ Dialect Options): Clarify interaction of
+	-Wnarrowing with -std.
+
+2016-02-19  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/69851
+	* expr.c (store_field): Don't use bit-field path if exp is
+	COMPONENT_REF with TREE_ADDRESSABLE type, where TYPE_SIZE is
+	different from bitsize, but DECL_SIZE of FIELD_DECL is bitsize
+	and the assignment can be performed by bitwise copy.  Formatting
+	fix.
+
+	PR middle-end/69838
+	* lra.c (lra_process_new_insns): If non-call exceptions are enabled,
+	call copy_reg_eh_region_note_forward on before and/or after sequences
+	and remove note from insn if it no longer can throw.
+
+	PR target/69820
+	* config/i386/sse.md (VI_512): Only include V64QImode and V32HImode
+	if TARGET_AVX512BW.
+
+2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/vector.md: Add missing commutative operand markers
+	to the patterns which qualify for one.
+	* config/s390/vx-builtins.md: Likewise.
+
+2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/vector.md (VI, VI_QHS): Add single element vector
+	types to mode iterators.
+	(vec_double): ... and mode attribute.
+	* config/s390/vx-builtins.md (non_vec_int): Likewise.
+
+2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/vector.md ("<ti*>add<mode>3", "<ti*>sub<mode>3"):
+	Change the predicate of op2 from nonimmediate to general and let
+	reload fix it if necessary.
+
+2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/vecintrin.h (vec_sub_u128): Define missing macro.
+
+2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.c (s390_expand_vcond): Use the compare operand
+	mode.
+
+2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390-protos.h: Add s390_expand_vec_movstr prototype.
+	* config/s390/s390.c (s390_expand_vec_movstr): New function.
+	* config/s390/s390.md ("movstr<P:mode>"): Call
+	s390_expand_vec_movstr.
+
+2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.md: Add missing output modifier for operand 1
+	to print it as address properly.
+
+2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/2827.md: Rename ooo_* insn attributes to zEC12_*.
+	* config/s390/2964.md: New file.
+	* config/s390/s390.c (s390_get_sched_attrmask): Use the right set
+	of insn grouping attributes depending on the CPU level.
+	(s390_get_unit_mask): New function.
+	(s390_sched_score): Remove the OOO from the scheduling macros.
+	Add loop to calculate a score for the instruction mix.
+	(s390_sched_reorder): Likewise plus improve debug output.
+	(s390_sched_variable_issue): Rename macros as above.  Calculate
+	the unit distances after actually scheduling an insn.  Improve
+	debug output.
+	(s390_sched_init): Clear last_scheduled_unit_distance array.
+	* config/s390/s390.md: Include 2964.md.
+
+2016-02-18  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/69671
+	* config/i386/sse.md (*<floatsuffix>floatv2div2sf2_mask_1,
+	*avx512vl_<code>v2div2qi2_mask_1, *avx512vl_<code><mode>v4qi2_mask_1,
+	*avx512vl_<code><mode>v8qi2_mask_1, *avx512vl_<code><mode>v4hi2_mask_1,
+	*avx512vl_<code>v2div2hi2_mask_1, *avx512vl_<code>v2div2si2_mask_1,
+	*avx512f_<code>v8div16qi2_mask_1): New insns.
+
+2016-02-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/68404
+	* config/rs6000/predicates.md (fusion_gpr_addis): Revert
+	2016-02-09 change.
+
+	* config/rs6000/rs6000.md (fusion_gpr_load_<mode>): Remove
+	earlyclobber from target.  Use wF constraint for fused memory
+	address.
+	(fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise.
+
+2016-02-18  Jakub Jelinek  <jakub@redhat.com>
+	    Martin Liska  <mliska@suse.cz>
+
+	PR sanitizer/69863
+	* cfgexpand.c (asan_sanitize_stack_p): New function.
+	(partition_stack_vars): Use the function.
+	(expand_stack_vars): Likewise.
+	(defer_stack_allocation): Likewise.
+	(expand_used_vars): Likewise.
+
+2016-02-18  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/69553
+	* fold-const.c (operand_equal_p): Properly compare offsets for
+	IMAGPART_EXPR and ARRAY_REF.
+
+2016-02-18  Nick Clifton  <nickc@redhat.com>
+
+	PR target/62254
+	PR target/69610
+	* config/arm/arm.c (arm_option_override_internal): Disable
+	interworking if the target does not support thumb instructions.
+	(arm_reload_in_hi): Handle the case where a register to register
+	move needs reloading because there is no simple pattern to handle
+	it.
+	(arm_reload_out_hi): Likewise.
+
+2016-02-18  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/69854
+	* match.pd: Don't use fold_binary or fold_unary for folding
+	constants.
+
+2016-02-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/69850
+	* gimplify.c (gimplify_cond_expr): Call gimple_set_no_warning
+	on the cond_stmt from TREE_NO_WARNING on COND_EXPR_COND.
+	* gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Don't
+	warn on gimple_no_warning_p statements.
+
+2016-02-17  Jonathan Wakely  <jwakely@redhat.com>
+
+	* doc/extend.texi (C++ Attributes): Correct description of
+	warn_unused type attribute.
+
+2016-02-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/altivec.md (*altivec_lvxl_<mode>_internal): Output
+	correct instruction.
+
+2016-02-17  Richard Biener  <rguenther@suse.de>
+
+	PR rtl-optimization/69609
+	* bb-reorder.c (struct bbro_basic_block_data): Add priority member.
+	(find_traces_1_round): When ending a trace update cached priority
+	of successors.
+	(bb_to_key): Use cached priority when available.
+	(copy_bb): Initialize cached priority.
+	(reorder_basic_blocks_software_trace_cache): Likewise.
+
+2016-02-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/69161
+	* config/aarch64/predicates.md (aarch64_comparison_operator_mode):
+	New predicate.
+	(aarch64_comparison_operator): Break overly long line into two.
+	(aarch64_comparison_operation): Likewise.
+	* config/aarch64/aarch64.md (cstorecc4): Use
+	aarch64_comparison_operator_mode instead of
+	aarch64_comparison_operator.
+	(cstore<mode>4): Likewise.
+	(aarch64_cstore<mode>): Likewise.
+	(*cstoresi_insn_uxtw): Likewise.
+	(cstore<mode>_neg): Likewise.
+	(*cstoresi_neg_uxtw): Likewise.
+
+2016-02-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/69161
+	* config/arm/predicates.md (arm_comparison_operator_mode):
+	New predicate.
+	* config/arm/arm.md (*mov_scc): Use arm_comparison_operator_mode
+	instead of arm_comparison_operator.
+	(*mov_negscc): Likewise.
+	(*mov_notscc): Likewise.
+	* config/arm/thumb2.md (*thumb2_mov_scc): Likewise.
+	(*thumb2_mov_negscc): Likewise.
+	(*thumb2_mov_negscc_strict_it): Likewise.
+	(*thumb2_mov_notscc): Likewise.
+	(*thumb2_mov_notscc_strict_it): Likewise.
+
+2016-02-17  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_internal_mov_immediate):
+	Add missing return.
+
+2016-02-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/visium/visium.c (machine_libfunc_index): New enum.
+	(machine_libfuncs): New structure.
+	(visium_libfuncs): New static variable.
+	(TARGET_INIT_LIBFUNCS): Define to...
+	(visium_init_libfuncs): ...this.  New function.
+	(expand_block_move_4): Use the appropriate libfunc.
+	(expand_block_move_2): Likewise.
+	(expand_block_move_1): Likewise.
+	(expand_block_set_4): Likewise.
+	(expand_block_set_2): Likewise.
+	(expand_block_set_1): Likewise.
+	(visium_trampoline_init): Likewise.
+
+2016-02-17  Nick Clifton  <nickc@redhat.com>
+
+	* config/msp430/msp430.c (msp430_mcu_data): Sync with data from
+	TI's devices.csv file as of March 2016.
+
+2016-02-16  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+	PR Target/48344
+	* opts-global.c (handle_common_deferred_options): Introduce and
+	initialize two global variables to remember command-line options
+	specifying a stack-limiting register.
+	* opts.h: Add extern declarations of the two new global variables.
+	* emit-rtl.c (init_emit_once): Initialize the stack_limit_rtx
+	variable based on the values of the two new global variables.
+
+2016-02-16  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/69835
+	* common.opt (Wnonnull-compare): New warning.
+	* doc/invoke.texi (-Wnonnull): Remove text about comparison
+	of arguments against NULL.
+	(-Wnonnull-compare): Document.
+	* Makefile.in (OBJS): Add gimple-ssa-nonnull-compare.o.
+	* tree-pass.h (make_pass_warn_nonnull_compare): Declare.
+	* passes.def (pass_warn_nonnull_compare): Add.
+	* gimple-ssa-nonnull-compare.c: New file.
+
+2016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/aarch64/aarch64.c (cortexa57_tunings): Remove
+	AARCH64_EXTRA_TUNE_RECIP_SQRT.
+
+2016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/aarch64/aarch64.c (use_rsqrt_p): Always use software
+	reciprocal sqrt for -mlow-precision-recip-sqrt.
+
+2016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
+	    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_expand_vector_init): Refactor,
+	always use lane loads to construct non-constant vectors.
+
+2016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/aarch64/aarch64.md
+	(arch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): Fix register
+	constraints for	operand 3.
+	(aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): Likewise.
+
+2016-02-16  Jakub Jelinek  <jakub@redhat.com>
+	    Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69820
+	* tree-vect-patterns.c (type_conversion_p): Return false if
+	*orig_type is unsigned single precision or boolean.
+	(vect_recog_dot_prod_pattern, vect_recog_widen_mult_pattern):
+	Formatting fix.
+
+2016-02-16  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/69764
+	PR rtl-optimization/69771
+	* optabs.c (expand_binop): Ensure for shift optabs invalid CONST_INT
+	op1 is valid for GET_MODE_INNER (mode) and force it into a reg.
+
+2016-02-16  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69776
+	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Get alias
+	sets from caller.
+	(indirect_refs_may_alias_p): Likewise.
+	(refs_may_alias_p_1): Pass alias sets as from ao_ref.
+	* tree-ssa-sccvn.c (vn_reference_lookup): Also adjust vr alias-set
+	according to tbaa_p.
+	* tree-ssa-dom.c (lookup_avail_expr): Add tbaa_p flag.
+	(optimize_stmt): For redundant store discovery do not allow tbaa.
+
+2016-02-16  Bernd Schmidt  <bschmidt@redhat.com>
+
+	PR tree-optimization/69714
+	* tree-ssa-math-opts.c (find_bswap_or_nop): Revert previous change.
+	Return NULL if we have irrelevant high bytes on BIG_ENDIAN.
+
+2016-02-16  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc-modes.def (CC_FPU, CC_FPU_UNEQ): New modes.
+	* config/arc/arc-opts.h (FPU_SP, FPU_SF, FPU_SC, FPU_SD, FPU_DP)
+	(FPU_DF, FPU_DC, FPU_DD, FXP_DP): Define.
+	* config/arc/arc.c (arc_init): Check FPU options.
+	(get_arc_condition_code): Handle new CC_FPU* modes.
+	(arc_select_cc_mode): Likewise.
+	(arc_conditional_register_usage): Allow 64 bit datum into even-odd
+	register pair only. Allow access for ARCv2 accumulator.
+	(gen_compare_reg): Whenever we have FPU support use FPU compare
+	instructions.
+	(arc_reorg): Don't generate brcc insns when FPU compare
+	instructions are involved.
+	* config/arc/arc.h (TARGET_DPFP): Add TARGET_FP_DPAX condition.
+	(TARGET_OPTFPE): Add condition when ARC EM can use optimized
+	floating point emulation.
+	(ACC_REG_FIRST, ACC_REG_LAST, ACCL_REGNO, ACCH_REGNO): Define.
+	(REVERSE_CONDITION): Add new CC_FPU* modes.
+	(TARGET_FP_SP_BASE): Define.
+	(TARGET_FP_DP_BASE): Likewise.
+	(TARGET_FP_SP_FUSED): Likewise.
+	(TARGET_FP_DP_FUSED): Likewise.
+	(TARGET_FP_SP_CONV): Likewise.
+	(TARGET_FP_DP_CONV): Likewise.
+	(TARGET_FP_SP_SQRT): Likewise.
+	(TARGET_FP_DP_SQRT): Likewise.
+	(TARGET_FP_DP_AX): Likewise.
+	* config/arc/arc.md (ARCV2_ACC): New constant.
+	(type): New fpu type attribute.
+	(SDF): Conditional iterator.
+	(cstore<mode>, cbranch<mode>): Change expand condition.
+	(addsf3, subsf3, mulsf3, adddf3, subdf3, muldf3): New expands,
+	handles FPU/FPX cases as well.
+	* config/arc/arc.opt (mfpu): New option.
+	* config/arc/fpx.md (addsf3_fpx, subsf3_fpx, mulsf3_fpx):
+	Renamed.
+	(adddf3, muldf3, subdf3): Removed.
+	* config/arc/predicates.md (proper_comparison_operator): Recognize
+	CC_FPU* modes.
+	* config/arc/fpu.md: New file.
+	* doc/invoke.texi (ARC Options): Document mfpu option.
+
+2016-02-16  Richard Biener  <rguenther@suse.de>
+
+	PR rtl-optimization/69291
+	* ifcvt.c (noce_try_store_flag_constants): Re-instantiate
+	noce_operand_ok check.
+
+2016-02-16  Tom de Vries  <tom@codesourcery.com>
+
+	PR lto/67709
+	* omp-low.c (simd_clone_create): Remove call to
+	symtab->call_cgraph_insertion_hooks.
+
+2016-02-16  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/69802
+	* tree-ssa-reassoc.c (update_range_test): If op is
+	SSA_NAME_IS_DEFAULT_DEF, give up unless tem is a positive
+	op == 1 test of precision 1 integral op, otherwise handle
+	that case as op itself.  Fix up formatting.
+	(optimize_range_tests_to_bit_test, optimize_range_tests): Fix
+	up formatting.
+
+2016-02-16  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69586
+	* tree-vrp.c (register_edge_assert_for_2): Handle all integral
+	types for conversion sources.
+
+2016-02-16  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/69801
+	* fold-const.c (operand_equal_p): For COND_EXPR zero operand
+	mask OEP_ADDRESS_OF.
+
+2016-02-16  Alan Modra  <amodra@gmail.com>
+
+	PR target/68973
+	* config/rs6000/rs6000.md (reload_vsx_from_gprsf): Rewrite splitter.
+	(p8_mtvsrd_df, p8_mtvsrd_sf): New.
+	(p8_mtvsrd_1, p8_mtvsrd_2): Delete.
+	(p8_mtvsrwz): New.
+	(p8_mtvsrwz_1, p8_mtvsrwz_2): Delete.
+	(p8_xxpermdi_<mode>): Take two DF inputs rather than one TF.
+	(p8_fmrgow_<mode>): Likewise.
+	(reload_vsx_from_gpr<mode>): Make clobber IF.  Adjust for above
+	changes.
+	(reload_fpr_from_gpr<mode>): Similarly. Use "d" for op0 constraint.
+	(reload_vsx_from_gprsf): Use p8_mtvsrd_sf rather than attempting
+	to use movdi_internal64.  Remove op0_di.
+	* config/rs6000/vsx.md (vsx_xscvspdpn_directmove): Make op1 SFmode.
+
+2016-02-15  Evandro Menezes  <e.menezes@samsung.com>
+
+	Add support for the FCCMP insn types
+
+	* config/aarch64/aarch64.md (fccmp): Change insn type.
+	(fccmpe): Likewise.
+	* config/aarch64/thunderx.md (thunderx_fcmp): Add "fccmp{s,d}" types.
+	* config/arm/cortex-a53.md (cortex_a53_fpalu): Likewise.
+	* config/arm/cortex-a57.md (cortex_a57_fp_cmp): Likewise.
+	* config/arm/xgene1.md (xgene1_fcmp): Likewise.
+	* config/arm/exynos-m1.md (exynos_m1_fp_ccmp): New insn reservation.
+	* config/arm/types.md (fccmps): Add new insn type.
+	(fccmpd): Likewise.
+
+2016-02-15  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* alias.c (get_alias_set): Fix a typo in comment.
+
+2016-02-15  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69595
+	* match.pd: Complete range test simplification to true.
+
+2016-02-15  Bernd Schmidt  <bschmidt@redhat.com>
+
+	PR rtl-optimization/69648
+	* lra-constraints.c (update_ebb_live_info): Don't remove sets of
+	pic_offset_table_rtx.
+
+	PR rtl-optimization/69752
+	* ira.c (update_equiv_regs): When looking for more than a single SET,
+	also take other side effects into account.
+
+2016-02-15  Marcin Kościelnicki  <koriakin@0x04.net>
+
+	* config/s390/s390.c (s390_function_profiler): Add a new sequence
+	for z900+ CPUs in 31-bit mode.
+
+2016-02-15  Marcin Kościelnicki  <koriakin@0x04.net>
+
+	* common/config/s390/s390-common.c (s390_supports_split_stack):
+	New function.
+	(TARGET_SUPPORTS_SPLIT_STACK): New macro.
+	* config/s390/s390-protos.h: Add s390_expand_split_stack_prologue.
+	* config/s390/s390.c (struct machine_function): New field
+	split_stack_varargs_pointer.
+	(s390_register_info): Mark r12 as clobbered if it'll be used as temp
+	in s390_emit_prologue.
+	(s390_emit_prologue): Use r12 as temp if r1 is taken by split-stack
+	vararg pointer.
+	(morestack_ref): New global.
+	(SPLIT_STACK_AVAILABLE): New macro.
+	(s390_expand_split_stack_prologue): New function.
+	(s390_live_on_entry): New function.
+	(s390_va_start): Use split-stack vararg pointer if appropriate.
+	(s390_asm_file_end): Emit the split-stack note sections.
+	(TARGET_EXTRA_LIVE_ON_ENTRY): New macro.
+	* config/s390/s390.md (UNSPEC_STACK_CHECK): New unspec.
+	(UNSPECV_SPLIT_STACK_CALL): New unspec.
+	(UNSPECV_SPLIT_STACK_DATA): New unspec.
+	(split_stack_prologue): New expand.
+	(split_stack_space_check): New expand.
+	(split_stack_data): New insn.
+	(split_stack_call): New expand.
+	(split_stack_call_*): New insn.
+	(split_stack_cond_call): New expand.
+	(split_stack_cond_call_*): New insn.
+
+2016-02-15  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69783
+	* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
+	Add trivially correct cases.
+
+2016-02-15  Tom de Vries  <tom@codesourcery.com>
+
+	PR lto/69655
+	* lto-cgraph.c (input_offload_tables): Add and handle bool parameter
+	do_force_output.
+	* lto-streamer.h (input_offload_tables): Add and handle bool parameter.
+
+2016-02-15  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69776
+	* tree-ssa-sccvn.h (vn_reference_lookup): Adjust prototype.
+	* tree-ssa-sccvn.c (vn_reference_lookup): Add parameter to
+	indicate whether we can use TBAA to disambiguate against stores.
+	Use alias-set zero if not.
+	(visit_reference_op_store): Do not use TBAA when looking up
+	redundant stores.
+	* tree-ssa-pre.c (compute_avail): Use TBAA here.
+	(eliminate_dom_walker::before_dom_children): But not when looking
+	up redundant stores.
+
+2016-02-14  John David Anglin  <danglin@gcc.gnu.org>
+
+	* config/pa/pa.md (absqi2, absghi2, bswaphi2, bswapsi2, bswapdi2): New.
+
+2016-02-14  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
+
+	*  config/i386/znver1.md
+	(znver1_pop, znver1_pop_mem,
+	znver1_load_imov_double_store,
+	znver1_load_imov_direct_store,
+	znver1_load_imov_direct_load,
+	znver1_load_imov_double_load): Add new.
+	(znver1_insn, znver1_insn_load): Add icmov type.
+	(znver1_sseavx_fma,
+	znver1_sseavx_fma_load,
+	znver1_avx256_fma,
+	znver1_avx256_fma_load): Fix pipe usage.
+
+2016-02-14  Alan Modra  <amodra@gmail.com>
+
+	PR target/68973
+	* reload.c (find_reloads_address_1): For pre/post-inc/dec
+	with an invalid hard reg, reload just the reg not the entire
+	pre/post-inc/dec address expression.
+
+2016-02-13  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	PR target/67260
+	* config/sh/sh.md (sibcall_value_pcrel): Replace =&k scratch reg with
+	fixed R1_REG scratch reg.
+	(sibcall_value_pcrel_fdpic): Likewise.
+
+2016-02-13  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	PR target/67636
+	PR target/64345
+	* config/sh/sh.md (*zero_extract_3): New insn_and_split pattern.
+
+2016-02-12  Walter Lee  <walt@tilera.com>
+
+	* config/tilepro/t-tilepro: Replace CC_FOR_BUILD with CXX_FOR_BUILD.
+	* config/tilegx/t-tilegx: Likewise.
+
+2016-02-12  David Malcolm  <dmalcolm@redhat.com>
+
+	PR other/69554
+	* diagnostic-show-locus.c (struct line_span): New struct.
+	(layout::get_first_line): Delete.
+	(layout::get_last_line): Delete.
+	(layout::get_num_line_spans): New member function.
+	(layout::get_line_span): Likewise.
+	(layout::print_heading_for_line_span_index_p): Likewise.
+	(layout::get_expanded_location): Likewise.
+	(layout::calculate_line_spans): Likewise.
+	(layout::m_first_line): Delete.
+	(layout::m_last_line): Delete.
+	(layout::m_line_spans): New field.
+	(layout::layout): Update comment.  Replace m_first_line and
+	m_last_line with m_line_spans, replacing their initialization
+	with a call to calculate_line_spans.
+	(diagnostic_show_locus): When printing source lines and
+	annotations, rather than looping over a single span
+	of lines, instead loop over each line_span within
+	the layout, with an inner loop over the lines within them.
+	Call the context's start_span callback when changing line spans.
+	* diagnostic.c (diagnostic_initialize): Initialize start_span.
+	(diagnostic_build_prefix): Break out the building of the location
+	part of the string into...
+	(diagnostic_get_location_text): ...this new function, rewriting
+	it from nested ternary expressions to a sequence of "if"
+	statements.
+	(default_diagnostic_start_span_fn): New function.
+	* diagnostic.h (diagnostic_start_span_fn): New typedef.
+	(diagnostic_context::start_span): New field.
+	(default_diagnostic_start_span_fn): New prototype.
+
+2016-02-12  David Malcolm  <dmalcolm@redhat.com>
+
+	PR driver/69779
+	* gcc.c (driver::finalize): Fix cleanup of "specs".
+
+2016-02-12  David Malcolm  <dmalcolm@redhat.com>
+
+	PR driver/69265
+	PR driver/69453
+	* gcc.c (driver::driver): Initialize m_option_suggestions.
+	(driver::~driver): Clean up m_option_suggestions.
+	(suggest_option): Convert to...
+	(driver::suggest_option): ...this, and split out into
+	driver::build_option_suggestions and find_closest_string.
+	(driver::build_option_suggestions): New function, from
+	first half of suggest_option.  Special-case
+	OPT_fsanitize_ and OPT_fsanitize_recover_, making use of
+	the sanitizer_opts array.  For options of enum types, add the
+	various enum values to the candidate strings.
+	(driver::handle_unrecognized_options): Remove "const".
+	* gcc.h (driver::handle_unrecognized_options): Likewise.
+	(driver::build_option_suggestions): New decl.
+	(driver::suggest_option): New decl.
+	(driver::m_option_suggestions): New field.
+	* opts-common.c (add_misspelling_candidates): New function.
+	* opts.c (sanitizer_opts): Remove decl of struct sanitizer_opts_s
+	and make non-static.
+	* opts.h (sanitizer_opts): New array decl.
+	(add_misspelling_candidates): New function decl.
+	* spellcheck.c (find_closest_string): New function.
+	* spellcheck.h (find_closest_string): New function decl.
+
+2016-02-12  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/69764
+	PR rtl-optimization/69771
+	* optabs.c (expand_binop_directly): For shift_optab_p, force
+	convert_modes with VOIDmode if xop1 has VOIDmode.
+
+2016-02-12  Ilya Enkovich  <enkovich.gnu@gmail.com>
+
+	PR target/69729
+	* lto-streamer-out.c (lto_output): Use thunk.add_pointer_bounds_args
+	to correctly determine instrumentation thunks.
+
+2016-02-12  Jakub Jelinek  <jakub@redhat.com>
+
+	PR ipa/69241
+	* ipa-split.c (split_function): If split part returns TREE_ADDRESSABLE
+	type by reference, force lhs on the call.
+
+	PR ipa/68672
+	* ipa-split.c (split_function): Don't compute/use main_part_return_p.
+	Compute retval and retbnd early in all cases if split_part_return_p
+	and return_bb is not EXIT.  Remove all clobber stmts and reset
+	all debug stmts that refer to SSA_NAMEs defined in split part,
+	except if it is retval, in that case replace the old retval with the
+	lhs of the call to the split part.
+
+2016-02-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	revert:
+	2016-02-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	PR middle-end/66726
+	* tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
+	whose result is used in PHI.
+	(maybe_optimize_range_tests): Likewise.
+	(final_range_test_p): Likweise.
+
+2016-02-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	PR middle-end/66726
+	* tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
+	whose result is used in PHI.
+	(maybe_optimize_range_tests): Likewise.
+	(final_range_test_p): Likweise.
+
+2016-02-12  Jakub Jelinek  <jakub@redhat.com>
+
+	* cgraph.c: Spelling fixes - behaviour -> behavior and
+	neighbour -> neighbor.
+	* target.def: Likewise.
+	* sel-sched.c: Likewise.
+	* config/mips/mips.c: Likewise.
+	* config/arc/arc.md: Likewise.
+	* config/arm/cortex-a57.md: Likewise.
+	* config/arm/arm.c: Likewise.
+	* config/arm/neon.md: Likewise.
+	* config/arm/arm-c.c: Likewise.
+	* config/vms/vms-c.c: Likewise.
+	* config/s390/s390.c: Likewise.
+	* config/i386/znver1.md: Likewise.
+	* config/i386/i386.c: Likewise.
+	* config/ia64/hpux-unix2003.h: Likewise.
+	* config/msp430/msp430.md: Likewise.
+	* config/rx/rx.c: Likewise.
+	* config/rx/rx.md: Likewise.
+	* config/aarch64/aarch64-simd.md: Likewise.
+	* config/aarch64/aarch64.c: Likewise.
+	* config/nvptx/nvptx.c: Likewise.
+	* config/bfin/bfin.c: Likewise.
+	* config/cris/cris.opt: Likewise.
+	* config/rs6000/rs6000.c: Likewise.
+	* target.h: Likewise.
+	* spellcheck.c: Likewise.
+	* ira-build.c: Likewise.
+	* tree-inline.c: Likewise.
+	* builtins.c: Likewise.
+	* lra-constraints.c: Likewise.
+	* explow.c: Likewise.
+	* hwint.h: Likewise.
+	* targhooks.c: Likewise.
+	* tree-vect-data-refs.c: Likewise.
+	* expr.c: Likewise.
+	* doc/tm.texi: Likewise.
+	* doc/extend.texi: Likewise.
+	* doc/install.texi: Likewise.
+	* doc/md.texi: Likewise.
+	* tree-ssa-tail-merge.c: Likewise.
+	* sched-int.h: Likewise.
+	* match.pd: Likewise.
+	* sched-ebb.c: Likewise.
+	* target.def (omit_struct_return_reg): Likewise.
+	* gimple-ssa-isolate-paths.c: Likewise.
+	(find_implicit_erroneous_behaviour): Renamed to...
+	(find_implicit_erroneous_behavior): ... this.
+	(find_explicit_erroneous_behaviour): Renamed to...
+	(find_explicit_erroneous_behavior): ... this.
+	(gimple_ssa_isolate_erroneous_paths): Adjust caller.
+
+2016-02-11  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/64682
+	PR rtl-optimization/69567
+	PR rtl-optimization/69737
+	* combine.c (distribute_notes) <REG_DEAD>: If the register is set
+	in I2 as well, just lose it.
+
+2016-02-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_last_printed_arch_string):
+	New variable.
+	(aarch64_last_printed_tune_string): Likewise.
+	(aarch64_declare_function_name): Only output .arch assembler
+	directive if it will be different from the previously output
+	directive.  Same for .tune comment but only if -dA is set.
+	(aarch64_start_file): New function.
+	(TARGET_ASM_FILE_START): Define.
+
+2016-02-11  David Malcolm  <dmalcolm@redhat.com>
+
+	PR plugins/69758
+	* Makefile.in (PLUGIN_HEADERS): Add params.list.
+
+2016-02-11  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/65313
+	* tree-vect-slp.c (vect_schedule_slp_instance): Avoid
+	-Wmaybe-uninitialized warning.
+
+2016-02-11  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	PR target/69713
+	* config/sh/sh.md (casesi_worker_0): Add T_REG use.
+
+2016-02-11  Richard Biener  <rguenther@suse.de>
+
+	PR rtl-optimization/69291
+	* ifcvt.c (noce_try_store_flag_constants): Do not allow
+	subexpressions affected by changing the result.
+
+2016-02-10  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR target/69148
+	* lra-constraints.c (curr_insn_transform): Find in/out operands
+	for secondary memory moves.  Update dups.
+
+2016-02-10  Yuri Rumyantsev  <ysrumyan@gmail.com>
+
+	PR tree-optimization/69652
+	* tree-vect-loop.c (optimize_mask_stores): Move declaration of STMT1
+	to nested loop, did source re-formatting, skip debug statements,
+	add check on statement with volatile operand, remove dead scalar
+	statements.
+
+2016-02-10  Jakub Jelinek  <jakub@redhat.com>
+	    Patrick Palka  <ppalka@gcc.gnu.org>
+
+	PR ipa/69241
+	PR c++/69649
+	* gimplify.c (gimplify_modify_expr): Set lhs even for noreturn
+	calls if the return type is TREE_ADDRESSABLE.
+	* cgraphunit.c (cgraph_node::expand_thunk): Likewise.
+	* ipa-split.c (split_function): Fix doubled "we" in comment.
+	Use void return type for the split part even if
+	!split_point->split_part_set_retval.
+
+2016-02-10  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/68021
+	* tree-ssa-loop-ivopts.c (get_computation_aff): Set ratio to 1 if
+	when computing the value of biv cand by itself.
+
+2016-02-10  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (cortexa53_tunings): Enable AES fusion.
+	(cortexa57_tunings): Likewise.
+	(cortexa72_tunings): Likewise.
+	(arch_macro_fusion_pair_p): Add support for AES fusion.
+	* config/aarch64/aarch64-fusion-pairs.def: Add AES_AESMC entry.
+	* config/arm/aarch-common.c (aarch_crypto_can_dual_issue):
+	Allow virtual registers before reload so early scheduling works.
+	* config/arm/cortex-a57.md (cortex_a57_crypto_simple): Use
+	correct latency and pipeline.
+	(cortex_a57_crypto_complex): Likewise.
+	(cortex_a57_crypto_xor): Likewise.
+	(define_bypass): Add AES bypass.
+
+2016-02-10  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69726
+	* passes.def: Add DCE pass before late uninit.
+	* match.pd: Add A ? B : (!A ? C : X) -> A ? B : C patterns to
+	really fixup if-conversions job.
+
+2016-02-10  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/arm/arm.c (arm_cortex_a53_tune): Enable AES fusion.
+	(arm_cortex_a57_tune): Likewise.
+	(aarch_macro_fusion_pair_p): Add support for AES fusion.
+	* config/arm/arm-protos.h (fuse_ops): Add FUSE_AES_AESMC.
+
+2016-02-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* timevar.def (TV_PHASE_DBGINFO): Delete.
+	(TV_PHASE_CHECK_DBGINFO): Likewise.
+	* varpool.c (varpool_node::assemble_decl): Do not change timevar.
+
+2016-02-10  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69719
+	* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
+	Adjust previous fix by ensuring that dr_a1 is left of dr_a2.
+
+2016-02-09  Andrew Pinski  <apinski@cavium.com>
+
+	PR tree-opt/69282
+	* optabs-tree.c (expand_vec_cond_expr_p): Don't early return if
+	get_vcond_mask_icode returns false.
+
+2016-02-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/68404
+	* config/rs6000/predicates.md (fusion_gpr_addis): Prevent fusing
+	an ADDIS that adds a pointer to a large constant that sets the
+	upper16 bits with a load operation.
+
+2016-02-09  Charles Baylis  <charles.baylis@linaro.org>
+
+	PR target/68532
+	* config/arm/arm.c (arm_evpc_neon_vzip): Allow for big endian lane
+	order.
+	* config/arm/arm_neon.h (vzipq_s8): Adjust shuffle patterns for big
+	endian.
+	(vzipq_s16): Likewise.
+	(vzipq_s32): Likewise.
+	(vzipq_f32): Likewise.
+	(vzipq_u8): Likewise.
+	(vzipq_u16): Likewise.
+	(vzipq_u32): Likewise.
+	(vzipq_p8): Likewise.
+	(vzipq_p16): Likewise.
+
+2016-02-09  Charles Baylis  <charles.baylis@linaro.org>
+
+	PR target/68532
+	* config/arm/arm.c (neon_endian_lane_map): New function.
+	(neon_vector_pair_endian_lane_map): New function.
+	(arm_evpc_neon_vuzp): Allow for big endian lane order.
+	* config/arm/arm_neon.h (vuzpq_s8): Adjust shuffle patterns for big
+	endian.
+	(vuzpq_s16): Likewise.
+	(vuzpq_s32): Likewise.
+	(vuzpq_f32): Likewise.
+	(vuzpq_u8): Likewise.
+	(vuzpq_u16): Likewise.
+	(vuzpq_u32): Likewise.
+	(vuzpq_p8): Likewise.
+	(vuzpq_p16): Likewise.
+
+2016-02-11  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR target/69634
+	* regstat.c (regstat_bb_compute_calls_crossed): Disregard
+	debug insns.
+
+2016-02-09  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (insv<mode>_1): Use gen_int_mode to
+	truncate const_int operand 1 to QImode.
+
+2016-02-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gimple-ssa-backprop.c (optimize_phi): Do not replace an argument
+	corresponding to an abnormal edge.
+
+2016-02-09  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/69599
+	* tree-ssa-structalias.c (fndecl_maybe_in_other_partition): New
+	function.
+	(find_func_aliases_for_builtin_call, find_func_clobbers)
+	(ipa_pta_execute):  Handle case that foo and foo._0 are not in same lto
+	partition.
+
+2016-02-09  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69715
+	* tree-ssa.c (execute_update_addresses_taken): Mark non-decl
+	LHS on calls as non-rewritable.
+
+2016-02-09  Tom de Vries  <tom@codesourcery.com>
+
+	PR lto/69707
+	* lto-wrapper.c (append_diag_options): New function.
+	(compile_offload_image): Call append_diag_options.
+
+2016-02-08  Sandra Loosemore  <sandra@codesourcery.com>
+
+	PR other/69722
+	* doc/extend.texi (Flag Output Operands): Correct sectioning.
+	Minor copy-edit to fix verb tenses.
+
+2016-02-08  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/69209
+	* ipa-split.c (split_function): If split part is not
+	returning retval, retval has gimple type but is not
+	gimple value, force it into a SSA_NAME first.
+
+2016-02-08  Nicklas Bo Jensen  <nbjensen@gmail.com>
+
+	* doc/tree-ssa.texi (Preserving the virtual SSA form): Remove
+	outdated section.
+
+2016-02-08  Jason Merrill  <jason@redhat.com>
+
+	PR c++/69631
+	* convert.c (convert_to_integer_1): Check dofold on truncation
+	distribution.
+	(convert_to_pointer_maybe_fold, convert_to_real_maybe_fold)
+	(convert_to_integer_maybe_fold, convert_to_complex_maybe_fold):
+	Rename from *_nofold.
+	* convert.h (convert_to_pointer_nofold, convert_to_integer_nofold)
+	(convert_to_real_nofold, convert_to_complex_nofold): New inlines.
+
+2016-02-08  Bernd Schmidt  <bschmidt@redhat.com>
+
+	PR target/60410
+	* tree.c (build_common_tree_nodes): Remove short_double argument.
+	All callers changed.
+	* tree.h (build_common_tree_nodes): Adjust declaration.
+	* doc/invoke.texi (-fshort-double): Remove documentation.
+	* config/mips/t-img-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
+	MULTILIB_EXCEPTIONS): Remove -fshort-double variant.
+	* lto-wrapper.c (merge_and_complain, append_compiler_options)
+	(append_linker_options): Don't handle OPT_fshort_double.
+
+	PR rtl-optimization/68730
+	* lra-remat.c (insn_to_cand_activation): New static variable.
+	(lra_remat): Allocate and free it.
+	(create_cand): New arg activation. Initialize a field in
+	insn_to_cand_activation if it is nonnull.
+	(create_cands): Pass the activation insn to create_cand when making
+	a candidate involving an output reload.  Reorganize code a little.
+	(do_remat): Keep track of active status of candidates in a separate
+	bitmap.
+
+2016-02-08  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69719
+	* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
+	Properly use absolute of the difference of the two offsets to
+	compare or adjust the segment length.
+
+2016-02-08  Richard Biener  <rguenther@suse.de>
+	    Jeff Law  <law@redhat.com>
+
+	PR target/68273
+	* tree-ssanames.c (make_ssa_name_fn): Always use unqualified
+	types for anonymous SSA names.
+
+2016-02-08   Richard Biener  <rguenther@suse.de>
+
+	PR rtl-optimization/69274
+	* ira.c (ira_setup_alts): Do not change recog_data.operand order.
+
+2016-02-08  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/65917
+	* tree-ssa-dom.c (record_temporary_equivalences): Record both
+	equivalences from if (x == y) style conditionals.
+	(loop_depth_of_name): Remove.
+	(record_equality): Remove loop depth check.
+	* tree-ssa-scopedtables.h (const_and_copies): Refine comments.
+	(const_and_copies::record_const_or_copy_raw): New member function.
+	* tree-ssa-scopedtables.c
+	(const_and_copies::record_const_or_copy_raw): New, factored out of
+	(const_and_copies::record_const_or_copy): Call new member function.
+
+2016-02-05  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/68541
+	* gimple-ssa-split-paths.c: Include tree-cfg.h and params.h.
+	(count_stmts_in_block): New function.
+	(poor_ifcvt_candidate_code): Likewise.
+	(is_feasible_trace): Add some heuristics to determine when path
+	splitting is profitable.
+	(find_block_to_duplicate_for_splitting_paths): Make sure the graph
+	is a diamond with a single exit.
+
+2016-02-05  Martin Sebor  <msebor@redhat.com>
+
+	PR c++/69662
+	* doc/invoke.texi: Update -Wplacement-new to take an optional
+	argument.
+
+2016-02-06  Richard Henderson  <rth@redhat.com>
+
+	PR c/69643
+	* tree.c (tree_nop_conversion_p): Do not strip casts into or
+	out of non-standard address spaces.
+
+2016-02-05  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/69691
+	* lra-eliminations.c (move_plus_up): Don't add the addend twice.
+
+2016-02-05  Pat Haugen  <pthaugen@us.ibm.com>
+
+	* config/rs6000/crypto.md (crypto_vpermxor_<mode>): Correct insn type.
+	* config/rs6000/rs6000.md (mov<mode>_hardfloat): Likewise.
+	(*ieee128_mfvsrd_64bit): Likewise.
+	(*ieee128_mfvsrd_32bit): Likewise.
+
+2016-02-05  Ilya Enkovich  <enkovich.gnu@gmail.com>
+
+	PR target/69369
+	Revert r232560:
+	2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cgraphunit.c (cgraph_node::reset): Clear thunk info and
+	instrumented_version.
+
+2016-01-05  Jeremy Bennett  <jeremy.bennett@embecosm.com>
+
+	* doc/invoke.texi (Optimize Options): In table of --param options
+	rename second occurrence of tracer-min-branch-ratio to
+	tracer-min-branch-probability, rename
+	tracer-min-branch-ratio-feedback to
+	tracer-min-branch-probability-feedback and clarify description,
+	rename sched-spec-state-edge-prob-cutoff to
+	sched-state-edge-prob-cutoff, rename selsched-max-insns-to-rename
+	to selsched-insns-to-rename, rename lto-minpartition to
+	lto-min-partition, delete reorder-blocks-duplicate and
+	reorder-blocks-duplicate-feedback.
+
+2016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.c (s390_register_info_set_ranges): Remove
+	superfluous loops.
+
+2016-02-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	* doc/extend.texi: S/390: Correct some typos.
+
+2016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.c (s390_emit_call): Add missing 64 bit check.
+
+2016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	PR target/69625
+	* config/s390/s390.c (SAVE_SLOT_NONE, SAVE_SLOT_STACK): New defines.
+	(s390_register_info_gprtofpr): Use new macros above.
+	(s390_register_info_stdarg_fpr): Adjust max_fpr to better match
+	its name.
+	(s390_register_info_stdarg_gpr): Adjust max_gpr to better match
+	its name.  Adjust restore and save gpr ranges.
+	(s390_register_info_set_ranges): New function.
+	(s390_register_info): Use new macros above.  Call
+	s390_register_info_set_ranges.
+	(s390_optimize_register_info): Likewise.
+	(s390_hard_regno_rename_ok): Use new macros.
+	(s390_hard_regno_scratch_ok): Likewise.
+	(s390_emit_epilogue): Likewise.
+	(s390_can_use_return_insn): Likewise.
+	(s390_optimize_prologue): Likewise.
+	* config/s390/s390.md (GPR2_REGNUM, GPR6_REGNUM): New constants.
+
+2016-02-05  Jakub Jelinek  <jakub@redhat.com>
+
+	PR bootstrap/69677
+	* config/i386/i386.c (convert_scalars_to_vector): Readd stack
+	alignment fixes.
+	(ix86_option_override_internal): Disable TARGET_STV even for
+	-m{incoming,preferred}-stack-boundary=3.
+
+2016-02-03  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* config.gcc: Mark deprecated rtems targets as obsolete.
+
+2016-02-04  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/64682
+	PR rtl-optimization/69567
+	* combine.c (distribute_notes) <REG_DEAD>: Place the death note
+	before I2 only if the register is both used and set in I2.
+
+2016-02-04  DJ Delorie  <dj@redhat.com>
+
+	* config/msp430/msp430.c (msp430_start_function): Add function type.
+
+2016-02-04  Jakub Jelinek  <jakub@redhat.com>
+
+	PR fortran/69368
+	* tree-dfa.c (get_ref_base_and_extent): Remove unreachable code.
+
+2016-02-04  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR rtl-optimization/69577
+	Revert:
+	2015-10-29  Richard Henderson  <rth@redhat.com>
+
+	PR target/68124
+	PR rtl-opt/67609
+	* config/i386/i386.c (ix86_cannot_change_mode_class): Tighten
+	sse check to the exact conditions of PR 67609.
+
+2016-02-04  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/69667
+	* config/rs6000/rs6000.md (mov<mode>_64bit_dm): Use 'd' constraint
+	instead of 'ws', and 'wh' instead of 'wm' since TFmode/IFmode are
+	not allowed into the traditional Altivec registers.
+	(movtd_64bit_nodm): Likewise.
+	(mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.
+
+2016-02-04  David Malcolm  <dmalcolm@redhat.com>
+
+	* config/aarch64/cortex-a57-fma-steering.c
+	(aarch64_register_fma_steering): Remove "static" from arguments
+	to register_pass.
+
+2016-02-04  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	PR target/69619
+	* ccmp.c (expand_ccmp_expr_1): Avoid evaluating gs0/gs1
+	twice when complex.
+
+2016-02-04  Mike Frysinger  <vapier@gentoo.org>
+
+	* doc/invoke.texi: Delete -mno-fma4.
+
+2016-02-04  Richard Sandiford  <richard.sandiford@arm.com>
+
+	PR rtl-optimization/69577
+	* reginfo.c (record_subregs_of_mode): Add a partial_def parameter.
+	(find_subregs_of_mode): Update accordingly.  Iterate over partial
+	definitions.
+
+2016-02-04  Alan Lawrence  <alan.lawrence@arm.com>
+
+	* config/arm/arm-protos.h (neon_reinterpret): Remove.
+	* config/arm/arm.c (neon_reinterpret): Remove.
+	* config/arm/arm_neon_builtins.def (vreinterpretv8qi, vreinterpretv4hi,
+	vreinterpretv2si, vreinterpretv2sf, vreinterpretdi, vreinterpretv16qi,
+	vreinterpretv8hi, vreinterpretv4si, vreinterpretv4sf, vreinterpretv2di,
+	vreinterpretti): Remove.
+	* config/arm/neon.md (neon_vreinterpretv8qi<mode>,
+	neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>,
+	neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>,
+	neon_vreinterpretti<mode>, neon_vreinterpretv16qi<mode>,
+	neon_vreinterpretv8hi<mode>, neon_vreinterpretv4si<mode>,
+	neon_vreinterpretv4sf<mode>, neon_vreinterpretv2di<mode>): Remove.
+	* config/arm/arm_neon.h (vreinterpret_p8_p16, vreinterpret_p8_f32,
+	vreinterpret_p8_p64, vreinterpret_p8_s64, vreinterpret_p8_u64,
+	vreinterpret_p8_s8, vreinterpret_p8_s16, vreinterpret_p8_s32,
+	vreinterpret_p8_u8, vreinterpret_p8_u16, vreinterpret_p8_u32,
+	vreinterpret_p16_p8, vreinterpret_p16_f32, vreinterpret_p16_p64,
+	vreinterpret_p16_s64, vreinterpret_p16_u64, vreinterpret_p16_s8,
+	vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_u8,
+	vreinterpret_p16_u16, vreinterpret_p16_u32, vreinterpret_f32_p8,
+	vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpret_f32_s64,
+	vreinterpret_f32_u64, vreinterpret_f32_s8, vreinterpret_f32_s16,
+	vreinterpret_f32_s32, vreinterpret_f32_u8, vreinterpret_f32_u16,
+	vreinterpret_f32_u32, vreinterpret_p64_p8, vreinterpret_p64_p16,
+	vreinterpret_p64_f32, vreinterpret_p64_s64, vreinterpret_p64_u64,
+	vreinterpret_p64_s8, vreinterpret_p64_s16, vreinterpret_p64_s32,
+	vreinterpret_p64_u8, vreinterpret_p64_u16, vreinterpret_p64_u32,
+	vreinterpret_s64_p8, vreinterpret_s64_p16, vreinterpret_s64_f32,
+	vreinterpret_s64_p64, vreinterpret_s64_u64, vreinterpret_s64_s8,
+	vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_u8,
+	vreinterpret_s64_u16, vreinterpret_s64_u32, vreinterpret_u64_p8,
+	vreinterpret_u64_p16, vreinterpret_u64_f32, vreinterpret_u64_p64,
+	vreinterpret_u64_s64, vreinterpret_u64_s8, vreinterpret_u64_s16,
+	vreinterpret_u64_s32, vreinterpret_u64_u8, vreinterpret_u64_u16,
+	vreinterpret_u64_u32, vreinterpret_s8_p8, vreinterpret_s8_p16,
+	vreinterpret_s8_f32, vreinterpret_s8_p64, vreinterpret_s8_s64,
+	vreinterpret_s8_u64, vreinterpret_s8_s16, vreinterpret_s8_s32,
+	vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32,
+	vreinterpret_s16_p8, vreinterpret_s16_p16, vreinterpret_s16_f32,
+	vreinterpret_s16_p64, vreinterpret_s16_s64, vreinterpret_s16_u64,
+	vreinterpret_s16_s8, vreinterpret_s16_s32, vreinterpret_s16_u8,
+	vreinterpret_s16_u16, vreinterpret_s16_u32, vreinterpret_s32_p8,
+	vreinterpret_s32_p16, vreinterpret_s32_f32, vreinterpret_s32_p64,
+	vreinterpret_s32_s64, vreinterpret_s32_u64, vreinterpret_s32_s8,
+	vreinterpret_s32_s16, vreinterpret_s32_u8, vreinterpret_s32_u16,
+	vreinterpret_s32_u32, vreinterpret_u8_p8, vreinterpret_u8_p16,
+	vreinterpret_u8_f32, vreinterpret_u8_p64, vreinterpret_u8_s64,
+	vreinterpret_u8_u64, vreinterpret_u8_s8, vreinterpret_u8_s16,
+	vreinterpret_u8_s32, vreinterpret_u8_u16, vreinterpret_u8_u32,
+	vreinterpret_u16_p8, vreinterpret_u16_p16, vreinterpret_u16_f32,
+	vreinterpret_u16_p64, vreinterpret_u16_s64, vreinterpret_u16_u64,
+	vreinterpret_u16_s8, vreinterpret_u16_s16, vreinterpret_u16_s32,
+	vreinterpret_u16_u8, vreinterpret_u16_u32, vreinterpret_u32_p8,
+	vreinterpret_u32_p16, vreinterpret_u32_f32, vreinterpret_u32_p64,
+	vreinterpret_u32_s64, vreinterpret_u32_u64, vreinterpret_u32_s8,
+	vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_u8,
+	vreinterpret_u32_u16, vreinterpretq_p8_p16, vreinterpretq_p8_f32,
+	vreinterpretq_p8_p64, vreinterpretq_p8_p128, vreinterpretq_p8_s64,
+	vreinterpretq_p8_u64, vreinterpretq_p8_s8, vreinterpretq_p8_s16,
+	vreinterpretq_p8_s32, vreinterpretq_p8_u8, vreinterpretq_p8_u16,
+	vreinterpretq_p8_u32, vreinterpretq_p16_p8, vreinterpretq_p16_f32,
+	vreinterpretq_p16_p64, vreinterpretq_p16_p128, vreinterpretq_p16_s64,
+	vreinterpretq_p16_u64, vreinterpretq_p16_s8, vreinterpretq_p16_s16,
+	vreinterpretq_p16_s32, vreinterpretq_p16_u8, vreinterpretq_p16_u16,
+	vreinterpretq_p16_u32, vreinterpretq_f32_p8, vreinterpretq_f32_p16,
+	vreinterpretq_f32_p64, vreinterpretq_f32_p128, vreinterpretq_f32_s64,
+	vreinterpretq_f32_u64, vreinterpretq_f32_s8, vreinterpretq_f32_s16,
+	vreinterpretq_f32_s32, vreinterpretq_f32_u8, vreinterpretq_f32_u16,
+	vreinterpretq_f32_u32, vreinterpretq_p64_p8, vreinterpretq_p64_p16,
+	vreinterpretq_p64_f32, vreinterpretq_p64_p128, vreinterpretq_p64_s64,
+	vreinterpretq_p64_u64, vreinterpretq_p64_s8, vreinterpretq_p64_s16,
+	vreinterpretq_p64_s32, vreinterpretq_p64_u8, vreinterpretq_p64_u16,
+	vreinterpretq_p64_u32, vreinterpretq_p128_p8, vreinterpretq_p128_p16,
+	vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64,
+	vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16,
+	vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16,
+	vreinterpretq_p128_u32, vreinterpretq_s64_p8, vreinterpretq_s64_p16,
+	vreinterpretq_s64_f32, vreinterpretq_s64_p64, vreinterpretq_s64_p128,
+	vreinterpretq_s64_u64, vreinterpretq_s64_s8, vreinterpretq_s64_s16,
+	vreinterpretq_s64_s32, vreinterpretq_s64_u8, vreinterpretq_s64_u16,
+	vreinterpretq_s64_u32, vreinterpretq_u64_p8, vreinterpretq_u64_p16,
+	vreinterpretq_u64_f32, vreinterpretq_u64_p64, vreinterpretq_u64_p128,
+	vreinterpretq_u64_s64, vreinterpretq_u64_s8, vreinterpretq_u64_s16,
+	vreinterpretq_u64_s32, vreinterpretq_u64_u8, vreinterpretq_u64_u16,
+	vreinterpretq_u64_u32, vreinterpretq_s8_p8, vreinterpretq_s8_p16,
+	vreinterpretq_s8_f32, vreinterpretq_s8_p64, vreinterpretq_s8_p128,
+	vreinterpretq_s8_s64, vreinterpretq_s8_u64, vreinterpretq_s8_s16,
+	vreinterpretq_s8_s32, vreinterpretq_s8_u8, vreinterpretq_s8_u16,
+	vreinterpretq_s8_u32, vreinterpretq_s16_p8, vreinterpretq_s16_p16,
+	vreinterpretq_s16_f32, vreinterpretq_s16_p64, vreinterpretq_s16_p128,
+	vreinterpretq_s16_s64, vreinterpretq_s16_u64, vreinterpretq_s16_s8,
+	vreinterpretq_s16_s32, vreinterpretq_s16_u8, vreinterpretq_s16_u16,
+	vreinterpretq_s16_u32, vreinterpretq_s32_p8, vreinterpretq_s32_p16,
+	vreinterpretq_s32_f16, vreinterpretq_s32_f32, vreinterpretq_s32_p64,
+	vreinterpretq_s32_p128, vreinterpretq_s32_s64, vreinterpretq_s32_u64,
+	vreinterpretq_s32_s8, vreinterpretq_s32_s16, vreinterpretq_s32_u8,
+	vreinterpretq_s32_u16, vreinterpretq_s32_u32, vreinterpretq_u8_p8,
+	vreinterpretq_u8_p16, vreinterpretq_u8_f32, vreinterpretq_u8_p64,
+	vreinterpretq_u8_p128, vreinterpretq_u8_s64, vreinterpretq_u8_u64,
+	vreinterpretq_u8_s8, vreinterpretq_u8_s16, vreinterpretq_u8_s32,
+	vreinterpretq_u8_u16, vreinterpretq_u8_u32, vreinterpretq_u16_p8,
+	vreinterpretq_u16_p16, vreinterpretq_u16_f32, vreinterpretq_u16_p64,
+	vreinterpretq_u16_p128, vreinterpretq_u16_s64, vreinterpretq_u16_u64,
+	vreinterpretq_u16_s8, vreinterpretq_u16_s16, vreinterpretq_u16_s32,
+	vreinterpretq_u16_u8, vreinterpretq_u16_u32, vreinterpretq_u32_p8,
+	vreinterpretq_u32_p16, vreinterpretq_u32_f32, vreinterpretq_u32_p64,
+	vreinterpretq_u32_p128, vreinterpretq_u32_s64, vreinterpretq_u32_u64,
+	vreinterpretq_u32_s8, vreinterpretq_u32_s16, vreinterpretq_u32_s32,
+	vreinterpretq_u32_u8, vreinterpretq_u32_u16): Rewrite using casts.
+
+2016-02-04  Martin Liska  <mliska@suse.cz>
+
+	PR sanitizer/69276
+	* asan.c (has_stmt_been_instrumented_p): Instrument gimple calls
+	that are gimple_store_p.
+	(maybe_instrument_call): Likewise.
+
+2016-02-04  Bin Cheng  <bin.cheng@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_legitimize_address): Force
+	register scaling out of memory reference and comment why.
+
+2016-02-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/65932
+	PR target/67714
+	* cse.c (cse_insn): Pass NULL to fold_rtx when initially
+	folding the source of a SET.
+
+2016-02-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/65932
+	PR target/67714
+	* config/arm/arm.c (arm_new_rtx_costs, MULT case): Properly extract
+	the operands of the SIGN_EXTENDs from a SMUL[TB][TB] rtx.
+
+2016-02-04  Jim Wilson  <jim.wilson@linaro.org>
+
+	PR target/65932
+	PR target/67714
+	* config/arm/arm.h (PROMOTE_MODE): Don't set UNSIGNEDP for QImode and
+	HImode.
+
+2016-02-04  Christian Bruel  <christian.bruel@st.com>
+
+	* config/arm/arm-c.c (arm_reset_previous_fndecl): Style fix and typo.
+	* config/arm/arm.c (arm_set_current_function): Likewise.
+
+2016-02-04  Jakub Jelinek  <jakub@redhat.com>
+	    Ilya Enkovich  <enkovich.gnu@gmail.com>
+	    H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/69454
+	* config/i386/i386.c (convert_scalars_to_vector): Remove
+	stack alignment fixes.
+	(ix86_option_override_internal): Disable TARGET_STV if stack
+	might not be aligned enough.
+	(ix86_minimum_alignment): Assert that TARGET_STV is false.
+
+2016-02-04  Victoria Stepanyan  <victoria.stepanyan@amd.com>
+
+	* config/i386/x86-tune.def: Disable default prefetching
+	for -march=znver1.
+
+2016-02-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
+	    Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR target/69461
+	* config/rs6000/rs6000.c (rs6000_legitimate_address_p): Fix thinko
+	in validating fused toc addresses.
+
+2016-02-03  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/69627
+	* diagnostic-show-locus.c (layout::get_state_at_point): Don't read
+	range->m_caret fields if range->m_show_caret_p is false.
+
+	PR target/69644
+	* config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
+	Force oldval into register if it does not satisfy reg_or_short_operand
+	predicate.  Fix up formatting.
+
+2016-02-03  Vladimir Makarov  <vmakarov@redhat.com>
+	    Alexandre Oliva  <aoliva@redhat.com>
+
+	PR target/69461
+	* lra-constraints.c (simplify_operand_subreg): Check additionally
+	address validity after potential reloading.
+	(process_address_1): Check insns validity.  In case of failure do
+	nothing.
+
+2016-02-03  Kirill Yukhin  <kirill.yukhin@intel.com>
+
+	PR target/69118
+	* config/i386/sse.md (define_insn "avx512f_maskcmp<mode>3"):
+	Fix target.
+
+2016-02-02  Jakub Jelinek  <jakub@redhat.com>
+
+	* wide-int.cc (canonize_uhwi): New function.
+	(wi::divmod_internal): Use it.
+
+2016-02-02  James Norris  <jnorris@codesourcery.com>
+
+	* gimplify.c (omp_notice_variable): Add usage check.
+
+2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
+
+	* config/nvptx/nvptx.c (nvptx_print_operand): Treat LEU, GEU, LTU, GTU
+	like LE, GE, LT, GT when emitting relational operator.
+
+2016-02-02  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* ira-costs.c (find_costs_and_classes): Add extra argument.
+	* target.def (ira_change_pseudo_allocno_class): Add parameter.
+	* targhooks.h (ira_change_pseudo_allocno_class): Likewise.
+	* targhooks.c (ira_change_pseudo_allocno_class): Likewise.
+	* config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class)
+	Add best_class parameter, and return it if not ALL_REGS.
+	* config/mips/mips.c (mips_ira_change_pseudo_allocno_class):
+	Add parameter.
+	* doc/tm.texi (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS):
+	Update target hook.
+
+2016-02-02  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c
+	(TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): New define.
+	(aarch64_ira_change_pseudo_allocno_class): New function.
+
+2016-02-02  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/67032
+	* config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves.
+
+2016-02-02  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
+
+	* config/avr/avr.c (avr_option_override): Set
+	PARAM_ALLOW_STORE_DATA_RACES to 1.
+
+2016-02-02  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69595
+	* match.pd: Add range test simplifications to true/false.
+
+2016-02-02  Thomas Schwinge  <thomas@codesourcery.com>
+
+	* omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): Remove.
+	* omp-low.c (expand_omp_target): Use BUILT_IN_GOACC_DATA_START
+	instead.
+
+2016-02-02  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69606
+	* tree-ssa-math-opts.c (bswap_replace): Clear flow sensitive
+	info on the result before moving a stmt.
+
+2016-02-02  Yuri Rumyantsev  <ysrumyan@gmail.com>
+
+	PR middle-end/68542
+	* config/i386/i386.c (ix86_expand_branch): Add support for conditional
+	branch with vector comparison.
+	* config/i386/sse.md (VI48_AVX): New mode iterator.
+	(define_expand "cbranch<mode>4): Add support for conditional branch
+	with vector comparison.
+	* tree-vect-loop.c (optimize_mask_stores): New function.
+	* tree-vect-stmts.c (vectorizable_mask_load_store): Initialize
+	has_mask_store field of vect_info.
+	* tree-vectorizer.c (vectorize_loops): Invoke optimaze_mask_stores for
+	vectorized loops having masked stores after vec_info destroy.
+	* tree-vectorizer.h (loop_vec_info): Add new has_mask_store field and
+	correspondent macros.
+	(optimize_mask_stores): Add prototype.
+
+2016-02-02  Alan Modra  <amodra@gmail.com>
+
+	PR target/69548
+	* config/rs6000/predicates.md (quad_int_reg_operand): Don't
+	allow subregs.
+
+2016-02-02  Alan Modra  <amodra@gmail.com>
+
+	PR target/68662
+	* config/rs6000/rs6000.c (need_toc_init): New var, set it
+	whenever toc_label_name used.
+	(rs6000_file_start): Don't set up toc section here,
+	(rs6000_output_function_epilogue): do so here instead,
+	(rs6000_xcoff_file_start): and here.
+	* config/rs6000/rs6000.md (load_toc_aix_si): Set need_toc_init.
+	(load_toc_aix_di): Likewise.
+
+2016-02-01  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/69592
+	* rtlanal.c (nonzero_bits_binary_arith_p): New inline function.
+	(cached_nonzero_bits): Use it instead of ARITHMETIC_P.
+	(num_sign_bit_copies_binary_arith_p): New inline function.
+	(cached_num_sign_bit_copies): Use it instead of ARITHMETIC_P.
+
+2016-02-01  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/69580
+	* params.def (FSM_MAXIMUM_PHI_ARGUMENTS): New param.
+	* tree-ssa-threadbackward.c
+	(fsm_find_control_statement_thread_paths): Do not try to walk
+	through large PHI nodes.
+
+2016-02-01  Jakub Jelinek  <jakub@redhat.com>
+
+	* ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false
+	when count is incremented above limit, don't analyze further
+	insns afterwards.
+
+	* omp-low.c (oacc_parse_default_dims): Avoid
+	-Wsign-compare warning, make sure value fits into int
+	rather than just unsigned int.
+
+2016-02-01  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/67921
+	* fold-const.c (split_tree): New parameters.  Convert pointer
+	type variable part to proper type before negating.
+	(fold_binary_loc): Pass new arguments to split_tree.
+
+2016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* config/nvptx/nvptx.c (PTX_GANG_DEFAULT): New.
+	(nvptx_goacc_validate_dims): Extend to handle global defaults.
+	* target.def (OACC_VALIDATE_DIMS): Extend documentation.
+	* doc/tm.texti: Rebuilt.
+	* doc/invoke.texi (fopenacc-dim): Document.
+	* lto-wrapper.c (merge_and_complain): Add OPT_fopenacc_dim_ case.
+	(append_compiler_options): Likewise.
+	* omp-low.c (oacc_default_dims, oacc_min_dims): New.
+	(oacc_parse_default_dims): New.
+	(oacc_validate_dims): Add USED arg.  Select non-unity default when
+	possible.
+	(oacc_loop_fixed_partitions): Return mask of used partitions.
+	(oacc_loop_auto_partitions): Emit dump info.
+	(oacc_loop_partition): Return mask of used partitions.
+	(execute_oacc_device_lower): Parse default dimension arg.  Adjust
+	loop partitioning and validation calls.
+
+2016-02-01  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/69556
+	* match.pd: Guard (C1/X)*C2 -> (C1*C2)/X with single_use.
+
+2016-02-01  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69574
+	* tree-chrec.c (hide_evolution_in_other_loops_than_loop): Instead
+	of asserting return chrec_dont_know.
+
+2016-02-01  Martin Liska  <mliska@suse.cz>
+
+	* mem-stats-traits.h: Add copyright header.
+	* mem-stats.h: Likewise.
+
+2016-02-01  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69579
+	* tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling):
+	Do not propagate through abnormal PHI results.
+
+2016-02-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* postreload.c (reload_cse_simplify): Remove dead code.
+
+2016-02-01  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/69570
+	* ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return true only
+	if there is more than one set, not if there is a single set.
+
+2016-02-01  Richard Henderson  <rth@redhat.com>
+
+	PR rtl-opt/69535
+	* combine.c (make_compound_operation): When looking through a
+	subreg, make sure to re-extend to the width of the outer mode.
+
+2016-01-30  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/69546
+	* wide-int.cc (wi::divmod_internal): For unsigned division
+	where both operands fit into uhwi, if o1 is 1 and o0 has
+	msb set, if divident_prec is larger than bits per hwi,
+	clear another quotient word and return 2 instead of 1.
+	Similarly for remainder with msb in HWI set, if dividend_prec
+	is larger than bits per hwi.
+
+2016-01-29  Martin Jambor  <mjambor@suse.cz>
+
+	* hsa-gen.c (get_memory_order_name): Mask with MEMMODEL_BASE_MASK.
+	Use short lowercase names.
+	(get_memory_order): Mask with MEMMODEL_BASE_MASK.  Support
+	MEMMODEL_CONSUME with acquire semantics and MEMMODEL_SEQ_CST with
+	acq_rel one.  Protect warning agains segfaults if
+	get_memory_order_name returns NULL.
+	(gen_hsa_ternary_atomic_for_builtin): Support with MEMMODEL_SEQ_CST
+	with release semantics.  Do not warn if get_memory_order already did.
+	(gen_hsa_insns_for_call): Support with MEMMODEL_SEQ_CST with acquire
+	semantics.  Fix check for relaxed or acquire semantics.  Do not warn
+	if get_memory_order already did.
+
+2016-01-29  Sebastian Pop  <s.pop@samsung.com>
+
+	* doc/install.texi: Document that isl-0.16 is supported.
+
+2016-01-29  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR target/69299
+	* config/i386/constraints.md (Bm): Describe as special memory
+	constraint.
+	* doc/md.texi (DEFINE_SPECIAL_MEMORY_CONSTRAINT): Describe it.
+	* genoutput.c (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
+	* genpreds.c (struct constraint_data): Add is_special_memory.
+	(have_special_memory_constraints, special_memory_start): New
+	static vars.
+	(special_memory_end): Ditto.
+	(add_constraint): Add new arg is_special_memory.  Add code to
+	process its true value.  Update have_special_memory_constraints.
+	(process_define_constraint): Pass the new arg.
+	(process_define_register_constraint): Ditto.
+	(choose_enum_order): Process special memory.
+	(write_tm_preds_h): Generate enum const CT_SPECIAL_MEMORY and
+	function insn_extra_special_memory_constraint.
+	(main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
+	* gensupport.c (process_rtx): Process
+	DEFINE_SPECIAL_MEMORY_CONSTRAINT.
+	* ira-costs.c (record_reg_classes): Process CT_SPECIAL_MEMORY.
+	* ira-lives.c (single_reg_class): Use
+	insn_extra_special_memory_constraint.
+	* ira.c (ira_setup_alts): Process CT_SPECIAL_MEMORY.
+	* lra-constraints.c (process_alt_operands): Ditto.
+	(curr_insn_transform): Use insn_extra_special_memory_constraint.
+	* recog.c (asm_operand_ok, preprocess_constraints): Process
+	CT_SPECIAL_MEMORY.
+	* reload.c (find_reloads): Ditto.
+	* rtl.def (DEFINE_SPECIFAL_MEMORY_CONSTRAINT): New.
+	* stmt.c (parse_input_constraint): Use
+	insn_extra_special_memory_constraint.
+
+2016-01-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/69530
+	* lra-splill.c (lra_final_code_change): Revert r229087 by
+	removing all sub-registers.
+
+2016-01-29  Steve Ellcey  <sellcey@imgtec.com>
+
+	PR target/65604
+	* config/mips/mips.c (mips_output_division): Check flag_delayed_branch.
+
+2016-01-29  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/69551
+	* config/i386/i386.c (ix86_expand_vector_set) <case V4SImode>: For
+	SSE1, copy target into the temporary reg first before recursing
+	on it.
+
+2016-01-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/sse.md (sse2_cvtps2pd<mask_name>): Replace vBm
+	with vm.
+
+2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
+
+	* ginclude/stdarg.h: Test __cplusplus instead of
+	__GXX_EXPERIMENTAL_CXX0X__.
+
+2016-01-29  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69547
+	* tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1):
+	Do not mark clobbers necessary.
+	(mark_all_reaching_defs_necessary_1): Likewise.
+
+2016-01-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	* config/s390/s390-c.c (s390_resolve_overloaded_builtin): Format
+	declaration name with %qs and print it in both error messages.
+	Also fix indentation.
+
+2016-01-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	PR other/69006
+	* config/s390/s390-c.c (s390_resolve_overloaded_builtin): Remove
+	trailing blank line from error message.
+
+2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
+
+	PR c++/69462
+	* ginclude/float.h: Also provide FLT_EVAL_METHOD and DECIMAL_DIG
+	for C++-11.
+
+2016-01-29  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/69537
+	* match.pd: Allow all integral types when simplifying a
+	widening or sign-changing conversion.
+
+2016-01-28  Sebastian Pop  <s.pop@samsung.com>
+
+	* graphite-isl-ast-to-gimple.c (get_rename_from_scev): Revert assert
+	back to setting codegen_error to fail codegen.
+
+2016-01-28  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/69459
+	* config/i386/constraints.md (C): Only accept constant zero operand.
+	(BC): New constraint.
+	* config/i386/sse.md (*mov<mode>_internal): Use BC constraint
+	instead of C constraint.
+	* doc/md.texi (Machine Constraints): Update description
+	of C constraint.
+
+2016-01-28  Steve Ellcey  <sellcey@imgtec.com>
+
+	PR target/68400
+	* config/mips/mips.c (and_operands_ok): Add MIPS16 check.
+
+2016-01-28  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/69542
+	* lra-remat.c (calculate_local_reg_remat_bb_data): Only consider
+	non-debug insns.
+
+2016-01-28  Pat Haugen  <pthaugen@us.ibm.com>
+
+	* config/rs6000/rs6000.c (output_cbranch): Don't statically predict
+	branches if using guessed profile.
+
+2016-01-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* graphite-optimize-isl.c (optimize_isl): Fix dump.
+
+2016-01-28  Richard Henderson  <rth@redhat.com>
+
+	PR target/69305
+	* config/aarch64/aarch64-modes.def (CC_Cmode): New
+	* config/aarch64/aarch64-protos.h: Update.
+	* config/aarch64/aarch64.c (aarch64_zero_extend_const_eq): New.
+	(aarch64_select_cc_mode): Add check for use of CC_Cmode.
+	(aarch64_get_condition_code_1): Handle CC_Cmode.
+	* config/aarch64/aarch64.md (addti3): Use adddi3_compareC.
+	(*add<mode>3_compareC_cconly_imm): New.
+	(*add<mode>3_compareC_cconly): New.
+	(*add<mode>3_compareC_imm): New.
+	(add<mode>3_compareC): New.
+	(add<mode>3_carryin, *addsi3_carryin_uxtw): Sort compare operand
+	to be first.  Use aarch64_carry_operation.
+	(*add<mode>3_carryin_alt1, *addsi3_carryin_alt1_uxtw): Remove.
+	(*add<mode>3_carryin_alt2, *addsi3_carryin_alt2_uxtw): Remove.
+	(*add<mode>3_carryin_alt3, *addsi3_carryin_alt3_uxtw): Remove.
+	(subti3): Use subdi3_compare1.
+	(*sub<mode>3_compare0): Rename from sub<mode>3_compare0.
+	(sub<mode>3_compare1): New.
+	(*sub<mode>3_carryin0, *subsi3_carryin_uxtw): New.
+	(*sub<mode>3_carryin): Use aarch64_borrow_operation.
+	(*subsi3_carryin_uxtw): Likewise.
+	(*ngc<mode>, *ngcsi_uxtw): Likewise.
+	(*sub<mode>3_carryin_alt, *subsi3_carryin_alt_uxtw): New.
+	* config/aarch64/iterators.md (DWI): New.
+	* config/aarch64/predicates.md (aarch64_carry_operation): New.
+	(aarch64_borrow_operation): New.
+
+2016-01-28  Abderrazek Zaafrani  <a.zaafrani@samsung.com>
+
+	* graphite-optimize-isl.c (optimize_isl): Print a different debug
+	message when isl does not return a valid schedule.
+
+2016-01-28  Sebastian Pop  <s.pop@samsung.com>
+
+	* graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
+	Remove comments from class declarations: they are already in the code
+	close by the defs.
+
+2016-01-28  Sebastian Pop  <s.pop@samsung.com>
+
+	* graphite-isl-ast-to-gimple.c (binary_op_to_tree): Call
+	codegen_error_p.
+	(ternary_op_to_tree): Same.
+	(unary_op_to_tree): Same.
+	(nary_op_to_tree): Same.
+	(gcc_expression_from_isl_expr_op): Same.
+	(gcc_expression_from_isl_expression): Same.
+	(graphite_create_new_loop): Same.
+	(graphite_create_new_loop_guard): Same.
+	(build_iv_mapping): Same.
+	(graphite_create_new_guard): Same.
+	(translate_isl_ast_to_gimple::copy_loop_phi_nodes): Same.
+	(translate_isl_ast_to_gimple::translate_pending_phi_nodes): Same.
+
+2016-01-28  Sebastian Pop  <s.pop@samsung.com>
+
+	* graphite-isl-ast-to-gimple.c (get_rename_from_scev): Assert
+	instead of setting codegen_error to fail codegen.
+
+2016-01-28  Jason Merrill  <jason@redhat.com>
+
+	* tree.h (BINFO_FLAG_0): Rename from BINFO_MARKED.
+
+2016-01-28  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_if_then_else_costs):
+	Remove CONST_INT_P check in CCMP cost calculation.
+
+2016-01-28  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (generic_vector_cost):
+	Set vec_permute_cost.
+	(cortexa57_vector_cost): Likewise.
+	(exynosm1_vector_cost): Likewise.
+	(xgene1_vector_cost): Likewise.
+	(aarch64_builtin_vectorization_cost): Use vec_permute_cost.
+	* config/aarch64/aarch64-protos.h (cpu_vector_cost):
+	Add vec_permute_cost entry.
+
+2016-01-28  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.md (ccmp<mode>): Disassemble
+	immediate as %1.
+	(add<mode>3_compare0): Likewise.
+	(addsi3_compare0_uxtw): Likewise.
+	(add<mode>3nr_compare0): Likewise.
+	(compare_neg<mode>): Likewise.
+	(<optab><mode>3): Likewise.
+
+2016-01-28  Ilya Enkovich  <enkovich.gnu@gmail.com>
+
+	* tree-vect-stmts.c (vectorizable_comparison): Add
+	NULL check for vectype.
+
+2016-01-28  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69466
+	* tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
+	Account for PHIs we couldn't duplicate.
+
+2016-01-28  Martin Liska  <mliska@suse.cz>
+
+	PR pch/68758
+	* ggc-common.c (gt_pch_save): Use ENABLE_VALGRIND_ANNOTATIONS macro
+	instead of ENABLE_VALGRIND_CHECKING.
+
+2016-01-27  Richard Henderson  <rth@redhat.com>
+
+	PR rtl-opt/69447
+	* lra-remat.c (subreg_regs): New.
+	(dump_candidates_and_remat_bb_data): Dump it.
+	(operand_to_remat): Reject if operand in subreg_regs.
+	(set_bb_regs): Collect subreg_regs.
+	(lra_remat): Init and free subreg_regs.  Compute
+	calculate_local_reg_remat_bb_data before create_cands.
+
+2016-01-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/68986
+	* config/i386/i386.c (ix86_update_stack_boundary): Don't
+	change stack_alignment_needed for __tls_get_addr call.
+
+2016-01-27  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.c (print_operand): Rollback 's' removal.
+
+2016-01-27  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/68398
+	PR tree-optimization/69196
+	* params.def (PARAM_FSM_SCALE_PATH_STMTS): New parameter.
+	(PARAM_FSM_SCALE_PATH_BLOCKS): Likewise.
+	* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
+	Only count PHIs in the last block in the path.  The others will
+	const/copy propagate away.  Add heuristic to allow more irreducible
+	subloops to be created when it is likely profitable to do so.
+
+	* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
+	Fix typo in comment.  Use gsi_after_labels and remove the GIMPLE_LABEL
+	check from within the loop.  Use gsi_next_nondebug rather than gsi_next.
+
+2016-01-27  Jakub Jelinek  <jakub@redhat.com>
+
+	PR lto/69254
+	* sanitizer.def: Add BEGIN_SANITIZER_BUILTINS and
+	END_SANITIZER_BUILTINS markers using DEF_BUILTIN_STUB.
+	* asan.c (DEF_BUILTIN_STUB): Temporarily define.
+	* tree-streamer-in.c: Include asan.h.
+	(streamer_get_builtin_tree): For builtins in sanitizer
+	range call initialize_sanitizer_builtins and retry.
+
+2016-01-27  Ian Lance Taylor  <iant@google.com>
+
+	* common.opt (fkeep-gc-roots-live): New undocumented option.
+	* tree-ssa-loop-ivopts.c (add_candidate_1): If
+	-fkeep-gc-roots-live, skip pointers.
+	(add_iv_candidate_for_biv): Handle add_candidate_1 returning
+	NULL.
+
+2016-01-27  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/69512
+	* config/i386/i386.md (*zext<mode>_doubleword_and): New pattern.
+	(*zext<mode>_doubleword): Disable for TARGET_ZERO_EXTEND_WITH_AND.
+
+2016-01-27  Thomas Klausner  <wiz@NetBSD.org>
+
+	PR target/68380
+	* configure.ac: NetBSD provides SSP in its C library.
+	* configure: Updated.
+
+2016-01-27  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69166
+	* tree-vect-loop.c (vect_is_simple_reduction): Always check
+	reduction code for commutativity / associativity.
+
+2016-01-27  Martin Jambor  <mjambor@suse.cz>
+
+	PR tree-optimization/69355
+	* tree-sra.c (analyze_access_subtree): Correct hole detection when
+	total_scalarization fails.
+
+2016-01-27  David Edelsohn  <dje.gcc@gmail.com>
+
+	* config/rs6000/driver-rs6000.c (detect_processor_aix): Add
+	power9.
+
+2016-01-27  Christian Bruel  <christian.bruel@st.com>
+
+	PR target/69245
+	* config/arm/arm-c.c (arm_pragma_target_parse): Add comments.
+	Move arm_reset_previous_fndecl and set_target_option_current_node in
+	the conditional part.  Call save_restore_target_globals.
+	* config/arm/arm.c (arm_set_current_function):
+	Refactor to better support #pragma target and attribute mix.
+	Call save_restore_target_globals.
+	* config/arm/arm-protos.h (save_restore_target_globals): New function.
+
+2016-01-27  Martin Liska  <mliska@suse.cz>
+
+	* hsa.c (hsa_summary_t::link_functions): Create IPA_REF_ADDR
+	reference for an HSA kernel and its host function.
+
+2016-01-27  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/69399
+	* wide-int.h (wi::lrshift): For larger precisions, only
+	use fast path if shift is known to be < HOST_BITS_PER_WIDE_INT.
+
+2016-01-27  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/predicates.md (proper_comparison_operator): Reject
+	constant-constant comparison.
+
+2016-01-26  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/69110
+	* tree-data-ref.c (initialize_data_dependence_relation): Handle
+	DR_NUM_DIMENSIONS == 0.
+
+2016-01-26  Abderrazek Zaafrani  <a.zaafrani@samsung.com>
+	    Sebastian Pop  <s.pop@samsung.com>
+
+	* graphite-isl-ast-to-gimple.c (ternary_op_to_tree): Handle
+	isl_ast_op_cond and isl_ast_op_select.
+	(gcc_expression_from_isl_expr_op): Same.
+
+2016-01-26  Jason Merrill  <jason@redhat.com>
+
+	PR c++/68782
+	* tree.c (recompute_constructor_flags): Split out from
+	build_constructor.
+	(verify_constructor_flags): New.
+	* tree.h: Declare them.
+
+2016-01-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	PR rtl-optimization/69217
+	* var-tracking.c (tracked_record_parameter_p): Don't segfault if there
+	are no TYPE_FIELDS set for the record type.
+
+2016-01-26  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/68662
+	* config/rs6000/rs6000.c (rs6000_option_override_internal): Initialize
+	toc_label_name unconditionally.
+	(rs6000_emit_load_toc_table): Call ggc_strdup on toc_label_name for
+	SYMBOL_REF string.  Use toc_label_name instead of constructing
+	LCTOC1.
+	(rs6000_elf_declare_function_name): Use toc_label_name instead of
+	constructing LCTOC1.
+
+2016-01-26  Martin Sebor  <msebor@redhat.com>
+
+	PR other/69477
+	* doc/extend.texi (Common Type Attributes): Move text that talks about
+	attribute packed from attribute aligned to the section discussing
+	the former attribute for clarity.
+
+2016-01-26  Richard Henderson  <rth@redhat.com>
+
+	PR middle-end/60908
+	* trans-mem.c (tm_region_init): Mark entry block as visited.
+
+2016-01-26  David Malcolm  <dmalcolm@redhat.com>
+
+	PR other/69006
+	* diagnostic-show-locus.c (layout::print_source_line): Replace
+	call to pp_newline with call to layout::print_newline.
+	(layout::print_annotation_line): Likewise.
+	(layout::move_to_column): Likewise.
+	(layout::print_any_fixits): After printing any fixits, print a
+	trailing newline, if necessary.
+	(layout::print_newline): New method, resetting any colorization
+	before a newline.
+	(diagnostic_show_locus): Move the pp_newline to before the
+	early bailout.  Remove dummy block enclosing the layout instance.
+	* diagnostic.c (default_diagnostic_finalizer): Replace invocation
+	of pp_newline_and_flush with pp_flush.
+	(diagnostic_append_note): Delete use of pp_newline.
+	(diagnostic_append_note_at_rich_loc): Delete.
+	* diagnostic.h (diagnostic_append_note_at_rich_loc): Delete.
+	* pretty-print.h (output_buffer_append_r): Reset buff->line_length
+	when newline characters are added to the buffer.
+
+2016-01-26  Michael Matz  <matz@suse.de>
+
+	* configure.ac (ac_cv_std_swap_in_utility): New test.
+	* system.h (<algorithm>): Check HAVE_SWAP_IN_UTILITY as well.
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
+2016-01-26  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.md (cstoresi4): Force operand into register.
+	(arcset<code>): Fix predicate.
+	(arcsetltu): Likewise.
+	(arcsetgeu): Likewise.
+	(arcsethi): Likewise.
+	(arcsetls): Likewise.
+
+2016-01-26  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/69483
+	* gimple-fold.c (canonicalize_constructor_val): Return NULL
+	if base has error_mark_node type.
+
+2016-01-26  Christophe Lyon  <christophe.lyon@linaro.org>
+
+	PR target/68620
+	* config/arm/arm.c (neon_valid_immediate): Handle FP16 vectors.
+	* config/arm/arm_neon.h (__ARM_NUM_LANES, __arm_lane, arm_lanq):
+	New helper macros.
+	(vget_lane_f16): Handle big-endian.
+	(vgetq_lane_f16): Likewise.
+	(vset_lane_f16): Likewise.
+	(vsetq_lane_f16): Likewise.
+	* config/arm/iterators.md (VQXMOV): Add V8HF.
+	(VDQ): Add V4HF and V8HF.
+	(V_reg): Handle V4HF and V8HF.
+	(Is_float_mode): Likewise.
+	* config/arm/neon.md (movv4hf, movv8hf, neon_vdup_nv4hf,
+	neon_vdup_nv8hf): New patterns.
+	(vec_set<mode>_internal, vec_extract<mode>, neon_vld1_dup<mode>):
+	Use VD_LANE iterator.
+	(neon_vld1_dup<mode>): Use VQ2 iterator.
+
+2016-01-26  Nathan Sidwell  <nathan@acm.org>
+
+	* omp-low.h (oacc_fn_attrib_kernels_p): Declare.
+	(set_oacc_fn_attrib): Add IS_KERNEL arg.
+	* omp-low.c (set_oacc_fn_attrib): Add IS_KERNEL arg.
+	(oacc_fn_attrib_kernels_p, oacc_fn_attrib_level): New.
+	(expand_omp_target): Pass is_kernel to set_oacc_fn_attrib.
+	(oacc_validate_dims): Add LEVEL arg, don't return level.
+	(new_oacc_loop_routine): Use oacc_fn_attrib_level, not
+	oacc_validate_dims.
+	(execute_oacc_device_lower): Adjust, add more dump output.
+	* tree-ssa-loop.c (gate_oacc_kernels): Use
+	oacc_fn_attrib_kernels_p.
+	* tree-parloops.c (create_parallel_loop): Adjust
+	set_oacc_fn_attrib call.
+
+2016-01-26  Jakub Jelinek  <jakub@redhat.com>
+
+	PR lto/69254
+	* lto-wrapper.c (merge_and_complain): Handle -fcilkplus.
+	(append_compiler_options): Handle -fcilkplus.
+	(append_linker_options): Ignore -fno-{openmp,openacc,cilkplus}.
+
+2016-01-26  Nick Clifton  <nickc@redhat.com>
+
+	PR target/66655
+	* config/i386/winnt.c (i386_pe_binds_local_p): If a function has
+	been marked as DECL_ONE_ONLY but we do not the means to make it
+	so, then do not allow it to bind locally.
+
+2016-01-26  Jakub Jelinek  <jakub@redhat.com>
+
+	PR lto/69254
+	* opts.h (parse_sanitizer_options): New prototype.
+	* opts.c (sanitizer_opts): New array.
+	(parse_sanitizer_options): New function.
+	(common_handle_option): Use parse_sanitizer_options.
+
+2016-01-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/68986
+	* config/i386/i386.c (ix86_compute_frame_layout): Move stack
+	alignment adjustment to ...
+	(ix86_update_stack_boundary): Here.  Don't over-align stack for
+	__tls_get_addr.
+	(ix86_finalize_stack_realign_flags): Use stack_alignment_needed
+	if __tls_get_addr is called.
+
+2016-01-26  Christian Bruel  <christian.bruel@st.com>
+
+	* doc/sourcebuild.texi (arm_crypto_pragma_ok): Remove.
+
+2016-01-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/ia64/ia64.c (ia64_expand_vecint_compare): Use gen_int_mode.
+
+2016-01-26  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/69467
+	* match.pd: Guard X * CST CMP 0 pattern with single_use.
+
+2016-01-26  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69452
+	* tree-ssa-loop-im.c (move_computations_dom_walker): Remove.
+	(move_computations_dom_walker::before_dom_children): Rename
+	to ...
+	(move_computations_worker): This.
+	(move_computations): Perform an RPO rather than a DOM walk.
+
+2016-01-26  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/69442
+	* combine.c (combine_instructions): For REG_EQUAL note with
+	SET_DEST being ZERO_EXTRACT, also temporarily set SET_DEST
+	to the underlying register.
+	* doc/rtl.texi (REG_EQUAL): Document the behavior of
+	REG_EQUAL/REG_EQUIV notes if SET_DEST is ZERO_EXTRACT.
+
+2016-01-26  Roger Ferrer Ibáñez  <rofirrim@gmail.com>
+
+	PR target/67896
+	* config/aarch64/aarch64-builtins.c
+	(aarch64_init_simd_builtin_types): Do not set structural
+	equality to __Poly{8,16,64,128}_t types.
+
+2016-01-26  Richard Sandiford  <richard.sandiford@arm.com>
+
+	PR tree-optimization/69400
+	* wide-int.cc (wi_pack): Take the precision as argument and
+	perform canonicalization here rather than in the callers.
+	Use the main loop to handle all full-width HWIs.  Add a
+	zero HWI if in_len isn't a full result.
+	(wi::divmod_internal): Update accordingly.
+	(wi::mul_internal): Likewise.  Simplify.
+
+2016-01-25  Aditya Kumar  <aditya.k7@samsung.com>
+	    Sebastian Pop  <s.pop@samsung.com>
+
+	* graphite-poly.c (apply_poly_transforms): Simplify.
+	(print_isl_set): Use more readable format: ISL_YAML_STYLE_BLOCK.
+	(print_isl_map): Same.
+	(print_isl_union_map): Same.
+	(print_isl_schedule): New.
+	(debug_isl_schedule): New.
+	* graphite-dependences.c (scop_get_reads): Do not call
+	isl_union_map_add_map that is undocumented isl functionality.
+	(scop_get_must_writes): Same.
+	(scop_get_may_writes): Same.
+	(scop_get_original_schedule): Remove.
+	(scop_get_dependences): Do not call isl_union_map_compute_flow that
+	is deprecated in isl 0.15.  Instead, use isl_union_access_* interface.
+	(compute_deps): Remove.
+	* graphite-isl-ast-to-gimple.c (print_schedule_ast): New.
+	(debug_schedule_ast): New.
+	(translate_isl_ast_to_gimple::scop_to_isl_ast): Call
+	set_separate_option.
+	(graphite_regenerate_ast_isl): Add dump.
+	(translate_isl_ast_to_gimple::scop_to_isl_ast): Generate code
+	from scop->transformed_schedule.
+	(graphite_regenerate_ast_isl): Add more dump.
+	* graphite-optimize-isl.c (optimize_isl): Set
+	scop->transformed_schedule.  Check whether schedules are equal.
+	(apply_poly_transforms): Move here.
+	* graphite-poly.c (apply_poly_transforms): ... from here.
+	(free_poly_bb): Static.
+	(free_scop): Static.
+	(pbb_number_of_iterations_at_time): Remove.
+	(print_isl_ast): New.
+	(debug_isl_ast): New.
+	(debug_scop_pbb): New.
+	* graphite-scop-detection.c (print_edge): Move.
+	(print_sese): Move.
+	* graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove.
+	(build_scop_scattering): Remove.
+	(create_pw_aff_from_tree): Assert instead of bailing out.
+	(add_condition_to_pbb): Remove unused code, do not fail.
+	(add_conditions_to_domain): Same.
+	(add_conditions_to_constraints): Remove.
+	(build_scop_context): New.
+	(add_iter_domain_dimension): New.
+	(build_iteration_domains): Initialize pbb->iterators.
+	Call add_conditions_to_domain.
+	(nested_in): New.
+	(loop_at): New.
+	(index_outermost_in_loop): New.
+	(index_pbb_in_loop): New.
+	(outermost_pbb_in): New.
+	(add_in_sequence): New.
+	(add_outer_projection): New.
+	(outer_projection_mupa): New.
+	(add_loop_schedule): New.
+	(build_schedule_pbb): New.
+	(build_schedule_loop): New.
+	(embed_in_surrounding_loops): New.
+	(build_schedule_loop_nest): New.
+	(build_original_schedule): New.
+	(build_poly_scop): Call build_original_schedule.
+	* graphite.h: Declare print_isl_schedule and debug_isl_schedule.
+	(free_poly_dr): Remove.
+	(struct poly_bb): Add iterators.  Remove schedule, transformed, saved.
+	(free_poly_bb): Remove.
+	(debug_loop_vec): Remove.
+	(print_isl_ast): Declare.
+	(debug_isl_ast): Declare.
+	(scop_do_interchange): Remove.
+	(scop_do_strip_mine): Remove.
+	(scop_do_block): Remove.
+	(flatten_all_loops): Remove.
+	(optimize_isl): Remove.
+	(pbb_number_of_iterations_at_time): Remove.
+	(debug_scop_pbb): Declare.
+	(print_schedule_ast): Declare.
+	(debug_schedule_ast): Declare.
+	(struct scop): Remove schedule.  Add original_schedule,
+	transformed_schedule.
+	(free_gimple_poly_bb): Remove.
+	(print_generated_program): Remove.
+	(debug_generated_program): Remove.
+	(unify_scattering_dimensions): Remove.
+	* sese.c (print_edge): ... here.
+	(print_sese): ... here.
+	(debug_edge): ... here.
+	(debug_sese): ... here.
+	* sese.h (print_edge): Declare.
+	(print_sese): Declare.
+	(dump_edge): Declare.
+	(dump_sese): Declare.
+
+2016-01-25  Aditya Kumar  <aditya.k7@samsung.com>
+	    Sebastian Pop  <s.pop@samsung.com>
+
+	* Makefile.in: Set ISLVER in site.exp.
+
+2016-01-25  Jakub Jelinek  <jakub@redhat.com>
+
+	* omp-low.c (lower_omp_target) <case USE_DEVICE_PTR>: Set
+	DECL_VALUE_EXPR of new_var even for the non-array case.  Look
+	through DECL_VALUE_EXPR for expansion.
+
+2016-01-25  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* config/mips/mips.c (mips_compute_frame_info): Skip re-computing
+	the frame info after reload completed.
+
+2016-01-25  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/69196
+	PR tree-optimization/68398
+	* tree-ssa-threadupdate.h (enum bb_dom_status): Moved here from
+	tree-ssa-threadupdate.c.
+	(determine_bb_domination_status): Prototype
+	* tree-ssa-threadupdate.c (enum bb_dom_status): Remove
+	(determine_bb_domination_status): No longer static.
+	(valid_jump_thread_path): Remove code to detect characteristics
+	of the jump thread path not associated with correctness.
+	* tree-ssa-threadbackward.c (fsm_find_control_statment_thread_paths):
+	Correct test for thread path length.  Count PHIs for real operands as
+	statements that need to be copied.  Do not count ASSERT_EXPRs.
+	Look at all the blocks in the thread path.  Compute and selectively
+	filter thread paths based on threading through the latch, threading
+	a multiway branch or crossing a multiway branch.
+
+2016-01-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled):  Add
+	decl with __attribute__ ((unused)) annotation.
+
+2016-01-25  Ilya Enkovich  <enkovich.gnu@gmail.com>
+
+	PR target/69421
+	* tree-vect-stmts.c (vectorizable_condition): Check vectype
+	of operands is compatible with a statement vectype.
+
+2016-01-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* doc/extend.texi (scalar_storage_order type attribute): Fix typo and
+	improve wording for mixed storage order support.
+
+2016-01-25  Bilyan Borisov  <bilyan.borisov@arm.com>
+
+	* config/aarch64/arm_neon.h (vcvt_s64_f64): New intrinsic.
+	(vcvt_u64_f64): Likewise.
+	(vcvta_s64_f64): Likewise.
+	(vcvta_u64_f64): Likewise.
+	(vcvtm_s64_f64): Likewise.
+	(vcvtm_u64_f64): Likewise.
+	(vcvtn_s64_f64): Likewise.
+	(vcvtn_u64_f64): Likewise.
+	(vcvtp_s64_f64): Likewise.
+	(vcvtp_u64_f64): Likewise.
+
+2016-01-25  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (TARGET_DWARF_REGISTER_SPAN): Define.
+	(arc_init): Check validity mll64 option.
+	(arc_save_restore): Use double load/store instruction.
+	(arc_expand_movmem): Likewise.
+	(arc_split_move): Don't split if we have double load/store
+	instructions. Returns a boolean.
+	(arc_process_double_reg_moves): Change function to return boolean
+	instead of a sequence of instructions.
+	(arc_dwarf_register_span): New function.
+	* config/arc/arc-protos.h (arc_split_move): Change prototype.
+	* config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __ARC_LL64__.
+	* config/arc/arc.md (*movdi_insn): Emit ldd/std instructions.
+	(*movdf_insn): Likewise.
+	* config/arc/arc.opt (mll64): New option.
+	* config/arc/predicates.md (even_register_operand): New predicate.
+	* doc/invoke.texi (ARC Options): Add mll64 documentation.
+
+2016-01-25  Richard Biener  <rguenther@suse.de>
+
+	PR lto/69393
+	* dwarf2out.c (is_naming_typedef_decl): Not when DECL_NAMELESS.
+	* tree-streamer-out.c (pack_ts_base_value_fields): Stream
+	DECL_NAMELESS.
+	* tree-streamer-in.c (unpack_ts_base_value_fields): Likewise.
+
+2016-01-25  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69376
+	* tree-ssa-sccvn.h (struct vn_ssa_aux): Add range_info_anti_range_p
+	flag.
+	(VN_INFO_ANTI_RANGE_P): New inline.
+	(VN_INFO_RANGE_TYPE): Likewise.
+	* tree-ssa-sccvn.c (set_ssa_val_to): Also record and copy
+	SSA_NAME_ANTI_RANGE_P.
+	(free_scc_vn): Restore SSA_NAME_ANTI_RANGE_P.
+	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
+	Properly query VN_INFO_RANGE_TYPE.
+
+2016-01-25  Nick Clifton  <nickc@redhat.com>
+
+	PR target/66655
+	* config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Remove definition.
+
+2016-01-23  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/69426
+	* tree-parloops.c (eliminate_local_variables_stmt): Handle vdef of
+	removed clobber.
+
+2016-01-23  Jakub Jelinek  <jakub@redhat.com>
+
+	* tree-ssanames.c (release_free_names_and_compact_live_names): Replace
+	"the the" with "the" in the comments.
+	* ipa-devirt.c (build_type_inheritance_graph,
+	update_type_inheritance_graph): Likewise.
+	* tree.c (build_function_type_list_1): Likewise.
+	* cfgloopmanip.c (scale_loop_profile): Likewise.
+	* tree-ssa-loop-ivopts.c (get_shiftadd_cost): Likewise.
+	* gimple-ssa-split-paths.c
+	(find_block_to_duplicate_for_splitting_paths): Likewise.
+	* tree-sra.c (init_subtree_with_zero, clobber_subtree): Likewise.
+	* expr.c (convert_move): Likewise.
+	* var-tracking.c (vt_stack_adjustments): Likewise.
+	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
+	* tree-vrp.c (test_for_singularity): Likewise.
+
+	* tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR
+	directly instead of building a temporary tree.
+
+	PR bootstrap/69434
+	* genrecog.c: Define INCLUDE_ALGORITHM before including system.h,
+	remove <algorithm> include.
+
+2016-01-22  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/69432
+	* config/i386/i386.c: Include dojump.h.
+	(expand_small_movmem_or_setmem,
+	expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Spelling
+	fixes.
+	(ix86_expand_set_or_movmem): Call do_pending_stack_adjust () early
+	if dynamic_check != -1.
+
+2016-01-21  Jeff Law  <law@redhat.com>
+
+	PR middle-end/69347
+	* tree-ssa-dom.c (back_propagate_equivalences): Factored out of
+	record_temporary_equivalences.  Rewritten to avoid unnecessary calls
+	into dominated_by_p.
+	(cprop_into_successor_phis): Avoid unnecessary tests.
+
+2016-01-22  Richard Henderson  <rth@redhat.com>
+
+	PR target/69416
+	* config/aarch64/aarch64.md (UNSPEC_NZCV): New.
+	(ccmp<mode>, fccmp<mode>, fccmpe<mode>): Use it.
+
+2016-01-22  Michael Matz  <matz@suse.de>
+
+	* system.h (string, algorithm): Include only conditionally.
+	(new): Include always under C++.
+	* bb-reorder.c (toplevel): Define INCLUDE_ALGORITHM.
+	* final.c (toplevel): Ditto.
+	* ipa-chkp.c (toplevel): Define INCLUDE_STRING.
+	* genconditions.c (write_header): Make gencondmd.c define
+	INCLUDE_STRING.
+	* mem-stats.h (mem_usage::print_dash_line): Don't use std::string.
+
+	* config/aarch64/aarch64.c (toplevel): Define INCLUDE_STRING.
+	* common/config/aarch64/aarch64-common.c (toplevel): Ditto.
+
+2016-01-22  Christian Bruel  <christian.bruel@st.com>
+
+	PR target/68674
+	* expr.c (expand_expr_real_1): Reset DECL_MODE if VECTOR_TYPE_P changed.
+
+2016-01-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/69403
+	* config/arm/thumb2.md (*thumb2_ior_scc_strict_it): Convert to
+	define_insn_and_split.  Ensure operands[1] and operands[0] do not
+	get assigned the same register.
+
+2016-01-22  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* ipa-prop.c (ipa_set_jf_constant): Remove redundant unshare_expr.
+
+2016-01-22  Christian Bruel  <christian.bruel@st.com>
+
+	* config/arm/arm-c.c (arm_pragma_target_parse):
+	Remove warn_builtin_macro_redefined overwrite.
+
+2016-01-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* ipa-inline.c (can_inline_edge_p): Back out overzealous check on
+	flag_non_call_exceptions compatibility.
+
+2016-01-22  Jakub Jelinek  <jakub@redhat.com>
+
+	PR debug/66668
+	* dwarf2out.c (add_child_die_after): New function.
+	(dwarf_qual_info_t): New type.
+	(dwarf_qual_info): New variable.
+	(qualified_die_p): New function.
+	(modified_type_die): For -fdebug-types-section, ensure
+	canonical order of qualifiers.  Put qualified DIEs adjacent
+	to the corresponding non-qualified type DIE and search there
+	for existing qualified DIEs.
+
+2016-01-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* doc/extend.texi (scalar_storage_order type attribute): Document
+	restriction on type punning and aliasing, and remove future tense.
+
+2016-01-21  Roman Zhuykov  <zhroma@ispras.ru>
+
+	PR target/69252
+	* modulo-sched.c (optimize_sc):	Allow branch-scheduling to add a new
+	first stage.
+
+2016-01-21  Jeff Law  <law@redhat.com>
+
+	PR middle-end/69347
+	* tree-ssa-dom.c (dom_opt_dom_walker::thread_across_edge): Avoid
+	useless call to record_temporary_equivalences.
+	* tree-ssa-threadbackward.c (find_jump_threads_backwards): Just
+	allocate 10 slots in the bb_path vector and let it grow as needed.
+	(fsm_find_control_statement_thread_paths): Similarly for the next_path
+	vector.
+
+2016-01-21  David Edelsohn  <dje.gcc@gmail.com>
+
+	* configure.ac (gcc_cv_as_powerpc_mfcrf, gcc_cv_as_machine_directive):
+	Detangle.
+	* configure: Regenerate.
+
+2016-01-21  Pat Haugen  <pthaugen@us.ibm.com>
+
+	* config/rs6000/aix71.h (ASM_CPU_SPEC): Add entry for Power9.
+	* config/rs6000/driver-rs6000.c (struct asm_names): Likewise.
+
+2016-01-21  Bernd Schmidt  <bschmidt@redhat.com>
+
+	PR middle-end/66178
+	* expr.c (expand_expr_real_2) [PLUS_EXPR, MINUS_EXPR]: Don't
+	drop EXPAND_INITIALIZER.
+	* rtl.h (contains_symbolic_reference_p): Declare.
+	* rtlanal.c (contains_symbolic_reference_p): New function.
+	* simplify-rtx.c (simplify_binary_operation_1): Don't turn
+	a subtraction into a NOT if symbolic constants are involved.
+
+2016-01-21  Anton Blanchard  <anton@samba.org>
+	    Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR target/63354
+	* config/rs6000/linux64.h (TARGET_KEEP_LEAF_WHEN_PROFILED): New
+	#define.
+	* config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): New
+	function.
+
+2016-01-21  Ajit Agarwal  <ajitkum@xilinx.com>
+
+	* config/microblaze/microblaze.c
+	(get_branch_target): New.
+	(insert_wic_for_ilb_runout): New.
+	(insert_wic): New.
+	(microblaze_machine_dependent_reorg): New.
+	(TARGET_MACHINE_DEPENDENT_REORG): Define macro.
+	* config/microblaze/microblaze.md
+	(UNSPEC_IPREFETCH): Define.
+	(iprefetch): New pattern
+	* config/microblaze/microblaze.opt
+	(mxl-prefetch): New flag.
+
+2016-01-21  Ajit Agarwal  <ajitkum@xilinx.com>
+
+	* config/microblaze/microblaze.h
+	(FIXED_REGISTERS): Update in macro.
+	(CALL_USED_REGISTERS): Update in macro.
+
+2016-01-21  Yuri Rumyantsev  <ysrumyan@gmail.com>
+
+	PR rtl-optimization/68920
+	* ifcvt.c (cond_move_process_if_block): Limit number of conditional
+	moves.
+
+2016-01-21  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-optimization/68990
+	* lra-coalesce.c (lra_coalesce): Invalidate value for the result
+	pseudo instead of inheritance ones.
+
+2016-01-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+	    Nick Clifton  <nickc@redhat.com>
+
+	PR target/69129
+	PR target/69012
+	* config/mips/mips.c (mips_compute_frame_info): Initialise
+	args_size and hard_frame_pointer_offset fields of the frame
+	structure before calling mips_global_pointer.
+
+2016-01-21  David Edelsohn  <dje.gcc@gmail.com>
+
+	* configure.ac (gcc_cv_as_dwloc): Test support for debug frame section
+	label reference.
+	* configure: Regenerate.
+
+2016-01-21  Richard Biener  <rguenther@suse.de>
+
+	* graphite-optimize-isl.c (get_schedule_map): Fix typo.
+
+2016-01-21  Marcin Kościelnicki  <koriakin@0x04.net>
+
+	* config/s390/s390.c (s390_asm_declare_function_size): Add code
+	to actually emit the .size directive.
+
+2016-01-21   Stefan Sørensen  <stefan.sorensen@spectralink.com>
+	     Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/69187
+	PR target/65624
+	* config/arm/arm-builtins.c (arm_expand_neon_builtin): Increase
+	args array size by one to avoid buffer overflow.
+
+2016-01-21  Marcin Kościelnicki  <koriakin@0x04.net>
+
+	* config/s390/s390.md (pool_section_start): Use switch_to_section
+	to select proper read-only data section instead of hardcoding
+	.rodata.
+	(pool_section_end): Use switch_to_section to match the above.
+
+2016-01-21  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69378
+	* tree-ssa-sccvn.c (dominated_by_p_w_unex): New function.
+	(set_ssa_val_to): Use it for dominance checks taking into
+	account not executable edges.
+
+2016-01-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/69355
+	* tree-dfa.c (get_ref_base_and_extent): Use GET_MODE_BITSIZE (mode)
+	for bitsize instead of GET_MODE_PRECISION (mode).
+
+2016-01-20  Martin Sebor  <msebor@redhat.com>
+
+	PR c/52291
+	* extend.texi (__sync Builtins): Clarify the semantics of
+	__sync_fetch_and_OP built-ins on pointers.
+	(__atomic Builtins): Same.
+
+2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
+	    Sebastian Pop  <s.pop@samsung.com>
+
+	* graphite-isl-ast-to-gimple.c (enum phi_node_kind): New.
+	(class translate_isl_ast_to_gimple): Use phi_node_kind instead of bool.
+	(is_valid_rename): Same.
+	(translate_isl_ast_to_gimple::get_rename): Same.
+	(translate_isl_ast_to_gimple::rename_all_uses): Same.
+	(translate_isl_ast_to_gimple::rename_uses): Same.
+	(get_new_name): Check for close_phi nodes.
+	(copy_loop_phi_args): Use phi_node_kind.
+	(translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same.
+	(translate_isl_ast_to_gimple::copy_cond_phi_args): Same.
+
+2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
+	    Sebastian Pop  <s.pop@samsung.com>
+
+	Revert commit r229783.
+	* graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
+	Remove use of parameter_rename_map.
+	(copy_def): Remove.
+	(copy_internal_parameters): Remove.
+	(graphite_regenerate_ast_isl): Remove call to copy_internal_parameters.
+	* sese.c (new_sese_info): Do not initialize parameter_rename_map.
+	(free_sese_info): Do not free parameter_rename_map.
+	(set_rename): Do not use parameter_rename_map.
+	(rename_uses): Update call to set_rename.
+	(graphite_copy_stmts_from_block): Do not use parameter_rename_map.
+	* sese.h (parameter_rename_map_t): Remove.
+	(struct sese_info_t): Remove field parameter_rename_map.
+
+2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
+	    Sebastian Pop  <s.pop@samsung.com>
+
+	* graphite-isl-ast-to-gimple.c: Fix comment.
+	* graphite-scop-detection.c (defined_in_loop_p): New.
+	(canonicalize_loop_closed_ssa): Do not add close phi nodes for SSA
+	names defined in loop.
+
+2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
+	    Sebastian Pop  <s.pop@samsung.com>
+
+	* graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
+	Discard unstructured if-then-else regions.
+
+2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
+	    Sebastian Pop  <s.pop@samsung.com>
+
+	* graphite-sese-to-poly.c (set_scop_parameter_dim): Remove.
+	(cleanup_loop_iter_dom): Remove.
+	(build_loop_iteration_domains): Remove.
+	(build_scop_context): Remove.
+	(build_scop_iteration_domain): Remove.
+	(add_loop_constraints): New.
+	(build_iteration_domains): New.
+	(build_poly_scop): Call build_iteration_domains.
+
+2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
+	    Sebastian Pop  <s.pop@samsung.com>
+
+	* graphite-scop-detection.c
+	(scop_detection::harmful_loop_in_region): Free dom and loops.
+	(scop_detection::loop_body_is_valid_scop): Free bbs.
+
+2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
+	    Sebastian Pop  <s.pop@samsung.com>
+
+	* graphite-scop-detection.c (record_loop_in_sese): New.
+	(gather_bbs::before_dom_children): Call record_loop_in_sese.
+	(build_scops): Remove call to build_sese_loop_nests.
+	* sese.c (sese_record_loop): Remove.
+	(build_sese_loop_nests): Remove.
+	(new_sese_info): Remove region->loops.
+	(free_sese_info): Same.
+	* sese.h (sese_contains_loop): Same.
+	(build_sese_loop_nests): Remove.
+	(sese_contains_loop): Remove.
+
+2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
+	    Sebastian Pop  <s.pop@samsung.com>
+
+	* graphite-scop-detection.c (loop_is_valid_scop): Renamed
+	loop_is_valid_in_scop.
+	(scop_detection::harmful_stmt_in_region): Renamed
+	harmful_loop_in_region.
+	Call loop_is_valid_in_scop.
+
+2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
+	    Sebastian Pop  <s.pop@samsung.com>
+
+	* graphite-isl-ast-to-gimple.c (translate_isl_ast): Also handle
+	isl_ast_node_mark.
+
+2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
+	    Sebastian Pop  <s.pop@samsung.com>
+
+	* graphite-poly.c (new_poly_bb): Remove use of PBB_IS_REDUCTION.
+	* graphite.h (struct poly_bb): Remove field is_reduction.
+	(PBB_IS_REDUCTION): Remove.
+
+2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
+	    Sebastian Pop  <s.pop@samsung.com>
+
+	* graphite-dependences.c (constrain_domain): Add call to isl_*_coalesce.
+	(add_pdr_constraints): Same.
+	(scop_get_reads): Same.
+	(scop_get_must_writes): Same.
+	(scop_get_may_writes): Same.
+	(scop_get_original_schedule): Same.
+	(extend_schedule): Same.
+	(apply_schedule_on_deps): Same.
+	(carries_deps): Same.
+	(compute_deps): Same.
+	(scop_get_dependences): Same.
+	* graphite-isl-ast-to-gimple.c
+	(translate_isl_ast_to_gimple::generate_isl_schedule): Same.
+	* graphite-optimize-isl.c (get_schedule_for_band): Same.
+	(get_schedule_for_band_list): Same.
+	(get_schedule_map): Same.
+	(apply_schedule_map_to_scop): Same.
+	* graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
+	(build_loop_iteration_domains): Same.
+	(add_condition_to_pbb): Same.
+	(add_param_constraints): Same.
+	(pdr_add_memory_accesses): Same.
+	(pdr_add_data_dimensions): Same.
+
+2016-01-20  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* doc/invoke.texi (Instrumentation Options): Clarify -mmpx linking
+	requirements.
+
+2016-01-20  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* common.opt (feliminate-dwarf2-dups): Replace references to
+	"DWARF 2" with just "DWARF".
+	* config/ia64/ia64.opt (mdwarf2-asm): Likewise.
+	* doc/extend.texi: Likewise.
+	* doc/cpp.texi: Likewise.
+	* doc/invoke.texi: Likewise.
+	(Option Summary): Add -gdwarf to list of Debugging Options.
+	(Debugging Options): Document -gdwarf.
+	* doc/contrib.texi: Spell "DWARF" like that.
+
+2016-01-21  Jakub Jelinek  <jakub@redhat.com>
+
+	* omp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized
+	warning.  Fix up formatting.
+
+	PR middle-end/67653
+	* gimplify.c (gimplify_asm_expr): Warn if it is too late to
+	attempt to mark memory input operand addressable and
+	call prepare_gimple_addressable in that case.  Don't adjust
+	input_location for diagnostics, use error_at instead.
+
+2016-01-20  Peter Bergner  <bergner@vnet.ibm.com>
+
+	* config/rs6000/ppc-auxv.h: New file.
+	* config/rs6000/rs6000-builtin.def (cpu_init): Add new builtin.
+	(cpu_is): Likewise.
+	(cpu_supports): Likewise.
+	* config/rs6000/rs6000.c: include "ppc-auxv.h".
+	(cpu_is_info): New variable.
+	(cpu_supports_info): Likewise.
+	(tcb_verification_symbol): Likewise.
+	(cpu_builtin_p): Likewise.
+	(cpu_expand_builtin): New function.
+	(rs6000_expand_ternop_builtin): Add support for CPU builtin functions.
+	(rs6000_init_builtins): Likewise.
+	(rs6000_elf_file_end): Emit HWCAP in TCB verification symbol.
+	* config/rs6000/rs6000.h (TLS_REGNUM): New define.
+	* configure.ac (gcc_cv_libc_provides_hwcap_in_tcb): New test.
+	* configure: Regenerate.
+	* config.in: Likewise.
+	* doc/extend.texi (PowerPC Built-in Functions): Document
+	__builtin_cpu_init, __builtin_cpu_is and __builtin_cpu_supports.
+
+2016-01-20  David Edelsohn  <dje.gcc@gmail.com>
+
+	PR target/68609
+	* config/rs6000/rs6000.c (rs6000_emit_swsqrt): Add vector sqrt
+	domain check.
+	* config/rs6000/vector.md (sqrt<mode>2): Call rs6000_emit_swsqrt
+	for V4SFmode.
+
+2016-01-20  Richard Henderson  <rth@redhat.com>
+
+	PR bootstrap/69343
+	PR bootstrap/69339
+	PR tree-opt/68964
+	Revert:
+	* tree.c (tm_define_builtin): New.
+	(find_tm_vector_type): New.
+	(build_tm_vector_builtins): New.
+	(build_common_builtin_nodes): Call it.
+
+2016-01-20  Christophe Lyon  <christophe.lyon@linaro.org>
+
+	* doc/sourcebuild.texi (arm_crypto_pragma_ok): Document new entry.
+	(arm_fp_ok): Likewise.
+	(arm_fp): Likewise.
+	(arm_crypto): Likewise.
+
+2016-01-20  Ilya Enkovich  <enkovich.gnu@gmail.com>
+	    Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69328
+	* tree-vect-stmts.c (vect_is_simple_cond): Check compared
+	vectors have same number of elements.
+	(vectorizable_condition): Fix masked version recognition.
+
+2016-01-20  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69345
+	* tree-ssa-sccvn.h (VN_INFO_RANGE_INFO): New inline function.
+	(VN_INFO_PTR_INFO): Likewise.
+	* tree-ssa-sccvn.c (set_ssa_val_to): Avoid clearing points-to
+	info when it is equal between non-dominating SSA names.
+	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
+	Make sure to look at original SSA infos.
+
+2016-01-20  Jeff Law  <law@redhat.com>
+
+	PR target/25114
+	* config/m68k/predicates.md (pow2_m1_operand): New predicate
+	extracted from ...
+	(reg_or_pow2_m1_operand): Call pow2_m1_operand.
+	(pc_or_label_operand): New predicate.
+	* config/m68k/m68k.md: Add new peephole2 patterns for GTU/LEU
+	tests for small integers that are 2^n - 1.
+
+2016-01-20  Jonathan Wakely  <jwakely@redhat.com>
+
+	* doc/invoke.texi (Options Summary): Add '.' after @xref.
+
+2016-01-19  Jeff Law  <law@redhat.com>
+
+	PR middle-end/69347
+	* tree-ssa-threadbackwards.c
+	(fsm_find_control_statement_thread_paths): Do not try to lookup
+	FSM paths for SSA_NAMEs appearing in abnormal PHIs.
+
+2016-01-20  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* doc/lto.texi: Remove text that says only Gold has linker plugin
+	support.
+
+2016-01-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* dwarf2out.c (need_endianity_attribute_p): New inline predicate.
+	(base_type_die): Add REVERSE parameter and attach DW_AT_endianity to
+	the DIE accordingly.
+	(modified_type_die): Add REVERSE parameter and pass it recursively,
+	as well as to base_type_die.  Adjust presence check accordingly.
+	(base_type_for_mode): Adjust call to modified_type_die.
+	(add_type_attribute): Add REVERSE parameter and pass it to
+	modified_type_die.
+	(generic_parameter_die): Adjust call to add_type_attribute.
+	(add_scalar_info): Likewise.
+	(add_subscript_info): Likewise.
+	(gen_array_type_die): Likewise.
+	(gen_descr_array_type_die): Likewise.
+	(gen_entry_point_die): Likewise.
+	(gen_enumeration_type_die): Likewise.
+	(gen_formal_parameter_die): Likewise.
+	(gen_subprogram_die): Likewise.
+	(gen_variable_die ): Likewise.
+	(gen_const_die): Likewise.
+	(gen_field_die): Likewise.
+	(gen_pointer_type_die): Likewise.
+	(gen_reference_type_die): Likewise.
+	(gen_ptr_to_mbr_type_die): Likewise.
+	(gen_inheritance_die): Likewise.
+	(gen_subroutine_type_die): Likewise.
+	(gen_typedef_die): Likewise.
+	(force_type_die): Adjust call to modified_type_die.
+
+2016-01-19  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* doc/standards.texi: Copy-editing for grammar, markup, and sentence
+	flow throughout the file.  Fix broken link to Objective-C 2.0
+	documentation.
+	* doc/invoke.texi: More copy-editing; fix numerous typos and spelling
+	errors.
+
+2016-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* ccmp.c (expand_ccmp_expr_1): Avoid spurious unused warnings.
+
+2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR ipa/66223
+	* ipa-devirt.c (is_cxa_pure_virtual_p): New function.
+	(maybe_record_node): Record cxa_pure_virtual as the only possible
+	target if there are not ohter candidates.
+	(possible_polymorphic_call_target_p): Accept cxa_pure_virtual.
+
+2016-01-19  Richard Biener  <rguenther@suse.de>
+
+	* hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants.
+	(get_memory_order): Likewise.
+
+2016-01-19  Kirill Yukhin  <kirill.yukhin@intel.com>
+
+	* tree-vect-stmts.c (vectorizable_store): Check
+	rhs vectype.
+
+2016-01-19  David Malcolm  <dmalcolm@redhat.com>
+
+	PR jit/68446
+	* gcc.c (driver::decode_argv): Add call to
+	init_opts_obstack before init_options_struct.
+	* opts.c (init_opts_obstack): Remove idempotency.
+	(init_options_struct): Replace call to init_opts_obstack
+	with a gcc_assert to verify that it has already been called.
+	* toplev.c (toplev::main): Add call to init_opts_obstack before
+	calls to init_options_struct.
+	(toplev::finalize): Move cleanup of opts_obstack next to
+	cleanup of save_decoded_options, clearing the latter, and
+	save_decoded_options_count.
+
+2016-01-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/69135
+	* config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds"
+	attribute to unconditional.  Remove %? from output template.
+
+2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
+	    Jiong Wang  <jiong.wang@arm.com>
+
+	* ccmp.c (expand_ccmp_expr_1): Cost the instruction sequences
+	generated from different expand order.
+
+2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* /config/aarch64/aarch64.c (aarch64_if_then_else_costs):
+	Add support for CCMP costing.
+
+2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* ccmp.c (ccmp_candidate_p): Remove integer-only restriction.
+	* config/aarch64/aarch64.md (fccmp<mode>): New pattern.
+	(fccmpe<mode>): Likewise.
+	(fcmp): Rename to fcmp and globalize pattern.
+	(fcmpe): Likewise.
+	* config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP support.
+	(aarch64_gen_ccmp_next): Add FP support.
+
+2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* target.def (gen_ccmp_first): Update documentation.
+	(gen_ccmp_next): Likewise.
+	* doc/tm.texi (gen_ccmp_first): Update documentation.
+	(gen_ccmp_next): Likewise.
+	* ccmp.c (expand_ccmp_expr): Extract cmp_code from return value of
+	expand_ccmp_expr_1.  Improve comments.
+	* config/aarch64/aarch64.md (ccmp_and): Use if_then_else for ccmp.
+	(ccmp_ior<mode>): Remove pattern.
+	(cmp<mode>): Remove expand.
+	(cmp): Globalize pattern.
+	(cstorecc4): Use cc_register.
+	(mov<mode>cc): Remove ccmp_cc_register check.
+	* config/aarch64/aarch64.c (aarch64_get_condition_code_1):
+	Simplify after removal of CC_DNE/* modes.
+	(aarch64_ccmp_mode_to_code): Remove.
+	(aarch64_print_operand): Remove 'K' case.  Merge 'm' and 'M' cases.
+	In 'k' case use integer as condition.
+	(aarch64_nzcv_codes): Remove inverted cases.
+	(aarch64_code_to_ccmode): Remove.
+	(aarch64_gen_ccmp_first): Use cmp pattern directly.  Return the correct
+	comparison with CC register to be used in folowing CCMP/branch/CSEL.
+	(aarch64_gen_ccmp_next): Use previous comparison and mode in CCMP
+	pattern.  Return the comparison with CC register.  Invert conditions
+	when bitcode is OR.
+	* config/aarch64/aarch64-modes.def: Remove CC_DNE/* modes.
+	* config/aarch64/predicates.md (ccmp_cc_register): Remove.
+
+2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cgraphunit.c (cgraph_node::reset): Clear thunk info and
+	instrumented_version.
+
+2016-01-19  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69336
+	* tree-ssa-scopedtables.c (avail_expr_hash): Handle all
+	handled components with get_ref_base_and_extent.
+	(equal_mem_array_ref_p): Adjust.
+
+2016-01-19  Jakub Jelinek  <jakub@redhat.com>
+
+	PR debug/65779
+	* shrink-wrap.c: Include valtrack.h.
+	(move_insn_for_shrink_wrap): Add DEBUG argument.  If
+	MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs
+	in between insn and where it will be moved to.  Call
+	dead_debug_insert_temp.
+	(prepare_shrink_wrap): Adjust caller.  Call dead_debug_local_init
+	first and dead_debug_local_finish at the end.
+	For uses and defs bitmap, handle all regs in between REGNO and
+	END_REGNO, not just the first one.
+
+2016-01-19  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69352
+	* tree-ssa-scopedtables.c (avail_expr_hash): Check for size == -1.
+	(equal_mem_array_ref_p): Constrain size and max size properly.
+	Compare the reverse flag.
+
+2016-01-19  Bernd Schmidt  <bschmidt@redhat.com>
+
+	* ira.c (ira): Update regstat data if we deleted insns.
+
+2016-01-19  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/68955
+	PR rtl-optimization/64557
+	* dse.c (record_store, check_mem_read_rtx): Don't call get_addr
+	here.  Fix up formatting.
+	* alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P.
+
+2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR lto/69133
+	* cgraphunit.c (cgraph_node::expand_thunk): When forcing gimple
+	assume that the node has body.
+	* cgraph.c (cgraph_node::get_untransformed_body): Use gimple_body_p
+	check.
+
+2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
+
+	* lto-streamer-out.c (lto_output): Do not stream instrumentation
+	thunks.
+
+2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
+
+	* symtab.c (symtab_node::asm_name): Do not call printable name directly.
+	(symtab_node::name): Report name as unnamed if DECL_NAME is not set.
+
+2016-01-19  Martin Jambor  <mjambor@suse.cz>
+	    Martin Liska  <mliska@suse.cz>
+	    Michael Matz  <matz@suse.de>
+
+	* Makefile.in (OBJS): Add new source files.
+	(GTFILES): Add hsa.c.
+	* common.opt (disable_hsa): New variable.
+	(-Whsa): New warning.
+	* config.in (ENABLE_HSA): New.
+	* configure.ac: Treat hsa differently from other accelerators.
+	(OFFLOAD_TARGETS): Define ENABLE_OFFLOADING according to
+	$enable_offloading.
+	(ENABLE_HSA): Define ENABLE_HSA according to $enable_hsa.
+	* doc/install.texi (Configuration): Document --with-hsa-runtime,
+	--with-hsa-runtime-include, --with-hsa-runtime-lib and
+	--with-hsa-kmt-lib.
+	* doc/invoke.texi (-Whsa): Document.
+	(hsa-gen-debug-stores): Likewise.
+	* lto-wrapper.c (compile_images_for_offload_targets): Do not attempt
+	to invoke offload compiler for hsa acclerator.
+	* opts.c (common_handle_option): Determine whether HSA offloading
+	should be performed.
+	* params.def (PARAM_HSA_GEN_DEBUG_STORES): New parameter.
+	* builtin-types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
+	(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
+	(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
+	* gimple-low.c (lower_stmt): Also handle GIMPLE_OMP_GRID_BODY.
+	* gimple-pretty-print.c (dump_gimple_omp_for): Also handle
+	GF_OMP_FOR_KIND_GRID_LOOP.
+	(dump_gimple_omp_block): Also handle GIMPLE_OMP_GRID_BODY.
+	(pp_gimple_stmt_1): Likewise.
+	* gimple-walk.c (walk_gimple_stmt): Likewise.
+	* gimple.c (gimple_build_omp_grid_body): New function.
+	(gimple_copy): Also handle GIMPLE_OMP_GRID_BODY.
+	* gimple.def (GIMPLE_OMP_GRID_BODY): New.
+	* gimple.h (enum gf_mask): Added GF_OMP_PARALLEL_GRID_PHONY,
+	GF_OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY and
+	GF_OMP_TEAMS_GRID_PHONY.
+	(gimple_statement_omp_single_layout): Updated comments.
+	(gimple_build_omp_grid_body): New function.
+	(gimple_has_substatements): Also handle GIMPLE_OMP_GRID_BODY.
+	(gimple_omp_for_grid_phony): New function.
+	(gimple_omp_for_set_grid_phony): Likewise.
+	(gimple_omp_parallel_grid_phony): Likewise.
+	(gimple_omp_parallel_set_grid_phony): Likewise.
+	(gimple_omp_teams_grid_phony): Likewise.
+	(gimple_omp_teams_set_grid_phony): Likewise.
+	(gimple_return_set_retbnd): Also handle GIMPLE_OMP_GRID_BODY.
+	* omp-builtins.def (BUILT_IN_GOMP_OFFLOAD_REGISTER): New.
+	(BUILT_IN_GOMP_OFFLOAD_UNREGISTER): Likewise.
+	(BUILT_IN_GOMP_TARGET): Updated type.
+	* omp-low.c: Include symbol-summary.h, hsa.h and params.h.
+	(adjust_for_condition): New function.
+	(get_omp_for_step_from_incr): Likewise.
+	(extract_omp_for_data): Moved parts to adjust_for_condition and
+	get_omp_for_step_from_incr.
+	(build_outer_var_ref): Handle GIMPLE_OMP_GRID_BODY.
+	(fixup_child_record_type): Bail out if receiver_decl is NULL.
+	(scan_sharing_clauses): Handle OMP_CLAUSE__GRIDDIM_.
+	(scan_omp_parallel): Do not create child functions for phony
+	constructs.
+	(check_omp_nesting_restrictions): Handle GIMPLE_OMP_GRID_BODY.
+	(scan_omp_1_op): Checking assert we are not remapping to
+	ERROR_MARK.  Also also handle GIMPLE_OMP_GRID_BODY.
+	(parallel_needs_hsa_kernel_p): New function.
+	(expand_parallel_call): Register apprpriate parallel child
+	functions as HSA kernels.
+	(grid_launch_attributes_trees): New type.
+	(grid_attr_trees): New variable.
+	(grid_create_kernel_launch_attr_types): New function.
+	(grid_insert_store_range_dim): Likewise.
+	(grid_get_kernel_launch_attributes): Likewise.
+	(get_target_argument_identifier_1): Likewise.
+	(get_target_argument_identifier): Likewise.
+	(get_target_argument_value): Likewise.
+	(push_target_argument_according_to_value): Likewise.
+	(get_target_arguments): Likewise.
+	(expand_omp_target): Call get_target_arguments instead of looking
+	up for teams and thread limit.
+	(grid_expand_omp_for_loop): New function.
+	(grid_arg_decl_map): New type.
+	(grid_remap_kernel_arg_accesses): New function.
+	(grid_expand_target_kernel_body): New function.
+	(expand_omp): Call it.
+	(lower_omp_for): Do not emit phony constructs.
+	(lower_omp_taskreg): Do not emit phony constructs but create for them
+	a temporary variable receiver_decl.
+	(lower_omp_taskreg): Do not emit phony constructs.
+	(lower_omp_teams): Likewise.
+	(lower_omp_grid_body): New function.
+	(lower_omp_1): Call it.
+	(grid_reg_assignment_to_local_var_p): New function.
+	(grid_seq_only_contains_local_assignments): Likewise.
+	(grid_find_single_omp_among_assignments_1): Likewise.
+	(grid_find_single_omp_among_assignments): Likewise.
+	(grid_find_ungridifiable_statement): Likewise.
+	(grid_target_follows_gridifiable_pattern): Likewise.
+	(grid_remap_prebody_decls): Likewise.
+	(grid_copy_leading_local_assignments): Likewise.
+	(grid_process_kernel_body_copy): Likewise.
+	(grid_attempt_target_gridification): Likewise.
+	(grid_gridify_all_targets_stmt): Likewise.
+	(grid_gridify_all_targets): Likewise.
+	(execute_lower_omp): Call grid_gridify_all_targets.
+	(make_gimple_omp_edges): Handle GIMPLE_OMP_GRID_BODY.
+	* tree-core.h (omp_clause_code): Added OMP_CLAUSE__GRIDDIM_.
+	(tree_omp_clause): Added union field dimension.
+	* tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__GRIDDIM_.
+	* tree.c (omp_clause_num_ops): Added number of arguments of
+	OMP_CLAUSE__GRIDDIM_.
+	(omp_clause_code_name): Added name of OMP_CLAUSE__GRIDDIM_.
+	(walk_tree_1): Handle OMP_CLAUSE__GRIDDIM_.
+	* tree.h (OMP_CLAUSE_GRIDDIM_DIMENSION): New.
+	(OMP_CLAUSE_SET_GRIDDIM_DIMENSION): Likewise.
+	(OMP_CLAUSE_GRIDDIM_SIZE): Likewise.
+	(OMP_CLAUSE_GRIDDIM_GROUP): Likewise.
+	* passes.def: Schedule pass_ipa_hsa and pass_gen_hsail.
+	* tree-pass.h (make_pass_gen_hsail): Declare.
+	(make_pass_ipa_hsa): Likewise.
+	* ipa-hsa.c: New file.
+	* lto-section-in.c (lto_section_name): Add hsa section name.
+	* lto-streamer.h (lto_section_type): Add hsa section.
+	* timevar.def (TV_IPA_HSA): New.
+	* hsa-brig-format.h: New file.
+	* hsa-brig.c: New file.
+	* hsa-dump.c: Likewise.
+	* hsa-gen.c: Likewise.
+	* hsa.c: Likewise.
+	* hsa.h: Likewise.
+	* toplev.c (compile_file): Call hsa_output_brig.
+	* hsa-regalloc.c: New file.
+
+2016-01-18  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/69320
+	* tree-ssa-dom.c (record_edge_info): For comparisons against a boolean
+	ranged object, do nothing if the RHS constant is not [0..1].
+	(optimize_stmt): Comparing a boolean ranged object against a
+	constant outside [0..1] results in a compile-time constant.
+
+	* tree-ssanames.c (ssa_name_has_boolean_range): Remove unnecessary
+	test.
+
+2016-01-18  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* doc/invoke.texi (Invoking GCC): Add new section to menu.
+	(Option Summary): Update to reflect new section and moved options.
+	(C++ Dialect Options): Move -fstats to new section.
+	(Debugging Options): Move all dump, statistics, and other GCC
+	developer options to new section.  Rewrite section introduction
+	and re-order remaining options to put the more basic ones first.
+	(Optimization Options): Move -fira-verbose and -flto-report* to
+	new section.
+	(Developer Options): New section incorporating moved options.
+	* doc/cppopts.texi (-dM): Update cross-reference.
+
+2016-01-18  Richard Henderson  <rth@redhat.com>
+
+	PR target/69176
+	* config/aarch64/aarch64.md (add<GPI>3): Move long immediate
+	operands to pseudo only if CSE is expected.  Split long immediate
+	operands only after reload, and for the stack pointer.
+	(*add<GPI>3_pluslong): Remove.
+	(*addsi3_aarch64, *adddi3_aarch64): Merge into...
+	(*add<GPI>3_aarch64): ... here.  Add r/rk/Upl alternative.
+	(*addsi3_aarch64_uxtw): Add r/rk/Upl alternative.
+	(*add<GPI>3 peepholes): New.
+	(*add<GPI>3 splitters): New.
+	* config/aarch64/constraints.md (Upl): New.
+	* config/aarch64/predicates.md (aarch64_pluslong_strict_immedate): New.
+
+2016-01-18  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69297
+	* tree-vect-slp.c (vect_bb_slp_scalar_cost): Count each scalar
+	stmt at most once.
+	(vect_bb_vectorization_profitable_p): Clear visited flag again.
+
+2016-01-18  Yuri Rumyantsev  <ysrumyan@gmail.com>
+
+	PR middle-end/68542
+	* fold-const.c (fold_binary_op_with_conditional_arg): Bail out for case
+	of mixind vector and scalar types.
+	(fold_relational_const): Add handling of vector
+	comparison with boolean result.
+	* tree-cfg.c (verify_gimple_comparison): Add argument CODE, allow
+	comparison of vector operands with boolean result for EQ/NE only.
+	(verify_gimple_assign_binary): Adjust call for verify_gimple_comparison.
+	(verify_gimple_cond): Likewise.
+	* tree-vrp.c (extract_code_and_val_from_cond_with_ops): Modify check on
+	valid type of VAL.
+
+2016-01-18  Joseph Myers  <joseph@codesourcery.com>
+
+	* config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require
+	!TARGET_OCTEON.
+
+2016-01-18  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/69308
+	* gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND.
+
+2016-01-18  Tom de Vries  <tom@codesourcery.com>
+
+	* passes.def: Add pass_parallelize_loops to pass_oacc_kernels.
+
+2016-01-18  Tom de Vries  <tom@codesourcery.com>
+
+	* omp-low.c (set_oacc_fn_attrib): Make extern.
+	* omp-low.h (set_oacc_fn_attrib): Declare.
+	* tree-parloops.c (struct reduction_info): Add reduc_addr field.
+	(create_call_for_reduction_1): Handle case that reduc_addr is non-NULL.
+	(create_parallel_loop, gen_parallel_loop, try_create_reduction_list):
+	Add and handle function parameter oacc_kernels_p.
+	(find_reduc_addr, get_omp_data_i_param): New function.
+	(ref_conflicts_with_region, oacc_entry_exit_ok_1)
+	(oacc_entry_exit_single_gang, oacc_entry_exit_ok): New function.
+	(parallelize_loops): Add and handle function parameter oacc_kernels_p.
+	Calculate dominance info.  Skip loops that are not in a kernels region
+	in oacc_kernels_p mode.  Skip inner loops of parallelized loops.
+	(pass_parallelize_loops::execute): Call parallelize_loops with
+	oacc_kernels_p argument.
+	(pass_parallelize_loops::clone, pass_parallelize_loops::set_pass_param):
+	New member function.
+	(pass_parallelize_loops::bool oacc_kernels_p): New member var.
+	* passes.def: Add argument to pass_parallelize_loops instantation.
+
+2016-01-18  Tom de Vries  <tom@codesourcery.com>
+
+	* tree-parloops.c (pass_parallelize_loops::execute): Allow
+	pass_parallelize_loops to be run outside the loop pipeline.
+
+2016-01-18  Alan Lawrence  <alan.lawrence@arm.com>
+
+	* tree-scalar-evolution.c (follow_copies_to_constant): New.
+	(analyze_initial_condition, analyze_scalar_evolution_1): Call previous.
+
+2016-01-18  Alan Lawrence  <alan.lawrence@arm.com>
+
+	PR target/63679
+	* tree-ssa-scopedtables.c (avail_expr_hash): Hash MEM_REF and ARRAY_REF
+	using get_ref_base_and_extent.
+	(equal_mem_array_ref_p): New.
+	(hashable_expr_equal_p): Add call to previous.
+
+2016-01-18  Alan Lawrence  <alan.lawrence@arm.com>
+
+	PR target/63679
+	* tree-sra.c (disqualified_constants, constant_decl_p): New.
+	(sra_initialize): Allocate disqualified_constants.
+	(sra_deinitialize): Free disqualified_constants.
+	(disqualify_candidate): Update disqualified_constants when appropriate.
+	(create_access): Scan for constant-pool entries as we go along.
+	(scalarizable_type_p): Add check against type_contains_placeholder_p.
+	(maybe_add_sra_candidate): Allow constant-pool entries.
+	(load_assign_lhs_subreplacements): Bind debug for constant pool vars.
+	(initialize_constant_pool_replacements): New.
+	(sra_modify_assign): Avoid mangling assignments created by previous,
+	and don't generate writes into constant pool.
+	(sra_modify_function_body): Call initialize_constant_pool_replacements.
+
+2016-01-18  Ilya Enkovich  <enkovich.gnu@gmail.com>
+
+	* config/i386/i386.c (scalar_to_vector_candidate_p): Support
+	andnot instruction.
+	(scalar_chain::convert_op): Likewise.
+	* config/i386/i386.md (*andndi3_doubleword): New.
+
+2016-01-18  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69170
+	* tree-vect-slp.c (vect_build_slp_tree): Verify we are not
+	building a vector from scalar results of a pattern stmt.
+
+2016-01-18  Jakub Jelinek  <jakub@redhat.com>
+
+	* haifa-sched.c (autopref_multipass_init): Work around
+	-Wmaybe-uninitialized warning.
+
+2016-01-18  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm.c (thumb1_reorg): Check that the comparison is
+	against the constant 0.
+
+2016-01-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR tree-optimization/68799
+	* gimple-ssa-strength-reduction.c (create_phi_basis): Directly
+	look up phi candidates in the statement-candidate map.
+	(phi_add_costs): Likewise.
+	(record_phi_increments): Likewise.
+	(phi_incr_cost): Likewise.
+	(ncd_with_phi): Likewise.
+	(all_phi_incrs_profitable): Likewise.
+
+2016-01-17  Jakub Jelinek  <jakub@redhat.com>
+
+	* omp-low.c (mark_loops_in_oacc_kernels_region): Work around
+	-Wmaybe-uninitialized warning.
+
+2016-01-16  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* doc/invoke.texi (Invoking GCC): Add new section to menu.
+	(Option Summary): Update to reflect new section and moved options.
+	(C++ Dialect Options): Move -fvtable-verify and related options.
+	(Debugging Options): Move Sanitizer, Pointer Bounds Checker,
+	and profiling-related options.
+	(Optimization Options): Move profile generation options and
+	-fstack-protector and related options.
+	(Instrumentation Options): New section incorporating moved options.
+	(Code Generation Options): Move -finstrument-functions and
+	related options, -fstack-check, -fstack-limit*, and -fbounds-check.
+
+2016-01-16  Tom de Vries  <tom@codesourcery.com>
+
+	* passes.def: Move pass_expand_omp_ssa out of pass_parallelize_loops.
+
+2016-01-16  Tom de Vries  <tom@codesourcery.com>
+
+	* omp-low.c (expand_omp_atomic_fetch_op):  Release defs of update stmt.
+
+2016-01-16  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* hash-table.h (hash_table::empty): Turn into an inline wrapper
+	that checks whether the table is already empty.  Rename the
+	original implementation to...
+	(hash_table::empty_slot): ...this new private function.
+
+2016-01-15  David Malcolm  <dmalcolm@redhat.com>
+
+	PR diagnostic/68899
+	* diagnostic-show-locus.c (layout::print_source_line): Move x
+	offset of line until after call to
+	get_line_width_without_trailing_whitespace.
+
+2016-01-15  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/69270
+	* tree-ssanames.c (ssa_name_has_boolean_range): Moved here from
+	tree-ssa-dom.c.  Improve test for [0..1] ranve from VRP.
+	* tree-ssa-dom.c (ssa_name_has_boolean_range): Remove.
+	* tree-ssanames.h (ssa_name_has_boolean_range): Prototype.
+	* tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
+	ssa_name_has_boolean_range and constant_boolean_node.
+
+2016-01-15  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-optimization/69030
+	* lra-spills.c (remove_pseudos): Check nrefs and make the function
+	returning bool.
+	(spill_pseudos): Delete debug insn for dead pseudo.
+	(lra_spill): Initiate spill_hard_reg and slots memory separately.
+
+2016-01-15  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64-builtins.c (aarch64_types_unopus_qualifiers):
+	New.
+	(TYPES_UNOPUS): Likewise.
+	* config/aarch64/aarch64-simd-builtins.def (lbtruncuv2sf): Correct
+	builtin type, from UNOP to UNOPUS.
+	(lbtruncuv4sf): Likewise.
+	(lbtruncuv2df): Likewise.
+	(lrounduv2sf): Likewise.
+	(lrounduv4sf): Likewise.
+	(lrounduv2df): Likewise.
+	(lroundusf): Likewise.
+	(lroundusf): Likewise.
+	(lceiluv2sf): Likewise.
+	(lceiluv4sf): Likewise.
+	(lceiluv2df): Likewise.
+	(lceilusf): Likewise.
+	(lceiludf): Likewise.
+	(lflooruv2sf): Likewise.
+	(lflooruv4sf): Likewise.
+	(lflooruv2df): Likewise.
+	(lfloorusf): Likewise.
+	(lfloorudf): Likewise.
+	(lfrintnuv2sf): Likewise.
+	(lfrintnuv4sf): Likewise.
+	(lfrintnuv2df): Likewise.
+	(lfrintnusf): Likewise.
+	(lfrintnudf): Likewise.
+	* config/aarch64/arm_neon.h (vcvt_u32_f32): Remove unncessary type
+	conversion.
+	(vcvtq_u32_f32): Likewise.
+	(vcvtq_u64_f64): Likewise.
+	(vcvta_u32_f32): Likewise.
+	(vcvtaq_u32_f32): Likewise.
+	(vcvtaq_u64_f64): Likewise.
+	(vcvtm_u32_f32): Likewise.
+	(vcvtmq_u32_f32): Likewise.
+	(vcvtmq_u64_f64): Likewise.
+	(vcvtn_u32_f32): Likwise.
+	(vcvtnq_u32_f32): Likewise.
+	(vcvtnq_u64_f64): Likewise.
+	(vcvtp_u32_f32): Likewise.
+	(vcvtpq_u32_f32): Likewise.
+	(vcvtpq_u64_f64): Likewise.
+	(vcvtmd_u64_f64): Likewise.
+	(vcvtms_u32_f32): Likewise.
+	(vcvtad_u64_f64): Likewise.
+	(vcvtas_u32_f32): Likewise.
+	(vcvtnd_u64_f64): Likewise.
+	(vcvtns_u32_f32): Likewise.
+	(vcvtpd_u64_f64): Likewise.
+	(vcvtps_u32_f32): Likewise.
+
+2016-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_if_then_else_costs): Handle
+	CSEL of zero_extended registers.
+
+2016-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
+	Handle COMPARE of ZERO_EXTRACT against zero form of TST-immediate.
+
+2016-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_process_one_target_attr): Return
+	false when argument string is not found in the attributes table
+	at all.
+
+2016-01-15  David Edelsohn  <dje.gcc@gmail.com>
+
+	PR target/68609
+	* config/rs6000/rs6000.c (rs6000_emit_msub): Delete.
+	(rs6000_emit_swsqrt): Convert to Goldschmidt's Algorithm
+	* config/rs6000/rs6000.md (sqrt<mode>2): Limit swsqrt to high
+	precision estimate.
+
+2016-01-15  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/66856
+	* tree-vect-loop.c (vect_transform_loop): Free SLP instances here.
+	* tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count.
+	(vect_create_new_slp_node): Increment stmt reference count.
+	(vect_get_and_check_slp_defs): Make sure stmts are nor already in
+	an SLP tree before swapping operands.
+	(vect_build_slp_tree): Likewise.
+	(destroy_bb_vec_info): Free stmt info after SLP instances.
+	* tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count.
+	* tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field.
+	(STMT_VINFO_NUM_SLP_USES): New macro.
+
+2016-01-15  Richard Biener  <rguenther@suse.de>
+
+	PR debug/69137
+	* dwarf2out.c (add_linkage_name_raw): New function split out from ...
+	(add_linkage_name): ... here.
+	(gen_typedef_die): Use add_linkage_name_raw instead of
+	add_linkage_attr to delay DECL_ASSEMBLER_NAME computation
+	if necessary.
+
+2016-01-15  Cesar Philippidis  <cesar@codesourcery.com>
+
+	* gimplify.c (oacc_default_clause): Decode reference and pointer
+	types for both kernels and parallel regions.
+
+2016-01-15  Richard Sandiford  <richard.sandiford@arm.com>
+
+	PR middle-end/69246
+	* calls.c (emit_call_1): Force n_popped to zero for sibcalls.
+
+2016-01-15  Ilya Enkovich  <enkovich.gnu@gmail.com>
+
+	* config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo.
+	(convert_scalars_to_vector): Likewise.
+
+2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
+
+	* doc/extend.texi (Type Traits): Fix grammar.
+
+2016-01-15  Martin Jambor  <mjambor@suse.cz>
+
+	* tree-inline.c (remap_decl): Use existing dclarations if
+	remapping a type and prevent_decl_creation_for_types.
+	(replace_locals_stmt): Do an initial remapping of non-VLA typed
+	decls first.  Do real remapping with
+	prevent_decl_creation_for_types set.
+	* tree-inline.h (copy_body_data): New field
+	prevent_decl_creation_for_types, moved remap_var_for_cilk to avoid
+	padding.
+
+2016-01-15  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	* config/s390/s390.opt (mmvcle): More verbose help text.
+
+2016-01-15  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	* config/s390/s390.opt: Add period to -mzvector option text.
+
+2016-01-15  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/68961
+	* tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost
+	of invariants in stores again.
+
+2016-01-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+	* config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib.
+
+2016-01-15  Ilya Enkovich  <enkovich.gnu@gmail.com>
+
+	* config/i386/i386.c (ix86_expand_branch): Don't split
+	DI mode xor instruction to SI mode.
+
+2016-01-15  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR ipa/68148
+	* ipa-icf.c (sem_function::merge): Virtual functions may become
+	reachable even if they address is not taken and there are no
+	idrect calls.
+
+2016-01-15  Jan Hubicka  <hubicka@ucw.cz>
+
+	* lto-streamer-out.c (subtract_estimated_size): New function.
+	(get_symbol_initial_value): Use it.
+
+2016-01-15  Christian Bruel  <christian.bruel@st.com>
+
+	PR target/65837
+	* config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag.
+	(arm_init_neon_builtins_internal): Rename arm_init_neon_builtins,
+	(arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins.
+	use add_builtin_function_ext_scope instead of add_builtin_function.
+	(neon_set_p, neon_crypto_set_p): Remove.
+	(arm_init_builtins): Always call arm_init_neon_builtins and
+	arm_init_crypto_builtins.
+	(arm_expand_builtin): Check that builtins are allowed for the arch.
+	* config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype.
+	* config/arm/arm.c (arm_valid_target_attribute_tree): Remove
+	arm_init_neon_builtins call.
+
+2016-01-15  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69117
+	* tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member.
+	* tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info
+	of the leader conservatively.
+	(free_scc_vn): Restore original SSA name infos.
+
+2016-01-14  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/69270
+	* tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a
+	single bit of precision, verify it's also unsigned.
+	(record_edge_info): Use constant_boolean_node rather than fold_convert
+	to convert boolean_true/boolean_false to the right type.
+
+2016-01-14  Richard Henderson  <rth@redhat.com>
+
+	PR rtl-opt/69014
+	* loop-doloop.c (record_reg_sets): New.
+	(doloop_optimize): Reject the transform if the sequence
+	clobbers registers live at the end of the loop block.
+	(doloop_optimize_loops): Enable df_live if needed.
+
+2016-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000-builtin.def: Revert 2016-01-13 change.
+	* config/rs6000/rs6000.c: Likewise.
+	* config/rs6000/rs6000.h: Likewise.
+	* config/rs6000/rs6000.md: Likewise.
+	* doc/extend.texi: Likewsie.
+
+2016-01-14  Jeff Law  <law@redhat.com>
+
+	* tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment
+	typo.
+
+2016-01-14  Richard Henderson  <rth@redhat.com>
+
+	PR c/69272
+	PR tree-opt/68964
+	* trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size.
+	* tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p
+	instead of builtin_decl_declared_p to test for declaration.
+
+2016-01-14  Nicklas Bo Jensen  <nbjensen@gmail.com>
+
+	* doc/loop.texi (Loop Analysis and Representation): Document
+	loop_depth function.
+
+2016-01-14  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/68773
+	* omp-low.c (expand_omp_target): Don't set force_output.
+	* varpool.c (varpool_node::get_create): Same.
+	* lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and
+	offload_funcs with force_output.
+
+2016-01-14  Jakub Jelinek  <jakub@redhat.com>
+
+	PR debug/69244
+	* lra-eliminations.c (move_plus_up): Don't change anything if either
+	the outer or inner subreg mode is not MODE_INT.
+	* dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is
+	integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards.
+
+2016-01-14  Alan Lawrence  <alan.lawrence@arm.com>
+
+	* doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m},
+	reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m},
+	reduc_uplus_@var{m}): Remove.
+	* expr.c (expand_expr_real_2): Remove expansion path for
+	reduc_[us](min|max|plus) optabs.
+	* optabs-tree.c (scalar_reduc_to_vector): Remove.
+	* optabs-tree.h (scalar_reduc_to_vector): Remove.
+	* optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab,
+	reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove.
+	* tree-vect-loop.c (vectorizable_reduction): Remove test for
+	reduc_[us](min|max|plus) optabs.
+
+2016-01-14  Alan Lawrence  <alan.lawrence@arm.com>
+
+	* config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove.
+	(reduc_plus_scal_v2sf): New.
+	(reduc_smax_v2sf): Rename to...
+	(reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract.
+	(reduc_smin_v2sf): Rename to...
+	(reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract.
+
+2016-01-14  Jan Hubicka  <hubicka@ucw.cz>
+
+	* alias.c (compare_base_symbol_refs): New function.
+	(rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use
+	it.
+
+2016-01-14  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/68146
+	PR tree-optimization/69155
+	* tree-complex.c: Include cfganal.h.
+	(phis_to_revisit): New variable.
+	(extract_component): Add phiarg_p argument.  Assert that returned
+	SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
+	(update_phi_components): Partly rewrite to use loop over real/imag
+	components instead of code duplication.  If extract_component returns
+	SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
+	create_tmp_reg into the PHI node instead, and mention the phi triplet
+	in phis_to_revisit.
+	(tree_lower_complex): Walk bbs in rpo order.  Adjust phis recorded
+	in phis_to_revisit at the end.
+
+2016-01-14  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/68060
+	* tree-vect-loop.c (vect_is_simple_reduction): Check the
+	outer loop reduction is only used in the inner loop before
+	detecting a double reduction.
+
+2016-01-14  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/68269
+	* combine.c (expand_field_assignment): Punt if compute_mode is
+	unsupported scalar mode.
+
+2016-01-14  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/66856
+	* tree-vect-slp.c (vect_build_slp_tree): Refactor to build
+	SLP node only if it built successfully.
+	(vect_analyze_slp_instance): Adjust.
+
+2016-01-14  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/69270
+	* tree-ssa-dom.c (ssa_name_has_boolean_range): New function.
+	(record_edge_info): Use it.  Convert boolean_{true,false}_node
+	to the type of op0.
+
+2016-01-13  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR ipa/66487
+	* ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
+	use block_ultimate_origin
+	(noncall-stmt_may_be_vtbl_ptr_store): Likewise.
+
+2016-01-13  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* doc/invoke.texi (Submodel Options): Rename section to
+	"Machine-Dependent Options" to better reflect its content.
+	Rewrite introductory text to remove archaic CPU names.
+	Update references.
+
+2016-01-13  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* doc/invoke.texi (Code Gen Options): Move section up in file,
+	before target-specific options.  Update menu and option summary
+	to reflect the new section ordering.
+
+2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
+
+	* doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
+	(C++ Dialect Options): Add cross-reference to -std option.
+	* doc/standards.texi (C++ Language): Document C++14 support.
+
+2016-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
+	for pack/unpack functions for __ibm128.
+	(PACK_IF): Likewise.
+	(UNPACK_IF): Likewise.
+
+	* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
+	support for __ibm128 pack/unpack functions.
+	(rs6000_invalid_builtin): Likewise.
+	(rs6000_init_builtins): Likewise.
+	(rs6000_opt_masks): Likewise.
+
+	* config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
+	(RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
+	functions
+	(RS6000_BTM_COMMON): Likewise.
+
+	* config/rs6000/rs6000.md (f128_vsx): New mode attribute.
+	(unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
+	disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
+	128-bit floating point.  Add support for the double values to be
+	in Altivec registers for TF/IF packing and unpacking, but restrict
+	TD packing sub-fields to be FPR registers.  Don't allow overlapped
+	register support for packing.  Allow pack inputs to be memory
+	locations.  Don't build generator functions for unpack<mode>_dm
+	and unpack<mode>_nodm.
+	(unpack<mode>_dm): Likewise.
+	(unpack<mode>_nodm): Likewise.
+	(pack<mode>): Likewise.
+
+	* config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
+	built-in functions to pack/unpack explicit __ibm128 values.
+	(__builtin_unpack_ibm128): Likewise.
+
+	* doc/extend.texi (PowerPC Built-in Functions): Document
+	__builtin_pack_ibm128 and __builtin_unpack_ibm128.
+
+2016-01-13  Bernd Schmidt  <bschmidt@redhat.com>
+
+	PR c/66208
+	* c-common.c (check_function_nonnull): Remove unnecessary declaration.
+	Add new arg loc and pass it down as context.
+	(check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer
+	to the location to use for the warning.
+	(check_function_arguments): New arg loc.  All callers changed.  Pass
+	it to check_function_nonnull.
+	* c-common.h (check_function_arguments): Adjust declaration.
+
+2016-01-13  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/69156
+	* gimple.c (validate_type): Removed.
+	(gimple_builtin_call_types_compatible_p): Use
+	useless_type_conversion_p instead of validate_type.
+	* value-prof.c (gimple_stringop_fixed_value): Fold
+	icall_size to correct type.
+
+2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
+
+	* doc/extend.texi (__atomic Builtins): Clarify compare_exchange
+	effects.
+
+2016-01-13  Richard Henderson  <rth@redhat.com>
+
+	PR tree-opt/68964
+	* target.def (builtin_tm_load, builtin_tm_store): Remove.
+	* config/i386/i386.c (ix86_builtin_tm_load): Remove.
+	(ix86_builtin_tm_store): Remove.
+	(TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
+	(TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
+	* doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
+	(TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
+	* doc/tm.texi: Rebuild.
+
+	* gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
+	(BUILT_IN_TM_MEMCPY_RTWN): New.
+	* trans-mem.c (tm_log_emit_stmt): Rearrange code for better
+	fallback from vector to integer helpers.
+	(build_tm_load): Handle vector types directly, instead of
+	via target hook.
+	(build_tm_store): Likewise.
+	(expand_assign_tm): Prepare for register types not handled by
+	the above.  Copy them to memory and use memcpy.
+	* tree.c (tm_define_builtin): New.
+	(find_tm_vector_type): New.
+	(build_tm_vector_builtins): New.
+	(build_common_builtin_nodes): Call it.
+
+2016-01-13  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for
+	TARGET_SSE_MATH without TARGET_SSE2.  Rewrite.
+
+2016-01-13  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/69169
+	* tree-ssa-structalias.c (create_variable_info_for_1): Add and handle
+	handled_struct_type param.
+	(create_variable_info_for, intra_create_variable_infos): Call
+	create_variable_info_for_1 with extra arg.
+
+2016-01-13  Yvan Roux  <yvan.roux@linaro.org>
+
+	* config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a"
+	and "armv8.1-a+crc" entries.
+
+2016-01-13  Alexander Fomin  <alexander.fomin@intel.com>
+
+	PR target/69228
+	* config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"):
+	Change first operand predicate from register_or_constm1_operand
+	to register_operand.
+	(define_expand "avx512pf_gatherpf<mode>df"): Likewise.
+	(define_expand "avx512pf_scatterpf<mode>sf"): Likewise.
+	(define_expand "avx512pf_scatterpf<mode>df"): Likewise.
+	(define_insn "*avx512pf_gatherpf<mode>sf"): Remove.
+	(define_insn "*avx512pf_gatherpf<mode>df"): Likewise.
+	(define_insn "*avx512pf_scatterpf<mode>sf"): Likewise.
+	(define_insn "*avx512pf_scatterpf<mode>df"): Likewise.
+	* config/i386/i386.c (ix86_expand_builtin): Remove first operand
+	comparison with constm1_rtx from vec_prefetch_gen part.
+
+2016-01-13  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69013
+	* tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
+	Exchange assert for a test.
+
+2016-01-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	PR target/69247
+	* config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg.
+
+2016-01-13  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69242
+	* tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus
+	assert with a check.
+
+2016-01-13  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69186
+	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
+	Properly guard vect_update_misalignment_for_peel call.
+
+2016-01-12  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/pr67755
+	* tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field
+	"need_profile_correction".
+	(thread_block_1): Initialize new field to false by default.  If we
+	have multiple thread paths through a common joiner to different
+	final targets, then set new field to true.
+	(compute_path_counts): Only do count adjustment when it's really
+	needed.
+
+2016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* doc/invoke.texi (Spec Files): Move section down in file, past
+	all command-line option descriptions.
+
+2016-01-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	PR middle-end/54809
+	* doc/gty.texi: Remove documentation of mark_hook.
+	* gengtype.c (struct write_types_data): Remove code to support
+	mark_hook attribute.
+	(walk_type): Likewise.
+	(write_func_for_structure): Likewise.
+
+2016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to
+	Directory Options, and -specs= to Overall Options.
+	(Overall Options): Adjust similarly.  Reorder to group related
+	options together.  Make -specs= cross-reference the spec file details.
+	(Directory Options): Adjust similarly.
+
+2016-01-12  Jeff Law  <law@redhat.com>
+
+	* tree-ssa-threadupdate.c: Various whitespace and typo fixes.
+
+2016-01-12  Olivier Hainque  <hainque@adacore.com>
+
+	* gcc.c (spec_undefvar_allowed): New global.
+	(process_command): Set to true when running for --version or --help,
+	alone or together.
+	(getenv_spec_function): When the variable is not defined, use the
+	variable name as the variable value if we're allowed not to issue
+	a fatal error.
+
+2016-01-12  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/68911
+	* tree-vrp.c (adjust_range_with_scev): Check overflow in range
+	information computed for expression "init + nit * step".
+
+2016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* doc/invoke.texi (Invoking GCC): Copy-edit.  Incorporate information
+	about name of GCC executable.  Remove deleted node from menu.
+	(Directory Options) <-B>: Remove cross-reference to deleted node.
+	(Target Options): Delete section.
+
+2016-01-12  Christian Bruel  <christian.bruel@st.com>
+
+	PR target/69180
+	* config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
+	for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.
+
+2016-01-12  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/69198
+	* config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
+	aligned_mem is properly set for AVX512-VL floating point masked
+	stores.
+
+	PR target/69175
+	* ifcvt.c (cond_exec_process_if_block): When removing the last
+	insn from then_bb, remove also any possible barriers that follow it.
+
+2016-01-12  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/68456
+	PR target/69226
+	* config/i386/iamcu.h (SIZE_TYPE): New macro.
+	(PTRDIFF_TYPE): Likewise.
+	(WCHAR_TYPE): Likewise.
+	(WCHAR_TYPE_SIZE): Likewise.
+	(STDINT_LONG32): Likewise.
+
+2016-01-12  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69053
+	* tree-vect-loop.c (get_initial_def_for_reduction): Properly
+	convert initial value for cond reductions.
+
+2016-01-12  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69007
+	* tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
+	widen_sum after dot_prod and sad.
+
+2016-01-12  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69168
+	* tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
+	pattern stmt SLP type.
+	* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may
+	end up unused so cope with that case.
+
+2016-01-12  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69157
+	* tree-vect-stmts.c (vectorizable_mask_load_store): Check
+	stmts def type only during analyze phase.
+	(vectorizable_call): Likewise.
+	(vectorizable_simd_clone_call): Likewise.
+	(vectorizable_conversion): Likewise.
+	(vectorizable_assignment): Likewise.
+	(vectorizable_shift): Likewise.
+	(vectorizable_operation): Likewise.
+	(vectorizable_store): Likewise.
+	(vectorizable_load): Likewise.
+
+2016-01-12  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69174
+	* tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
+	space.
+	(vectorizable_load): Properly compute the number of loads needed
+	for permuted strided SLP loads and do not spuriously assign
+	to SLP_TREE_VEC_STMTS.
+
+2016-01-12  Andris Pavenis  <andris.pavenis@iki.fi>
+
+	* config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2
+	(TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive
+	(MD_EXEC_PREFIX): Remove.
+	(MD_STARTFILE_PREFIX) Removee.
+	(FILE_NAME_ABSOLUTE_P): Remove.
+	(CPP_SPEC): Do not read macros from sys/version.h.
+	(LINK_COMMAND_SPEC): Remove.
+	(LOCAL_INCLUDE_DIR): Remove.
+	(TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section
+	(TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix.
+	(POST_LINK_SPEC): Define to invoke stubify after linker
+	(LIBSTDCXX): Remove define
+	(DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map.
+	(DEFAULT_PCC_STRUCT_RETURN): Define to 1.
+	(SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210.
+	(SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message.
+	(SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info.
+	(IX86_MAYBE_NO_LIBGCC_TFMODE): Remove.
+	(i386_djgpp_asm_named_section): Add propotype of new procedure
+
+	* config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define.
+	(MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h).
+	(STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX
+	in config/i386/djgpp.h).
+	(STANDARD_STARTFILE_PREFIX_2): Define identical to
+	STANDARD_STARTFILE_PREFIX_1.
+	(LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h).
+	(GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal
+	installation errors.
+	(MAX_OFILE_ALIGNMENT): Define to 128.
+	(HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h.
+
+	* config/i386/djgpp.c: New file. Add implementation of
+	i386_djgpp_asm_named_section.
+
+	* config/i386/djgpp.opt: Remove obsolete option -mbnu210.
+
+	* config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
+	Add rule for building djgpp.o.
+
+2016-01-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (v2df_reduction_p): New function.
+	(rtx_is_swappable_p): Reductions are swappable.
+	(insn_is_swappable_p): V2DF reductions are swappable.
+
+2016-01-11  John David Anglin  <danglin@gcc.gnu.org>
+
+	* config/pa/pa.c (pa_emit_move_sequence): Handle floating point
+	reloads for other unsupported memory operands.
+
+2016-01-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
+	    Jim Wilson  <jim.wilson@linaro.org>
+
+	PR target/69194
+	* config/arm/arm-builtins.c (arm_expand_neon_args): Call
+	copy_to_mode_reg instead of force_reg.
+
+2016-01-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/69225
+	* config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if
+	TARGET_80387 is true.
+
+2016-01-11  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/69071
+	* lra-eliminations.c (move_plus_up): Only move plus up
+	if subreg of the constant can be simplified into constant
+	and use the simplified subreg of the constant instead of
+	the original constant.
+
+	* fold-const.c (fold_convertible_p): Don't return true
+	for conversion of VECTOR_TYPE to same sized integral type.
+	(fold_convert_loc): Fix up formatting.  Fold conversion of
+	VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR
+	instead of NOP_EXPR.
+
+	PR tree-optimization/69214
+	* tree-vrp.c (simplify_cond_using_ranges): Don't propagate
+	innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
+	Formatting fix.
+
+	PR tree-optimization/69207
+	* tree-vect-slp.c (vect_get_constant_vectors): For
+	VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
+	fold_convertible_p to vector_type's element type, and always
+	use VCE for non-VECTOR_BOOLEAN_TYPE_P.
+
+2016-01-11  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69173
+	* tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only
+	fixup the cycle if all stmts are in a pattern.
+
+2016-01-11  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR middle-end/68999
+	* alias.c (base_alias_check): Move check for addresses with
+	alignment ANDs before the call for compare_base_decls.
+	(memrefs_conflict_p): Return -1 for different decls
+	that went through alignment adjustments.
+
+2016-01-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR rtl-optimization/68796
+	* config/aarch64/aarch64.md (*and<mode>_compare0): New pattern.
+	* config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode
+	and QImode comparisons against zero with CC_NZmode.
+	* config/aarch64/iterators.md (short_mask): New mode_attr.
+
+2016-01-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/sse.md (<avx512>_load<mode>_mask): Remove snprintf.
+	(<avx512>_store<mode>_mask): Likewise.
+
+2016-01-11  Bernd Schmidt  <bschmidt@redhat.com>
+	    Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR rtl-optimization/68841
+	* ifcvt.c (struct noce_if_info): Add orig_x field.
+	(bbs_ok_for_cmove_arith): Add to_rename parameter.
+	Don't record conflicts on to_rename if it's present.
+	Allow memory destinations in sets.
+	(noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple
+	blocks, passing orig_x to the checks.
+	(noce_process_if_block): Set if_info->orig_x appropriately.
+
+2016-01-11  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/69069
+	* tree-parloops.c (create_parallel_loop): Add missing phi args.
+
+2016-01-11  Yuri Rumyantsev  <ysrumyan@gmail.com>
+
+	PR rtl-optimization/68920
+	* config/i386/i386.c (ix86_option_override_internal): Restrict number
+	of conditional moves for  RTL if-conversion to 1 for
+	TARGET_ONE_IF_CONV_INSN.
+	* config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
+	* config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
+	* params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
+	parameter to restirct number of conditional moves for
+	RTL if-conversion.
+	* doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
+	* ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
+	conditionl moves.
+
+2016-01-11  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR bootstrap/69123
+	* var-tracking.c (drop_overlapping_mem_locs): Operate on all
+	onepart vars.  Fix typo in comment.  Fix reversed condition in
+	unshare test.
+	(dataflow_set_remove_mem_locs): Operate on all onepart vars.
+
+	PR bootstrap/69123
+	* var-tracking.c (dump_onepart_variable_differences): New.
+	(dataflow_set_different): If a detailed dump is requested,
+	delay early returns and dump differences between onepart
+	variables present before and after, and added variables.
+
+2016-01-11  Ilya Enkovich  <enkovich.gnu@gmail.com>
+
+	PR target/69010
+	* expr.c (expand_expr_real_1): For boolean vector constants
+	with a scalar mode use const_scalar_mask_from_tree.
+	(const_scalar_mask_from_tree): New.
+	* optabs.c (expand_vec_cond_mask_expr): Use mask mode
+	assigned to a mask type to handle constants.
+
+2016-01-11  Martin Jambor  <mjambor@suse.cz>
+
+	PR ipa/69044
+	* ipa-cp.c (estimate_local_effects): Do not clone for removal of
+	useless parameters if we cannot change function signature.
+
+2016-01-11  Martin Jambor  <mjambor@suse.cz>
+
+	PR ipa/66616
+	* cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
+	flag.
+
+2016-01-11  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/69109
+	* tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
+	latch with phi.
+
+2016-01-11  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/69108
+	* tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
+	res is not used in a phi.
+
+2016-01-11  Yury Gribov  <y.gribov@samsung.com>
+
+	PR 67425
+	* common.opt (frandom-seed): Fix parameter name.
+	* doc/invoke.texi (frandom-seed): Ditto and describe parameter.
+
+2016-01-11  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/69058
+	* tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
+	not supported.
+
+2016-01-11  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* config/arc/arc.opt (mdiv-rem): Add period to the end.
+	(mcode-density): Likewise.
+
+2016-01-10  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/69062
+	* tree-parloops.c (loop_has_phi_with_address_arg): New function.
+	(parallelize_loops): Don't paralelize loop that has phi with address
+	arg.
+
+2016-01-10  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/69039
+	* tree-parloops.c (try_create_reduction_list): Only allow single exit
+	phi for reduction.
+
+2016-01-09  John David Anglin  <danglin@gcc.gnu.org>
+
+	PR middle-end/68743
+	* match.pd: Require target has function_c99_misc before doing
+	truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.
+
+2016-01-09  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* configure.ac (isl_options_set_schedule_serialize_sccs): Also
+	use GMPINC.
+	* configure: Regenerate.
+
+2016-01-09  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/50865
+	PR tree-optimization/69097
+	* fold-const.h (expr_not_equal_to): New prototype.
+	* fold-const.c: Include stringpool.h and tree-ssanames.h.
+	(expr_not_equal_to): New function.
+	* match.pd (X % -Y is the same as X % Y): Don't optimize
+	unless X is known not to be equal to minimum or Y is known
+	not to be equal to -1.
+	* tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument.
+	fold TRUNC_MOD_EXPR if the second argument is not a power of two.
+	(simplify_stmt_using_ranges): Adjust caller.
+	(vrp_finalize): Call set_value_range on SSA_NAMEs before calling
+	substitute_and_fold.
+
+2016-01-09  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
+	w/o DECL_NAME.
+
+2016-01-08  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/69167
+	* gimple-fold.c (replace_stmt_with_simplification): Also punt if
+	new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of
+	ops[0] comparison.
+	* gimple-match-head.c (maybe_push_res_to_seq): Likewise.
+
+2016-01-08  Alan Lawrence  <alan.lawrence@arm.com>
+	    Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/68707
+	* tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP
+	instances that can be handled via vect_load_lanes.
+
+2016-01-08  Uros Bizjak  <ubizjak@gmail.com>
+
+	* symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
+	if we can't determine address equivalence.
+	* alias.c (compare_base_decl): Update for changed return value of
+	symtab_node::equal_address_to.
+
+2016-01-08  Jason Merrill  <jason@redhat.com>
+
+	PR c++/68983
+	PR c++/67557
+	* function.c (assign_temp): Guard against TREE_ADDRESSABLE types here.
+	* expr.c (store_field): Not here.
+	* tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a
+	call with TREE_ADDRESSABLE type.
+	* tree-cfg.c (verify_gimple_call): Adjust.
+
+2016-01-08  Olivier Hainque  <hainque@adacore.com>
+
+	* config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
+	libc_internal.
+
+2016-01-08  Alan Lawrence  <alan.lawrence@arm.com>
+
+	* gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to...
+	(reduc_smax_scal_v2sf): ...here, make result SFmode, extract element.
+	(reduc_smin_v2sf): Rename to...
+	(reduc_smin_scal_v2sf): ...here, make result SFmode, extract element.
+	(reduc_splus_v2sf): Rename to...
+	(reduc_plus_scal_v2sf): ...here, make result SFmode, extract element.
+
+2016-01-08  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/69162
+	* gimplify.c (gimplify_va_arg_expr): Encode original type of
+	valist argument in another argument.
+	(gimplify_modify_expr): Adjust for the above change.  Cleanup.
+	* tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument
+	to determine the va_list type, build a MEM_REF instead of
+	build_fold_indirect_ref.
+
+	PR tree-optimization/69172
+	* gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
+	gimple_build.
+
+2016-01-08  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	PR tree-optimization/67781
+	* tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
+	and cmpnop in two steps: first the ones not accessed in original
+	gimple expression in a endian independent way and then the ones not
+	accessed in the final result in an endian-specific way.
+
+2016-01-08  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/69083
+	* tree-vect-slp.c (vect_get_constant_vectors): For
+	VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
+	element type.  If op is fold_convertible_p to vector_type's element
+	type, use NOP_EXPR instead of VCE.
+
+2016-01-08  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/67778
+	PR rtl-optimization/68634
+	PR rtl-optimization/68909
+	* shrink-wrap.c (try_shrink_wrapping): Add comment.  Don't pop
+	block from the stack until done with it.  Remove a superfluous
+	bitmap set.  Remove a superfluous bitmap test.
+
+2016-01-07  Martin Sebor  <msebor@redhat.com>
+
+	PR c/68966
+	* doc/extend.texi (__atomic Builtins, __sync Builtins): Document
+	constraint on the type of arguments.
+
+2016-01-07  Andreas Tobler  <andreast@gcc.gnu.org>
+
+	* config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
+	SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
+	unaligned_access on the gcc_options set.
+	* config/arm/arm.c (arm_option_override_internal): Use
+	SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
+
+2016-01-07  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/69140
+	* config/i386/i386.c (ix86_frame_pointer_required): Enable
+	frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.
+
+2016-01-07  Uros Bizjak  <ubizjak@gmail.com>
+
+	Revert
+	2016-01-06  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/69140
+	* config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
+	depending on frame_pointer_needed before remaining integer and SSE
+	registers are saved.
+
+2016-01-07  Sandra Loosemore  <sandra@codesourcery.com>
+
+	PR 1078
+	* doc/extend.texi (Nvidia PDX Function Attributes): New section.
+
+2016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/69171
+	* config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
+	Use the "xBm" constraint.
+	(float<sseintvecmodelower><mode>2<mask_name><round_name):
+	Likewise.
+	(sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
+	(sse_cvtsi2ssq<round_name>): Likewise.
+	(sse_cvtss2si<round_name>): Likewise.
+	(sse_cvtss2siq<round_name>): Likewise.
+	(sse2_cvtsi2sdq<round_name>): Likewise.
+	(sse2_cvtsd2si<round_name>): Likewise.
+	(sse2_cvtsd2siq<round_name>): Likewise.
+	* config/i386/subst.md (round_nimm_scalar_predicate): New
+	predicate.
+
+2015-12-15  Bernd Schmidt  <bschmidt@redhat.com>
+
+	PR middle-end/67639
+	* varasm.c (make_decl_rtl): Mark invalid register vars as
+	DECL_EXTERNAL.
+
+	PR rtl-optimization/66206
+	* bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
+	All callers changed.
+
+2016-01-07  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/69141
+	* tree-ssa-pre.c: Include langhooks.h.
+	(eliminate_dom_walker::before_dom_children): Use
+	lang_hooks.decl_printable_name instead of
+	cgraph_node::get ()->name ().
+
+	PR middle-end/68960
+	* gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
+	it and DECL_ALIGN too.
+
+2016-01-06  Robert Suchanek  <robert.suchanek@imgtec.com>
+
+	* config/mips/mips-ftypes.def: Sort to lexicographical order.
+
+2016-01-06  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/69140
+	* config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
+	depending on frame_pointer_needed before remaining integer and SSE
+	registers are saved.
+
+2015-01-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
+	mode iterator with VSX_M2.
+	(*p9_vecstore_<mode>): Likewise.
+	(*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
+	(*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
+	(*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
+	(define_split for VSX_LE128 stores): Likewise.
+	(define_peephole2 for TImode LE swaps): Likewise.
+	(define_split for VSX_LE128 post-reload stores): Likewise.
+
+2016-01-06  Marek Polacek  <polacek@redhat.com>
+
+	PR sanitizer/69099
+	* convert.c (convert_to_integer_1): Adjust call to
+	ubsan_instrument_float_cast.  Use NULL_TREE instead of NULL.
+	* ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter.  Use
+	EXPR instead of ARG.
+	* ubsan.h (ubsan_instrument_float_cast): Adjust declaration.
+
+2016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
+
+	PR 1078
+	* doc/extend.texi (RL78 Variable Attributes): New section.
+
+2016-01-05  Marek Polacek  <polacek@redhat.com>
+
+	PR c/69104
+	* builtins.c (get_memmodel): Use expansion point location rather than
+	the input location.  Call warning_at rather than warning.
+	(expand_builtin_atomic_compare_exchange): Likewise.
+	(expand_builtin_atomic_load): Likewise.
+	(expand_builtin_atomic_store): Likewise.
+	(expand_builtin_atomic_clear): Likewise.
+
+2016-01-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/68991
+	* config/i386/i386.c (ix86_expand_vector_logical_operator):
+	Replace nonimmediate_operand with vector_operand.
+	* config/i386/predicates.md (vector_operand): New predicate.
+	(general_vector_operand): Replace nonimmediate_operand with
+	vector_operand.
+	* config/i386/sse.md: Replace nonimmediate_operand with
+	vector_operand and m constraint with Bm constraint on SSE
+	patterns with 16-byte memory operand.
+	* config/i386/subst.md (round_nimm_predicate): Replace
+	nonimmediate_operand with vector_operand.
+	(round_saeonly_nimm_predicate): Likewise.
+	(round_saeonly_nimm_scalar_predicate): New.
+
+2016-01-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/68991
+	* config/i386/constraints.md (Bm): New constraint.
+	* config/i386/predicates.md (vector_memory_operand): New
+	predicate.
+	* config/i386/sse.md: Replace xm with xBm in plusminus and
+	any_logic patterns.
+
+2016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
+
+	PR 1078
+	* doc/extend.texi (V850 Function Attributes): New section.
+	(V850 Variable Attributes): New section.
+
+2016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
+
+	PR 1078
+	* doc/extend.texi (MicroBlaze Function Attributes): Document
+	interrupt_handler and fast_interrupt attributes.
+
+2016-01-05  Sergei Trofimovich  <siarheit@google.com>
+
+	PR other/60465
+	* config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
+	for local symbolic operands.
+	* config/ia64/predicates.md (local_symbolic_operand64): New
+	predicate.
+
+2016-01-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR rtl-optimization/68651
+	* combine.c (combine_simplify_rtx): Canonicalize x + x into
+	x << 1.
+
+2016-01-05  Nathan Sidwell  <nathan@acm.org>
+
+	* alias.c (compare_base_decls): Use symtab_node::get.
+
+2016-01-05  Nick Clifton  <nickc@redhat.com>
+
+	PR target/68770
+	* ira-costs.c (copy_cost): Initialise the t_icode field of the
+	secondary_reload_info structure.
+
+	PR target/66655
+	* config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
+	decls if weak support is available.
+
+2016-01-04  Martin Sebor  <msebor@redhat.com>
+
+	* doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
+
+2016-01-04  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
+	OPTION_MASK_P9_DFORM.
+
+	* config/rs6000/constraints.md (wo constraint): New constraint for
+	ISA 3.0 (power9).
+
+	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
+	for wo constraint.
+	(rs6000_init_hard_regno_mode_ok): Likewise.
+
+	* config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
+	wo constraint.
+
+	* config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
+	expanders not to have constraints.  Add support for ISA 3.0 xxperm
+	instruction.  Add support for fusing xxlor with xxperm.
+	(altivec_vperm_<mode>_internal): Likewise.
+	(altivec_vperm_v8hiv16qi): Likewise.
+	(altivec_vperm_<mode>v16q): Likewise.
+	(altivec_vperm_<mode>_uns): Likewise.
+	(vperm_v8hiv4si): Likewise.
+	(vperm_v16qiv8hi): Likewise.
+
+	* doc/md.texi (RS/6000 constraints): Document wo constraint.
+
+2016-01-04  Jakub Jelinek  <jakub@redhat.com>
+
+	Update copyright years.
+
+	* gcc.c (process_command): Update copyright notice dates.
+	* gcov-dump.c (print_version): Ditto.
+	* gcov.c (print_version): Ditto.
+	* gcov-tool.c (print_version): Ditto.
+	* gengtype.c (create_file): Ditto.
+	* doc/cpp.texi: Bump @copying's copyright year.
+	* doc/cppinternals.texi: Ditto.
+	* doc/gcc.texi: Ditto.
+	* doc/gccint.texi: Ditto.
+	* doc/gcov.texi: Ditto.
+	* doc/install.texi: Ditto.
+	* doc/invoke.texi: Ditto.
+
+2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
+	modes larger than TImode as TImode if NEON is not enabled.
+
+2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR target/69100
+	* config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
+	mode for %f0-%f31 only if TARGET_FPU.
+
+2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR target/69072
+	* config/sparc/sparc.c (scan_record_type): Take into account subfields
+	to compute the PACKED_P predicate.
+	(function_arg_record_value): Minor tweaks.
+
+2016-01-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* doc/install.texi (--with-multilib-list): Describe the meaning of the
+	option for arm*-*-* targets.
+
+2016-01-03  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* doc/extend.texi (Common Function Attributes): Move docs for
+	MSP430-specific attributes to....
+	(MSP430 Function Attributes): ...here.  Delete the redundant
+	entries and copy-edit the remaining text.
+	(MSP430 Variable Attributes): Use uniform format for index
+	entries and add a cross-reference to the corresponding function
+	attribute docs.
+
+2016-01-03  Vladimír Čunát  <vcunat@gmail.com>
+
+	* doc/invoke.texi (RS/6000 and PowerPC Options): Fix
+	-finite-math typo.
+	(x86 Options): Likewise.
+
+2016-01-01  Sandra Loosemore  <sandra@codesourcery.com>
+
+	PR 1078
+
+	* extend.texi (Common Function Attributes) <no_stack_limit>: New.
+	* invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer
+	to corresponding attribute.
+
+2016-01-01  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* doc/extend.texi (Common Function Attributes) <noplt>: Move
+	to correct alphabetization of table.  Copy-edit and correct
+	markup.
+	<stack_protect>: Likewise.
+	<target_clones>: Likewise.
+	<simd>: Likewise.
+	* doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
+	Correct punctuation.
+	(Code Gen Options) <-fno-plt>: Copy-edit.
+
+2016-01-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	PR target/68917
+	* config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
+	SI values.  Explicitly convert SI to DI and vice-versa.
+
+2016-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/69070
+	* tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
+	REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.
+
+	PR sanitizer/69055
+	* ubsan.c (ubsan_instrument_float_cast): Call
+	initialize_sanitizer_builtins.
+
+	PR target/69015
+	* ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
+
+Copyright (C) 2016 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.
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 0acae5761a0f..5fc470b02be0 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,5917 +1,9 @@
-2016-12-07  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity): When they are global,
-	consider ___XR GNAT encodings variables for renamings as static so
-	they have a location in the debug info.
-
-2016-12-07  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Translate
-	System.Address into ptr_type_node for every foreign convention.
-	(gnat_to_gnu_subprog_type): Likewise for result and parameter types.
-	(gnat_to_gnu_param): Do not do it here for GCC builtins.
-	(intrin_return_compatible_p): Likewise.
-
-2016-12-07  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Subtype>:
-	Also call finish_character_type on Character subtypes.
-	* gcc-interface/utils.c (finish_character_type): Deal with subtypes.
-
-2016-12-05  Mikael Pettersson  <mikpe@it.uu.se>
-
-	PR ada/48835
-	* gcc-interface/Makefile.in: Add support for m68k-linux.
-	* system-linux-m68k.ads: New file.
-
-2016-12-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* system-darwin-ppc.ads (Support_Atomic_Primitives): Set to True only
-	if the word size is 64.
-
-2016-11-30  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_prag.adb, sem_ch6.adb: Minor reformatting and typo fixes.
-	* g-sechas.adb: Minor reformatting.
-	* lib-xref.ads: minor grammar fix in comment.
-	* lib-xref-spark_specific.adb
-	(Is_SPARK_Reference): do not ignore references to concurrent
-	objects.
-	* sinfo.ads: Fix of unbalanced parens in comment
-
-2016-11-30  Ed Schonberg  <schonberg@adacore.com>
-
-	* lib-xref.adb (Get_Type_Reference): If the entity is a function
-	returning a classwide type, the type reference is obtained right
-	away and does not need further unwinding.
-
-2016-11-30  Javier Miranda  <miranda@adacore.com>
-
-	* sem_ch8.adb (Find_Renamed_Entity): For non-overloaded subprogram
-	actuals of generic units check that the spec of the renaming
-	and renamed entities match.
-
-2016-11-30  Tristan Gingold  <gingold@adacore.com>
-
-	* raise-gcc.c: For CERT runtimes: do not use gcc includes, simplify
-	the handling.
-	* sem_attr.adb (Analyze_Attribute): Check No_Dynamic_Priorities
-	restriction for Priority Attribute.
-
-2016-11-27  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/78524
-	* gcc-interface/utils.c (max_size) <tcc_reference>: Add missing
-	conversion to original type in the PLACEHOLDER_EXPR case.
-
-2016-11-27  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/78531
-	* namet.h (Max_Line_Length): Define.
-	(struct Bounded_String): Declare Chars with exact size.
-	(namet__get_decoded_name_string): Delete.
-	(Get_Decoded_Name_String): Likewise.
-	(casing__set_all_upper_case): Likewise.
-
-2016-11-22  Uros Bizjak  <ubizjak@gmail.com>
-
-	* gcc-interface/Make-lang.in (check-acats): Fix detection
-	of -j argument.
-
-2016-11-18  Richard Sandiford  <richard.sandiford@arm.com>
- 	    Alan Hayward  <alan.hayward@arm.com>
- 	    David Sherwood  <david.sherwood@arm.com>
-
-	* gcc-interface/utils.c (create_label_decl): Use SET_DECL_MODE.
-
-2016-11-14  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/Makefile.in: Replace s-interr-hwint.adb with
-	s-interr-vxworks.adb throughout.
-
-2016-11-13  Bob Duff  <duff@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity): In assertion about known
-	Esize, protect with !is_type and change !Unknown_Esize to Known_Esize.
-
-2016-11-13  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
-	Look at the underlying type for the signedness of the type.
-
-2016-11-13  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (annotate_value) <INTEGER_CST>: Deal specially
-	with negative constants.
-
-2016-11-13  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/utils2.c (gnat_protect_expr): Also protect only the
-	address if the expression is the component of a dereference.
-	Do not use a reference type for the final temporary reference.
-
-2016-11-13  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/Makefile.in (NO_OMIT_ADAFLAGS): Define.
-	(a-except.o): Replace -fno-inline with NO_INLINE_ADAFLAGS.
-	(s-memory.o): New rule.
-	(tracebak.o): Replace -fno-omit-frame-pointer with NO_OMIT_ADAFLAGS.
-
-2016-11-07  Tamar Christina  <tamar.christina@arm.com>
-
-	* adaint.c: Added signal.h for Windows.
-
-2016-10-31  Jakub Jelinek  <jakub@redhat.com>
-
-	* gcc-interface/misc.c (gnat_get_array_descr_info): Clear rank field.
-
-2016-10-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	* gcc-interface/Make-lang.in (lang_checks_parallelized): New target.
-	(check_gnat_parallelize): Likewise.
-
-2016-10-20  Nicolas Roche  <roche@adacore.com>
-
-	* gcc-interface/Makefile (x86-64/Darwin): Restore missing pairs.
-	(x86/Darwin): Likewise.
-
-2016-10-19  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* system-linux-armel.ads: Rename into...
-	* system-linux-arm.ads: ...this
-	* gcc-interface/Makefile.in (ARM/Android): Adjust to above renaming.
-	(ARM/Linux): Likewise.
-	(Aarch64/Linux): Likewise.
-
-2016-10-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS): Define.
-	(EXTRA_GNATRTL_TASKING_OBJS): Likewise.
-	(ARM/Android): Add atomic support.
-	(SPARC/Solaris): Simplify.
-	(x86/Solaris): Likewise.
-	(x86/Linux): Likewise.
-	(x86-64/kFreeBDS): Adjust and use system-freebsd-x86.ads
-	(x86/FreeBSD): Add s-mudido-affinity.adb.
-	(x86-64/FreeBSD): Likewise and use system-freebsd-x86.ads.
-	(s390/Linux): Simplify.
-	(PowerPC/AIX): Likewise.
-	(Cygwin/Mingw): Likewise.
-	(MIPSel/Linux): Likewise.
-	(ARM/Linux): Add atomic support.
-	(Aarch64/Linux): Use system-linux-armel.ads.
-	(SPARC/Linux): Simplify.
-	(IA-64/Linux): Minor tweak.
-	(IA-64/HP-UX): Likewise.
-	(Alpha/Linux): Likewise.
-	(x86-64/Linux): Use system-linux-x86.ads.
-	(x86/Darwin): Simplify.
-	(PowerPC/Darwin): Likewise.
-	(ARM/Darwin): Use system-darwin-arm.ads.
-	(ADA_EXCLUDE_SRCS): Minor reformatting.
-	* system-aix.ads (Word_Size): Change to Standard'Word_Size.
-	(Memory_Size): Change to 2 ** Word_Size.
-	(Support_Atomic_Primitives): Set to True.
-	* system-aix64.ads: Delete.
-	* system-darwin-arm.ads: New.
-	* system-darwin-ppc.ads (Word_Size): Change to Standard'Word_Size.
-	(Memory_Size): Change to 2 ** Word_Size.
-	(Support_Atomic_Primitives): Set to True.
-	* system-darwin-ppc64.ads: New.
-	* system-darwin-x86.ads (Word_Size): Change to Standard'Word_Size.
-	(Memory_Size): Change to 2 ** Word_Size.
-	* system-darwin-x86_64.ads: Delete.
-	* system-freebsd-x86.ads (Word_Size): Change to Standard'Word_Size.
-	(Memory_Size): Change to 2 ** Word_Size.
-	* system-freebsd-x86_64.ads: Delete.
-	* system-linux-alpha.ads (Support_Atomic_Primitives): Set to True.
-	* system-linux-armeb.ads (Word_Size): Change to Standard'Word_Size.
-	(Memory_Size): Change to 2 ** Word_Size.
-	(Support_Atomic_Primitives): Set to True.
-	* system-linux-armel.ads (Word_Size): Change to Standard'Word_Size.
-	(Memory_Size): Change to 2 ** Word_Size.
-	(Support_Atomic_Primitives): Set to True.
-	* system-linux-mips.ads: (Word_Size): Change to Standard'Word_Size.
-	(Memory_Size): Change to 2 ** Word_Size.
-	* system-linux-mipsel.ads (Word_Size): Change to Standard'Word_Size.
-	(Memory_Size): Change to 2 ** Word_Size.
-	* system-linux-s390.ads (Word_Size): Change to Standard'Word_Size.
-	(Memory_Size): Change to 2 ** Word_Size.
-	(Stack_Check_Probes): Set to True.
-	* system-linux-s390x.ads: Delete.
-	* system-linux-sparc.ads (Word_Size): Change to Standard'Word_Size.
-	(Memory_Size): Change to 2 ** Word_Size.
-	* system-linux-sparcv9.ads: Delete.
-	* system-linux-x86.ads (Word_Size): Change to Standard'Word_Size.
-	(Memory_Size): Change to 2 ** Word_Size.
-	* system-linux-x86_64.ads: Delete.
-	* system-mingw-x86_64.ads: Delete.
-	* system-mingw.ads (Word_Size): Change to Standard'Word_Size.
-	(Memory_Size): Change to 2 ** Word_Size.
-	* system-solaris-sparc.ads (Word_Size): Change to Standard'Word_Size.
-	(Memory_Size): Change to 2 ** Word_Size.
-	(Support_Atomic_Primitives): Set to True.
-	* system-solaris-sparcv9.ads: Delete.
-	* system-solaris-x86.ads (Word_Size): Change to Standard'Word_Size.
-	(Memory_Size): Change to 2 ** Word_Size.
-	* system-solaris-x86_64.ads: Delete.
-
-2016-10-17  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* system-darwin-ppc64.ads (Support_64_Bit_Divides): Delete.
-	* system-linux-armeb.ads (Support_64_Bit_Divides): Likewise.
-	* system-linux-mips.ads (Support_64_Bit_Divides): Likewise.
-	* system-linux-mips64el.ads (Support_64_Bit_Divides): Likewise.
-	* system-linux-mipsel.ads (Support_64_Bit_Divides): Likewise.
-	* system-linux-sparcv9.ads (Support_64_Bit_Divides): Likewise.
-	* system-rtems.ads (Support_64_Bit_Divides): Likewise.
-
-2016-10-16  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/misc.c (LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS):Define.
-	* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Access>: Deal with
-	a zero TARGET_CUSTOM_FUNCTION_DESCRIPTORS specially for Code_Address.
-	Otherwise, if TARGET_CUSTOM_FUNCTION_DESCRIPTORS is positive, set
-	FUNC_ADDR_BY_DESCRIPTOR for 'Access/'Unrestricted_Access of nested
-	subprograms if the type can use an internal representation.
-	(call_to_gnu): Likewise, but set CALL_EXPR_BY_DESCRIPTOR on indirect
-	calls if the type can use an internal representation.
-
-2016-10-16  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* system-aix.ads (Always_Compatible_Rep): Change to False.
-	* system-aix64.ads (Always_Compatible_Rep): Likewise.
-	* system-hpux-ia64.ads (Always_Compatible_Rep): Likewise.
-	* system-hpux.ads (Always_Compatible_Rep): Likewise.
-	* system-linux-alpha.ads (Always_Compatible_Rep): Likewise.
-	* system-linux-hppa.ads (Always_Compatible_Rep): Likewise.
-	* system-linux-ia64.ads (Always_Compatible_Rep): Likewise.
-	* system-linux-mips.ads (Always_Compatible_Rep): Likewise.
-	* system-linux-mips64el.ads (Always_Compatible_Rep): Likewise.
-	* system-linux-mipsel.ads (Always_Compatible_Rep): Likewise.
-	* system-linux-s390.ads (Always_Compatible_Rep): Likewise.
-	* system-linux-s390x.ads (Always_Compatible_Rep): Likewise.
-	* system-linux-sh4.ads (Always_Compatible_Rep): Likewise.
-	* system-linux-sparc.ads (Always_Compatible_Rep): Likewise.
-	* system-linux-sparcv9.ads (Always_Compatible_Rep): Likewise.
-	* system-rtems.ads (Always_Compatible_Rep): Likewise.
-
-2016-10-14  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/77968
-	* gcc-interface/utils.c (create_var_decl): Do not clear TREE_READONLY
-	in LTO mode for an external variable.
-	(can_materialize_object_renaming_p): Move up.
-
-2016-10-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* gcc-interface/utils2.c: Include memmodel.h.
-
-2016-10-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch6.adb (Analyze_Expression_Function):
-	Remove the aspects of the original expression function has been
-	rewritten into a subprogram declaration or a body. Reinsert the
-	aspects once they have been analyzed.
-
-2016-10-13  Tristan Gingold  <gingold@adacore.com>
-
-	* exp_ch9.adb (Expand_N_Asynchronous_Select): Return immediately
-	on restricted profile.
-
-2016-10-13  Javier Miranda  <miranda@adacore.com>
-
-	* sem_prag.adb (Process_Compile_Time_Warning_Or_Error): Register the
-	pragma for its validation after the backend has been called only if
-	its expression has some occurrence of attributes 'size or 'alignment
-	* table.ads (Release_Threshold): New formal.
-	(Release): Adding documentation of its new functionality.
-	* table.adb (Release): Extend its functionality with a
-	Release_Threshold.
-	* nlists.adb (Next_Node table): Set its Release_Threshold.
-	* atree.adb (Orig_Nodes table): Set its Release_Threshold.
-	* atree.ads (Nodes table): Set its Release_Threshold.
-	(Flags table): Set its Release_Threshold.
-	* alloc.ads (Nodes_Release_Threshold): New constant declaration.
-	(Orig_Nodes_Release_Threshold): New constant declaration.
-	* debug.adb (switch d.9): Left free.
-	* gnat1drv.adb (Post_Compilation_Validation_Checks): Enable
-	validation of pragmas Compile_Time_Error and Compile_Time_Warning.
-
-2016-10-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch6.adb (Create_Extra_Formals): Generate
-	an Itype reference for the object extra formal in case the
-	subprogram is called within the same or nested scope.
-
-2016-10-13  Claire Dross  <dross@adacore.com>
-
-	* sem_ch5.adb (Analyze_Iterator_Specification):
-	Also create a renaming in GNATprove mode.
-
-2016-10-13  Ed Schonberg  <schonberg@adacore.com>
-
-	* freeze.adb (Freeze_Fixed_Point_Type): in SPARK mode, the
-	given bounds of the type must be strictly representable, and the
-	range reduction by one delta ("shaving") allowed by the Ada RM,
-	is not applicable in SPARK.
-
-2016-10-13  Javier Miranda  <miranda@adacore.com>
-
-	* debug.adb (switch d.9): Used to temporarily disable the support
-	needed for this enhancement since it causes regressions with
-	large sources.
-	* gnat1drv.adb (Post_Compilation_Validation_Checks): Temporarily
-	leave the validation of pragmas Compile_Time_Warning and
-	Compile_Time_Error under control of -gnatd.9/
-
-2016-10-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch10.adb (Entity_Needs_Body): A generic
-	subprogram renaming needs a body if the renamed unit is declared
-	outside the current compilation unit.
-
-2016-10-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sinfo.ads, sem_ch12.adb, sem.adb, expander.adb, sem_res.ads,
-	sem_ch4.adb, sem_ch8.adb, s-memory.adb: Minor reformatting.
-
-2016-10-13  Vincent Celier  <celier@adacore.com>
-
-	* gnatcmd.adb: Delete all temporary files when invoked as gnat
-	list -V -P ...
-
-2016-10-13  Ed Falis  <falis@adacore.com>
-
-	* i-vxinco.adb, i-vxinco.ads: New files.
-	* impunit.adb: add i-vxinco.ads.
-	* s-interr-vxworks.adb: add hook for user interrupt connection routine.
-
-2016-10-13  Ed Falis  <falis@adacore.com>
-
-	* s-interr-hwint.adb, s-interr-vxworks.adb: Rename s-interr-hwint.adb
-	to s-interr-vxworks.adb.
-
-2016-10-13  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_ch7.adb, einfo.ads, sem_prag.adb, sem_prag.ads, sem.ads,
-	sem_attr.adb, sem_case.adb, sem_ch13.ads: Minor typo fixes and
-	reformatting.
-
-2016-10-13  Javier Miranda  <miranda@adacore.com>
-
-	* sem_prag.ads (Process_Compile_Time_Warning_Or_Error): New
-	overloaded subprogram that factorizes code executed as part
-	of the regular processing of these pragmas and as part of its
-	validation after invoking the backend.
-	* sem_prag.adb (Process_Compile_Time_Warning_Or_Error): New
-	subprogram.
-	(Process_Compile_Time_Warning_Or_Error): If the
-	condition is known at compile time then invoke the new overloaded
-	subprogram; otherwise register the pragma in a table to validate
-	it after invoking the backend.
-	* sem.ads, sem.adb (Unlock): New subprogram.
-	* sem_attr.adb (Analyze_Attribute [Size]): If we are processing
-	pragmas Compile_Time_Warning and Compile_Time_Errors after the
-	backend has been called then evaluate this attribute if 'Size
-	is known at compile time.
-	* gnat1drv.adb (Post_Compilation_Validation_Checks): Validate
-	compile time warnings and errors.
-	* sem_ch13.ads, sem_ch13.adb (Validate_Compile_Time_Warning_Error):
-	New subprogram.
-	(Validate_Compile_Time_Warning_Errors): New subprogram.
-
-2016-10-13  Yannick Moy  <moy@adacore.com>
-
-	* sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Adapt to
-	optional refinement for abstract states with only partial refinement
-	visible.
-
-2016-10-13  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch13.adb: Minor correction in comment in
-	Analyze_Aspect_Specifications
-	* sem_prag.adb: Minor reformatting.
-
-2016-10-13  Thomas Quinot  <quinot@adacore.com>
-
-	* s-stratt-xdr.adb: Disable compiler unit warnings.
-
-2016-10-13  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Visible_Component): In an instance body, check
-	whether the component may be hidden in a selected component by
-	a homonym that is a primitive operation of the type of the prefix.
-
-2016-10-13  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/77957
-	* gcc-interface/misc.c (LANG_HOOKS_GETDECLS): Use hook_tree_void_null
-	instead of lhd_return_null_tree_v.
-
-2016-10-12  Yannick Moy  <moy@adacore.com>
-
-	* einfo.adb, einfo.ads (Partial_Refinement_Constituents): Take
-	into account constituents that are themselves abstract states
-	with full or partial refinement visible.
-	* sem_prag.adb (Find_Encapsulating_State): Move function
-	to library-level, to share between subprograms.
-	(Analyze_Refined_Global_In_Decl_Part): Use
-	Find_Encapsulating_State to get relevant encapsulating state.
-
-2016-10-12  Arnaud Charlet  <charlet@adacore.com>
-
-	* gnat1drv.adb: Fix minor typo.
-
-2016-10-12  Yannick Moy  <moy@adacore.com>
-
-	* sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Adapt checking
-	for optional refinement of abstract state with partial
-	visible refinement.
-	(Analyze_Refined_Global_In_Decl_Part): Adapt checking for optional
-	refinement of abstract state with partial visible refinement. Implement
-	new rules in SPARK RM 7.2.4 related to optional refinement.
-	Also fix the missing detection of missing items.
-
-2016-10-12  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* einfo.adb Add new usage for Elist29 and Node35.
-	(Anonymous_Designated_Type): New routine.
-	(Anonymous_Master): Removed.
-	(Anonymous_Masters): New routine.
-	(Set_Anonymous_Designated_Type): New routine.
-	(Set_Anonymous_Master): Removed.
-	(Set_Anonymous_Masters): New routine.
-	(Write_Field29_Name): Add output for Anonymous_Masters.
-	(Write_Field35_Name): Remove the output for Anonymous_Master. Add
-	output for Anonymous_Designated_Type.
-	* einfo.ads Remove attribute Anonymous_Master along with
-	usage in entities. Add attributes Anonymous_Designated_Type
-	and Anonymous_Masters along with usage in entities.
-	(Anonymous_Designated_Type): New routine along with pragma Inline.
-	(Anonymous_Master): Removed along with pragma Inline.
-	(Anonymous_Masters): New routine along with pragma Inline.
-	(Set_Anonymous_Designated_Type): New routine along with pragma Inline.
-	(Set_Anonymous_Master): Removed along with pragma Inline.
-	(Set_Anonymous_Masters): New routine along with pragma Inline.
-	* exp_ch7.adb (Build_Anonymous_Master): Reuse an anonymous master
-	defined in the same unit if it services the same designated
-	type, otherwise create a new one.
-	(Create_Anonymous_Master): Reimplemented.
-	(Current_Anonymous_Master): New routine.
-	(In_Subtree): Removed.
-
-2016-10-12  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Analyze_Pragma, case Dynamic_Predicate):
-	Check properly whether there is an explicit assertion policy
-	for predicate checking, even in the presence of a general Ignore
-	assertion policy.
-
-2016-10-12  Steve Baird  <baird@adacore.com>
-
-	* sem.adb (Walk_Library_Items): Cope with ignored ghost units.
-
-2016-10-12  Ed Schonberg  <schonberg@adacore.com>
-
-	* lib-writ.adb (Write_ALI): Removal of unused file entries from
-	dependency list must be performed before the list is sorted,
-	so that the dependency number of other files is properly set-up
-	for use in tools that relate entity information to the unit in
-	which they are declared.
-
-2016-10-12  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_aggr.adb (Initialize_Ctrl_Array_Component):
-	Create a copy of the initialization expression to avoid sharing
-	it between multiple components.
-
-2016-10-12  Yannick Moy  <moy@adacore.com>
-
-	* einfo.adb, einfo.ads (Has_Partial_Visible_Refinement): New flag
-	in abtract states.
-	(Has_Non_Null_Visible_Refinement): Return true for patial refinement.
-	(Partial_Refinement_Constituents): New function returns the full or
-	partial refinement constituents depending on scope.
-	* sem_ch3.adb (Analyze_Declarations): Remove partial visible
-	refinements when exiting the scope of a package spec or body
-	and those partial refinements are not in scope afterwards.
-	* sem_ch7.adb, sem_ch7.ads (Install_Partial_Declarations): Mark
-	abstract states of parent units with partial refinement so that
-	it is visible.
-	* sem_prag.adb (Analyze_Part_Of_In_Decl_Part): Mark enclosing
-	abstract state if any as having partial refinement in that scope.
-	(Analyze_Refined_Global_In_Decl_Part): Check constituent usage
-	based on full or partial refinement depending on scope.
-
-2016-10-12  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch4.adb (Expand_N_Type_Conversion): If the target type
-	has an invariant aspect, insert invariant call at the proper
-	place in the code rather than rewriting the expression as an
-	expression with actions, to prevent spurious semantic errors on
-	the rewritten conversion when it is the object in a renaming.
-
-2016-10-12  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch5.adb, sem_ch3.adb, exp_ch9.adb, a-tags.adb, sem_prag.adb,
-	sem_ch12.adb, xref_lib.adb, a-strunb-shared.adb, rtsfind.adb,
-	freeze.adb, sem_attr.adb, sem_case.adb, exp_ch4.adb, ghost.adb,
-	exp_ch6.adb, sem_ch4.adb, restrict.adb, s-os_lib.adb: Minor
-	reformatting.
-
-2016-10-12  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch10.adb (Remove_Limited_With_Clause): Add a check to
-	detect accidental visibility.
-
-2016-10-12  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch4.adb (Expand_Allocator): If the expression is a qualified
-	expression, add a predicate check after the constraint check.
-	* sem_res.adb (Resolve_Qualified_Expression): If context is an
-	allocator, do not apply predicate check, as it will be done when
-	allocator is expanded.
-
-2016-10-12  Bob Duff  <duff@adacore.com>
-
-	* xref_lib.adb: Use renamings-of-slices to ensure
-	that all references to Tables are properly bounds checked (when
-	checks are turned on).
-	* g-dyntab.ads, g-dyntab.adb: Default-initialize the array
-	components, so we don't get uninitialized pointers in case
-	of Tables containing access types.  Misc cleanup of the code
-	and comments.
-
-2016-10-12  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_attr.adb (Analyze_Attribute, case 'Type_Key): Implement
-	functionality of attribute, to provide a reasonably unique key
-	for a given type and detect any changes in the semantics of the
-	type or any of its subcomponents from version to version.
-
-2016-10-12  Bob Duff  <duff@adacore.com>
-
-	* sem_case.adb (Check_Choice_Set): Separate
-	checking for duplicates out into a separate pass from checking
-	full coverage, because the check for duplicates does not depend
-	on predicates. Therefore, we shouldn't do it separately for the
-	predicate vs. no-predicate case; we should share code. The code
-	for the predicate case was wrong.
-
-2016-10-12  Jerome Lambourg  <lambourg@adacore.com>
-
-	* init.c: Make sure to call finit on x86_64-vx7 to reinitialize
-	the FPU unit.
-
-2016-10-12  Arnaud Charlet  <charlet@adacore.com>
-
-	* lib-load.adb (Load_Unit): Generate an error message even when
-	Error_Node is null.
-
-2016-10-12  Ed Schonberg  <schonberg@adacore.com>
-
-	* lib-writ.adb (Write_ALI): Disable optimization related to transitive
-	limited_with clauses for now.
-
-2016-10-12  Javier Miranda  <miranda@adacore.com>
-
-	* sem_attr.adb (Analyze_Attribute_Old_Result): Generating C
-	code handle 'old located in inlined _postconditions procedures.
-	(Analyze_Attribute [Attribute_Result]): Handle 'result when
-	rewriting the attribute as a reference to the formal parameter
-	_Result of inlined _postconditions procedures.
-
-2016-10-12  Tristan Gingold  <gingold@adacore.com>
-
-	* s-rident.ads (Profile_Info): Remove
-	Max_Protected_Entries restriction from GNAT_Extended_Ravenscar
-	* sem_ch9.adb (Analyze_Protected_Type_Declaration):
-	Not a controlled type on restricted runtimes.
-
-2016-10-12  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_ch3.adb (Derive_Subprogram): Add test
-	for Is_Controlled of Parent_Type when determining whether an
-	inherited subprogram with one of the special names Initialize,
-	Adjust, or Finalize should be derived with its normal name even
-	when inherited as a private operation (which would normally
-	result in the inherited operation having a special "hidden" name).
-
-2016-10-12  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_res.adb (Resolve_Call): If a function call returns a
-	limited view of a type replace it with the non-limited view,
-	which must be available when compiling call.  This was already
-	done elsewhere for non-overloaded calls, but needs to be done
-	after resolution if function name is overloaded.
-
-2016-10-12  Javier Miranda  <miranda@adacore.com>
-
-	* a-tags.adb (IW_Membership [private]): new overloaded
-	subprogram that factorizes the code needed to check if a
-	given type implements an interface type.
-	(IW_Membership
-	[public]): invoke the new internal IW_Membership function.
-	(Is_Descendant_At_Same_Level): Fix this routine to implement RM
-	3.9 (12.3/3)
-
-2016-10-12  Tristan Gingold  <gingold@adacore.com>
-
-	* exp_ch9.adb (Expand_N_Delay_Relative_Statement): Add support
-	for a secondary procedure in case of missing Ada.Calendar.Delays
-	* rtsfind.ads (RTU_Id): Add System_Relative_Delays.
-	(RE_Id): Add RO_RD_Delay_For.
-	* rtsfind.adb (Output_Entity_Name): Handle correctly units RO_XX.
-	* s-rident.ads: Remove No_Relative_Delays
-	restriction for GNAT_Extended_Ravenscar.
-
-2016-10-12  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_elab.adb (Within_Initial_Condition):  When deternining
-	the context of the expression, use the original node if it is
-	a pragma, because Check pragmas are rewritten as conditionals
-	when assertions are not enabled.
-
-2016-10-12  Bob Duff  <duff@adacore.com>
-
-	* spitbol_table.ads, spitbol_table.adb (Adjust, Finalize): Add
-	"overriding".
-
-2016-10-12  Bob Duff  <duff@adacore.com>
-
-	* a-strunb-shared.ads, a-strunb-shared.adb (Finalize):
-	Make sure Finalize is idempotent.
-	(Unreference): Check for
-	Empty_Shared_String, in case the reference count of the empty
-	string wraps around.
-	Also add "not null" in various places that can't be null.
-
-2016-10-12  Jerome Lambourg  <lambourg@adacore.com>
-
-	* init.c: Fix sigtramp with the x86_64-vx7-vxsim target on
-	Windows host.
-
-2016-10-12  Vadim Godunko  <godunko@adacore.com>
-
-	* s-os_lib.ads (Is_Owner_Readable_File): Renamed from
-	Is_Readable_File.
-	(Is_Owner_Writable_File): Renamed from Is_Writable_File.
-	(Is_Readable_File): Renames Is_Read_Accessible_File.
-	(Is_Writable_File): Renames Is_Write_Accessible_File.
-
-2016-10-12  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Check_Formal_Package_Instance): Skip an internal
-	formal entity without a parent only if the corresponding actual
-	entity has a different kind.
-	* exp_ch9.adb (Build_Class_Wide_Master): If the master is
-	declared locally, insert the renaming declaration after the
-	master declaration, to prevent access before elaboration in gigi.
-
-2016-10-12  Ed Schonberg  <schonberg@adacore.com>
-
-	* contracts.adb (Analyze_Contracts): For a type declaration, analyze
-	an iterable aspect when present.
-
-2016-10-12  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Check_Formal_Package_Instance): Handle properly
-	an instance of a formal package with defaults, when defaulted
-	parameters include tagged private types and array types.
-
-2016-10-12  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/64057.
-	* exp_ch5.adb (Is_Non_Local_Array): Return true for every array
-	that is not a component or slice of an entity in the current
-	scope.
-
-2016-10-12  Tristan Gingold  <gingold@adacore.com>
-
-	* restrict.ads, restrict.adb (Restricted_Profile): Adjust
-	comment, use Restricted_Tasking to compare restrictions.
-	* s-rident.ads (Profile_Name): Add Restricted_Tasking and
-	reorder literals.
-	(Profile_Info): Set restrictions for Restricted_Tasking.
-
-2016-10-12  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Analyze_Full_Type_Declaration): Set Ghost status
-	of type before elaborating inherited operations, so that the
-	Ghost status is set properly for them.
-	* ghost.adb (Check_Ghost_Overriding): A ghost subprogram can
-	override an abstract subprogram coming from an interface
-	operation.
-
-2016-10-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* system-linux-armeb.ads (Backend_Overflow_Checks): Change to True.
-	* system-linux-mips.ads (Backend_Overflow_Checks): Likewise.
-	* system-linux-mips64el.ads (Backend_Overflow_Checks): Likewise.
-	* system-linux-mipsel.ads (Backend_Overflow_Checks): Likewise.
-	* system-linux-sparcv9.ads (Backend_Overflow_Checks): Likewise.
-	* system-rtems.ads (Backend_Overflow_Checks): Likewise.
-
-2016-10-11  Andris Pavenis  <andris.pavenis@iki.fi>
-
-	* adaint.c: Include process.h, signal.h, dir.h and utime.h for DJGPP.
-	ISALPHA: include <ctype.h> and define to isalpha for DJGPP when IN_RTS
-	is defined.
-	(DIR_SEPARATOR) define to '\\' for DJGPP.
-	(__gnat_get_file_names_case_sensitive): Return 0 for DJGPP unless
-	overriden in environment.
-	(__gnat_is_absolute_path): Support MS-DOS absolute paths for DJGPP.
-	(__gnat_portable_spawn): Use spewnvp for DJGPP.
-	(__gnat_portable_no_block_spawn): Use spawnvp for DJGPP.
-	(__gnat_portable_wait): Return 0 for DJGPP.
-
-2016-10-11  Andris Pavenis  <andris.pavenis@iki.fi>
-
-	* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS): Define for DJGPP.
-	(EH_MECHANISM): Define to -gcc for DJGPP.
-	* system-djgpp.ads: New file.
-
-2016-10-11  Andris Pavenis  <andris.pavenis@iki.fi>
-
-	* ctrl_c.c: Do not use macro SA_RESTART for DJGPP.
-	* gsocket.h: Do not support sockets for DJGPP.
-	* init.c (__gnat_install_handler): Implememt for DJGPP.
-	* sysdep.c: Include <io.h> for DJGPP.
-	(_setmode): Define to setmode for DJGPP.
-	(__gnat_set_mode): Add implementation for DJGPP.
-	(__gnat_localtime_tzoff): Use localtime_r for DJGPP.
-	* terminals.c: Add DJGPP to list of unsupported platforms.
-	* env.c (__gnat_clearenv): Use _gnat_unsetenv on all entries for DJGPP.
-
-2016-10-11  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* exp_dbug.adb (Debug_Renaming_Declaration): Process underlying types.
-	Emit GNAT encodings for object renamings involving record components
-	whose normalized bit offset is not null.
-	* uintp.h (UI_No_Uint): Declare.
-	* gcc-interface/gigi.h (can_materialize_object_renaming_p): Likewise.
-	* gcc-interface/utils.c (can_materialize_object_renaming_p): New
-	function.
-	* gcc-interface/trans.c (gnat_to_gnu) <N_Object_Renaming_Declaration>:
-	In code generation mode, materialize all renamings as long as they need
-	debug info and we are not optimizing.
-
-2016-10-11  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* gcc-interface/utils2.c (build_binary_op): Add a NO_FOLD argument.
-	Disable folding when it is true.
-	* gcc-interface/gigi.h (choices_to_gnu): Remove declaration.
-	(build_binary_op): Update signature and comment.
-	* gcc-interface/decl.c (choices_to_gnu): Make static.  Disable
-	folding in calls to build_binary_op.
-
-2016-10-11  Tristan Gingold  <gingold@adacore.com>
-
-	* fe.h (Constant_Value): Declare.
-	* gcc-interface/decl.c (compile_time_known_address_p): Also consider
-	references to constants.
-
-2016-10-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (gnat_to_gnu) <N_Op_Add>: Adjust comment.
-	<N_Op_Minus>: Add comment and missing guard.
-	* gcc-interface/trans.c (build_binary_op_trapv): Use an explicit test.
-
-2016-10-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/utils.c (type_unsigned_for_rm): New predicate.
-	(make_type_from_size): Use it.
-	(unchecked_convert): Likewise.  Do not skip the extension step if the
-	source type is not integral.
-
-2016-10-11  Eric Botcazou  <ebotcazou@adacore.com>
-            Tristan Gingold  <gingold@adacore.com>
-
-	* system-linux-ppc64.ads: Delete.
-	* system-linux-ppc.ads: Make 32-bit/64-bit neutral.
-	* gcc-interface/Makefile.in (PowerPC/Linux): Simplify.
-
-2016-10-10  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity): Put volatile qualifier
-	on types at the very end of the processing.
-	(gnat_to_gnu_param): Remove redundant test.
-	(change_qualified_type): Do nothing for unconstrained array types.
-
-2016-10-10  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/utils2.c (find_common_type): Do not return the LHS type
-	if it's an array with non-constant lower bound and the RHS type is an
-	array with a constant one.
-
-2016-10-10  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/utils.c (convert): For a biased input type, convert the
-	bias itself to the base type before adding it.
-
-2016-10-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/utils.c (convert) <VECTOR_CST>: Add missing break.
-
-	Revert
-	2016-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	* gcc-interface/decl.c: Fix fall through comment formatting.
-	* gcc-interface/misc.c: Likewise.
-	* gcc-interface/trans.c: Likewise.
-	* gcc-interface/utils.c: Likewise.
-	* gcc-interface/utils2.c: Likewise.
-
-2016-09-29  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* gcc-interface/misc.c (gnat_post_options): Remove special case for
-	TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard.
-
-2016-09-27  Jakub Jelinek  <jakub@redhat.com>
-
-	* terminals.c (is_gui_app): Remove break after return.
-
-2016-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	* gcc-interface/decl.c: Fix fall through comment formatting.
-	* gcc-interface/misc.c: Likewise.
-	* gcc-interface/trans.c: Likewise.
-	* gcc-interface/utils.c: Likewise.
-	* gcc-interface/utils2.c: Likewise.
-
-2016-09-23  Jakub Jelinek  <jakub@redhat.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity): Use
-	CONSTRUCTOR_NELTS (...) instead of
-	vec_safe_length (CONSTRUCTOR_ELTS (...)).
-
-2016-07-14  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Also use
-	the void pointer type if the designated type is incomplete and has no
-	full view in LTO mode.
-	<E_Access_Protected_Subprogram_Type>: Adjust comment.
-	<E_Incomplete_Type>: Likewise.
-	* gcc-interface/trans.c (Call_to_gnu): Do not convert to the type of
-	the actual if it is a dummy type.
-
-2016-07-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* gcc-interface/ada-tree.h (TYPE_ALIGN_OK): Define.
-	* gcc-interface/trans.c (Attribute_to_gnu): Adjust call to
-	get_inner_reference.
-	* gcc-interface/utils2.c (build_unary_op): Likewise.
-
-2016-07-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (add_decl_expr): Minor tweak.
-	* gcc-interface/utils.c (create_var_decl): For an external variable,
-	also clear TREE_READONLY in LTO mode if the initializer is not a valid
-	constant and set DECL_READONLY_ONCE_ELAB instead.
-
-2016-07-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/71817
-	* adaint.c (__gnat_is_read_accessible_file): Add parentheses.
-	(__gnat_is_write_accessible_file): Likewise.
-
-2016-07-07  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch6.adb (Expand_Internal_Init_Call): Subsidiary procedure
-	to Expand_Protected_ Subprogram_Call, to handle properly a
-	call to a protected function that provides the initialization
-	expression for a private component of the same protected type.
-	* sem_ch9.adb (Analyze_Protected_Definition): Layout must be
-	applied to itypes generated for a private operation of a protected
-	type that has a formal of an anonymous access to subprogram,
-	because these itypes have no freeze nodes and are frozen in place.
-	* sem_ch4.adb (Analyze_Selected_Component): If prefix is a
-	protected type and it is not a current instance, do not examine
-	the first private component of the type.
-
-2016-07-07  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_imgv.adb, g-dynhta.adb, s-regexp.adb, s-fatgen.adb, s-poosiz.adb:
-	Minor removal of extra whitespace.
-	* einfo.ads: minor removal of repeated "as" in comment
-
-2016-07-07  Vadim Godunko  <godunko@adacore.com>
-
-	* adaint.c: Complete previous change.
-
-2016-07-07  Vadim Godunko  <godunko@adacore.com>
-
-	* adainit.h, adainit.c (__gnat_is_read_accessible_file): New
-	subprogram.
-	(__gnat_is_write_accessible_file): New subprogram.
-	* s-os_lib.ads, s-os_lib.adb (Is_Read_Accessible_File): New subprogram.
-	(Is_Write_Accessible_File): New subprogram.
-
-2016-07-07  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch12.adb (Install_Body): Minor refactoring in the order
-	of local functions.
-	(In_Same_Scope): Change loop condition to be more expressive.
-
-2016-07-07  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_ch3.adb, sem_prag.adb, sem_prag.ads, prj-ext.adb, freeze.adb,
-	sem_attr.adb: Minor reformatting, fix typos.
-
-2016-07-07  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch12.adb (In_Same_Scope): Created this function to check
-	a generic package definition against an instantiation for scope
-	dependancies.
-	(Install_Body): Add function In_Same_Scope and
-	amend conditional in charge of delaying the package instance.
-	(Is_In_Main_Unit): Add guard to check if parent is present in
-	assignment of Current_Unit.
-
-2016-07-07  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove redundant test,
-	adjust comments and formatting.
-	* sem_prag.adb (Inlining_Not_Possible): Do not test Front_End_Inlining
-	here but...
-	(Make_Inline): ...here before calling Inlining_Not_Possible instead.
-	(Set_Inline_Flags): Remove useless test.
-	(Analyze_Pragma) <Pragma_Inline>: Add comment about -gnatn switch.
-
-2016-07-07  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.ads, sem_prag.adb (Build_Classwide_Expression): Include
-	overridden operation as parameter, in order to map formals of
-	the overridden and overring operation properly prior to rewriting
-	the inherited condition.
-	* freeze.adb (Check_Inherited_Cnonditions): Change call to
-	Build_Class_Wide_Expression accordingly.  In Spark_Mode, add
-	call to analyze the contract of the parent operation, prior to
-	mapping formals between operations.
-
-2016-07-07  Arnaud Charlet  <charlet@adacore.com>
-
-	* adabkend.adb (Scan_Back_End_Switches): Ignore -o/-G switches
-	as done in back_end.adb.
-	(Scan_Compiler_Args): Remove special case for CodePeer/SPARK, no longer
-	needed, and prevents proper handling of multi-unit sources.
-
-2016-07-07  Thomas Quinot  <quinot@adacore.com>
-
-	* g-sechas.adb, g-sechas.ads (GNAT.Secure_Hashes.H): Add Hash_Stream
-	type with Write primitive calling Update on the underlying context
-	(and dummy Read primitive raising P_E).
-
-2016-07-07  Thomas Quinot  <quinot@adacore.com>
-
-	* sem_ch13.adb: Minor reformatting.
-
-2016-07-07  Thomas Quinot  <quinot@adacore.com>
-
-	* g-socket.ads: Document performance consideration for stream
-	wrapper.
-
-2016-07-07  Arnaud Charlet  <charlet@adacore.com>
-
-	* osint-c.ads (Set_File_Name): Clarify spec.
-
-2016-07-07  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* freeze.adb: Reenable code.
-
-2016-07-07  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch6.adb (Process_Formals): Set ghost flag
-	on formal entities of ghost subprograms.
-	* ghost.adb (Check_Ghost_Context.Is_OK_Ghost_Context): Accept ghost
-	entities in use type clauses.
-
-2016-07-06  Javier Miranda  <miranda@adacore.com>
-
-	* sem_ch6.adb (Check_Inline_Pragma): if the subprogram has no spec
-	then move its aspects to the internally built subprogram spec.
-
-2016-07-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch6.adb (Analyze_Expression_Function): Mark body of
-	expression function as ghost if needed when created.
-	* sem_prag.adb (Analyze_Pragma.Process_Inline.Set_Inline_Flags):
-	Remove special case.
-
-2016-07-06  Arnaud Charlet  <charlet@adacore.com>
-
-	* lib.adb (Check_Same_Extended_Unit): Complete previous change.
-	* sem_intr.adb (Errint): New parameter Relaxed. Refine previous
-	change to only disable errors selectively.
-	* sem_util.adb: minor style fix in object declaration
-
-2016-07-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_warn.adb (Check_Infinite_Loop_Warning.Find_Var): Special case a
-	call to a volatile function, so that it does not lead to a warning in
-	that case.
-
-2016-07-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch12.adb, sem_ch4.adb, sem_ch6.adb: Minor reformatting.
-
-2016-07-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* gnat1drv.adb: Code clean up. Do not emit any
-	code generation errors when the unit is ignored Ghost.
-
-2016-07-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_eval.adb (Check_Non_Static_Context): If the expression
-	is a real literal of a floating point type that is part of a
-	larger expression and is not a static expression, transform it
-	into a machine number now so that the rest of the computation,
-	even if other components are static, is not evaluated with
-	extra precision.
-
-2016-07-06  Javier Miranda  <miranda@adacore.com>
-
-	* sem_ch13.adb (Freeze_Entity_Checks): Undo previous patch and move the
-	needed functionality to Analyze_Freeze_Generic_Entity.
-	(Analyze_Freeze_Generic_Entity): If the entity is not already frozen
-	and has delayed aspects then analyze them.
-
-2016-07-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_prag.adb (Analyze_Pragma.Process_Inline.Set_Inline_Flags):
-	Special case for unanalyzed body entity of ghost expression function.
-
-2016-07-06  Javier Miranda  <miranda@adacore.com>
-
-	* sem_ch7.adb (Analyze_Package_Specification): Insert its
-	freezing nodes after the last declaration. Needed to ensure
-	that global entities referenced in aspects of frozen types are
-	properly handled.
-	* freeze.adb (Freeze_Entity): Minor code reorganization to ensure
-	that freezing nodes of generic packages are handled.
-	* sem_ch13.adb (Freeze_Entity_Checks): Handle N_Freeze_Generic nodes.
-	* sem_ch12.adb (Save_References_In_Identifier): Handle selected
-	components which denote a named number that is constant folded
-	in the analyzed copy of the tree.
-
-2016-07-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_aggr.adb Remove with and use clauses for Exp_Ch11 and Inline.
-	(Initialize_Array_Component): Protect the initialization
-	statements in an abort defer / undefer block when the associated
-	component is controlled.
-	(Initialize_Record_Component): Protect the initialization statements
-	in an abort defer / undefer block when the associated component is
-	controlled.
-	(Process_Transient_Component_Completion): Use Build_Abort_Undefer_Block
-	to create an abort defer / undefer block.
-	* exp_ch3.adb Remove with and use clauses for Exp_ch11 and Inline.
-	(Default_Initialize_Object): Use Build_Abort_Undefer_Block to
-	create an abort defer / undefer block.
-	* exp_ch5.adb (Expand_N_Assignment_Statement): Mark an abort
-	defer / undefer block as such.
-	* exp_ch9.adb (Find_Enclosing_Context): Do not consider an abort
-	defer / undefer block as a suitable context for an activation
-	chain or a master.
-	* exp_util.adb Add with and use clauses for Exp_Ch11.
-	(Build_Abort_Undefer_Block): New routine.
-	* exp_util.ads (Build_Abort_Undefer_Block): New routine.
-	* sinfo.adb (Is_Abort_Block): New routine.
-	(Set_Is_Abort_Block): New routine.
-	* sinfo.ads New attribute Is_Abort_Block along with occurrences
-	in nodes.
-	(Is_Abort_Block): New routine along with pragma Inline.
-	(Set_Is_Abort_Block): New routine along with pragma Inline.
-
-2016-07-06  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch4.adb (Analyze_One_Call): Add a conditional to handle
-	disambiguation.
-
-2016-07-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* einfo.adb Flag252 is now used as Is_Finalized_Transient. Flag295
-	is now used as Is_Ignored_Transient.
-	(Is_Finalized_Transient): New routine.
-	(Is_Ignored_Transient): New routine.
-	(Is_Processed_Transient): Removed.
-	(Set_Is_Finalized_Transient): New routine.
-	(Set_Is_Ignored_Transient): New routine.
-	(Set_Is_Processed_Transient): Removed.
-	(Write_Entity_Flags): Output Flag252 and Flag295.
-	* einfo.ads: New attributes Is_Finalized_Transient
-	and Is_Ignored_Transient along with occurrences in
-	entities. Remove attribute Is_Processed_Transient.
-	(Is_Finalized_Transient): New routine along with pragma Inline.
-	(Is_Ignored_Transient): New routine along with pragma Inline.
-	(Is_Processed_Transient): Removed along with pragma Inline.
-	(Set_Is_Finalized_Transient): New routine along with pragma Inline.
-	(Set_Is_Ignored_Transient): New routine along with pragma Inline.
-	(Set_Is_Processed_Transient): Removed along with pragma Inline.
-	* exp_aggr.adb Add with and use clauses for Exp_Ch11 and Inline.
-	(Build_Record_Aggr_Code): Change the handling
-	of controlled record components.
-	(Ctrl_Init_Expression): Removed.
-	(Gen_Assign): Add new formal parameter In_Loop
-	along with comment on usage.  Remove local variables Stmt and
-	Stmt_Expr. Change the handling of controlled array components.
-	(Gen_Loop): Update the call to Gen_Assign.
-	(Gen_While): Update the call to Gen_Assign.
-	(Initialize_Array_Component): New routine.
-	(Initialize_Ctrl_Array_Component): New routine.
-	(Initialize_Ctrl_Record_Component): New routine.
-	(Initialize_Record_Component): New routine.
-	(Process_Transient_Component): New routine.
-	(Process_Transient_Component_Completion): New routine.
-	* exp_ch4.adb (Process_Transient_In_Expression): New routine.
-	(Process_Transient_Object): Removed. Replace all existing calls
-	to this routine with calls to Process_Transient_In_Expression.
-	* exp_ch6.adb (Expand_Ctrl_Function_Call): Remove local constant
-	Is_Elem_Ref. Update the comment on ignoring transients.
-	* exp_ch7.adb (Process_Declarations): Do not process ignored
-	or finalized transient objects.
-	(Process_Transient_In_Scope): New routine.
-	(Process_Transients_In_Scope): New routine.
-	(Process_Transient_Objects): Removed. Replace all existing calls
-	to this routine with calls to Process_Transients_In_Scope.
-	* exp_util.adb (Build_Transient_Object_Statements): New routine.
-	(Is_Finalizable_Transient): Do not consider a transient object
-	which has been finalized.
-	(Requires_Cleanup_Actions): Do not consider ignored or finalized
-	transient objects.
-	* exp_util.ads (Build_Transient_Object_Statements): New routine.
-	* sem_aggr.adb: Major code clean up.
-	* sem_res.adb: Update documentation.
-
-2016-07-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Analyze_Subtype_Declaration): For generated
-	subtypes, such as actual subtypes of unconstrained formals,
-	inherit predicate functions, if any, from the parent type rather
-	than creating redundant new ones.
-
-2016-07-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_attr.adb, sem_attr.adb, sem_ch13.adb: Minor reformatting.
-
-2016-07-06  Arnaud Charlet  <charlet@adacore.com>
-
-	* lib.adb (Check_Same_Extended_Unit): Prevent looping forever.
-	* gnatbind.adb: Disable some consistency checks in codepeer mode,
-	which are not needed.
-
-2016-07-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Check_Fixed_Point_Actual): Add a warning when
-	a formal fixed point type is instantiated with a type that has
-	a user-defined arithmetic operations, but the generic has no
-	corresponding formal functions. This is worth a warning because
-	of the special semantics of fixed-point operators.
-
-2016-07-06  Bob Duff  <duff@adacore.com>
-
-	* sem_attr.adb (Analyze_Attribute): Allow any expression of
-	discrete type.
-	* exp_attr.adb (Expand_N_Attribute_Reference): Change the
-	constant-folding code to correctly handle cases newly allowed
-	by Analyze_Attribute.
-
-2016-07-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity): Invoke global_bindings_p
-	last when possible.  Do not call elaborate_expression_2 on offsets in
-	local record types and avoid useless processing for constant offsets.
-
-2016-07-04  Arnaud Charlet  <charlet@adacore.com>
-
-	* gnat_rm.texi, gnat_ugn.texi,
-	doc/gnat_ugn/gnat_project_manager.rst,
-	doc/gnat_ugn/building_executable_programs_with_gnat.rst,
-	doc/gnat_ugn/elaboration_order_handling_in_gnat.rst,
-	doc/gnat_ugn/about_this_guide.rst,
-	doc/gnat_ugn/platform_specific_information.rst,
-	doc/gnat_ugn/tools_supporting_project_files.rst,
-	doc/gnat_ugn/gnat_and_program_execution.rst,
-	doc/gnat_ugn/gnat_utility_programs.rst,
-	doc/gnat_ugn/the_gnat_compilation_model.rst,
-	doc/gnat_rm/implementation_defined_attributes.rst,
-	doc/gnat_rm/implementation_defined_pragmas.rst,
-	doc/gnat_rm/representation_clauses_and_pragmas.rst,
-	doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
-	doc/gnat_ugn.rst: Update documentation.
-
-2016-07-04  Arnaud Charlet  <charlet@adacore.com>
-
-	* gcc-interface/Makefile.in: Cleanups.
-
-2016-07-04  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_attr.adb (Analyze_Attribute_Old_Result): The attributes can
-	appear in the postcondition of a subprogram renaming declaration,
-	when the renamed entity is an attribute reference that is a
-	function (such as 'Value).
-	* sem_attr.adb (Eval_Attribute): It doesn't
-	need to be static, just known at compile time, so use
-	Compile_Time_Known_Value instead of Is_Static_Expression.
-	This is an efficiency improvement over the previous bug fix.
-	* sem_ch13.adb (Analyze_One_Aspect): Use Original_Node to detect
-	illegal aspects on subprogram renaming declarations that may
-	have been rewritten as bodies.
-
-2016-07-04  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_intr.adb (Errint): Do not emit error message in
-	Relaxed_RM_Semantics mode.
-
-2016-07-04  Bob Duff  <duff@adacore.com>
-
-	* sem_attr.adb (Eval_Attribute): The code was assuming
-	that X'Enum_Rep, where X denotes a constant, can be constant
-	folded. Fix it so it makes that assumption only when X denotes
-	a STATIC constant.
-
-2016-07-04  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Compatible_Types_In_Predicate): New function
-	to handle cases where a formal of a predicate function and the
-	corresponding actual have different views of the same type.
-
-2016-07-04  Philippe Gil  <gil@adacore.com>
-
-	* g-debpoo.adb (Free_Blocks) free blocks also until
-	Logically_Deallocated less than Maximum_Logically_Freed_Memory
-	(Dump) add dump of number of traceback & validity elements
-	already allocated.
-
-2016-07-04  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch12.adb (Instantiate_Package_Body): Add
-	a guard to ignore Itypes which fail when installing primitives.
-
-2016-07-04  Bob Duff  <duff@adacore.com>
-
-	* sem_eval.adb (Decompose_Expr): Set 'out' parameters
-	Kind and Cons to valid values, to avoid use of uninit vars.
-	(Extract_Length): Reorder the check to make it clearer that
-	we're depending on BOTH Ent1 and Ent2 to be Present.
-	* sem_aggr.adb (Resolve_Aggregate): Remove dead code.
-	(Check_Misspelled_Component): Remove exit statement, because
-	it's covered by the 'while' condition.
-	* checks.adb (Apply_Selected_Range_Checks): Remove useless
-	condition "or else not Checks_On".
-	(Selected_Range_Checks):
-	Initialize Known_LB and Known_HB to False, because they are
-	tested unconditionally; avoid use of uninit vars.
-	* frontend.adb (Frontend): Removed useless condition
-	"Operating_Mode = Check_Semantics and then", and added an Assert
-	to clarify why it was useless.
-	* prep.adb (Preprocess): Remove redundant condition. Add an
-	assertion.
-	* sem_ch10.adb (Analyze_Proper_Body): Moved redundant condition
-	"Original_Operating_Mode = Generate_Code" to an Assert.
-	(Process_Spec_Clauses, Process_Body_Clauses): Change parameters
-	from 'in out' to 'out', and don't initialize actuals.
-	* sem_ch12.adb (Is_In_Main_Unit): Removed useless condition
-	"Unum = Main_Unit or else".
-	(Save_Global_Descendant): Moved
-	redundant condition "D = Union_Id (No_List)" to an Assert.
-	* sem_ch4.adb (Check_Misspelled_Selector): Remove exit
-	statement, because it's covered by the 'while' condition.
-	(Analyze_Case_Expression): Initialize Wrong_Alt to Empty,
-	because it looks like it is used uninitialized otherwise.
-	* sem_ch6.adb (Check_Return_Subtype_Indication): Moved redundant
-	condition "not R_Type_Is_Anon_Access" to an Assert.
-	* sem_elim.adb (Line_Num_Match): Moved redundant condition
-	"Sloc_Trace (Idx) = '['" to an Assert.
-	* sem_util.adb (Compile_Time_Constraint_Error): Change "J" to
-	"J - 1". This code is trying to replace "?" with "<", but not if
-	the "?" is quoted, as in "'?", so we want to check the PREVIOUS
-	character for '''.
-	* snames.adb-tmpl (Is_Pragma_Name): Remove useless condition
-	"or else N = Name_Relative_Deadline". It's useless because
-	Name_Relative_Deadline is in the range First_Pragma_Name
-	.. Last_Pragma_Name.
-	* treepr.adb (Visit_Node): Moved redundant condition "D =
-	Union_Id (No_List)" to an Assert.
-	* sem_ch3.adb (Derive_Subprogram, Derive_Subprograms): Change
-	parameters from 'in out' to 'out'.
-	* errout.adb (Error_Msg_Internal): Replace redundant test with Assert.
-	* inline.adb (Add_Inlined_Body): Code cleanup.
-
-2016-07-04  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* g-sercom-mingw.adb, sem_ch6.adb: Minor reformatting.
-
-2016-07-04  Olivier Hainque  <hainque@adacore.com>
-
-	* g-sercom-mingw.adb (Set): Fix port configuration for the
-	non-blocking + null-timeout case, request of immediate return.
-
-2016-07-04  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Is_Non_Overriding_Operation): Add guard to test
-	of generic parent type when operation is a parameterless function
-	that may dispatch on result.
-
-2016-07-04  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* freeze.adb, ghost.adb, sem_ch13.adb: Minor reformatting.
-
-2016-07-04  Pascal Obry  <obry@adacore.com>
-
-	* g-forstr.ads: More documentation for the Formatted_String
-	support.
-
-2016-07-04  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch7.adb (Install_Parent_Private_Declarations): When
-	instantiating a child unit, do not install private declaration of
-	a non-generic ancestor of the generic that is also an ancestor
-	of the current unit: its private part will be installed when
-	private part of ancestor itself is analyzed.
-
-2016-07-04  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Instantiate_Object): In SPARK mode add a guard
-	to verify that the actual is an object reference before checking
-	for volatility.
-	(Check_Generic_Child_Unit): Prevent cascaded errors when prefix
-	is illegal.
-
-2016-07-04  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_ch12.ads, freeze.adb: Minor reformatting and typo fixes.
-
-2016-07-04  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (New_Stream_Subprogram): If the attribute
-	definition clause comes from an aspect specification, place the
-	generated subprogram renaming in the freeze actions of the type.
-
-2016-07-04  Philippe Gil  <gil@adacore.com>
-
-	* g-debpoo.adb (Dump.Do_Report) - add space prefix to backtrace
-	address dump - avoid new line sent directly to stdout.
-
-2016-07-04  Arnaud Charlet  <charlet@adacore.com>
-
-	* gnat1drv.adb, sem_ch12.adb, sem_elab.adb, sem_prag.adb, sem_res.adb:
-	Relax elaboration checks in SPARK_Mode so that we rely on the
-	static elaboration model (if used). We'll have a more precise
-	check performed in flow analysis of gnat2why.
-
-2016-07-04  Ed Schonberg  <schonberg@adacore.com>
-
-	* ghost.adb (Prune_Node): A freeze node for an ignored ghost
-	entity must be pruned as well.
-
-2016-07-04  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_type.adb, einfo.ads, freeze.adb, exp_ch6.adb: Minor reformatting
-	and typo fix.
-
-2016-07-04  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch3.adb, sem_type.adb, sem_ch12.adb, xref_lib.adb,
-	freeze.adb, sinput-l.adb, sinput-l.ads, sem_ch4.adb, sem_ch8.adb:
-	Minor reformatting.
-
-2016-07-04  Justin Squirek  <squirek@adacore.com>
-
-	* sem_prag.adb (Analyze_Unmodified_Or_Unused and
-	Analyze_Unreferenced_Or_Unused): Change warning message to be
-	more clear about pragma duplicates.
-
-2016-07-04  Yannick Moy  <moy@adacore.com>
-
-	* sinput-l.adb (Create_Instantiation_Source): Set component
-	Inlined_Call for inherited pragma case.
-	* sinput.adb, sinput.ads (Instantiation): Return component
-	Inlined_Call for inherited pragma case.
-
-2016-07-04  Bob Duff  <duff@adacore.com>
-
-	* sem_type.adb (Remove_Conversions): Protect
-	the call to Left_Opnd by checking for Nkind in N_Unary_Op --
-	unary operators do not have a left operand.
-
-2016-07-04  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Analyze_Object_Declaration): A declaration of a
-	constant in a protected operation may be a homonym of a private
-	component of the enclosing protected type. This declaration hides
-	the component renaming constructed within the protected operation.
-
-2016-07-04  Bob Duff  <duff@adacore.com>
-
-	* xref_lib.adb (Parse_X_Filename, Parse_Identifier_Info): Ignore
-	unknown files. Check that File_Nr is in the range of files we
-	know about. The previous code was checking the lower bound,
-	but not the upper bound.
-
-2016-07-04  Arnaud Charlet  <charlet@adacore.com>
-
-	* tracebak.c: Minor reformatting.
-
-2016-07-04  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch12.adb, sem_ch12.ads Update calls to
-	Create_Instantiation_Source to use default argument.
-	(Adjust_Inherited_Pragma_Sloc): New function to adjust sloc
-	of inherited pragma.
-	(Set_Copied_Sloc_For_Inherited_Pragma):
-	New function that wraps call to Create_Instantiation_Source for
-	copying an inherited pragma.
-	(Set_Copied_Sloc_For_Inlined_Body): Update call to
-	Create_Instantiation_Source with new arguments.
-	* sem_prag.adb (Build_Pragma_Check_Equivalent): In the case
-	of inherited pragmas, use the generic machinery to get chained
-	locations for the pragma and its sub-expressions.
-	* sinput-c.adb: Adapt to new type Source_File_Record.
-	* sinput-l.adb, sinput-l.ads (Create_Instantiation_Source):
-	Add parameter Inherited_Pragma and make parameter Inlined_Body
-	optional.
-	* sinput.adb, sinput.ads (Comes_From_Inherited_Pragma): New
-	function to return when a location comes from an inherited pragma.
-	(Inherited_Pragma): New function to detect when a location comes
-	from an inherited pragma.
-	(Source_File_Record): New component Inherited_Pragma.
-
-2016-07-04  Yannick Moy  <moy@adacore.com>
-
-	* sem_elab.adb: Register existence of quickfix for error message.
-
-2016-07-04  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Resolve_One_Call): In the context of a predicate
-	function the formal and the actual in a call may have different
-	views of the same type, because of the delayed analysis of
-	predicates aspects. Extend the patch that handles this potential
-	discrepancy to handle private and full views as well.
-	* sem_ch8.adb (Find_Selected_Component): Refine predicate that
-	produces additional error when an illegal selected component
-	looks like a prefixed call whose first formal is untagged.
-
-2016-07-04  Justin Squirek  <squirek@adacore.com>
-
-	* einfo.adb (Has_Pragma_Unused): Create this function as a setter
-	for a new flag294 (Set_Has_Pragma_Unused): Create this procedure
-	as a getter for flag294 (Write_Entity_Flags): Register the new
-	flag with an alias
-	* einfo.ads Add comment documenting Has_Pragma_Unused (flag294)
-	and subsequent getter and setter declarations.
-	* lib-xref.adb (Generate_Reference): Recognize Has_Pragma_Unused
-	flag to print appropriate warning messages.
-	* par-prag.adb (Prag): Classify Pragma_Unused into "All Other
-	Pragmas."
-	* snames.ads-tmpl Add a new name to the name constants and a
-	new pramga to Pragma_Id for pramga Unused.
-	* sem_prag.adb (Analyze_Pragma): Create case for Pragma_Unused
-	and move the block for Pragma_Unmodified and Pragma_Unreferenced
-	out and into local subprograms.
-	(Analyze_Unmodified, Analyze_Unreferenced): From the old pragma blocks
-	that have been separated in to local subprograms add a parameter to
-	indicate the if they are being called in the context of Pragma_Unused
-	and handle it accordingly.
-	(Is_Non_Significant_Pragma_Reference): Add an entry for Pragma_Unused
-	and correct the position of Pragma_Unevaluated_Use_Of_Old.
-	* sem_util.adb (Note_Possible_Modification): Recognize
-	Has_Pragma_Unused flag to print appropriate warning messages.
-
-2016-07-04  Ed Schonberg  <schonberg@adacore.com>
-
-	* freeze.adb (Check_Inherited_Conditions): Perform two passes over
-	the primitive operations of the type: one over source overridings
-	to build the primitives mapping, and one over inherited operations
-	to check for the need to create wrappers, and to check legality
-	of inherited condition in SPARK.
-	* sem_prag.ads (Update_Primitive_Mapping): Make public, for use
-	in freeze actions.
-	* sem_prag.adb (Build_Pragma_Check_Equivalent): Refine error
-	message in the case of an inherited condition in SPARK that
-	includes a call to some other overriding primitive.
-
-2016-07-04  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_aggr.adb (Ctrl_Init_Expression): New routine.
-	(Gen_Assign): Code cleanup. Perform in-place side effect removal when
-	the expression denotes a controlled function call.
-	* exp_util.adb (Remove_Side_Effects): Do not remove side effects
-	on a function call which has this behavior suppressed.
-	* sem_aggr.adb Code cleanup.
-	* sinfo.adb (No_Side_Effect_Removal): New routine.
-	(Set_Side_Effect_Removal): New routine.
-	* sinfo.ads New attribute No_Side_Effect_Removal along with
-	occurences in nodes.
-	(No_Side_Effect_Removal): New routine along with pragma Inline.
-	(Set_Side_Effect_Removal): New routine along with pragma Inline.
-
-2016-07-04  Arnaud Charlet  <charlet@adacore.com>
-
-	* opt.ads, sem_prag.adb (Universal_Addressing_On_AAMP): Removed.
-	Remove support for pragma No_Run_Time. Update comments.
-
-2016-07-04  Pascal Obry  <obry@adacore.com>
-
-	* g-forstr.ads: More documentation for the Formatted_String
-	support.
-
-2016-07-04  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
-	'Address): If the address comes from an aspect specification
-	and not a source attribute definition clause, do not remove
-	side effects from the expression, because the expression must
-	be elaborated at the freeze point of the object and not at the
-	object declaration, because of the delayed analysis of aspect
-	specifications.
-
-2016-06-29  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/48835
-	PR ada/61954
-	* gcc-interface/gigi.h (enum standard_datatypes): Add ADT_realloc_decl
-	(realloc_decl): New macro.
-	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Use local
-	variable for the entity type and translate it as void pointer if the
-	entity has convention C.
-	(gnat_to_gnu_entity) <E_Function>: If this is not a definition and the
-	external name matches that of malloc_decl or realloc_decl, return the
-	correspoding node directly.
-	(gnat_to_gnu_subprog_type): Likewise for parameter and return types.
-	* gcc-interface/trans.c (gigi): Initialize void_list_node here, not...
-	Initialize realloc_decl.
-	* gcc-interface/utils.c (install_builtin_elementary_types): ...here.
-	(build_void_list_node): Delete.
-	* gcc-interface/utils2.c (known_alignment) <CALL_EXPR>: Return the
-	alignment of the system allocator for malloc_decl and realloc_decl.
-	Do not take alignment from void pointer types either.
-
-2016-06-29  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/misc.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): Reorder.
-	(LANG_HOOKS_INIT_TS): Likewise.
-
-2016-06-22  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_prag.adb: Revert unwanted change in previous commit,
-	only keep message fix.
-
-2016-06-22  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.ads (Build_Classwide_Expression): new procedure to
-	build the expression for an inherited classwide condition, and
-	to validate such expressions when they apply to an inherited
-	operation that is not overridden.
-	* sem_prag.adb (Primitives_Mapping): new data structure to
-	handle the mapping between operations of a root type and the
-	corresponding overriding operations of a type extension. Used
-	to construct the expression for an inherited classwide condition.
-	(Update_Primitives_Mapping): add to Primitives_Mapping the links
-	between primitive operations of a root type and those of a given
-	type extension.
-	(Build_Pragma_Check_Equivalent): use Primitives_Mapping.
-	* sem_ch6.adb (New_Overloaded_Entity): Remove call to
-	Collect_Iherited_Class_Wide_Conditions in GNATprove_Mode. This
-	needs to be done at freeze point of the type.
-	* freeze.adb (Check_Inherited_Conditions): new procedure to
-	verify the legality of inherited classwide conditions. In normal
-	compilation mode the procedure determines whether an inherited
-	operation needs a wrapper to handle an inherited condition that
-	differs from the condition of the root type.  In SPARK mode
-	the routine invokes Collect_Inherited_Class_Wide_Conditions to
-	produce the SPARK version of these inherited conditions.
-	(Freeze_Record_Type): For a type extension, call
-	Check_Inherited_Conditions.
-
-2016-06-22  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch3.adb, sem_type.adb, sem.adb, freeze.adb, sem_util.adb,
-	s-htable.adb, exp_ch11.adb, s-secsta.adb, restrict.adb, exp_disp.adb,
-	sem_ch8.adb, s-tpobop.adb, exp_aggr.ads, sem_ch13.adb: Minor
-	reformatting.
-
-2016-06-22  Yannick Moy  <moy@adacore.com>
-
-	* lib-xref-spark_specific.adb (Collect_SPARK_Xrefs): Inverse order of
-	treatments so that files without compilation unit are simply skipped
-	before more elaborate treatments.
-
-2016-06-22  Bob Duff  <duff@adacore.com>
-
-	* s-memory.ads: Minor typo fixes in comments.
-	* s-memory.adb: Code cleanup.
-
-2016-05-22  Olivier Hainque  <hainque@adacore.com>
-
-	* vxworks-crtbe-link.spec: Removed, no longer used.
-
-2016-06-22  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch8.adb (Push_Scope): Add a check for when the
-	scope table is empty to assign the global variable
-	Configuration_Component_Alignment.
-	* sem.adb (Do_Analyze): Add Configuration_Component_Alignment
-	to be assigned when the environment is cleaned instead of the
-	default.
-	* sem.ads Add a global variable Configuration_Component_Alignment
-	to store the value given by pragma Component_Alignment in the
-	context of a configuration file.
-	* sem_prag.adb (Analyze_Pragma): Correct the case for
-	Component_Alignment so that the pragma is verified and add
-	comments to explain how it is applied to the scope stack.
-
-2016-06-22  Justin Squirek  <squirek@adacore.com>
-
-	* sprint.adb (Sprint_Node_Actual): Add check in
-	the case of an N_Object_Declaration when evaluating an expression
-	to properly ignore errors.
-
-2016-06-22  Bob Duff  <duff@adacore.com>
-
-	* g-comlin.ads (Parameter_Type): Change subtype of Last to
-	Natural.
-	* g-comlin.adb (Set_Parameter): Change subtype of Last to
-	Natural.
-	(Getopt): Check for Arg = "", and Switches /= "".
-	(Internal_Initialize_Option_Scan): Check for Argument (Parser,
-	Index) /= "".
-
-2016-06-22  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_prag.adb, sem_ch8.adb: Minor reformatting.
-
-2016-06-22  Ed Schonberg  <schonberg@adacore.com>
-
-	* einfo.ads, einfo.adb (Is_Actual_Subtype): New flag, defined
-	on subtypes that are created within subprogram bodies to handle
-	unconstrained composite formals.
-	* checks.adb (Apply_Predicate_Check): Do not generate a check on
-	an object whose type is an actual subtype.
-	* sem_ch6.adb (Set_Actual_Subtypes): Do not generate an
-	actual subtype for a formal whose base type is private.
-	Set Is_Actual_Subtype on corresponding entity after analyzing
-	its declaration.
-
-2016-06-22  Justin Squirek  <squirek@adacore.com>
-
-	* sem_prag.adb (Check_Expr_Is_OK_Static_Expression): Fix ordering
-	of if-block and add in a condition to test for errors during
-	resolution.
-	* sem_res.adb (Resolution_Failed): Add comment to explain why
-	the type of a node which failed to resolve is set to the desired
-	type instead of Any_Type.
-	* sem_ch8.adb (Analyze_Object_Renaming): Add a check for Any_Type
-	to prevent crashes on Is_Access_Constant.
-
-2016-06-22  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* lib-xref-spark_specific.adb, checks.adb, sem_ch13.adb: Minor
-	reformatting.
-	* exp_ch7.adb: Minor typo fix.
-	* lib.ads (Get_Top_Level_Code_Unit): Add comment.
-
-2016-06-22  Bob Duff  <duff@adacore.com>
-
-	* s-tassta.adb (Task_Wrapper): Fix handling of Fall_Back_Handler
-	wrt independent tasks.
-
-2016-06-22  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_dim.adb (Analyze_Dimension): Propagate dimension for
-	explicit_dereference nodes when they do not come from source,
-	to handle correctly dimensional analysis on iterators over
-	containers whose elements have declared dimensions.
-
-2016-06-22  Arnaud Charlet  <charlet@adacore.com>
-
-	* spark_xrefs.ads (Scope_Num): type refined to positive integers.
-	* lib-xref-spark_specific.adb (Detect_And_Add_SPARK_Scope):
-	moved into scope of Collect_SPARK_Xrefs.
-	(Add_SPARK_Scope): moved into scope of Collect_SPARK_Xrefs;
-	now uses Dspec and Scope_Id from Collect_SPARK_Xrefs.
-	(Collect_SPARK_Xrefs): refactored to avoid retraversing the list
-	of scopes.
-	(Traverse_Compilation_Unit): refactored as a generic procedure.
-	* types.ads (Unit_Number_Type): range refined.
-
-2016-06-22  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* lib-xref-spark_specific.adb, a-cuprqu.ads, sem_ch6.adb: Minor
-	reformatting.
-
-2016-06-22  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_util.ads (Address_Value): Declare new function.
-	* sem_util.adb (Address_Value): New function extracted
-	unmodified from Apply_Address_Clause_Check, which returns the
-	underlying value of the expression of an address clause.
-	* checks.adb (Compile_Time_Bad_Alignment): Delete.
-	(Apply_Address_Clause_Check): Call Address_Value on
-	the expression.  Do not issue the main warning here and
-	issue the secondary warning only when the value of the
-	expression is not known at compile time.
-	* sem_ch13.adb (Address_Clause_Check_Record): Add A component and
-	adjust the description.
-	(Analyze_Attribute_Definition_Clause): In the case
-	of an address, move up the code creating an entry in the table of
-	address clauses.  Also create an entry for an absolute address.
-	(Validate_Address_Clauses): Issue the warning for absolute
-	addresses here too.  Tweak condition associated with overlays
-	for consistency.
-
-2016-06-22  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Is_Predicate_Static): An inherited predicate
-	can be static only if it applies to a scalar type.
-
-2016-06-22  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_util.adb (Adjust_Result_Type): Convert operand to base
-	type to prevent spurious constraint checks on subtypes of Boolean.
-
-2016-06-22  Bob Duff  <duff@adacore.com>
-
-	* debug.adb: Document debug switch -gnatd.o.
-	* sem_elab.adb (Check_Internal_Call): Debug switch -gnatd.o
-	now causes a more conservative treatment of indirect calls,
-	treating P'Access as a call to P in more cases. We Can't make
-	this the default, because it breaks common idioms, for example
-	the soft links.
-	* sem_util.adb: Add an Assert.
-
-2016-06-22  Bob Duff  <duff@adacore.com>
-
-	* a-cuprqu.ads, a-cuprqu.adb: Completely rewrite this package. Use
-	red-black trees, which gives O(lg N) worst-case performance on
-	Enqueue and Dequeue. The previous version had O(N) Enqueue in
-	the worst case.
-
-2016-06-22  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_warn.adb: minor style fix in comment.
-	* spark_xrefs.ads (Scope_Num): type refined to positive integers.
-	* lib-xref-spark_specific.adb (Detect_And_Add_SPARK_Scope):
-	moved into scope of Collect_SPARK_Xrefs.
-	(Add_SPARK_Scope): moved into scope of Collect_SPARK_Xrefs;
-	now uses Dspec and Scope_Id from Collect_SPARK_Xrefs.
-	(Collect_SPARK_Xrefs): refactored to avoid retraversing the list
-	of scopes.
-	* sem_ch3.adb (Build_Discriminal): Set Parent of the discriminal.
-
-2016-06-22  Arnaud Charlet  <charlet@adacore.com>
-
-	* lib-xref-spark_specific.adb (Generate_Dereference): Assignment to not
-	commented local variables replaced with direct uses of their values.
-
-2016-06-22  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch7.adb (Add_Invariant): Replace the
-	current type instance with the _object parameter even in ASIS mode.
-	(Build_Invariant_Procedure_Body): Do not insert the
-	invariant procedure body into the tree for ASIS and GNATprove.
-	(Build_Invariant_Procedure_Declaration): Do not insert the
-	invariant procedure declaration into the tree for ASIS and
-	GNATprove.
-	* lib-xref-spark_specific.adb (Add_SPARK_Scope): Update comment.
-
-2016-06-22  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Set_Actual_Subtypes): If the type of the actual
-	has predicates, the actual subtype must be frozen properly
-	because of the generated tests that may follow.  The predicate
-	may be specified by an explicit aspect, or may be inherited in
-	a derivation.
-
-2016-06-22  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch4.adb (In_Range_Chec)): New predicate, subsidiary of
-	Expand_N_In: within an expanded range check that might raise
-	Constraint_Error do not generate a predicate check as well. It
-	is redundant because the context will add an explicit predicate
-	check, and it will raise the wrong exception if it fails.
-	* lib-xref-spark_specific.adb (Add_SPARK_File): Remove useless checks
-	since dependency units always have an associated compilation unit.
-
-2016-06-22  Arnaud Charlet  <charlet@adacore.com>
-
-	* lib.ads: Code cleanup.
-	* inline.adb: Type refinement for a counter variable.
-	* lib-xref-spark_specific.adb (Add_SPARK_File): removal of no-op code.
-	Code cleanup.
-
-2016-06-21  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (set_nonaliased_component_on_array_type): New
-	function.
-	(set_reverse_storage_order_on_array_type): Likewise.
-	(gnat_to_gnu_entity) <E_Array_Type>: Call them to set the flags.
-	<E_Array_Subtype>: Likewise.
-	<E_String_Literal_Subtype>: Likewise.
-	(substitute_in_type) <ARRAY_TYPE>: Likewise.
-	* gcc-interface/utils.c (gnat_pushdecl): Always create a variant for
-	the DECL_ORIGINAL_TYPE of a type.
-
-2016-06-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* make.adb, gnatbind.adb, g-socket.adb, sem_ch13.adb: Minor
-	reformatting.
-	* lib.ads, sem_util.adb: Minor typo in comment.
-
-2016-06-20  Yannick Moy  <moy@adacore.com>
-
-	* sem_prag.adb, sem_prag.ads (Build_Pragma_Check_Equivalent):
-	Add parameter Keep_Pragma_Id to optionally keep
-	the identifier of the pragma instead of converting
-	to pragma Check. Also set type of new function call
-	appropriately.	(Collect_Inherited_Class_Wide_Conditions):
-	Call Build_Pragma_Check_Equivalent with the new parameter
-	Keep_Pragma_Id set to True to keep the identifier of the copied
-	pragma.
-	* sinfo.ads: Add comment.
-
-2016-06-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch7.adb (Build_Invariant_Procedure_Body):
-	Always install the scope of the invariant procedure
-	in order to produce better error messages. Do not
-	insert the body when the context is a generic unit.
-	(Build_Invariant_Procedure_Declaration): Perform minimal
-	decoration of the invariant procedure and its formal parameter
-	in case they are not analyzed.	Do not insert the declaration
-	when the context is a generic unit.
-
-2016-06-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Visible_Component): New procedure, subsidiary
-	of Replace_Type_References_ Generic, to determine whether an
-	identifier in a predicate or invariant expression is a visible
-	component of the type to which the predicate or invariant
-	applies. Implements the visibility rule stated in RM 13.1.1
-	(12/3).
-
-2016-06-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* s-regpat.adb, sem_prag.adb, pprint.adb, sem_ch13.adb: Minor
-	reformatting.
-
-2016-06-20  Tristan Gingold  <gingold@adacore.com>
-
-	* make.adb (Check_Standard_Library): Consider system.ads
-	if s-stalib.adb is not available.
-	* gnatbind.adb (Add_Artificial_ALI_File): New procedure extracted from
-	gnatbind.
-
-2016-06-20  Thomas Quinot  <quinot@adacore.com>
-
-	* g-socket.adb (Is_IP_Address): A string consisting in digits only is
-	not a dotted quad.
-
-2016-06-20  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_ch7.adb (Build_Invariant_Procedure_Body):
-	decorate invariant procedure body with typical properties of
-	procedure entityes.
-
-2016-06-20  Arnaud Charlet  <charlet@adacore.com>
-
-	* a-exetim-darwin.adb: New file.
-
-2016-06-16  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* atree.ads, atree.adb (Elist29): New routine.
-	(Set_Elist29): New routine.
-	* atree.h New definition for Elist29.
-	* einfo.adb Subprograms_For_Type is now an Elist rather than
-	a node. Has_Invariants is now a synthesized attribute
-	and does not require a flag. Has_Own_Invariants
-	is now Flag232. Has_Inherited_Invariants is
-	Flag291. Is_Partial_Invariant_Procedure is Flag292.
-	(Default_Init_Cond_Procedure): Reimplemented.
-	(Has_Inherited_Invariants): New routine.
-	(Has_Invariants): Reimplemented.
-	(Has_Own_Invariants): New routine.
-	(Invariant_Procedure): Reimplemented.
-	(Is_Partial_Invariant_Procedure): New routine.
-	(Partial_Invariant_Procedure): Reimplemented.
-	(Predicate_Function): Reimplemented.
-	(Predicate_Function_M): Reimplemented.
-	(Set_Default_Init_Cond_Procedure): Reimplemented.
-	(Set_Has_Inherited_Invariants): New routine.
-	(Set_Has_Invariants): Removed.
-	(Set_Has_Own_Invariants): New routine.
-	(Set_Invariant_Procedure): Reimplemented.
-	(Set_Is_Partial_Invariant_Procedure): New routine.
-	(Set_Partial_Invariant_Procedure): Reimplemented.
-	(Set_Predicate_Function): Reimplemented.
-	(Set_Predicate_Function_M): Reimplemented.
-	(Set_Subprograms_For_Type): Reimplemented.
-	(Subprograms_For_Type): Reimplemented.
-	(Write_Entity_Flags): Output Flag232 and Flag291.
-	* einfo.ads Add new attributes Has_Inherited_Invariants
-	Has_Own_Invariants Is_Partial_Invariant_Procedure
-	Partial_Invariant_Procedure Change the documentation
-	of attributes Has_Inheritable_Invariants Has_Invariants
-	Invariant_Procedure Is_Invariant_Procedure Subprograms_For_Type
-	(Has_Inherited_Invariants): New routine along with pragma Inline.
-	(Has_Own_Invariants): New routine along with pragma Inline.
-	(Is_Partial_Invariant_Procedure): New routine along with pragma Inline.
-	(Partial_Invariant_Procedure): New routine.
-	(Set_Has_Inherited_Invariants): New routine along with pragma Inline.
-	(Set_Has_Invariants): Removed along with pragma Inline.
-	(Set_Has_Own_Invariants): New routine along with pragma Inline.
-	(Set_Is_Partial_Invariant_Procedure): New routine
-	along with pragma Inline.
-	(Set_Partial_Invariant_Procedure): New routine.
-	(Set_Subprograms_For_Type): Update the signature.
-	(Subprograms_For_Type): Update the signature.
-	* exp_ch3.adb Remove with and use clauses for Sem_Ch13.
-	(Build_Array_Invariant_Proc): Removed.
-	(Build_Record_Invariant_Proc): Removed.
-	(Freeze_Type): Build the body of the invariant procedure.
-	(Insert_Component_Invariant_Checks): Removed.
-	* exp_ch7.adb Add with and use clauses for Sem_Ch6, Sem_Ch13,
-	and Stringt.
-	(Build_Invariant_Procedure_Body): New routine.
-	(Build_Invariant_Procedure_Declaration): New routine.
-	* exp_ch7.ads (Build_Invariant_Procedure_Body): New routine.
-	(Build_Invariant_Procedure_Declaration): New routine.
-	* exp_ch9.adb (Build_Corresponding_Record): Do not propagate
-	attributes related to invariants to the corresponding record
-	when building the corresponding record. This is done by
-	Build_Invariant_Procedure_Declaration.
-	* exp_util.adb (Make_Invariant_Call): Reimplemented.
-	* freeze.adb (Freeze_Array_Type): An array type requires an
-	invariant procedure when its component type has invariants.
-	(Freeze_Record_Type): A record type requires an invariant
-	procedure when at least one of its components has an invariant.
-	* sem_ch3.adb (Analyze_Private_Extension_Declaration): Inherit
-	invariant-related attributes.
-	(Analyze_Subtype_Declaration):
-	Inherit invariant-related attributes.
-	(Build_Derived_Record_Type): Inherit invariant-related attributes.
-	(Check_Duplicate_Aspects): Reimplemented.
-	(Get_Partial_View_Aspect): New routine.
-	(Process_Full_View): Inherit invariant-related attributes. Reimplement
-	the check on hidden inheritance of class-wide invariants.
-	(Remove_Default_Init_Cond_Procedure): Reimplemented.
-	* sem_ch6.adb (Analyze_Subprogram_Specification): Do not modify
-	the controlling type for an invariant procedure declaration
-	or body.
-	(Is_Invariant_Procedure_Or_Body): New routine.
-	* sem_ch7.adb (Analyze_Package_Specification): Build the partial
-	invariant body in order to preanalyze and resolve all invariants
-	of a private type at the end of the visible declarations. Build
-	the full invariant body in order to preanalyze and resolve
-	all invariants of a private type's full view at the end of
-	the private declarations.
-	(Preserve_Full_Attributes): Inherit invariant-related attributes.
-	* sem_ch9.adb (Analyze_Protected_Type_Declaration): Ensure that
-	aspects are analyzed with the proper view when the protected type
-	is a completion of a private type. Inherit invariant-related attributes.
-	(Analyze_Task_Type_Declaration): Ensure that
-	aspects are analyzed with the proper view when the task type
-	is a completion of a private type. Inherit invariant-related
-	attributes.
-	* sem_ch13.adb Remove with and use clauses for Stringt.
-	(Build_Invariant_Procedure_Declaration): Removed.
-	(Build_Invariant_Procedure): Removed.
-	(Freeze_Entity_Checks): Do not build the body of the invariant
-	procedure here.
-	The body is built when the type is frozen in Freeze_Type.
-	(Inherit_Aspects_At_Freeze_Point): Do not inherit any attributes
-	related to invariants here because this leads to erroneous
-	inheritance.
-	(Replace_Node): Rename to Replace_Type_Ref.
-	* sem_ch13.ads (Build_Invariant_Procedure_Declaration): Removed.
-	(Build_Invariant_Procedure): Removed.
-	* sem_prag.adb Add with and use clauses for Exp_Ch7.
-	(Analyze_Pragma): Reimplement the analysis of pragma Invariant.
-	* sem_res.adb (Resolve_Actuals): Emit a specialized error when
-	the context is an invariant.
-	* sem_util.adb (Get_Views): New routine.
-	(Incomplete_Or_Partial_View): Consider generic packages when
-	examining declarations.
-	(Inspect_Decls): Consider full type
-	declarations because they may denote a derivation from a
-	private type.
-	(Propagate_Invariant_Attributes): New routine.
-	* sem_util.ads (Get_Views): New routine.
-	(Propagate_Invariant_Attributes): New routine.
-
-2016-06-16  Arnaud Charlet  <charlet@adacore.com>
-
-	* pprint.adb (Expression_Image): Add better handling of UCs,
-	we don't want to strip them all for clarity.
-
-
-2016-06-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* exp_util.adb (Safe_Unchecked_Type_Conversion): Use "alignment"
-	instead of "alignement".
-
-2016-06-16  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_util.adb: Minor typo fix.
-
-2016-06-16  Emmanuel Briot  <briot@adacore.com>
-
-	* s-regpat.adb: Further fix for invalid index in GNAT.Regexp.
-
-2016-06-16  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch13.adb (Validate_Address_Clauses): Use the same logic to
-	issue the warning on the offset for the size as for the alignment
-	and tweak the wording for the sake of consistency.
-
-2016-06-16  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Check_Class_Wide_COndition): New procedure,
-	subsidiary of Analyze_Pre_Post_ Condition_In_Decl_Part, to
-	check legality rules that follow from the revised semantics of
-	class-wide pre/postconditions described in AI12-0113.
-	(Build_Pragma_Check_Equivalent): Abstract subprogram declarations
-	must be included in list of overriding primitives of a derived
-	type.
-
-2016-06-16  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.adb (May_Be_Lvalue): An actual in an unexpanded
-	attribute reference 'Read is an assignment and must be considered
-	a modification of the object.
-
-2016-06-16  Gary Dismukes  <dismukes@adacore.com>
-
-	* einfo.adb: Minor editorial.
-
-2016-06-16  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Overridden_Ancestor): Clean up code to use
-	controlling type of desired primitive rather than its scope,
-	because the primitive that inherits the classwide condition may
-	comes from several derivation steps.
-
-2016-06-16  Javier Miranda  <miranda@adacore.com>
-
-	* einfo.adb (Set_Default_Init_Cond_Procedure): Allow calls setting
-	this attribute to Empty (only if the attribute has not been set).
-	* sem_util.adb (Build_Default_Init_Cond_Procedure_Body):
-	No action needed if the spec was not built.
-	(Build_Default_Init_Cond_Procedure_Declaration): The spec is
-	not built if DIC is set to NULL or no condition was specified.
-	* exp_ch3.adb (Expand_N_Object_Declaration): Check availability
-	of the Init_Cond procedure before generating code to call it.
-
-2016-06-16  Emmanuel Briot  <briot@adacore.com>
-
-	* s-regpat.adb: Fix invalid index check when matching end-of-line
-	on substrings.
-
-2016-06-16  Arnaud Charlet  <charlet@adacore.com>
-
-	* gnat1drv.adb: Minor reformatting.
-
-2016-06-16  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Check_Entry_Contracts): New procedure, subsidiary
-	of Analyze_Declarations, that performs pre-analysis of
-	pre/postconditions on entry declarations before full analysis
-	is performed after entries have been converted into procedures.
-	Done solely to capture semantic errors.
-	* sem_attr.adb (Analyze_Attribute, case 'Result): Add guard to
-	call to Denote_Same_Function.
-
-2016-06-16  Emmanuel Briot  <briot@adacore.com>
-
-	* g-comlin.adb: Fix minor memory leak in GNAT.Command_Line.
-
-2016-06-16  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch7.adb (Find_Last_Init): Remove obsolete code. The
-	logic is now performed by Process_Object_Declaration.
-	(Process_Declarations): Recognize a controlled deferred
-	constant which is in fact initialized by means of a
-	build-in-place function call as needing finalization actions.
-	(Process_Object_Declaration): Insert the counter after the
-	build-in-place initialization call for a controlled object. This
-	was previously done in Find_Last_Init.
-	* exp_util.adb (Requires_Cleanup_Actions): Recognize a controlled
-	deferred constant which is in fact initialized by means of a
-	build-in-place function call as needing finalization actions.
-
-2016-06-16  Justin Squirek  <squirek@adacore.com>
-
-	* exp_aggr.adb (Expand_Array_Aggregate): Minor comment changes and
-	additional style fixes.
-	* exp_ch7.adb: Minor typo fixes and reformatting.
-
-2016-06-16  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch3.adb (Analyze_Object_Declaration): Add a missing check
-	for optimized aggregate arrays with qualified expressions.
-	* exp_aggr.adb (Expand_Array_Aggregate): Fix block and
-	conditional statement in charge of deciding whether to perform
-	in-place expansion. Specifically, use Parent_Node to jump over
-	the qualified expression to the object declaration node. Also,
-	a check has been inserted to skip the optimization if SPARK 2005
-	is being used in strict adherence to RM 4.3(5).
-
-2016-06-16  Tristan Gingold  <gingold@adacore.com>
-
-	* sem_prag.adb (Analyze_Pragma): Simplify code
-	for Pragma_Priority.
-
-2016-06-16  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_util.ads (Indexed_Component_Bit_Offset): Declare.
-	* sem_util.adb (Indexed_Component_Bit_Offset): New
-	function returning the offset of an indexed component.
-	(Has_Compatible_Alignment_Internal): Call it.
-	* sem_ch13.adb (Offset_Value): New function returning the offset of an
-	Address attribute reference from the underlying entity.
-	(Validate_Address_Clauses): Call it and take the offset into
-	account for the size warning.
-
-2016-06-16  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* bindgen.adb, exp_util.adb, sem_ch9.adb, sem_util.adb: Minor
-	reformatting.
-
-2016-06-16  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_ch9.adb, sem_util.ads, sem_res.adb: Minor reformatting and typo
-	fixes.
-
-2016-06-16  Javier Miranda  <miranda@adacore.com>
-
-	* sem_res.adb (Resolve): Under relaxed RM semantics silently
-	replace occurrences of null by System.Null_Address.
-	* sem_ch4.adb (Analyze_One_Call, Operator_Check): Under
-	relaxed RM semantics silently replace occurrences of null by
-	System.Null_Address.
-	* sem_util.ad[sb] (Null_To_Null_Address_Convert_OK): New subprogram.
-	(Replace_Null_By_Null_Address): New subprogram.
-
-2016-06-16  Bob Duff  <duff@adacore.com>
-
-	* exp_util.adb (Is_Controlled_Function_Call):
-	This was missing the case where the call is in prefix format,
-	with named notation, as in Obj.Func (Formal => Actual).
-
-2016-06-16  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_attr.adb, inline.adb, sem_attr.adb, sem_elab.adb: Minor
-	reformatting.
-
-2016-06-16  Bob Duff  <duff@adacore.com>
-
-	* sem_util.adb (Collect): Avoid Empty Full_T. Otherwise Etype
-	(Full_T) crashes when assertions are on.
-	* sem_ch12.adb (Matching_Actual): Correctly handle the case where
-	"others => <>" appears in a generic formal package, other than
-	by itself.
-
-2016-06-16  Arnaud Charlet  <charlet@adacore.com>
-
-	* usage.adb: Remove confusing comment in usage line.
-	* bindgen.adb: Fix binder generated file in codepeer mode wrt
-	recent additions.
-
-2016-06-16  Javier Miranda  <miranda@adacore.com>
-
-	* restrict.adb (Check_Restriction_No_Use_Of_Entity): Avoid
-	never-ending loop, code cleanup; adding also support for Text_IO.
-	* sem_ch8.adb (Find_Expanded_Name): Invoke
-	Check_Restriction_No_Use_Entity.
-
-2016-06-16  Tristan Gingold  <gingold@adacore.com>
-
-	* exp_ch9.adb: Minor comment fix.
-	* einfo.ads (Has_Protected): Clarify comment.
-	* sem_ch9.adb (Analyze_Protected_Type_Declaration): Do not
-	consider private protected types declared in the runtime for
-	the No_Local_Protected_Types restriction.
-
-2016-06-14  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Set_Actual_Subtypes): Do not generate actual
-	subtypes for unconstrained formals when analyzing the generated
-	body of an expression function, because it may lead to premature
-	and misplaced freezing of the types of formals.
-
-2016-06-14  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_elab.adb, sem_ch4.adb: Minor reformatting and typo fix.
-
-2016-06-14  Tristan Gingold  <gingold@adacore.com>
-
-	* einfo.adb (Set_Has_Timing_Event): Add assertion.
-	* sem_util.ads, sem_util.adb (Propagate_Concurrent_Flags): New
-	name for Propagate_Type_Has_Flags.
-	* exp_ch3.adb, sem_ch3.adb, sem_ch7.adb, sem_ch9.adb: Adjust after
-	renaming.
-
-2016-06-14  Bob Duff  <duff@adacore.com>
-
-	* sem_elab.adb (Check_A_Call): Do nothing if the callee is
-	(or is in) an instance, and the caller is outside.  Misc cleanup.
-
-2016-06-14  Javier Miranda  <miranda@adacore.com>
-
-	* sem_ch4.adb (Analyze_Quantified_Expression):
-	Generating C code avoid spurious warning on loop variable of
-	inlinined postconditions.
-
-2016-06-14  Javier Miranda  <miranda@adacore.com>
-
-	* sem_attr.adb (Analyze_Attribute_Old_Result): Adding assertion.
-	(Analyze_Attribute [Attribute_Old]): Generating C handle
-	analysis of 'old in inlined postconditions.
-	(Analyze_Attribute [Attribute_Result]): Generating C handle analysis
-	of 'result in inlined postconditions.
-	* exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Old]):
-	Generating C handle expansion of 'old in inlined postconditions.
-	* inline.adb (Declare_Postconditions_Result): New subprogram.
-	* sem_ch12.adb (Copy_Generic_Node): Copy pragmas generated from
-	aspects when generating C code since pre/post conditions are
-	inlined and the frontend inlining relies on this routine to
-	perform inlining.
-	* exp_ch6.adb (Inlined_Subprogram): Replace Generate_C_Code
-	by Modify_Tree_For_C.
-	* exp_unst.adb (Visit_Node): Searching for up-level references
-	skip entities defined in inlined subprograms.
-
-2016-06-14  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch7.adb, sem_ch12.adb, freeze.adb, lib-xref.ads, exp_ch3.adb:
-	Minor reformatting.
-
-2016-06-14  Bob Duff  <duff@adacore.com>
-
-	* sem_elab.adb: Do nothing if the callee is intrinsic.
-	* sinfo.ads, einfo.ads: Minor comment fixes.
-
-2016-06-14  Ed Schonberg  <schonberg@adacore.com>
-
-	* contracts.adb (Has_Null_Body): Move to sem_util, for general
-	availability.
-	* sem_util.ads, sem_util.adb (Has_Null_Body): Predicate to
-	determine when an internal procedure created for some assertion
-	checking (e.g. type invariant) is a null procedure. Used to
-	eliminate redundant calls to such procedures when they apply to
-	components of composite types.
-	* exp_ch3.adb (Build_Component_Invariant_Call): Do not add call
-	if invariant procedure has a null body.
-
-2016-06-14  Thomas Quinot  <quinot@adacore.com>
-
-	* g-socket.ads (Check_Selector): Clarify effect on IN OUT socket
-	set parameters.
-
-2016-06-14  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch4.adb (Process_Action): Pass the action
-	list to Process_Transient_Object.
-	(Process_If_Case_Statements): Pass the action list to
-	Process_Transient_Object.
-	(Process_Transient_Object): Add new parameter Stmts and update the
-	comment on usage. When the context is a Boolean evaluation, insert
-	any finalization calls after the last statement of the construct.
-
-2016-06-14  Tristan Gingold  <gingold@adacore.com>
-
-	* einfo.adb, einfo.ads (Has_Timing_Event,
-	Set_Has_Timing_Event): Add Has_Timing_Event flag.
-	(Write_Entity_Flags): Display * sem_util.ads, sem_util.adb:
-	(Propagate_Type_Has_Flags): New procedure to factorize code.
-	* exp_ch3.adb (Expand_Freeze_Array_Type,
-	Expand_Freeze_Record_Type): Call Propagate_Type_Has_Flags.
-	* sem_ch3.adb (Access_Type_Decalaration): Initialize
-	Has_Timing_Event flag.	(Analyze_Object_Declaration):
-	Move code that check No_Local_Timing_Events near
-	the code that check No_Local_Protected_Objects.
-	(Analyze_Private_Extension_Declaration, Array_Type_Declaration)
-	(Build_Derived_Type, Copy_Array_Base_Type_Attributes,
-	Process_Full_View) (Record_Type_Definition): Call
-	Propagate_Type_Has_Flags.
-	* sem_ch4.adb (Analyze_Allocator): Check No_Local_Timing_Events.
-	* sem_ch7.adb (New_Private_Type): Set Has_Timing_Event on the
-	Timing_Event type.
-	(Uninstall_Declaration): Call Propagate_Type_Has_Flags.
-	* sem_ch9.adb (Analyze_Protected_Definition): Call
-	Propagate_Type_Has_Flags.
-
-2016-06-14  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem.ads: Minor style fix.
-
-2016-06-14  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Analyze_Associations): An actual parameter
-	with a box must be included in the count of actuals, to detect
-	possible superfluous named actuals that do not match any of the
-	formals of the generic unit in a formal package declaration.
-
-2016-06-14  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch3.adb (Analyze_Object_Declaration): Fix formatting
-	of error output related to SPARK RM 6.1.7(3) and pragma
-	Extensions_Visible.
-	* sem_ch4.adb (Analyze_Type_Conversion): Fix formatting of error
-	output related to SPARK RM 6.1.7(3) and pragma Extensions_Visible.
-	* sem_prag.adb (Analyze_Pragma): Fix formatting of error output
-	related to SPARK RM 7.1.2(15) and pragma Volatile_Function
-	so that the values True and False are no longer surrounded by
-	double quotes.
-	* sem_res.adb (Resolve_Actuals): Fix formatting of error output
-	related to SPARK RM 6.1.7(3) and pragma Extensions_Visible.
-
-2016-06-14  Arnaud Charlet  <charlet@adacore.com>
-
-	* gnat1drv.adb (Adjust_Global_Switches): Enable access checks
-	in codepeer mode.
-	* freeze.adb: Minor grammar fix in comment.
-2016-06-14  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* lib.adb: Minor reformatting.
-	* sem_util.adb (Is_OK_Volatile_Context): Do
-	include Address in the supported attributes.
-
-2016-06-14  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch4.adb (Expand_N_Case_Expression):
-	Code cleanup. Finalize any transient controlled
-	objects on exit from a case expression alternative.
-	(Expand_N_If_Expression): Code cleanup.
-	(Process_Actions): Removed.
-	(Process_If_Case_Statements): New routine.
-	(Process_Transient_Object): Change the name of formal Rel_Node to
-	N and update all occurrences. Update the comment on usage. When
-	the type of the context is Boolean, the proper insertion point
-	for the finalization call is after the last declaration.
-
-2016-06-14  Ed Schonberg  <schonberg@adacore.com>
-
-	* lib-xref.ads, lib-xref.adb (Has_Deferred_Reference): new
-	predicate to determine whether an entity appears in a context
-	for which a Deferred_Reference was created, because it is not
-	possible to determine when reference is analyzed whether it
-	appears in a context in which the entity is modified.
-	* sem_ch5.adb (Analyze_Statement): Do not emit a useless warning
-	on assignment for an entity that has a deferred_reference.
-
-2016-06-14  Javier Miranda  <miranda@adacore.com>
-
-	* sem_res.adb (Resolve_Actuals): Generate a reference to actuals that
-	come from source. Previously the reference was generated only if the
-	call comes from source but the call may be rewritten by the expander
-	thus causing the notification of spurious warnings.
-
-2016-06-14  Arnaud Charlet  <charlet@adacore.com>
-
-	* gnat1drv.adb: Remove further references to AAMP.
-	* checks.adb (Apply_Scalar_Range_Check): Take
-	Check_Float_Overflow info account.
-	* live.ads, live.adb Added subprogram headers and
-	start-of-processing-for comments.
-	* sem_ch12.adb (Instantiate_Package_Body): Do not suppress
-	checks when instantiating runtime units in CodePeer mode.
-
-2016-06-14  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_ch3.adb (Expand_N_Object_Declaration): Only consider
-	nodes from sources.
-
-2016-06-14  Arnaud Charlet  <charlet@adacore.com>
-
-	* switch-c.adb, gnat1drv.adb (Adjust_Global_Switches): Only disable
-	simple value propagation in CodePeer mode when warnings are disabled.
-	(Scan_Front_End_Switches): Enable relevant front-end switches
-	when using -gnateC.
-
-2016-06-14  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_util.adb (Is_OK_Volatile_Context): A
-	reference to a volatile object is considered OK if appears as
-	the prefix of attributes Address, Alignment, Component_Size,
-	First_Bit, Last_Bit, Position, Size, Storage_Size.
-
-2016-06-14  Yannick Moy  <moy@adacore.com>
-
-	* lib-xref-spark_specific.adb (Add_SPARK_File): Do not traverse
-	subunits directly, as they are already traversed as part of the
-	top-level unit to which they belong.
-	(Add_SPARK_Xrefs): Add assertions to ensure correct sorting.
-	(Generate_Dereference): Use unique definition place for special
-	variable __HEAP, to ensure correct sorting of references.
-	* lib-xref.adb (Generate_Reference): Use top-level unit in case
-	of subunits.
-	* lib.adb, lib.ads (Get_Top_Level_Code_Unit): New functions that
-	compute the top-level code unit for a source location of AST node,
-	that go past subunits.
-
-2016-06-13  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_subprog_type): Build only a minimal
-	PARM_DECL when the parameter type is dummy.
-	* gcc-interface/trans.c (Call_to_gnu): Translate formal types before
-	formal objects.
-
-2016-06-13  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Deal with
-	PLUS_EXPR in the expression of a renaming.
-
-2016-06-13  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/utils2.c (known_alignment) <CALL_EXPR>: Deal specially
-	with calls to malloc.
-
-2016-06-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (build_binary_op_trapv): If no operand is a
-	constant, use the generic implementation of the middle-end; otherwise
-	turn the dynamic conditions into static conditions and simplify.
-
-2016-06-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (Case_Statement_to_gnu): Deal with characters.
-
-2016-06-11  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity): Do not clobber
-	gnat_entity_name with temporary names for XUP and XUT types.
-
-2016-06-10  Martin Sebor  <msebor@redhat.com>
-
-	PR c/71392
-	* gcc/ada/gcc-interface/utils.c (handle_nonnull_attribute): Accept
-	the nonnull attribute in type-generic builtins.
-
-2016-06-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (Gigi_Equivalent_Type): Make sure equivalent
-	types are present before returning them.  Remove final assertion.
-	(gnat_to_gnu_entity) <E_Access_Protected_Subprogram_Type>: Adjust to
-	above change.
-	<E_Protected_Type>: Likewise.
-
-2016-06-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (elaborate_all_entities_for_package): Also do
-	not elaborate Itypes.
-
-2016-06-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/utils.c (gnat_internal_attribute_table): Add support
-	for noinline and noclone attributes.
-	(handle_noinline_attribute): New handler.
-	(handle_noclone_attribute): Likewise.
-
-2016-06-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (process_type): Beef up comment.
-
-2016-06-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/utils2.c (build_call_alloc_dealloc): Do not substitute
-	placeholder expressions here but...
-	* gcc-interface/trans.c (gnat_to_gnu) <N_Free_Statement>: ...here.
-	Make an exception to the protection of a CALL_EXPR result with an
-	unconstrained type only in the same cases as Call_to_gnu.
-
-2016-06-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (gnat_to_gnu): Rework special code dealing
-	with boolean rvalues and set the location directly.  Do not set the
-	location in the other cases for a simple name.
-	(gnat_to_gnu_external): Clear the location on the expression.
-
-2016-06-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Component>: Remove
-	useless 'else' statements and tidy up.
-	<E_Array_Subtype>: Fully deal with the declaration here.
-	<E_Incomplete_Type>: Use properly-typed constant.
-	Assert that we don't apply the special type treatment to dummy types.
-	Separate this treatment from the final back-annotation and simplify
-	the condition for the RM size.
-	(gnat_to_gnu_param): Add GNU_PARAM_TYPE parameter and adjust.
-	(gnat_to_gnu_subprog_type): Ajust call to gnat_to_gnu_param.
-	* gcc-interface/trans.c (gnat_to_gnu) <N_Subprogram_Declaration>: Add
-	comment.
-	(process_freeze_entity): Remove obsolete code.
-	(process_type): Minor tweaks.
-
-2016-06-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* einfo.ads (Returns_Limited_View): Remove.
-	(Set_Returns_Limited_View ): Likewise.
-	* einfo.adb (Returns_Limited_View): Likewise.
-	(Set_Returns_Limited_View ): Likewise.
-	* freeze.adb (Late_Freeze_Subprogram): Remove.
-	(Freeze_Entity): Do not defer the freezing of functions returning an
-	incomplete type coming from a limited context.
-
-2016-06-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/gigi.h (finish_subprog_decl): Add ASM_NAME parameter.
-	* gcc-interface/decl.c (gnu_ext_name_for_subprog): New function.
-	(gnat_to_gnu_entity) <E_Subprogram_Type>: Do not check compatibility
-	of profiles for builtins here...  Call gnu_ext_name_for_subprog.
-	Also update profiles if pointers to limited_with'ed types are
-	updated.
-	(gnat_to_gnu_param): Restore the correct source location information
-	for vector ABI warnings.
-	(associate_subprog_with_dummy_type): Add comment about AI05-019.
-	Set TYPE_DUMMY_IN_PROFILE_P flag unconditionally.
-	(update_profile): Deal with builtin declarations.
-	Call gnu_ext_name_for_subprog.  Adjust call to finish_subprog_decl.
-	(update_profiles_with): Add comment.
-	(gnat_to_gnu_subprog_type): Reuse the return type if it is complete.
-	Likewise for parameter declarations in most cases.  Do not change
-	the return type for the CICO mechanism if the profile is incomplete.
-	...but here instead.  Always reset the slot for the parameters.
-	* gcc-interface/utils.c (create_subprog_decl): Call
-	gnu_ext_name_for_subprog.  Do not set the assembler name here but...
-	(finish_subprog_decl): ...but here instead.  Add ASM_NAME parameter.
-
-2016-06-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* exp_ch9.adb (Expand_N_Protected_Type_Declaration): Insert the
-	declaration of the corresponding record type before that of the
-	unprotected version of the subprograms that operate on it.
-	(Expand_Access_Protected_Subprogram_Type): Declare the Equivalent_Type
-	just before the original type.
-	* sem_ch3.adb (Handle_Late_Controlled_Primitive): Point the current
-	declaration to the newly created declaration for the primitive.
-	(Analyze_Subtype_Declaration): Remove obsolete code forcing the
-	freezing of the subtype before its declaration.
-	(Replace_Anonymous_Access_To_Protected_Subprogram): Insert the new
-	declaration in the nearest enclosing scope for formal parameters too.
-	(Build_Derived_Access_Type): Restore the status of the created Itype
-	after it is erased by Copy_Node.
-	* sem_ch6.adb (Exchange_Limited_Views): Remove guard on entry.
-	(Analyze_Subprogram_Body_Helper): Call Exchange_Limited_Views only if
-	the specification is present.
-	Move around the code changing the designated view of the return type
-	and save the original view.  Restore it on exit.
-	* sem_ch13.adb (Build_Predicate_Function_Declaration): Always insert
-	the declaration right after that of the type.
-
-2016-06-01  Simon Wright  <simon@pushface.org>
-
-	PR ada/71358
-	* g-comlin.adb (Display_Section_Help): Do not dereference
-	Config.Switches if it's null.
-	(Getopt): Likewise.
-
-2016-05-31  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* s-osinte-kfreebsd-gnu.ads (clock_getres): Define.
-	(Get_Page_Size): Remove duplicate and return int.
-
-2016-05-31  Jan Sommer  <soja-lists@aries.uberspace.de>
-
-	PR ada/71317
-	* s-osinte-rtems.ads (clock_getres): Define.
-	(Get_Page_Size): Remove duplicate and return int.
-
-2016-05-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
-	Make same-sized subtypes of signed base types signed.
-	* gcc-interface/utils.c (make_type_from_size): Adjust to above change.
-	(unchecked_convert): Likewise.
-
-2016-05-16  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Do not build
-	a specific type for the object if it is deemed a constant.
-
-2016-05-16  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* freeze.adb (Freeze_Record_Type): Extend pragma Implicit_Packing to
-	components of any elementary types and of composite types.
-
-2016-05-16  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* freeze.adb (Freeze_Array_Type): Call Addressable predicate instead
-	of testing for individual sizes.
-	(Freeze_Entity): Rework implementation of pragma Implicit_Packing for
-	array types, in particular test for suitable sizes upfront and do not
-	mimic the processing that will be redone later in Freeze_Array_Type.
-
-2016-05-16  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (elaborate_all_entities_for_package): Also skip
-	formal objects.
-
-2016-05-16  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* doc/gnat_rm/implementation_defined_attributes.rst
-	(Scalar_Storage_Order): Adjust restriction for packed array types.
-	* einfo.ads (Is_Bit_Packed_Array): Adjust description.
-	(Is_Packed): Likewise.
-	(Is_Packed_Array_Impl_Type): Likewise.
-	(Packed_Array_Impl_Type): Likewise.
-	* exp_ch4.adb (Expand_N_Indexed_Component): Do not do anything special
-	if the prefix is not a packed array implemented specially.
-	* exp_ch6.adb (Expand_Actuals): Expand indexed components only for
-	bit-packed array types.
-	* exp_pakd.adb (Install_PAT): Set Is_Packed_Array_Impl_Type flag on
-	the PAT before analyzing its declaration.
-	(Create_Packed_Array_Impl_Type): Remove redundant statements.
-	* freeze.adb (Check_Component_Storage_Order): Reject packed array
-	components only if they are bit packed.
-	(Freeze_Array_Type): Fix logic detecting bit packing and do not bit
-	pack for composite types whose size is multiple of a byte.
-	Create the implementation type for packed array types only when it is
-	needed, i.e. bit packing or packing because of holes in index types.
-	Make sure the Has_Non_Standard_Rep and Is_Packed flags agree.
-	* gcc-interface/gigi.h (make_packable_type): Add MAX_ALIGN parameter.
-	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
-	Call maybe_pad_type instead of building the padding type manually.
-	(gnat_to_gnu_entity) <E_Array_Subtype>: Do not assert that
-	Packed_Array_Impl_Type is present for packed arrays.
-	(gnat_to_gnu_component_type): Also handle known alignment for packed
-	types by passing it to make_packable_type.
-	* gcc-interface/utils.c (make_packable_type): Add MAX_ALIGN parameter
-	and deal with it in the array case.  Adjust recursive call.  Simplify
-	computation of new size and cap the alignment to BIGGEST_ALIGNMENT.
-
-2016-05-16  Thomas Quinot  <quinot@adacore.com>
-
-	* freeze.adb (Check_Component_Storage_Order): Also get full view of
-	enclosing type.
-
-2016-05-16  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* exp_util.adb (Remove_Side_Effects): Also make a constant if we need
-	to capture the value for a small not by-reference record type.
-	* freeze.ads (Check_Compile_Time_Size): Adjust comment.
-	* freeze.adb (Set_Small_Size): Likewise.  Accept a size in the range
-	of 33 .. 64 bits.
-	(Check_Compile_Time_Size): Merge scalar and access type cases. Change
-	variable name in array type case.  For the computation of the packed
-	size, deal with record components and remove redundant test.
-	(Freeze_Array_Type): Also adjust packing status when the size of the
-	component type is in the range 33 .. 64 bits.
-	* doc/gnat_rm/representation_clauses_and_pragmas.rst: Turn primitive
-	into elementary type throughout.  Minor tweaks.
-	(Alignment Clauses): Document actual alignment of packed array types.
-	(Pragma Pack for Arrays): List only the 3 main cases and adjust.  Add
-	"simple" to the record case.  Document effect on non packable types.
-	(Pragma Pack for Records): Likewise.  Add record case and adjust.
-
-2016-05-16  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/Make-lang.in (GNATMAKE_FOR_HOST): In the canadian
-	cross case, use host_noncanonical instead of host as prefix.
-	(GNATBIND_FOR_HOST): Likewise.
-	(GNATLINK_FOR_HOST): Likewise.
-	(GNATLS_FOR_HOST): Likewise.
-
-2016-05-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/70969
-	* system-darwin-ppc64.ads: Add pragma No_Elaboration_Code_All.
-	* system-linux-armeb.ads: Likewise.
-	* system-linux-mips64el.ads: Likewise.
-	* system-linux-mips.ads: Likewise.
-	* system-linux-mipsel.ads: Likewise.
-	* system-linux-ppc64.ads: Likewise.
-	* system-linux-sparcv9.ads: Likewise.
-	* system-rtems.ads: Likewise.
-
-2016-05-04  Samuel Thibault  <samuel.thibault@ens-lyon.org>
-
-	* s-osinte-gnu.ads (Get_Page_Size): Return int and use getpagesize
-	instead of __getpagesize.
-
-2016-05-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	* gcc-interface/Makefile.in (install-gcc-specs): Use foreach.
-	Honor DESTDIR.
-
-2016-05-02  Tristan Gingold  <gingold@adacore.com>
-
-	* fname.adb (Is_Predefined_File_Name): Also consider non-krunched
-	i-* names.
-
-2016-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.adb (Aggregate_Constraint_Checks): Separate
-	accessibility checks and non-null checks for aggregate components,
-	to prevent spurious accessibility errors.
-
-2016-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (OK_For_Limited_Init): A type conversion is not
-	always legal in the in-place initialization of a limited entity
-	(e.g. an allocator).
-	* sem_res.adb (Resolve_Allocator): Improve error message with RM
-	reference  when allocator expression is illegal.
-
-2016-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch6.adb (Expand_Call): When inlining a call to a function
-	declared in a package instance, locate the instance node of the
-	package after the actual package declaration. skipping over
-	pragmas that may have been introduced when the generic unit
-	carries aspects that are transformed into pragmas.
-
-2016-05-02  Bob Duff  <duff@adacore.com>
-
-	* s-memory.adb (Alloc, Realloc): Move checks
-	for Size = 0 or size_t'Last into the Result = System.Null_Address
-	path for efficiency. Improve comments (based on actual C language
-	requirements for malloc).
-	* exp_util.adb (Build_Allocate_Deallocate_Proc): Optimize the
-	case where we are using the default Global_Pool_Object, and we
-	don't need the heavy finalization machinery.
-
-2016-05-02  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_util.ads, sem_ch12.adb: Minor reformatting.
-
-2016-05-02  Javier Miranda  <miranda@adacore.com>
-
-	* exp_util.ads, exp_util.adb (Force_Evaluation): Adding new formal.
-	(Remove_Side_Effects): Adding a new formal.
-	* exp_ch6.adb (Expand_Simple_Function_Return): Generating the
-	call to the _Postconditions procedure ensure that side-effects
-	are unconditionally removed.
-
-2016-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Check_Formal_Package_Instance, Check_Mismatch):
-	Use original node to determine whether the declaration is for
-	a formal type declaration, to take into account that formwl
-	private types are rewritten as private extension declarations
-	to simplify semantic analysis.
-
-2016-05-02  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_ch9.adb, sem_ch6.adb, sem_ch6.ads: Minor reformatting and typo
-	fixes.
-
-2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch3.adb, exp_ch9.adb, einfo.adb, sem_ch4.adb, sem_ch6.adb: Minor
-	reformatting.
-
-2016-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch4.adb (Expand_N_Allocator): If the designated type
-	is a private derived type with no discriminants, examine its
-	underlying_full_view to determine whether the full view has
-	defaulted discriminants, so their defaults can be used in the
-	call to the initialization procedure for the designated object.
-
-2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_prag.adb, comperr.adb: Minor reformatting.
-
-2016-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_pakd.adb (Rj_Unchecked_Convert_To): Do not perform an
-	unchecked conversion if the source size is 0 (indicating that
-	its RM size is unknown). This will happen with packed arrays of
-	non-discrete types, in which case the component type is known
-	to match.
-
-2016-05-02  Arnaud Charlet  <charlet@adacore.com>
-
-	* debug.adb: Reserve -gnatd.V.
-
-2016-05-02  Javier Miranda  <miranda@adacore.com>
-
-	* sem_ch3.adb (Process_Full_View): Remove from visibility
-	wrappers of synchronized types to avoid spurious errors with
-	their wrapped entity.
-	* exp_ch9.adb (Build_Wrapper_Spec): Do not generate the wrapper
-	if no interface primitive is covered by the subprogram and this is
-	not a primitive declared between two views; see Process_Full_View.
-	(Build_Protected_Sub_Specification): Link the dispatching
-	subprogram with its original non-dispatching protected subprogram
-	since their names differ.
-	(Expand_N_Protected_Type_Declaration):
-	If a protected subprogram overrides an interface primitive then
-	do not build a wrapper if it was already built.
-	* einfo.ads, einfo.adb (Original_Protected_Subprogram): New attribute.
-	* sem_ch4.adb (Names_Match): New subprogram.
-	* sem_ch6.adb (Check_Synchronized_Overriding): Moved
-	to library level and defined in the public part of the
-	package to invoke it from Exp_Ch9.Build_Wrapper_Spec
-	(Has_Matching_Entry_Or_Subprogram): New subprogram.
-	(Report_Conflict): New subprogram.
-
-2016-05-02  Jerome Lambourg  <lambourg@adacore.com>
-
-	* s-unstyp.ads: Code cleanups.
-
-2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch13.adb (Size_Too_Small_Error): Fix the error message format.
-
-2016-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_prag.adb (Expand_attributes_In_Consequence,
-	Expand_Attributes): If the prefix of'Old is an unconstrained type,
-	for example an unconstrained formal of the enclosing subprogram,
-	create an object declaration with an expression to obtain the
-	actual subtype of the temporary.
-
-2016-05-02  Arnaud Charlet  <charlet@adacore.com>
-
-	* comperr.adb (Delete_SCIL_Files): Add missing handling of
-	N_Subprogram_Declaration.
-
-2016-05-02  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, checks.adb, sem_attr.adb,
-	gnat1drv.adb, sem_ch4.adb, sem_ch13.adb: Minor reformatting and typo
-	fixes.
-	* sem_prag.adb, sem_ch12.adb: Minor typo fixes.
-
-2016-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): The
-	function call may be wrapped in an explicit type conversion.
-
-2016-05-02  Jerome Lambourg  <lambourg@adacore.com>
-
-	* interfac.ads: use pragma No_Elaboration_Code_All.
-	* s-unstyp.ads: s-unstyp.ads: use pragma No_Elaboration_Code_All.
-
-2016-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem.adb (Analyze: If node is an error node previously created
-	by the parser, disable expansion to prevent subsequent glitches
-	in error recovery.
-
-2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch13.adb (Alignment_Error): Removed.
-	(Get_Alignment_Value): Code cleanup.
-
-2016-05-02  Tristan Gingold  <gingold@adacore.com>
-
-	* sem_ch3.adb (Analyze_Object_Declaration): Use Has_Protected
-	to check for the no local protected objects restriction.
-
-2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* einfo.adb Anonymous_Master now uses Node35.
-	(Anonymous_Master): Update the assertion and node reference.
-	(Set_Anonymous_Master): Update the assertion and node reference.
-	(Write_Field35_Name): Add output for Anonymous_Master.
-	(Write_Field36_Name): The output is now undefined.
-	* einfo.ads Update the node and description of attribute
-	Anonymous_Master. Remove prior occurrences in entities as this
-	is now a type attribute.
-	* exp_ch3.adb (Expand_Freeze_Array_Type): Remove local variable
-	Ins_Node. Anonymous access- to-controlled component types no
-	longer need finalization masters. The master is now built when
-	a related allocator is expanded.
-	(Expand_Freeze_Record_Type): Remove local variable Has_AACC. Do not
-	detect whether the record type has at least one component of anonymous
-	access-to- controlled type. These types no longer need finalization
-	masters. The master is now built when a related allocator is expanded.
-	* exp_ch4.adb Remove with and use clauses for Lib and Sem_Ch8.
-	(Current_Anonymous_Master): Removed.
-	(Expand_N_Allocator): Call Build_Anonymous_Master to create a
-	finalization master for an anonymous access-to-controlled type.
-	* exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
-	Call routine Build_Anonymous_Master to create a finalization master
-	for an anonymous access-to-controlled type.
-	* exp_ch7.adb (Allows_Finalization_Master): New routine.
-	(Build_Anonymous_Master): New routine.
-	(Build_Finalization_Master): Remove formal parameter
-	For_Anonymous. Use Allows_Finalization_Master to determine whether
-	circumstances warrant a finalization master. This routine no
-	longer creates masters for anonymous access-to-controlled types.
-	(In_Deallocation_Instance): Removed.
-	* exp_ch7.ads (Build_Anonymous_Master): New routine.
-	(Build_Finalization_Master): Remove formal parameter For_Anonymous
-	and update the comment on usage.
-	* sem_util.adb (Get_Qualified_Name): New routines.
-	(Output_Name): Reimplemented.
-	(Output_Scope): Removed.
-	* sem_util.ads (Get_Qualified_Name): New routines.
-
-2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* debug.adb: Document the use of switch -gnatd.H.
-	* gnat1drv.adb (Adjust_Global_Switches): Set ASIS_GNSA mode when
-	-gnatd.H is present.
-	(Gnat1drv): Suppress the call to gigi when ASIS_GNSA mode is active.
-	* opt.ads: Add new option ASIS_GNSA_Mode.
-	* sem_ch13.adb (Alignment_Error): New routine.
-	(Analyze_Attribute_Definition_Clause): Suppress certain errors in
-	ASIS mode for attribute clause Alignment, Machine_Radix, Size, and
-	Stream_Size.
-	(Check_Size): Use routine Size_Too_Small_Error to
-	suppress certain errors in ASIS mode.
-	(Get_Alignment_Value): Use routine Alignment_Error to suppress certain
-	errors in ASIS mode.
-	(Size_Too_Small_Error): New routine.
-
-2016-05-02  Arnaud Charlet  <charlet@adacore.com>
-
-	* spark_xrefs.ads Description of the spark cross-references
-	clarified; small style fixes.
-	* lib-xref-spark_specific.adb (Add_SPARK_Scope,
-	Detect_And_Add_SPARK_Scope): consider protected types and bodies
-	as yet another scopes.
-	(Enclosing_Subprogram_Or_Library_Package): refactored using
-	Hristian's suggestions; added support for scopes of protected
-	types and bodies; fix for entries to return the scope of the
-	enclosing concurrent type, which is consistent with what is
-	returned for protected subprograms.
-	* sem_intr.adb: Minor style fix in comment.
-
-2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* lib-xref.ads, lib-xref-spark_specific.adb, get_spark_xrefs.adb,
-	put_spark_xrefs.adb: Minor reformatting.
-
-2016-05-02  Doug Rupp  <rupp@adacore.com>
-
-	* g-traceb.ads: Document traceback for ARM.
-
-2016-05-02  Javier Miranda  <miranda@adacore.com>
-
-	* exp_disp.adb (Make_Tags): Do not generate the
-	external name of interface tags adding the suffix counter since
-	it causes problems at link time when the IP routines are inlined
-	across units with optimization.
-
-2016-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* einfo.ads, einfo.adb (Predicates_Ignared): new flag to indicate
-	that predicate checking is disabled for predicated subtypes in
-	the context of an Assertion_Policy pragma.
-	* checks.adb (Apply_Predicate_Check): Do nothing if
-	Predicates_Ignored is true.
-	* exp_ch3.adb (Expand_Freeze_Enumeration_Type): If
-	Predicates_Ignores is true, the function Rep_To_Pos does raise
-	an exception for invalid data.
-	* exp_ch4.adb (Expand_N_Type_Conversion): IF target is a predicated
-	type do not apply check if Predicates_Ignored is true.
-	* exp_ch5.adb (Expand_N_Case_Statement): If Predicates_Ignored
-	is true, sem_prag.adb:
-	* sem_ch3.adb (Analyze_Object_Declaration): If Predicates_Ignored
-	is true do not emit predicate check on initializing expression.
-
-2016-05-02  Arnaud Charlet  <charlet@adacore.com>
-
-	* get_spark_xrefs.adb (Get_Nat, Get_Name): Initialize variables when
-	they are declared; refine type of a counter from Integer to Natural.
-	* sem_ch5.adb, gnatcmd.adb, s-intman-posix.adb, eval_fat.adb,
-	prj.adb, sem_util.adb, s-intman-android.adb, prj-nmsc.adb, sem_ch8.adb,
-	exp_ch3.adb: Minor editing.
-
-2016-05-02  Yannick Moy  <moy@adacore.com>
-
-	* a-tigeli.adb (Get_Line): Always set Last prior to returning.
-
-2016-05-02  Yannick Moy  <moy@adacore.com>
-
-	* lib-xref.adb: Minor style fix in whitespace of declarations.
-	* put_spark_xrefs.adb (Put_SPARK_Xrefs): printing of strings
-	refactored without loops.
-	* put_spark_xrefs.ads (Write_Info_Str): new formal argument of
-	generic procedure.
-	* spark_xrefs.adb (Write_Info_Str): new actual in instantiation
-	of generic procedure.
-
-2016-05-02  Arnaud Charlet  <charlet@adacore.com>
-
-	* lib-xref-spark_specific.adb (Add_SPARK_Scope): add task type scope.
-	(Detect_And_Add_SPARK_Scope): detect and add task type scope.
-	(Enclosing_Subprogram_Or_Package): Respect boundaries of task
-	and entry declarations.
-	* spark_xrefs.ads: minor typo in comment.
-
-2016-05-02  Arnaud Charlet  <charlet@adacore.com>
-
-	* make.adb: Minor: avoid an exception when calling gnatmake with
-	no argument and gnatmake is built with checks on.
-	* lib-xref-spark_specific.adb: Minor code cleanup.
-
-2016-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.adb (Normalize_Actuals): Take into account extra
-	actuals that may have been introduced previously. Normally extra
-	actuals are introduced when a call is expanded, but a validity
-	check may copy and reanalyze a call that carries an extra actual
-	(e.g. an accessibility parameter) before the call itself is
-	marked Analzyed, and the analysis of the copy has to be able to
-	cope with the added actual.
-
-2016-05-02  Bob Duff  <duff@adacore.com>
-
-	* sem_ch10.adb (Analyze_Compilation_Unit): Preserve
-	treeishness. Previous version had Context_Items shared between
-	the spec and body.
-
-2016-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_aggr.adb (Resolve_Aggr_Expression): For both array and
-	record cases, apply predicate check on component for expression
-	only if expression has been analyzed already. For expressions
-	that need to be duplicated when they cover multiple components,
-	resolution and predicate checking take place later.
-
-2016-05-02  Olivier Hainque  <hainque@adacore.com>
-
-	* a-direct.adb (Delete_Tree): Use full names to designate subdirs
-	and files therein, instead of local names after a change of
-	current directory.
-
-2016-05-02  Thomas Quinot  <quinot@adacore.com>
-
-	* freeze.adb (Check_Component_Storage_Order): Get full view of
-	component type.
-
-2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb, freeze.adb, sem_res.adb, s-stposu.adb, repinfo.adb:
-	Minor reformatting.
-
-2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch4.adb (Find_Indexing_Operations): Use the underlying type
-	of the container base type in case the container is a subtype.
-	* sem_ch5.adb (Analyze_Iterator_Specification): Ensure that
-	the selector has an entity when checking for a component of a
-	mutable object.
-
-2016-05-02  Arnaud Charlet  <charlet@adacore.com>
-
-	Remove dead code.
-	* opt.ads (Latest_Ada_Only): New flag.
-	* sem_prag.adb, par-prag.adb: Ignore pragma Ada_xx under this flag.
-	* usage.adb, switch-c.adb: Disable support for -gnatxx under this flag.
-	* einfo.ads (Has_Predicates, Predicate_Function):
-	Clarify that Has_Predicates does not imply that Predicate_Function
-	will return a non-empty entity.
-
-2016-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_res.adb (Resolve_Qualified_Expression): Generate a predicate
-	check if type requires it.
-	* checks.adb (Apply_Predicate_Check): Disable checks in the
-	object declaration created for an expression with side-effects
-	that requires a predicate check to prevent infinite recursion
-	during expansion.
-
-2016-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Process_Formals): Check properly the type of a
-	formal to determine whether a given convention applies to it.
-
-2016-05-02  Doug Rupp  <rupp@adacore.com>
-
-	* tracebak.c: Add incantations for arm-vxworks[67] traceback.
-
-2016-05-02  Thomas Quinot  <quinot@adacore.com>
-
-	* freeze.adb (Check_Component_Storage_Order): Make it a warning, not an
-	error, to have a component with implicit SSO within a composite type
-	that has explicit SSO.
-
-2016-05-02  Bob Duff  <duff@adacore.com>
-
-	* s-stposu.adb (Allocate_Any_Controlled): Don't lock/unlock twice.
-
-2016-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* repinfo.adb (List_Entities): Make procedure recursive, to
-	provide representation information for subprograms declared
-	within subprogram bodies.
-
-2016-05-02  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_ch5.adb, layout.adb, gnatcmd.adb exp_attr.adb, make.adb,
-	bindgen.adb, debug.adb, exp_pakd.adb, freeze.adb, sem_util.adb,
-	gnatlink.adb, switch-m.adb, exp_ch4.adb, repinfo.adb, adabkend.adb,
-	osint.adb: Remove dead code.
-
-2016-05-02  Yannick Moy  <moy@adacore.com>
-
-	* a-tigeli.adb (Get_Line): Fix bound for test to
-	decide when to compensate for character 0 added by call to fgets.
-
-2016-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Analyze_Allocator): If the expression does not
-	have a subtype indication and the type is an unconstrained tagged
-	type with defaulted discriminants, create an explicit constraint
-	for it during analysis to prevent out-of-order freezing actions
-	on generated classwide types.
-
-2016-05-02  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch5.adb (Expand_N_Assignment_Statement):
-	In the runtime check that ensures that the tags of source an
-	target match, add missing displacement of the pointer to the
-	objects if they cover interface types.
-
-2016-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_attr.adb (Analyze_Attribute, case 'Old): Do not use
-	base type for attribute when type is discrete: transformation
-	is not needed for such types, and leads to spurious errors if
-	the context is a case construct.
-
-2016-05-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (elaborate_reference_1): Do not bother about
-	operand #2 for COMPONENT_REF.
-	* gcc-interface/utils2.c (gnat_save_expr): Likewise.
-	(gnat_protect_expr): Likewise.
-	(gnat_stabilize_reference_1): Likewise.
-	(gnat_rewrite_reference): Do not bother about operand #3 for ARRAY_REF.
-	(get_inner_constant_reference): Likewise.
-	(gnat_invariant_expr): Likewise.
-	* gcc-interface/trans.c (fold_constant_decl_in_expr): Likewise.
-
-2016-05-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (Range_to_gnu): New static function.
-	(Raise_Error_to_gnu) <N_In>: Call it to translate the range.
-	(gnat_to_gnu) <N_In>: Likewise.
-
-2016-04-30  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/Make-lang.in (ACATSCMD): New variable.
-	(check-acats): Use it.
-	(check_acats_targets): Likewise.
-
-2016-04-28  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/70786
-	* a-textio.adb (Get_Immediate): Add missing 'not' in expression.
-
-2016-04-27  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_aux.adb (Is_By_Reference_Type): Also return true for a tagged
-	incomplete type without full view.
-	* sem_ch6.adb (Exchange_Limited_Views): Change into a function and
-	return the list of changes.
-	(Restore_Limited_Views): New procedure to undo the transformation made
-	by Exchange_Limited_Views.
-	(Analyze_Subprogram_Body_Helper): Adjust call to Exchange_Limited_Views
-	and call Restore_Limited_Views at the end, if need be.
-	(Possible_Freeze): Do not delay freezing because of incomplete types.
-	(Process_Formals): Remove kludges for class-wide types.
-	* types.h (By_Copy_Return): Delete.
-	* gcc-interface/ada-tree.h (TYPE_MAX_ALIGN): Move around.
-	(TYPE_DUMMY_IN_PROFILE_P): New macro.
-	* gcc-interface/gigi.h (update_profiles_with): Declare.
-	(finish_subprog_decl): Likewise.
-	(get_minimal_subprog_decl): Delete.
-	(create_subprog_type): Likewise.
-	(create_param_decl): Adjust prototype.
-	(create_subprog_decl): Likewise.
-	* gcc-interface/decl.c (defer_limited_with): Rename into...
-	(defer_limited_with_list): ...this.
-	(gnat_to_gnu_entity): Adjust to above renaming.
-	(finalize_from_limited_with): Likewise.
-	(tree_entity_vec_map): New structure.
-	(gt_pch_nx): New helpers.
-	(dummy_to_subprog_map): New hash table.
-	(gnat_to_gnu_param): Set the SLOC here.  Remove MECH parameter and
-	add FIRST parameter.  Deal with the mechanism here instead of...
-	Do not make read-only variant of types.  Simplify expressions.
-	In the by-ref case, test the mechanism before must_pass_by_ref
-	and also TYPE_IS_BY_REFERENCE_P before building the reference type.
-	(gnat_to_gnu_subprog_type): New static function extracted from...
-	Do not special-case the type_annotate_only mode.  Call
-	gnat_to_gnu_profile_type instead of gnat_to_gnu_type on return type.
-	Deal with dummy return types.  Likewise for parameter types.  Deal
-	with by-reference types explicitly and add a kludge for null procedures
-	with untagged incomplete types.  Remove assertion on the types and be
-	prepared for multiple elaboration of the declarations.  Skip the whole
-	CICO processing if the profile is incomplete.  Handle the completion of
-	a previously incomplete profile.
-	(gnat_to_gnu_entity) <E_Variable>: Rename local variable.
-	Adjust couple of calls to create_param_decl.
-	<E_Access_Subprogram_Type, E_Anonymous_Access_Subprogram_Type>:
-	Remove specific deferring code.
-	<E_Access_Type>: Also deal with E_Subprogram_Type designated type.
-	Simplify handling of dummy types and remove obsolete comment.
-	Constify a couple of variables.  Do not set TYPE_UNIVERSAL_ALIASING_P
-	on dummy types.
-	<E_Access_Subtype>: Tweak comment and simplify condition.
-	<E_Subprogram_Type>: ...here.  Call it and clean up handling.  Remove
-	obsolete comment and adjust call to gnat_to_gnu_param.  Adjust call to
-	create_subprog_decl.
-	<E_Incomplete_Type>: Add a couple of 'const' qualifiers and get rid of
-	inner break statements.  Tidy up condition guarding direct use of the
-	full view.
-	(get_minimal_subprog_decl): Delete.
-	(finalize_from_limited_with): Call update_profiles_with on dummy types
-	with TYPE_DUMMY_IN_PROFILE_P set.
-	(is_from_limited_with_of_main): Delete.
-	(associate_subprog_with_dummy_type): New function.
-	(update_profile): Likewise.
-	(update_profiles_with): Likewise.
-	(gnat_to_gnu_profile_type): Likewise.
-	(init_gnat_decl): Initialize dummy_to_subprog_map.
-	(destroy_gnat_decl): Destroy dummy_to_subprog_map.
-	* gcc-interface/misc.c (gnat_get_alias_set): Add guard for accessing
-	TYPE_UNIVERSAL_ALIASING_P.
-	(gnat_get_array_descr_info): Minor tweak.
-	* gcc-interface/trans.c (gigi): Adjust calls to create_subprog_decl.
-	(build_raise_check): Likewise.
-	(Compilation_Unit_to_gnu): Likewise.
-	(Identifier_to_gnu): Accept mismatches coming from a limited context.
-	(Attribute_to_gnu): Remove kludge for dispatch table entities.
-	(process_freeze_entity): Do not retrieve old definition if there is an
-	address clause on the entity.  Call update_profiles_with on dummy types
-	with TYPE_DUMMY_IN_PROFILE_P set.
-	* gcc-interface/utils.c (build_dummy_unc_pointer_types): Also set
-	TYPE_REFERENCE_TO to the fat pointer type.
-	(create_subprog_type): Delete.
-	(create_param_decl): Remove READONLY parameter.
-	(finish_subprog_decl): New function extracted from...
-	(create_subprog_decl): ...here.  Call it.  Remove CONST_FLAG and
-	VOLATILE_FLAG parameters and adjust.
-	(update_pointer_to): Also clear TYPE_REFERENCE_TO in the unconstrained
-	case.
-
-2016-04-27  Arnaud Charlet  <charlet@adacore.com>
-
-	* aa_util.adb, aa_util.ads: Removed, no longer used.
-
-2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_prag.adb (Analyze_Pragma): An object
-	renaming declaration resulting from the expansion of an object
-	declaration is a suitable context for pragma Ghost.
-
-2016-04-27  Doug Rupp  <rupp@adacore.com>
-
-	* init.c: Refine last checkin so the only requirement is the
-	signaling compilation unit is compiled with the same mode as
-	the compilation unit containing the initial landing pad.
-
-2016-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Valid_Default_Iterator): Better filter of illegal
-	specifications for Default_Iterator, including overloaded cases
-	where no interpretations are legal, and return types that are
-	not iterator types.
-
-2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch5.adb (Expand_N_Assignment_Statement): Do not install
-	an accessibility check when the left hand side of the assignment
-	denotes a container cursor.
-	* exp_util.ads, exp_util.adb (Find_Primitive_Operations): Removed.
-	* sem_ch4.adb (Find_Indexing_Operations): New routine.
-	(Try_Container_Indexing): Code cleanup.
-
-2016-04-27  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_ch10.adb, sem_case.adb: Mark messages udner -gnatwr when needed.
-
-2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* errout.adb, errutil.adb: Minor reformatting.
-
-2016-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Analyze_Aspect_Specifications, case Pre/Post):
-	Check that the classwide version is illegal when the prefix is
-	an operation of an untagged synchronized type.
-
-2016-04-27  Arnaud Charlet  <charleT@adacore.com>
-
-	* sinput-l.ads, sem_ch13.adb: Minor editing.
-
-2016-04-27  Doug Rupp  <rupp@adacore.com>
-
-	* init.c (__gnat_adjust_context_for_raise) [arm-linux thumb]:
-	Bump the pc so the lower order bit is set.
-
-2016-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_case.adb, sem_case.ads (NO_Op): If appropriate warning is
-	enabled, report an empty range in a case construct.
-
-2016-04-27  Arnaud Charlet  <charlet@adacore.com>
-
-	* sinput.ads, a-cfdlli.adb, a-crbtgo.adb, a-chtgop.adb, a-cbhama.adb,
-	a-rbtgbo.adb, a-crdlli.adb, a-chtgbo.adb: Minor editing.
-
-2016-04-27  Bob Duff  <duff@adacore.com>
-
-	* a-chtgop.adb (Adjust): Zero the tampering counts on assignment,
-	as is done for the other containers.
-
-2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* ghost.adb (In_Subprogram_Body_Profile): New routine.
-	(Is_OK_Declaration): Treat an unanalyzed expression
-	function as an OK context.  Treat a reference to a Ghost entity
-	as OK when it appears within the profile of a subprogram body.
-
-2016-04-27  Bob Duff  <duff@adacore.com>
-
-	* errout.ads: Document the fact that informational messages
-	don't have to be warnings.
-	* errout.adb (Error_Msg_Internal): In statistics counts, deal
-	correctly with informational messages that are not warnings.
-	(Error_Msg_NEL): Remove useless 'if' aroung Set_Posted, because
-	Set_Posted already checks for errors and ignores others.
-	* erroutc.adb (Prescan_Message): Set Is_Serious_Error to False
-	if Is_Info_Msg; the previous code was assuming that Is_Info_Msg
-	implies Is_Warning_Msg.
-	* errutil.adb (Error_Msg): In statistics counts, deal correctly
-	with informational messages that are not warnings.
-
-2016-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.ads, sem_util.adb (Is_Null_Record_Type): New predicate
-	to determine whether a record type is a null record.
-	* sem_ch3.adb (Analyze_Object_Declaration): If the type is a
-	null record and there is no expression in the declaration,
-	no predicate check applies to the object.
-
-2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch7.adb (Analyze_Package_Body_Helper): The body of an
-	instantiated package should not cause freezing of previous contracts.
-
-2016-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_dim.adb (Analyze_Dimension): Handle subtype declarations
-	that do not come from source.
-	(Analyze_Dimension_Subtype_Declaration): Allow confirming
-	dimensions on subtype entity, either inherited from base type
-	or provided by aspect specification.
-
-2016-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* s-gearop.ads (Matrix_Vector_Solution, Matrix_Matrix_Solution):
-	Add scalar formal object Zero, to allow detection and report
-	when the matrix is singular.
-	* s-gearop.adb (Matrix_Vector_Solution, Matrix_Matrix_Solution):
-	Raise Constraint_Error if the Forward_Eliminate pass has
-	determined that determinant is Zero.o
-	* s-ngrear.adb (Solve): Add actual for Zero in corresponding
-	instantiations.
-	* s-ngcoar.adb (Solve): Ditto.
-
-2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch3.adb: Minor reformatting.
-
-2016-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_dim.adb (Analyze_Dimension, case N_Identifier): Check
-	that identifier has a usable type before analysis, to handle
-	properly identifiers introduced after some lexical/syntactic
-	recovery that created new identifiers.
-
-2016-04-27  Bob Duff  <duff@adacore.com>
-
-	* a-coinve.adb, a-comutr.adb, a-conhel.adb, a-convec.adb,
-	exp_util.adb: Remove assertions that can fail in obscure cases when
-	assertions are turned on but tampering checks are turned off.
-
-2016-04-27  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch6.adb (Add_Call_By_Copy_Code,
-	Add_Simple_Call_By_Copy_Code, Expand_Actuals): Handle formals
-	whose type comes from the limited view.
-
-2016-04-27  Yannick Moy  <moy@adacore.com>
-
-	* a-textio.adb: Complete previous patch.
-
-2016-04-27  Yannick Moy  <moy@adacore.com>
-
-	* inline.adb (Expand_Inlined_Call): Use Cannot_Inline instead of
-	Error_Msg_N to issue message about impossibility to inline call,
-	with slight change of message.
-
-2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_spark.adb (Expand_Potential_Renaming): Removed.
-	(Expand_SPARK): Update the call to expand a potential renaming.
-	(Expand_SPARK_Potential_Renaming): New routine.
-	* exp_spark.ads (Expand_SPARK_Potential_Renaming): New routine.
-	* sem.adb Add with and use clauses for Exp_SPARK.
-	(Analyze): Expand a non-overloaded potential renaming for SPARK.
-
-2016-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Constrain_Discriminated_Type): In an instance,
-	check full view for the presence of defaulted discriminants,
-	even when the partial view of a private type has no visible and
-	no unknown discriminants.
-
-2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* lib-xref.adb, exp_ch3.adb: Minor reformatting.
-
-2016-04-27  Nicolas Roche  <roche@adacore.com>
-
-	* rtinit.c: Add weak symbol __gnat_do_argv_expansion.
-
-2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_prag.adb (Process_Atomic_Independent_Shared_Volatile): Code
-	cleanup. Check the original node when trying to determine the node kind
-	of pragma Volatile's argument to account for untagged derivations
-	where the type is transformed into a constrained subtype.
-
-2016-04-27  Olivier Hainque  <hainque@adacore.com>
-
-	* mkdir.c (__gnat_mkdir): Rework the vxworks section to use a
-	consistent posix interface on the caller side.
-
-2016-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch10.adb (Build_Limited_View, Decorate_Type): If this
-	is a limited view of a type, initialize the Limited_Dependents
-	field to catch misuses of the type in a client unit.
-
-2016-04-27  Thomas Quinot  <quinot@adacore.com>
-
-	* a-strunb-shared.adb (Finalize): add missing Reference call.
-	* s-strhas.adb: minor grammar fix and extension of comment
-	* sem_ch8.adb: minor whitespace fixes
-
-2016-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* lib-xref.adb (Get_Type_Reference): Handle properly the case
-	of an object declaration whose type definition is a class-wide
-	subtype and whose expression is a function call that returns a
-	classwide type.
-
-2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_util.ads, sem_util.adb (Output_Entity): New routine.
-	(Output_Name): New routine.
-
-2016-04-27  Bob Duff  <duff@adacore.com>
-
-	* exp_ch3.adb (Rewrite_As_Renaming): Disable previous change for now.
-
-2016-04-27  Vincent Celier  <celier@adacore.com>
-
-	* gnatcmd.adb: For "gnat ls -V -P", recognize switch
-	--unchecked-shared-lib-imports and set the flag
-	Opt.Unchecked_Shared_Lib_Imports accordingly.
-
-2016-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Analyze_Pre_Post_Condition_In_Decl_Part):
-	A generic subprogram is never a primitive operation, and thus
-	a classwide condition for it is not legal.
-
-2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_aggr.adb, sem_dim.adb, sem_dim.ads, einfo.adb: Minor
-	reformatting.
-
-2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_res.adb (Flag_Effectively_Volatile_Objects): New routine.
-	(Resolve_Actuals): Flag effectively volatile objects with enabled
-	property Async_Writers or Effective_Reads as illegal.
-	* sem_util.adb (Is_OK_Volatile_Context): Comment reformatting.
-
-2016-04-27  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch3.adb (Make_Predefined_Primitive_Specs):
-	Do not generate the profile of the equality operator if it has
-	been explicitly defined as abstract in the parent type. Required
-	to avoid reporting an spurious error.
-
-2016-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_dim.ads, sem_dim.adb (Check_Expression_Dimensions): New
-	procedure to compute the dimension vector of a scalar expression
-	and compare it with the dimensions if its expected subtype. Used
-	for the ultimate components of a multidimensional aggregate,
-	whose components typically are themselves aggregates that are
-	expanded separately. Previous to this patch, dimensionality
-	checking on such aggregates generated spurious errors.
-	* sem_aggr.adb (Resolve_Array_Aggregate): Use
-	Check_Expression_Dimensions when needed.
-
-2016-04-27  Javier Miranda  <miranda@adacore.com>
-
-	* einfo.ads, einfo.adb (Corresponding_Function): New attribute
-	(applicable to E_Procedure).
-	(Corresponding_Procedure): New attribute (applicable to E_Function).
-	* exp_util.adb (Build_Procedure_Form): Link the function with
-	its internally built proc and viceversa.
-	* sem_ch6.adb (Build_Subprogram_Declaration): Propagate the
-	attribute Rewritten_For_C and Corresponding_Procedure to the body.
-	* exp_ch6.adb (Rewritten_For_C_Func_Id): Removed.
-	(Rewritten_For_C_Proc_Id): Removed.
-	* exp_unst.adb (Note_Uplevel_Ref): Use the new attribute to
-	locate the corresponding procedure.
-
-2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch13.adb (Analyze_Aspect_Export_Import): Signal that there is no
-	corresponding pragma.
-
-2016-04-27  Bob Duff  <duff@adacore.com>
-
-	* exp_ch3.adb: Minor comment improvement.
-
-2016-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): If the
-	return type is an untagged limited record with only access
-	discriminants and no controlled components, the return value does not
-	need to use the secondary stack.
-
-2016-04-27  Javier Miranda  <miranda@adacore.com>
-
-	* exp_util.adb (Remove_Side_Effects): When
-	generating C code handle object declarations that have
-	discriminants and are initialized by means of a call to a
-	function.
-
-2016-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* a-textio.adb (Get_Line function): Handle properly the case of
-	a line that has the same length as the buffer (or a multiple
-	thereof) and there is no line terminator.
-	* a-tigeli.adb (Get_Line procedure): Do not store an end_of_file
-	in the string when there is no previous line terminator and we
-	need at most one additional character.
-
-2016-04-27  Arnaud Charlet  <charlet@adacore.com>
-
-	* s-rident.ads: Make No_Implicit_Loops non partition wide.
-
-2016-04-27  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_ch11.adb (Analyze_Handled_Statements): check useless
-	assignments also in entries and task bodies, not only in
-	procedures and declaration blocks.
-	* sem_ch5.adb (Analyze_Block_Statement): check useless
-	assignements in declaration blocks as part of processing their
-	handled statement sequence, just like it was done for procedures
-	and now is also done for entries and task bodies.
-	* sem_warn.adb (Warn_On_Useless_Assignment): detect boundries
-	of entries and task bodies just like of procedures.
-
-2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_util.adb (Is_Volatile_Function): Recognize
-	a function declared within a protected type as well as the
-	protected/unprotected version of a function.
-
-2016-04-27  Bob Duff  <duff@adacore.com>
-
-	* exp_ch3.adb (Expand_N_Object_Declaration): Rewrite an object
-	declaration of the form "X : T := Func (...);", where T is
-	controlled, as a renaming.
-	* a-strunb-shared.adb (Finalize): Set the Unbounded_String Object
-	to be an empty string, instead of null-ing out the Reference.
-	* exp_util.adb (Needs_Finalization): Remove redundant code.
-
-2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* aspects.ads Aspects Export and Import do not require delay. They
-	were classified as delayed aspects, but treated as non-delayed
-	by the analysis of aspects.
-	* freeze.adb (Copy_Import_Pragma): New routine.
-	(Wrap_Imported_Subprogram): Copy the import pragma by first
-	resetting all semantic fields to avoid an infinite loop when
-	performing the copy.
-	* sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Add
-	comment on the processing of aspects Export and Import
-	at the freeze point.
-	(Analyze_Aspect_Convention: New routine.
-	(Analyze_Aspect_Export_Import): New routine.
-	(Analyze_Aspect_External_Link_Name): New routine.
-	(Analyze_Aspect_External_Or_Link_Name): Removed.
-	(Analyze_Aspect_Specifications): Factor out the analysis of
-	aspects Convention, Export, External_Name, Import, and Link_Name
-	in their respective routines.  Aspects Export and Import should
-	not generate a Boolean pragma because their corresponding pragmas
-	have a very different syntax.
-	(Build_Export_Import_Pragma): New routine.
-	(Get_Interfacing_Aspects): New routine.
-
-2016-04-27  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* inline.adb (Add_Inlined_Body): Overhaul implementation,
-	robustify handling of -gnatn1, add special treatment for
-	expression functions.
-
-2016-04-27  Doug Rupp  <rupp@adacore.com>
-
-	* g-traceb.ads: Update comment.
-	* exp_ch2.adb: minor style fix in object declaration
-
-2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_elab.adb (Check_Internal_Call): Do not
-	consider a call when it appears within pragma Initial_Condition
-	since the pragma is part of the elaboration statements of a
-	package body and may only call external subprograms or subprograms
-	whose body is already available.
-	(Within_Initial_Condition): New routine.
-
-2016-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_util.adb (Build_Procedure_Form): Prevent double generation
-	of the procedure form when dealing with an expression function
-	whose return type is an array.
-	* sem_ch3.adb: Fix out-of order Has_Predicates setting.
-	* exp_ch6.adb: Proper conversion for inherited operation in C.
-	* sem_ch6.adb: Code cleanup.
-
-2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* lib-xref.ads, sem_ch10.adb: minor style fix in comment
-	* g-socket.adb: Minor reformatting.
-	* sinfo.ads: Minor comment correction.
-	* sem_warn.ads: minor grammar fix in comment
-
-2016-04-27  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/gigi.h (gnat_to_gnu_entity): Adjust prototype.
-	(maybe_pad_type): Adjust comment.
-	(finish_record_type): Likewise.
-	(rest_of_record_type_compilation): Likewise.
-	* gcc-interface/decl.c (gnat_to_gnu_entity): Change DEFINITION type
-	parameter from integer to boolean.  Adjust recursive calls.
-	<E_Subprogram_Type>: Use copy_type and remove redundant assignments.
-	<E_Signed_Integer_Subtype>:  Adjust comment.  Remove call to
-	rest_of_record_type_compilation.  Set TYPE_PADDING_P flag earlier.
-	Pass false to finish_record_type.  Set the debug type later.
-	<E_Record_Subtype>: Remove call to rest_of_record_type_compilation.
-	(gnat_to_gnu_component_type): Fix formatting.
-	(gnat_to_gnu_field_decl): Adjust call to gnat_to_gnu_entity.
-	(gnat_to_gnu_type): Likewise.
-	* gcc-interface/trans.c (Identifier_to_gnu): Likewise.
-	(Loop_Statement_to_gnu): Likewise.
-	(Subprogram_Body_to_gnu): Likewise.
-	(Exception_Handler_to_gnu_fe_sjlj): Likewise.
-	(Exception_Handler_to_gnu_gcc): Likewise.
-	(Compilation_Unit_to_gnu): Likewise.
-	(gnat_to_gnu): Likewise.
-	(push_exception_label_stack): Likewise.
-	(elaborate_all_entities_for_package): Likewise.
-	(process_freeze_entity): Likewise.
-	(process_decls): Likewise.
-	(process_type): Likewise.
-	* gcc-interface/utils.c (struct deferred_decl_context_node): Tweak.
-	(maybe_pad_type): Adjust comments.  Set the debug type later.  Remove
-	call to rest_of_record_type_compilation.
-	(rest_of_record_type_compilation): Use copy_type.
-	(copy_type): Use correctly typed constants.
-	(gnat_signed_or_unsigned_type_for): Use copy_type.
-	* gcc-interface/utils2.c (nonbinary_modular_operation): Likewise.
-	(build_goto_raise): Adjust call tognat_to_gnu_entity.
-
-2016-04-27  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/misc.c (gnat_init): Do not call
-	internal_reference_types.
-
-2016-04-27  Svante Signell  <svante.signell@gmail.com>
-
-	* gcc-interface/Makefile.in (x86 GNU/Hurd): Use s-osinte-gnu.adb.
-	* s-osinte-gnu.ads: Small tweaks.
-	* s-osinte-gnu.adb: New file.
-
-2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_prag.adb (Match_Constituent): Treat a constant as a legal
-	constituent even if it is not to prevent spurious errors.
-
-2016-04-21  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_ch4.adb: Minor typo fixes and reformatting.
-
-2016-04-21  Dmitriy Anisimkov  <anisimko@adacore.com>
-
-	* g-calend.ads (No_Time): The same value in any timezone.
-	* g-socket.adb (Raise_Host_Error): Remove ending
-	dot from original error message before append colon delimited
-	host name.
-
-2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch3.adb: Code cleanup.
-	* sem_ch6.adb: Code cleanup.
-	(Is_Matching_Limited_View): New routine.
-	(Matches_Limited_With_View): Reimplemented.
-	* sem_ch10.adb (Decorate_Type): Code cleanup.
-
-2016-04-21  Doug Rupp  <rupp@adacore.com>
-
-	* tracebak.c (PPC ELF): Add macro defs for lynxos178e.
-
-2016-04-21  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Try_Container_Indexing): If there are overloaded
-	indexing functions, collect all overloadings of the call firts,
-	and then transfer them to indexing node, to prevent interleaving
-	of the set of interpretations of the nodes involved.
-	* sem_res.adb (Resolve): Suppress cascaded errors that report
-	ambiguities when one of the actuals in an overloaded generatlized
-	indexing operation is illegal and has type Any_Type, as is done
-	for similar cascaded errors in subprogram calls.
-	(Valid_Tagged_Conversion): Cleanup conversion checks when one
-	of the types involved is a class-wide subtype.
-
-2016-04-21  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Load_Parent_Of_Generic): When looking for the
-	subprogram declaration within a wrapper package, skip pragmas
-	that may have been generated by aspect specifications on the
-	generic instance.
-
-2016-04-21  Javier Miranda  <miranda@adacore.com>
-
-	* exp_aggr.adb (Component_Not_OK_For_Backend): Generating C
-	code return True for array identifiers since the backend needs
-	to initialize such component by means of memcpy().
-
-2016-04-21  Arnaud Charlet  <charlet@adacore.com>
-
-	* a-tasatt.adb, a-tasatt.ads (Fast_Path): Rewritten to avoid reading
-	potentially uninitialized memory.
-	* sem_ch3.adb: Minor style fix in comment.
-
-2016-04-21  Arnaud Charlet  <charlet@adacore.com>
-
-	* gnat_rm.texi, gnat_ugn.texi,
-	doc/gnat_ugn/gnat_project_manager.rst,
-	doc/gnat_ugn/building_executable_programs_with_gnat.rst,
-	doc/gnat_ugn/gnat_and_program_execution.rst,
-	doc/gnat_ugn/gnat_utility_programs.rst,
-	doc/gnat_ugn/the_gnat_compilation_model.rst,
-	doc/gnat_rm/implementation_defined_attributes.rst,
-	doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
-	doc/gnat_rm/implementation_defined_pragmas.rst,
-	doc/gnat_rm/the_gnat_library.rst,
-	doc/gnat_rm/implementation_defined_aspects.rst: Update doc.
-	* doc/Makefile: Cleanups.
-
-2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_pakd.adb, sem_ch13.adb: Minor reformatting.
-
-2016-04-21  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_dbug.adb, exp_dbug.ads (Qualify_Entity_Name): Add suffixes to
-	disambiguate local variables that may be hidden from inner visibility
-	by nested block declarations or loop variables.
-
-2016-04-21  Jerome Lambourg  <lambourg@adacore.com>
-
-	* s-soflin.adb: Initialize the Stack_Limit global variable.
-
-2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* lib-writ.adb: Minor reformatting.
-
-2016-04-21  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_pakd.adb (Compute_Number_Components): New function to
-	build an expression that computes the number of a components of
-	an array that may be multidimensional.
-	(Expan_Packed_Eq): Use it.
-
-2016-04-21  Arnaud Charlet  <charlet@adacore.com>
-
-	* g-traceb.ads: Update list of supported platforms.
-
-2016-04-21  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Add_Predicates): if the type is declared in
-	an inner package it may be frozen outside of the package, and
-	the generated pragma has not been analyzed yet, the expression
-	for the predicate must be captured and added to the predicate
-	function at this point.
-
-2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* contracts.adb (Analyze_Package_Body_Contract): Do not check
-	for a missing package refinement because 1) packages do not have
-	"refinement" and 2) the check for proper state refinement is
-	performed in a different place.
-	* einfo.adb (Has_Non_Null_Visible_Refinement): Reimplemented.
-	(Has_Null_Visible_Refinement): Reimplemented.
-	* sem_ch3.adb (Analyze_Declarations): Determine whether all
-	abstract states have received a refinement and if not, emit
-	errors.
-	* sem_ch7.adb (Analyze_Package_Declaration): Code
-	cleanup. Determine whether all abstract states of the
-	package and any nested packages have received a refinement
-	and if not, emit errors.
-	(Requires_Completion_In_Body): Add new formal parameter
-	Do_Abstract_States. Update the comment on usage. Propagate the
-	Do_Abstract_States flag to all Unit_Requires_Body calls.
-	(Unit_Requires_Body): Remove formal
-	parameter Ignore_Abstract_States. Add new formal paramter
-	Do_Abstract_States. Propagate the Do_Abstract_States flag to
-	all Requires_Completion_In calls.
-	* sem_ch7.ads (Unit_Requires_Body): Remove formal
-	parameter Ignore_Abstract_States. Add new formal paramter
-	Do_Abstract_States. Update the comment on usage.
-	* sem_ch9.adb (Analyze_Single_Protected_Declaration): Do
-	not initialize the constituent list as this is now done on a
-	need-to-add-element basis.
-	(Analyze_Single_Task_Declaration):
-	Do not initialize the constituent list as this is now done on
-	a need-to-add-element basis.
-	* sem_ch10.adb (Decorate_State): Do not initialize the constituent
-	lists as this is now done on a need-to-add-element basis.
-	* sem_prag.adb (Analyze_Constituent): Set the
-	refinement constituents when adding a new element.
-	(Analyze_Part_Of_In_Decl_Part): Set the Part_Of constituents when
-	adding a new element.
-	(Analyze_Part_Of_Option): Set the Part_Of
-	constituents when adding a new element.
-	(Analyze_Pragma): Set the Part_Of constituents when adding a new
-	element.
-	(Check_Constituent_Usage (all versions)): Reimplemented.
-	(Collect_Constituent): Set the refinement constituents when adding
-	a new element.
-	(Create_Abstract_State): Do not initialize the
-	constituent lists as this is now done on a need-to-add-element basis.
-	(Propagate_Part_Of): Set the Part_Of constituents when
-	adding a new element.
-	* sem_util.adb (Check_State_Refinements): New routine.
-	(Has_Non_Null_Refinement): Reimplemented.
-	(Has_Null_Refinement): Reimplemented.
-	(Requires_State_Refinement): Removed.
-	* sem_util.ads (Check_State_Refinements): New routine.
-	(Requires_State_Refinement): Removed.
-
-2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* lib-writ.adb, sem_ch6.adb: Minor reformatting and code cleanup.
-	* sem.adb: Fix comment.
-
-2016-04-21  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Analyze_Subtype_Declaration): A subtype
-	declaration with no aspects, whose subtype_mark is a subtype
-	with predicates, inherits the list of subprograms for the type.
-
-2016-04-21  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_aggr.adb (Has_Per_Object_Constraint): Refine previous
-	change.
-
-2016-04-21  Thomas Quinot  <quinot@adacore.com>
-
-	* g-socket.adb (Raise_Host_Error): Include additional Name parameter.
-
-2016-04-21  Ed Schonberg  <schonberg@adacore.com>
-
-	* lib-writ.adb (Write_ALI): Do not record in ali file units
-	that are present in the files table but not analyzed. These
-	units are present because they appear in the context of units
-	named in limited_with clauses, and the unit being compiled does
-	not depend semantically on them.
-
-2016-04-21  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Simplify code to
-	create the procedure body for an function returning an array type,
-	when generating C code. Reuse the subprogram body rather than
-	creating a new one, both as an efficiency measure and because
-	in an instance the body may contain global references that must
-	be preserved.
-
-2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch3.adb, exp_attr.adb, exp_ch6.adb, exp_aggr.adb: Minor
-	reformatting.
-
-2016-04-21  Javier Miranda  <miranda@adacore.com>
-
-	* exp_aggr.adb (Component_Check): Extend
-	the check that verifies that the aggregate has no function
-	calls to handle transformations performed by the frontend.
-	(Ultimate_Original_Expression): New subprogram.
-
-2016-04-21  Philippe Gil  <gil@adacore.com>
-
-	* krunch.adb (Krunch): Fix krunching of i-java.
-
-2016-04-21  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_ch8.adb (Evaluation_Required): Always return
-	True when Modify_Tree_For_C.
-
-2016-04-21  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gnatlink.adb (Gnatlink): Robustify detection of Windows target.
-	* alloc.ads: Minor comment fixes.
-	* einfo.ads: Fix typo.
-
-2016-04-21  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_aggr.adb (Component_Not_OK_For_Backend): Redo previous
-	changes to handle all cases of components depending on the
-	discriminant, not just string literals.
-
-2016-04-21  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Analyze_Subtype_Declaration): If the subtype
-	declaration is the generated declaration for a generic actual,
-	inherit predicates from the actual if it is a predicated subtype.
-
-2016-04-21  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch6.adb (Rewrite_Function_Call_For_C): If the function is
-	inherited and its result is controlling,  introduce a conversion
-	on the actual for the corresponding procedure call, to avoid
-	spurious type errors.
-
-2016-04-21  Jerome Lambourg  <lambourg@adacore.com>
-
-	* krunch.adb (Krunch): Fix krunching of i-vxworks.
-
-2016-04-21  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_aggr.adb: Minor reformatting and code cleanup.
-
-2016-04-21  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Resolve_Name): Omit quantified expressions from
-	resolution, because they introduce local names. Full resolution
-	will take place when predicate function is constructed.
-
-2016-04-21  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_aggr.adb (Component_Not_OK_For_Backend): Refine previous
-	change to take into account Per_Object_Constraint field rather
-	than special casing strings.
-	* exp_ch6.adb: Fix typo in Replace_Returns.
-
-2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch5.adb: Minor reformatting.
-
-2016-04-21  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_aggr.adb (Backend_Processing_Possible): Return False
-	when generating C and aggregate contains function calls.
-
-2016-04-21  Tristan Gingold  <gingold@adacore.com>
-
-	* krunch.adb (Krunch): Only partially krunch children of
-	Interfaces that aren't known.
-
-2016-04-21  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Make_Inline): Handle properly the instantiation
-	of a generic subpprogram that carries an Inline aspect. Place
-	inline info on the anonymous subprogram that is constructed in
-	the wrapper package.
-	(Analyze_Pragma, case Pure): Do not check placement if pragma
-	appears within an instantiation, which can be nested at any level.
-	* sem_ch12.adb (Analyze_Instance_And_Renamings): Do not copy Freeze
-	node from anonymous subprogram to its visible renaming. The
-	freeze node will be constructed if the subprogram carries
-	delayed aspects.
-	(Set_Global): Preserve dimension information if present (from
-	code reading).
-
-2016-04-21  Vasiliy Fofanov  <fofanov@adacore.com>
-
-	* gnatlink.adb: Change wording of the warning message on
-	problematic filenames to be more neutral. Add a new substring
-	"patch" introduced on Windows 10.
-
-2016-04-21  Philippe Gil  <gil@adacore.com>
-
-	* tracebak.c (__gnat_backtrace): handle bad RIP values (win64 only)
-
-2016-04-21  Javier Miranda  <miranda@adacore.com>
-
-	* exp_aggr.adb (Component_Not_OK_For_Backend): Return true for string
-	literals.
-
-2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* einfo.adb (Has_Non_Null_Abstract_State): New routine.
-	* einfo.ads New synthesized attribute
-	Has_Non_Null_Abstract_State along with occurrences in entities.
-	(Has_Non_Null_Abstract_State): New routine.
-	* sem_ch7.adb (Unit_Requires_Body): Add local variable
-	Requires_Body. A package declaring an abstract state requires
-	a body only when the state is non-null and the package contains
-	at least one other construct that requires completion in a body.
-	* sem_util.adb (Mode_Is_Off): Removed.
-	(Requires_State_Refinement): Remove an obsolete check. Code
-	cleanup.
-
-2016-04-21  Bob Duff  <duff@adacore.com>
-
-	* sem_attr.adb (Analyze_Attribute): In processing
-	the 'Old attribute, a warning is given for infinite recursion. Fix
-	the code to not crash when the prefix of 'Old denotes a protected
-	function.
-	* sem_ch5.adb (Analyze_Iterator_Specification):
-	Avoid calling Is_Dependent_Component_Of_Mutable_Object in cases
-	where the parameter would not be an object.
-
-2016-04-21  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_eval.adb (Compile_Time_Compare): Be prepared for an empty
-	Etype or Underlying_Type of the operands.
-
-2016-04-21  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* atree.adb (Print_Statistics): Protect against overflows and
-	print the memory consumption in bytes.
-	* table.adb (Reallocate): Do the intermediate calculation of the new
-	size using the Memory.size_t type.
-
-2016-04-21  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_attr.adb (Is_Inline_Floating_Point_Attribute): Suppress
-	expansion of Attribute_Machine and Attribute_Model for AAMP.
-
-2016-04-21  Ed Schonberg  <schonberg@adacore.com>
-
-	* freeze.adb: Disable previous change for now.
-
-2016-04-21  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch8.adb (Find_Selected_Component): If prefix has an
-	access type and designated type is a limited view, introduce
-	an explicit dereference before continuing the analysis, and
-	set its type to the non-limited view of the designated type,
-	if we are in context where it is available.
-
-2016-04-21  Ed Schonberg  <schonberg@adacore.com>
-
-	* freeze.adb: Freeze profile in ASIS mode.
-
-2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_aux.ads, sem_aux.adb (Has_Rep_Item): New variant.
-	* sem_util.adb (Inherit_Rep_Item_Chain): Reimplemented.
-
-2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch6.adb: Minor reformatting.
-
-2016-04-21  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb: Minor comment update.
-
-2016-04-21  Ed Schonberg  <schonberg@adacore.com>
-
-	* freeze.ads, freeze.adb (Freeze_Entity, Freeze_Before): Add
-	boolean parameter to determine whether freezing an overloadable
-	entity freezes its profile as well. This is required by
-	AI05-019. The call to Freeze_Profile within Freeze_Entity is
-	conditioned by the value of this flag, whose default is True.
-	* sem_attr.adb (Resolve_Attribute, case 'Access): The attribute
-	reference freezes the prefix, but it the prefix is a subprogram
-	it does not freeze its profile.
-
-2016-04-21  Javier Miranda  <miranda@adacore.com>
-
-	* exp_util.adb (Build_Procedure_Form): No action needed for
-	subprogram renamings since the backend can generate the call
-	using the renamed subprogram. This leaves the tree more clean
-	to the backend.
-	* exp_ch6.adb (Expand_Call): Extend previous patch for
-	rewritten-for-c entities to handle subprogram renamings.
-	(Rewrite_Function_Call_For_C): Handle subprogram renamings.
-
-2016-04-21  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb: Code cleanup.
-
-2016-04-21  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): If the body is
-	created for SPARK_To_C, the entity must remain invisible so it
-	does not overload subsequent references to the original function.
-	* exp_ch6.adb (Build_Procedure_Body_Form, Replace_Returns):
-	Handle Extended_Return_Statements by replacing it with a block
-	with assignments and a simple return statement.
-	* exp_util.adb (Build_Procedure_Form): Make procedure entity
-	invisible after analyzing declaration, to prevent improper
-	overloading.
-
-2016-04-21  Javier Miranda  <miranda@adacore.com>
-
-	* sem_ch6.adb (Build_Subprogram_Declaration): Propagate the
-	attribute Rewritten_For_C to the body since since the expander
-	may generate calls using that entity.
-	* exp_ch6.adb (Expand_Call): For internally generated
-	calls ensure that they reference the entity of the spec
-	of the called function.
-	(Rewritten_For_C_Func_Id): New subprogram.
-	(Rewritten_For_C_Proc_Id): New subprogram.
-	(Rewrite_Function_Call_For_C): Invoke the new subprogram to
-	ensure that we skip freezing entities.
-	* exp_util.adb (Build_Procedure_Form): No action needed if the
-	procedure was already built.
-
-2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch3.adb, exp_util.adb, sem_ch13.adb, exp_unst.adb: Minor
-	reformatting.
-
-2016-04-21  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.adb (Denotes_Iterator): Use root type to determine
-	whether the ultimate ancestor is the predefined iterator
-	interface pakage.
-	* exp_ch5.adb (Expand_Iterator_Over_Container): simplify code
-	and avoid reuse of Pack local variable.
-
-2016-04-21  Olivier Hainque  <hainque@adacore.com>
-
-	* system-vxworks-arm.ads, system-vxworks-sparcv9.ads,
-	system-vxworks-ppc.ads, system-vxworks-m68k.ads,
-	system-vxworks-mips.ads, system-vxworks-x86.ads: Define
-	Executable_Extension to ".out".
-
-2016-04-21  Javier Miranda  <miranda@adacore.com>
-
-	* frontend.adb: Update call to Unnest_Subprograms.
-	* exp_ch6.ads, exp_ch6.adb, exp_unst.ads, exp_unst.adb
-	(Unnest_Subprograms): Moved to package exp_unst.
-	* exp_unst.ads (Unnest_Subprogram): Moved to the body of the
-	package.
-	* exp_dbug.adb (Qualify_Entity_Name): Enable qualification of
-	enumeration literals when generating C code.
-
-2016-04-21  Javier Miranda  <miranda@adacore.com>
-
-	* frontend.adb: Remove call to initialize Exp_Ch6.
-	* exp_ch6.ads, exp_ch6.adb (Initialize): removed.
-	(Unest_Entry/Unest_Bodies): Removed.
-	(Unnest_Subprograms): Code cleanup.
-
-2016-04-21  Arnaud Charlet  <charlet@adacore.com>
-
-	* set_targ.adb (Read_Target_Dependent_Values):
-	close target description file once its contents is read.
-	* s-os_lib.adb (Non_Blocking_Spawn, version with Stdout_File
-	and Stderr_File): Close local file descriptors before spawning
-	child process.
-	* exp_util.adb (Containing_Package_With_Ext_Axioms): Limit scope of
-	local variables to make the code easier to understand and avoid
-	duplicated calls to Parent and Generic_Parent.
-
-2016-04-20  Bob Duff  <duff@adacore.com>
-
-	* s-os_lib.ads: Minor comment fix.
-
-2016-04-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch5.adb (Expand_N_Assignment_Statement): Do no generate
-	a discriminant check for a type whose partial view has unknown
-	discriminants when the full view has discriminants with defaults.
-
-2016-04-20  Javier Miranda  <miranda@adacore.com>
-
-	* exp_util.adb (Remove_Side_Effects): When generating C code
-	remove side effect of type conversion of access to unconstrained
-	array type.
-	(Side_Effect_Free): Return false for the type
-	conversion of access to unconstrained array type when generating
-	C code.
-	* sem_res.adb (Resolved_Type_Conversion): Remove side effects
-	of access to unconstrained array type conversion when generating
-	C code.
-
-2016-04-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Build_Predicate_Function_Declaration): New
-	function, to construct the declaration of a predicate function
-	at the end of the current declarative part rather than at the
-	(possibly later) freeze point of the type. This also allows uses
-	of a type with predicates in instantiations elsewhere.
-	(Resolve_Aspect_Expression): New procedure to detect visiblity
-	errors in aspect expressions, at the end of the declarative part
-	that includes the type declaration.
-	* sem_ch3.adb (Complete_Private_Subtype): Propagate properly the
-	predicate function from private to full view.
-	* einfo.adb (Predicate_Function): Refine search for predicate
-	function when type has a full view and predicate function may
-	be defined on either view.
-
-2016-04-20  Javier Miranda  <miranda@adacore.com>
-
-	* frontend.adb: Passing the root of the tree to
-	Unnest_Subprograms().
-	* exp_ch6.adb (Expand_N_Subprogram_Body): Remove code that
-	took care of adding subprograms to the Unest_Bodies table since
-	performing such action too early disables the ability to process
-	generic instantiations.
-	(Unnest_Subprograms): Adding parameter.
-	(Search_Unnesting_Subprograms): New subprogram.
-	* exp_ch6.ads (Unnest_Subrograms): Update documentation.
-
-2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_util.adb, freeze.adb, sem_util.adb: Minor reformatting.
-
-2016-04-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_unst.adb (Check_Static_Type): For a private type, check
-	full view.
-
-2016-04-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_attr.adb (Check_Type): Reject an attribute reference in
-	an aspect expression, when the prefix of the reference is the
-	current instance of the type to which the aspect applies.
-
-2016-04-20  Bob Duff  <duff@adacore.com>
-
-	* sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about
-	hiding unless we're actually hiding something. The previous
-	code would (for example) warn about a "<" on a record type
-	because it incorrectly thought it was hiding the "<" on Boolean
-	in Standard. We need to check that the homonym S is in fact a
-	homograph of a predefined operator.
-
-2016-04-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_util.ads, exp_util.adb (Build_Procedure_Form): Moved here
-	from exp_ch6.adb, for use in SPARK_To_C mode when creating the
-	procedure equivalent to a function returning an array, when this
-	construction is deferred to the freeze point of the function.
-	* sem_util.adb (Is_Unchecked_Conversion_Instance): Include a
-	function that renames an instance of Unchecked_Conversion.
-	* freeze.adb (Freeze_Subprogram): Generate the proper procedure
-	declaration for a function returning an array.
-	* exp_ch6.adb (Build_Procedure_Form): Moved to exp_util.
-
-2016-04-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.ads, sem_util.adb (Is_Expanded_Priority_Attribute):
-	New predicate to determine that in a context with full run-time,
-	a function call is an expansion of a reference to attribute
-	Priority.
-	* sem_ch5.adb (Analyze_Function_Call): use it.
-	* exp_ch5.adb (Expand_N_Subprogram_Call): use it.
-
-2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* einfo.adb Flag286 is now used as Is_Exception_Handler.
-	(Is_Exception_Handler): New routine.
-	(Set_Is_Exception_Handler): New routine.
-	(Write_Entity_Flags): Output the status of Is_Exception_Handler.
-	* einfo.ads New attribute Is_Exception_Handler along with
-	occurrences in entities.
-	(Is_Exception_Handler): New routine along with pragma Inline.
-	(Set_Is_Exception_Handler): New routine along with pragma Inline.
-	* exp_ch7.adb (Make_Transient_Block): Ignore blocks generated
-	for exception handlers with a choice parameter.
-	* sem_ch11.adb (Analyze_Exception_Handlers): Mark the scope
-	generated for a choice parameter as an exception handler.
-
-2016-04-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Build_Derived_Access_Type): Remove dead code.
-	(Constrain_Discriminated_Type): In an instance, if the type has
-	unknown discriminants, use its full view.
-	(Process_Subtype): Check that the base type is private before
-	adding subtype to Private_Dependents list.
-
-2016-04-20  Bob Duff  <duff@adacore.com>
-
-	* sem_ch13.adb: Minor comment fix.
-
-2016-04-20  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch4.adb: Fix typos in comments.
-	* sem_res.adb (Resolve_Case_Expression): Fix type of case alternatives.
-
-2016-04-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Analyze_Selected_Component): A reference to the
-	current instance of a task type is legal if the prefix is an
-	expression of that task type and the selector is an entry or
-	entry family.
-
-2016-04-20  Arnaud Charlet  <charlet@adacore.com>
-
-	* a-cfdlli.ads (List): Type is no longer tagged, not needed. Move
-	varsize field at the end for efficiency.
-
-2016-04-20  Vincent Celier  <celier@adacore.com>
-
-	* gnatcmd.adb: Do not invoke gprls when the invocation of "gnat
-	ls" includes the switch -V.
-	* clean.adb: "<target>-gnatclean -P" now calls "gprclean
-	--target=<target>"
-	* make.adb: "<target>-gnatmake -P" now calls "gprbuild
-	--target=<target>"
-
-2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch12.adb (Qualify_Type): Do not perform
-	partial qualification when the immediate scope is a generic unit.
-
-2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_unst.adb: Minor reformatting.
-
-2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch4.adb (Expand_Allocator_Expression): Ensure that the
-	tag assignment and adjustment preceed the accessibility check.
-	* exp_ch7.adb (Is_Subprogram_Call): Reimplemented.
-
-2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_prag.adb (Expand_Attributes): Ensure that
-	the temporary used to capture the value of attribute 'Old's
-	prefix is properly initialized.
-
-2016-04-20  Javier Miranda  <miranda@adacore.com>
-
-	* exp_unst.ads, exp_unst.adb (Get_Level, Subp_Index): Moved to library
-	level.
-
-2016-04-20  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_ch9.adb (Analyze_Task_Type_Declaration): Shut down warning
-	in codepeer mode.
-
-2016-04-20  Vincent Celier  <celier@adacore.com>
-
-	* make.adb: Code cleanup.
-
-2016-04-20  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_ch4.adb (Expand_Allocator_Expression): Help C code
-	generation.
-
-2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch12.adb (Copy_Generic_Node): Handle the special
-	qualification installed for universal literals that act as
-	operands in binary or unary operators.	(Qualify_Operand): Mark
-	the qualification to signal the instantiation mechanism how to
-	handle global reference propagation.
-	* sinfo.adb (Is_Qualified_Universal_Literal): New routine.
-	(Set_Is_Qualified_Universal_Literal): New routine.
-	* sinfo.ads New attribute Is_Qualified_Universal_Literal along
-	with occurrences in nodes.
-	(Is_Qualified_Universal_Literal):
-	New routine along with pragma Inline.
-	(Set_Is_Qualified_Universal_Literal): New routine along with
-	pragma Inline.
-
-2016-04-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem.adb (Do_Analyze): Save and restore Style_Max_Line_Length
-	so that the corresponding checks are preserved across compilations
-	that include System.Constants in their context.
-
-2016-04-20  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_type.adb: Minor typo fix and reformatting.
-	* a-conhel.ads: Update comment.
-
-2016-04-20  Bob Duff  <duff@adacore.com>
-
-	* a-cihama.adb, a-cihase.adb, a-coinve.adb (Copy): Rewrite the
-	code so it doesn't trigger an "uninit var" warning.
-
-2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_attr.ads Add new table Universal_Type_Attribute.
-	* sem_util.adb (Yields_Universal_Type): Use a table lookup when
-	checking attributes.
-
-2016-04-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_aggr.adb (Init_Stored_Discriminants,
-	Init_Visible_Discriminants): New procedures, subsidiary of
-	Build_Record_Aggr_Code, to handle properly the construction
-	of aggregates for a derived type that constrains some parent
-	discriminants and renames others.
-
-2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch12.adb (Qualify_Universal_Operands): New routine.
-	(Save_References_In_Operator): Add explicit qualifications in
-	the generic template for all operands of universal type.
-	* sem_type.adb (Disambiguate): Update the call to Matches.
-	(Matches): Reimplemented.
-	* sem_util.ads, sem_util.adb (Yields_Universal_Type): New routine.
-
-2016-04-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Rep_Item_Too_Late): Better error message for
-	an illegal aspect that freezes the entity to which it applies.
-
-2016-04-20  Bob Duff  <duff@adacore.com>
-
-	* a-stwibo.ads, a-stzbou.ads
-	("="): Add overriding keyword before function to avoid crash when
-	compiler is called with -gnatyO (check overriding indicators).
-
-2016-04-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Analyze_Pragma, case Check_Policy):  If this
-	is a configuration pragma and it uses the ARG syntax, insert
-	the rewritten pragma after the current one rather than using
-	Insert_Actions.
-
-2016-04-20  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_aggr.adb (Backend_Processing_Possible): Add handling of
-	C back-end.
-
-2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* s-imgllu.adb, sem_util.adb, s-imgint.adb, s-imguns.adb,
-	s-imglli.adb: Minor reformatting.
-
-2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_res.adb (Rewrite_Renamed_Operator): Do not rewrite the
-	renamed operator when the associated node appears within a
-	pre/postcondition.
-	* sem_util.ads, sem_util.adb (In_Pre_Post_Condition): New routine.
-
-2016-04-20  Yannick Moy  <moy@adacore.com>
-
-	* osint.adb (Relocate_Path): Fix test when Path is shorter than Prefix.
-	* einfo.adb (Set_Overridden_Operation): Add assertion.
-	* sem_util.adb (Unique_Entity): for renaming-as-body return the spec
-	entity.
-
-2016-04-20  Javier Miranda  <miranda@adacore.com>
-
-	* exp_unst.adb (Append_Unique_Call): New subprogram.
-	(Unnest_Subprogram): Replace the unique occurrence
-	of Call.Append() by Append_Unique_Call() which protects us from
-	adding to the Calls table duplicated entries.
-
-2016-04-20  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_attr.adb (Is_GCC_Target): Fix for C backend.
-	* xref_lib.ads (Dependencies_Tables): instantiate
-	Table package with types that guarantee its safe use.
-	* s-imgllu.adb, s-imgint.adb, s-imguns.adb, s-imglli.adb: Avoid nested
-	procedures.
-
-2016-04-20  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Valid]):
-	Disable expansion when generating C code.
-	* sinfo.ads, inline.ads: Minor editing.
-
-2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_util.adb, contracts.adb, ghost.adb, exp_ch6.adb: Minor
-	reformatting.
-
-2016-04-20  Javier Miranda  <miranda@adacore.com>
-
-	* contracts.adb (Build_Postconditions_Procedure): Code cleanup.
-	* ghost.adb (Os_OK_Ghost_Context.Is_OK_Declaration): Handle the
-	declaration of the internally built _postcondition procedure.
-
-2016-04-20  Arnaud Charlet  <charlet@adacore.com>
-
-	* snames.ads-tmpl (Internal_Attribute_Id, Attribute_Class_Array): Fix
-	indentation.
-	* sem_util.adb (Is_Unchecked_Conversion_Instance):
-	defense against library-level renamings of other functions,
-	which are never instances of Unchecked_Conversion.
-	* einfo.ads: minor fix of casing in comment
-
-2016-04-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch6.adb (Expand_N_Subprogram_Stub): Do not expand a body
-	that has been analyzed and expanded already. Qualify the names
-	in the proper body for use in the generation of C code.
-
-2016-04-20  Javier Miranda  <miranda@adacore.com>
-
-	* contracts.adb (Build_Postconditions_Procedure): Force its
-	inlining when generating C code.
-	* sem_attr.adb (Analyze_Attribute_Old_Result): Handle inlined
-	_postconditions when generating C code.
-	* exp_ch6.adb (Inlined_Subprogram): Inline calls to
-	_postconditions when generating C code.
-	* sinfo.ads, sinfo.adb (Corresponding_Spec, Set_Corresponding_Spec):
-	types of return value and argument changed from Node_Id to
-	Entity_Id.
-
-2016-04-20  Vincent Celier  <celier@adacore.com>
-
-	* make.adb, clean.adb, gnatname.adb: Revert previous change for now.
-
-2016-04-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch12.adb (Analyze_Instance_And_Renamings): Do not reset
-	the Has_Delayed_Freeze flag on the anonymous instance node.
-
-2016-04-20  Javier Miranda  <miranda@adacore.com>
-
-	* sem_ch5.adb (Analyze_Iterator_Specification): Remove transient
-	scope associated with the renaming object declaration.
-	* exp_util.adb (Insert_Actions): Remove handling of iterator
-	loop marked as requiring the secondary stack.
-
-2016-04-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_attr.adb (Analyze_Attribute, case 'Image): Implement
-	AI12-0124, which extends the functionality of the attribute so it
-	reflects the semantics of GNAT 'Img when applied to scalar types.
-	* lib-xref.adb: minor whitespace layout fix.
-
-2016-04-20  Vincent Celier  <celier@adacore.com>
-
-	* clean.adb (Gnatclean): Fail if project file specified and
-	gprclean is not available.
-	* gnatname.adb: Fail is -P is used and gprname is not available.
-	* make.adb (Initialize): Fail if project file specified and
-	gprbuild is not available.
-
-2016-04-20  Bob Duff  <duff@adacore.com>
-
-	* sem_ch5.adb (Analyze_Iterator_Specification): Do not use secondary
-	stack when possible.
-
-2016-04-20  Gary Dismukes  <dismukes@adacore.com>
-
-	* par_sco.adb, sem_util.adb, sem_ch13.adb: Minor typo corrections and
-	reformatting.
-
-2016-04-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Analyze_Pragma, case Default_Storage_Pool):
-	If the pragma comes from an aspect specification, verify that
-	the aspect applies to an entity with a declarative part.
-	* exp_ch5.adb: Code cleanup.
-
-2016-04-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_res.adb (Resolve_If_Expression): If first expression is
-	universal, resolve subsequent ones with the corresponding class
-	type (Any_Integer or Any_Real).
-
-2016-04-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch5.adb (Analyze_Iterator_Specification): If expansion is
-	disabled, complete the analysis of the iterator name to ensure
-	that reference for entities within are properly generated.
-
-2016-04-20  Arnaud Charlet  <charlet@adacore.com>
-
-	* a-dispat.ads (Yield): add Global contract.
-	* a-calend.ads, a-reatim.ads: Added Initializes => Clock_Time.
-	* a-taside.adb: Added Initializes => Tasking_State.
-
-2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch13.adb (Build_Invariant_Procedure):
-	Reimplement the invariant procedure spec and body insertion.
-
-2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch13.adb (Add_Invariant): Do not replace
-	the saved expression of an invariatn aspect when inheriting
-	a class-wide type invariant as this clobbers the existing
-	expression. Do not use New_Copy_List as it is unnecessary
-	and leaves the parent pointers referencing the wrong part of
-	the tree. Do not replace the type references for ASIS when
-	inheriting a class-wide type invariant as this clobbers the
-	existing replacement.
-
-2016-04-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.adb (Build_Explicit_Dereference): If the designated
-	expression is an entity name, generate reference to the entity
-	because it will not be resolved again.
-
-2016-04-19  Arnaud Charlet  <charlet@adacore.com>
-
-	* doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
-	gnat_rm.texi: Update documentation.
-
-2016-04-19  Olivier Hainque  <hainque@adacore.com>
-
-	* par_sco.adb (Traverse_One, case N_Case_Statement):
-	Skip pragmas before the first alternative.
-	(Traverse_Handled_Statement_Sequence, Exception_Handlers): Likewise.
-
-2016-04-19  Tristan Gingold  <gingold@adacore.com>
-
-	* adaint.c (__gnat_lwp_self): New function (for darwin).
-	* s-osinte-darwin.ads, s-osinte-darwin.adb (lwp_self): Import
-	of __gnat_lwp_self.
-
-2016-04-19  Olivier Hainque  <hainque@adacore.com>
-
-	* sem_util.adb (Build_Elaboration_Entity): Always request an
-	elab counter when preserving control-flow.
-
-2016-04-19  Olivier Hainque  <hainque@adacore.com>
-
-	* sem_ch13.adb (Build_Invariant_Procedure_Declaration): Set
-	Needs_Debug_Info when producing SCOs.
-	* par_sco.adb (Traverse_Aspects): Fix categorization of
-	Type_Invariant to match actual processing as activated depending
-	on pragma Assertion_Policy.
-	* sem_prag.adb (Analyze_Pragma): Remove special case for
-	Name_Invariant regarding SCO generation, which completely disabled
-	the production of SCOs for Invariant pragmas and aspects.
-
-2016-04-19  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb, sem_util.adb, sem_res.adb, sem_attr.adb: Minor
-	reformatting.
-
-2016-04-19  Ed Schonberg  <schonberg@adacore.com>
-
-	* freeze.adb (Freeze_Profile): Refine predicate that checks
-	whether a function that returns a limited view is declared in
-	another unit and cannot be frozen at this point.
-
-2016-04-19  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_aggr.adb (Component_Count): Handle properly superflat
-	arrays, i.e. empty arrays where Hi < Lo - 1, to ensure that the
-	return value of the function is Natural, rather than leaving
-	the handling of such arrays to the caller of this function.
-
-2016-04-19  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_prag.adb, sem_attr.adb, par-prag.adb, exp_aggr.adb, sem_type.adb
-	sem_ch12.adb, sem_ch3.adb, exp_ch7.adb, exp_ch9.adb: Code cleanup.
-	* sem_res.adb, sem_util.ads, sem_util.adb (Is_OK_Volatile_Context):
-	Promoted from being a nested subprogram in Sem_Res.Resolve_Entity_Name
-	to publicly visible routine in Sem_Util.
-
-2016-04-19  Ed Schonberg  <schonberg@adacore.com>
-
-	* checks.adb (Apply_Parameter_Aliasing_Checks): Do not apply
-	the check if the type of the actual is By_Reference.
-
-2016-04-19  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_res.adb (Within_Subprogram_Call): Detect
-	also nodes that appear in entry calls.
-	(Resolve_Actuals, Insert_Default): Propagate
-	dimension information if any, from default expression to the
-	copy that appears in the list of actuals.
-	* uintp.ads: minor whitespace fix in comment.
-	* sem_prag.adb, stringt.adb, inline.adb, lib-xref-spark_specific.adb:
-	Minor code cleanup.
-	* set_targ.adb (Set_Targ): convert directly from
-	Natural to Pos, without intermediate conversion to Int.
-
-2016-04-19  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_ch6.adb (Process_Formals): Mark suspicious reference to
-	SPARK RM in comment.
-	* sem_prag.adb (Analyze_Global_Item): Fix reference to SPARK RM
-	in comment.
-	* sem_res.adb (Property_Error, Resolve_Actuals): Fix reference
-	to SPARK RM in both comment and error message.
-
-2016-04-19  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch6.adb (Possible_Freeze): If the type is an incomplete
-	CW type, then the subprogram must have a delayed freeze. This
-	ensures that the backend can properly recover the full view when
-	elaborating the access subprogram declaration.
-
-2016-04-19  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_attr.adb (Resolve_Attribute, case 'Access): Freeze
-	overloadable entity if originally overloaded.
-
-2016-04-19  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_aggr.adb, exp_ch3.adb, exp_ch7.adb, exp_ch9.adb, exp_code.adb,
-	exp_fixd.adb, namet.adb, osint.adb, osint.ads, par-ch2.adb,
-	sem_ch10.adb, sem_ch12.adb, sem_disp.adb, sem_elab.adb, sem_elim.adb
-	sem_util.adb, styleg.adb, styleg.ads, stylesw.ads: Minor code
-	clean up.
-
-2016-04-19  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_util.adb (Copy_Node_With_Replacement):
-	use Set_Comes_From_Source instead of directly manipulating
-	internals of the node table.
-	* sem_util.adb (Within_Scope): refactored to remove duplicated code.
-	* sem_aux.adb (Get_Rep_Pragma,
-	Subprogram_Body_Entity, Subprogram_Spec): declare variables that
-	do not change as constants and initialize them in the declaration.
-	(Get_Rep_Pragma, Subprogram_Body_Entity, Subprogram_Spec): declare
-	variables that do not change as constants and initialize them
-	in the declaration.
-
-2016-04-19  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_res.adb (Resolve_Entry_Call): If the entry has
-	preconditions it is rewritten by means of a wrapper that
-	incorporates the original call. Before rewriting generate a
-	reference to the entry being called to prevent spurious warnings
-	and provide correct cross-reference information.
-
-2016-04-19  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_disp.adb (Check_Dispatching_Context): Code cleanup. Add
-	local constant Scop. Ignore any internally generated loops when
-	performing the check concerning an abstract subprogram call
-	without a controlling argument.
-	* sem_util.ads, sem_util.adb (Current_Scope_No_Loops): New routine.
-
-2016-04-19  Bob Duff  <duff@adacore.com>
-
-	* sem_elab.adb (Check_A_Call): There are cases where we have No
-	(Ent) after the Alias loop, even when there was no previous error,
-	so we can't assert that there was an error.
-
-2016-04-19  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_attr.adb (Analyze_Access_Attribute, OK_Self_Reference):
-	Reject use of type name as a prefix to 'access within an aggregate
-	in a context that is not the declarative region of a type.
-
-2016-04-19  Vincent Celier  <celier@adacore.com>
-
-	* gnatcmd.adb: Make "gnat ls -P" invoke gprls Make "gnat bind
-	-P" invoke "gprbuild -b" Make "gnat link -P" invoke "gprbuild
-	-l" Fail if the invocation is "gnat find -P" or "gnat xref -P"
-	Remove anything related to project files
-	* g-mbdira.adb: minor whitespace cleanup
-	* g-spipat.adb: minor removal of extra spaces after closing paren
-
-2016-04-19  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch6.adb (Expand_Actuals):  If post-statements are present
-	and the enclosing context is a function call or indexing, build
-	an Expression_With_Actions for the call.
-
-2016-04-19  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* lib-writ.adb (Write_With_Lines): Code cleanup. Do not generate
-	a with line for an ignored Ghost unit.
-	* sem_ch7.adb (Analyze_Package_Declaration): Add local constant
-	Par. A child package is Ghost when its parent is Ghost.
-	* sem_prag.adb (Analyze_Pragma): Pragma Ghost can now apply to
-	a subprogram declaration that acts as a compilation unit.
-
-2016-04-18  Michael Matz  <matz@suse.de>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity): Use SET_TYPE_ALIGN.
-	(gnat_to_gnu_field): Ditto.
-	(components_to_record): Ditto.
-	(create_variant_part_from): Ditto.
-	(copy_and_substitute_in_size): Ditto.
-	(substitute_in_type): Ditto.
-	* gcc-interface/utils.c (make_aligning_type): Use SET_TYPE_ALIGN.
-	(make_packable_type): Ditto.
-	(maybe_pad_type): Ditto.
-	(finish_fat_pointer_type): Ditto.
-	(finish_record_type): Ditto and use SET_DECL_ALIGN.
-	(rest_of_record_type_compilation): Use SET_TYPE_ALIGN.
-	(create_field_decl): Use SET_DECL_ALIGN.
-
-2016-04-18  Arnaud Charlet  <charlet@adacore.com>
-
-	* einfo.adb (Overridden_Operation): assert that
-	function is called for valid arguments.
-	* sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, sem_type.adb,
-	s-osinte-vxworks.ads, a-ngcefu.adb, sem_ch10.adb, einfo.ads,
-	sem_prag.adb, sem_ch12.adb, sem.adb, i-cobol.ads, freeze.adb,
-	sem_util.adb, a-chtgop.ads, s-rannum.adb, exp_ch6.adb, s-bignum.adb,
-	s-osinte-freebsd.ads, par-ch5.adb, a-chtgbo.ads, a-cofove.adb:
-	No space after closing parenthesis except where required for
-	layout.
-	* sem_res.adb: Minor reformatting.
-
-2016-04-18  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_ch4.adb (Expand_N_Case_Expression): Convert into a case
-	statement when relevant.
-
-2016-04-18  Bob Duff  <duff@adacore.com>
-
-	* a-cuprqu.adb (Enqueue): Properly handle the
-	case where the new element has a unique priority.
-
-2016-04-18  Tristan Gingold  <gingold@adacore.com>
-
-	* adaint.h: Define stat structures and functions for iOS
-	simulator.
-
-2016-04-18  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_res.adb (Resolve_Entry_Call): reset
-	Is_Overloaded flag after resolving calls to overloaded protected
-	operations.
-	* exp_spark.adb (Expand_SPARK): call
-	Qualify_Entity_Names for tasking nodes, i.e. protected types,
-	task types and entries.
-	* exp_ch4.adb (Expand_N_If_Expression): Refine previous change
-	in case of an unconstrained type.
-
-2016-04-18  Yannick Moy  <moy@adacore.com>
-
-	* sem_eval.adb, sem_eval.ads (Check_Non_Static_Context): Add
-	comment to document usage of subprogram in GNATprove.
-
-2016-04-18  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Analyze_Pragma, case Test_Case): Improve error
-	message for wrong placement of aspect Test_Case.
-
-2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* einfo.ads: Update the documentation of attribute Renamed_Object.
-	* exp_spark.adb (Expand_Potential_Renaming): Reimplemented.
-
-2016-04-18  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_ch4.adb (Optimize_Length_Comparison): Return immediately
-	in the case of AAMP (same as for use of the -gnatd.P switch) to
-	suppress this optimization, which avoids creating a dependence
-	on the 64-bit arithmetic package.
-
-2016-04-18  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_ch4.adb: Update comment.
-
-2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* exp_ch6.adb (Expand_Call): Make sure instantiations are
-	registered only once as pending here.
-
-2016-04-18  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_ch4.adb, gnat1drv.adb, opt.ads, sem_res.adb
-	(Minimize_Expression_With_Actions): New flag.
-	(Adjust_Global_Switches): Set Minimize_Expression_With_Actions
-	when generating C.
-	(Resolve_Short_Circuit): Redo previous change
-	using Minimize_Expression_With_Actions.
-	(Expand_N_If_Expression,
-	Expand_Short_Circuit_Operator): Restore old code to avoid
-	Expression_With_Actions when Minimize_Expression_With_Actions
-	is set.
-
-2016-04-18  Vincent Celier  <celier@adacore.com>
-
-	* s-os_lib.adb (Non_Blocking_Spawn, version with Stdout_File and
-	Stderr_File): Close local file descriptors when no longer needed.
-
-2016-04-18  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch5.adb (Analyze_Iterator_Specification): Remove SPARK
-	mode check that the type of the cursor in an iteration over
-	a formal container is not volatile. The proper check on the
-	element type is done elsewhere.
-
-2016-04-18  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Process_Formals): Do not set a delay freeze on
-	a subprogram that returns a class-wide type, if the subprogram
-	is a compilation unit, because otherwise gigi will treat the
-	subprogram as external, leading to link errors.
-
-2016-04-18  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_res.adb (Resolve_Short_Circuit): Do not use
-	expression-with-actions when generating C.
-
-2016-04-18  Yannick Moy  <moy@adacore.com>
-
-	* sem_util.adb (Apply_Compile_Time_Constraint_Error): Do not generate
-	raise node in GNATprove mode.
-
-2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* s-fileio.adb: Minor reformatting.
-	* sem_prag.adb (Analyze_Input_Item): Add local
-	variable Input_OK. Do not consider mappings of generic formal
-	parameters to actuals.
-
-2016-04-18  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch5.adb (Get_Cursor_Type): If iterator type is a derived
-	type, the cursor is declared in the scope of the parent type.
-	(Analyze_Parameter_Specification): A qualified expression with an
-	iterator type indicates an iteration over a container (explicit
-	or implicit).
-
-2016-04-18  Arnaud Charlet  <charlet@adacore.com>
-
-	* osint-c.ads, osint-c.adb (Delete_C_File, Delete_H_File): New.
-	* gnat1drv.adb (Gnat1drv): Delete old C files before regenerating them.
-	* debug.adb: Reserve -gnatd.4 to force generation of C files.
-
-2016-04-18  Yannick Moy  <moy@adacore.com>
-
-	* sem_eval.adb (Eval_Arithmetic_Op): Do not issue error on static
-	division by zero, instead possibly issue a warning.
-	* sem_res.adb (Resolve_Arithmetic_Op): Do not issue error on
-	static division by zero, instead add check flag on original
-	expression.
-	* sem_util.adb, sem_util.ads (Compile_Time_Constraint_Error):
-	Only issue error when both SPARK_Mode is On and Warn is False.
-
-2016-04-18  Yannick Moy  <moy@adacore.com>
-
-	* checks.adb (Apply_Scalar_Range_Check): Force
-	warning instead of error when SPARK_Mode is On, on index out of
-	bounds, and set check flag for GNATprove.
-
-2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_prag.adb (Check_In_Out_States.Check_Constituent_Usage):
-	Update the comment on usage.  Reimplemented.
-	(Check_Input_States.Check_Constituent_Usage): Update the comment
-	on usage. A Proof_In constituent can now refine an Input state
-	as long as there is at least one Input constituent present.
-
-2016-04-18  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Check_Inline_Pragma): Use the Sloc of the
-	body id as the sloc of the entity in the generated subprogram
-	declaration, to avoid spurious conformance errors when style
-	checks are enabled.
-
-2016-04-18  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Analyze_Selected_Component, Has_Dereference):
-	Refine check on illegal calls to entities within a task body,
-	when the entity is declared in an object of the same type. In
-	a generic context there might be no explicit dereference but if
-	the prefix includes an access type the construct is legal.
-
-2016-04-18  Arnaud Charlet  <charlet@adacore.com>
-
-	* rtsfind.ads, rtsfind.adb (RE_Id, RE_Unit_Table): add
-	RE_Default_Priority.
-
-2016-04-18  Bob Duff  <duff@adacore.com>
-
-	* sem_prag.adb (Check_Arg_Is_Local_Name): Don't do the check
-	if the pragma came from an aspect specification.
-
-2016-04-18  Gary Dismukes  <dismukes@adacore.com>
-
-	* gnat1drv.adb, contracts.adb: Minor reformatting and wording fixes.
-
-2016-04-18  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): To suppress
-	superfluous conformance check on an inlined body with a previous
-	spec, use the fact that the generated declaration does not come
-	from source. We must treat the entity as coming from source to
-	enable some back-end inlining when pragma appears after the body.
-
-2016-04-18  Gary Dismukes  <dismukes@adacore.com>
-
-	* lib-xref-spark_specific.adb, par-ch2.adb, errout.ads,
-	exp_intr.adb: Minor reformatting and typo corrections.
-
-2016-04-18  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb: Code cleanup.
-
-2016-04-18  Thomas Quinot  <quinot@adacore.com>
-
-	* sem_ch13.adb: Minor reformatting and error message tweaking
-	(remove extraneous spaces).
-
-2016-04-18  Johannes Kanig  <kanig@adacore.com>
-
-	* gnat1drv.adb (Gnat1drv): Force loading of System unit for SPARK.
-
-2016-04-18  Bob Duff  <duff@adacore.com>
-
-	* s-fileio.adb (Fopen_Mode): If Mode = Out_File, and the file
-	exists, and it's a fifo, we use "w" as the open string instead of
-	"r+". This is necessary to make a write to the fifo block until
-	a reader is ready.
-
-2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_attr.adb (Denote_Same_Function): Account
-	for a special case where a primitive of a tagged type inherits
-	a class-wide postcondition from a parent type.
-
-2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* par-ch2.adb (P_Expression_Or_Reserved_Word): New routine.
-	(P_Pragma): Signal Scan_Pragma_Argument_Association when the use
-	of reserved words is OK.
-	(Scan_Pragma_Argument_Association):
-	Add new formal Reserved_Words_OK and update the comment on
-	usage. Code cleanup. Parse an expression or a reserved word in
-	identifier form for pragmas Restriction_Warnings and Restrictions
-	No_Use_Of_Attribute.
-	* restrict.adb (Check_Restriction_No_Use_Of_Attribute):
-	Reimplemented.	(Check_Restriction_No_Use_Of_Pragma): Code cleanup.
-	(Set_Restriction_No_Specification_Of_Aspect): Properly set the warning
-	flag for an aspect.
-	(Set_Restriction_No_Use_Of_Attribute): Properly set the warning
-	flag for an attribute.	(Set_Restriction_No_Use_Of_Entity):
-	Update the parameter profile.
-	(Set_Restriction_No_Use_Of_Pragma): Properly set the warning flag for
-	a pragma.
-	* restrict.ads (Check_Restriction_No_Use_Of_Attribute): Update
-	the comment on usage.
-	(Set_Restriction_No_Use_Of_Entity): Update the parameter profile.
-	* sem_attr.adb (Analyze_Attribute): Check restriction
-	No_Use_Of_Attribute.
-	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check
-	restriction No_Use_Of_Attribute before any rewritings have
-	taken place.
-	* sem_prag.adb (Analyze_Pragma): Check restriction
-	No_Use_Of_Pragma before any rewritings have taken place.
-
-2016-04-18  Bob Duff  <duff@adacore.com>
-
-	* sem_ch6.adb (Is_Inline_Pragma): The pragma
-	argument can be a selected component, which has no Chars field,
-	so we need to deal with that case (use the Selector_Name).
-	(Check_Inline_Pragma): We need to test Is_List_Member before
-	calling In_Same_List, because in case of a library unit, they're
-	not in lists, so In_Same_List fails an assertion.
-
-2016-04-18  Bob Duff  <duff@adacore.com>
-
-	* namet.ads, namet.adb: Add an Append that appends a
-	Bounded_String onto a Bounded_String. Probably a little more
-	efficient than "Append(X, +Y);". Also minor cleanup.
-	(Append_Decoded, Append_Decoded_With_Brackets, Append_Unqualified,
-	Append_Unqualified_Decoded): Make sure these work with non-empty
-	buffers.
-	* casing.ads, casing.adb (Set_Casing): Pass a Bounded_String
-	parameter, defaulting to Global_Name_Buffer.
-	* errout.ads, errout.adb (Adjust_Name_Case): Pass a
-	Bounded_String parameter, no default.
-	* exp_ch11.adb (Expand_N_Raise_Statement): Use local
-	Bounded_String instead of Global_Name_Buffer.
-	* exp_intr.ads, exp_intr.adb (Write_Entity_Name): Rename it
-	to Append_Entity_Name, and pass a Bounded_String parameter,
-	instead of using globals.
-	(Add_Source_Info): Pass a Bounded_String parameter, instead of
-	using globals.
-	(Expand_Source_Info): Use local instead of globals.
-	* stringt.ads, stringt.adb (Append): Add an Append procedure
-	for appending a String_Id onto a Bounded_String.
-	(String_To_Name_Buffer, Add_String_To_Name_Buffer): Rewrite in
-	terms of Append.
-	* sem_prag.adb (Set_Error_Msg_To_Profile_Name): Adjust for new
-	Adjust_Name_Case parameter.
-	* erroutc.adb, uname.adb: Don't pass D => Mixed_Case to
-	Set_Casing; that's the default.
-	* lib-xref-spark_specific.adb (Add_SPARK_Scope): Pretend that calls to
-	protected subprograms are entry calls; otherwise it is not possible to
-	distinguish them from regular subprogram calls.
-
-2016-04-18  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_ch13.adb (Has_Good_Profile): Improvement
-	of error message. Now indicates subtype_mark of formal parameter
-	rather than the formal's name, plus minor rewording.
-
-2016-04-18  Pascal Obry  <obry@adacore.com>
-
-	* adaint.c, adaint.h, s-os_lib.ads: Add new routine Current_Process_Id.
-
-2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* stringt.adb, exp_ch6.adb, sem_ch13.adb: Minor reformatting.
-
-2016-04-18  Gary Dismukes  <dismukes@adacore.com>
-
-	* par-ch4.adb, sem_prag.adb: Minor reformatting.
-
-2016-04-18  Bob Duff  <duff@adacore.com>
-
-	* sinput.ads, sinput.adb (Build_Location_String): Take a
-	parameter instead of using a global variable.  The function
-	version no longer destroys the Name_Buffer.
-	* stringt.ads, stringt.adb (String_From_Name_Buffer): Take a
-	parameter, which defaults to the Global_Name_Buffer, so some
-	calls can avoid the global.
-	* exp_ch11.adb, exp_intr.adb: Use new interfaces above
-	to avoid using globals. All but one call to Build_Location_String
-	avoids the global. Only one call to String_From_Name_Buffer
-	avoids it.
-
-2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* namet.adb, namet.ads, exp_unst.adb: Minor reformatting.
-
-2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_eval.adb (Choice_Matches): Check the expression
-	against the predicate values when the choice denotes a
-	subtype with a static predicate.
-	(Eval_Membership_Op): Code cleanup. Remove the suspicious guard which
-	tests for predicates.
-	(Is_OK_Static_Subtype): A subtype with a dynamic predicate
-	is not static.	(Is_Static_Subtype): A subtype with a dynamic
-	predicate is not static.
-	* sem_eval.ads (Is_OK_Static_Subtype): Update the comment on usage.
-	(Is_Static_Subtype): Update the comment on usage.
-
-2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_prag.adb (Analyze_Input_Item): Allow
-	generic formals to appear as initialization items.
-
-2016-04-18  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Analyze_Stream_TSS_Definition,
-	Has_Good_Profile): Additional error message to indicate that
-	the second parameter of the subprogram must be a first subtype.
-
-2016-04-18  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Analyze_Subprogram_Body_Helper, Is_Inline_Pragma):
-	Use the pragma lookahead that determines whether a subprogram
-	is to be inlined, when some level of backend optimization is
-	required.
-	* sem_ch12.ads, sem_ch12.adb (Add_Pending_Instantiation): Factorize
-	code used to create an instance body when needed for inlining.
-	* exp_ch6.adb (Expand_Call): When a call is to be inlined, and the
-	call appears within an instantiation that is not a compilation
-	unit, add a pending instantiation for the enclosing instance,
-	so the backend can inline in turn the calls contained in the
-	inlined body.
-
-2016-04-18  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Build_Pragma_Check_Equivalent): The mapping
-	that relates operations of the parent type to the operations of
-	the derived type has three distinct sources:
-	a) explicit operations of the derived type carry an
-	Overridden_Operation that designates the operation in the
-	ancestor.
-	b) Implicit operations that are inherited by the derived type
-	carry an alias that may be an explicit subprogram (in which case
-	it may have an Overridden_ Operation indicator) or may also be
-	inherited and carry its own alias.
-	c) If the parent type is an interface, the operation of the
-	derived type does not override, but the interface operation
-	indicates the operation that implements it.
-	* sem_prag.adb: Minor reformatting.
-	* sem_prag.adb (Check_External_Property): Update
-	the comment on usage. Reimplement.
-
-2016-04-18  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch5.adb (Expand_Assignment_Statement): In restricted
-	profiles such as ZFP, ceiling priority is not available.
-
-2016-04-18  Bob Duff  <duff@adacore.com>
-
-	* namet-sp.ads: Minor typo fix, ironically in 'Spelling_Checker'.
-
-2016-04-18  Bob Duff  <duff@adacore.com>
-
-	* sem_elab.adb (Output_Calls): Use
-	Get_Name_String, to clearly indicate that the global Name_Buffer
-	is being used. The previous code used Is_Internal_Name, which
-	returns a Boolean, but also has a side effect of setting the
-	Name_Buffer. Then it called the other Is_Internal_Name, which uses
-	the Name_Buffer for its input. And then it called Error_Msg_N,
-	again using the Name_Buffer. We haven't eliminated the global
-	usage here, but we've made it a bit clearer.
-	This also allows us to have a side-effect-free version of
-	Is_Internal_Name.
-	* namet.ads, namet.adb: Provide a type Bounded_String, along with
-	routines that can be used without using global variables. Provide
-	Global_Name_Buffer so existing code can continue to use the
-	global. Mark the routines that use globals as obsolete.  New code
-	shouldn't call the obsolete ones, and we should clean up existing
-	code from time to time.
-	Name_Find_Str is renamed as Name_Find.
-	* namet.h: Changed as necessary to interface to the new version
-	of Namet.
-	* bindgen.adb, exp_unst.adb: Name_Find_Str is renamed as
-	Name_Find.
-
-2016-04-18  Yannick Moy  <moy@adacore.com>
-
-	* sem_util.adb, sem_util.ads (Has_Full_Default_Initialization): used
-	outside of GNATprove, hence it should not be removed.
-
-2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_prag.adb (Analyze_Refinement_Clause):
-	The refinement of an external abstract state can now mention
-	non-external constituents.
-	(Check_External_Property): Update all SPARK RM references.
-
-2016-04-18  Bob Duff  <duff@adacore.com>
-
-	* exp_intr.adb: Remove some duplicated code.
-
-2016-04-18  Yannick Moy  <moy@adacore.com>
-
-	* a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-nuflra.ads: Mark
-	package spec and body out of SPARK.
-
-2016-04-18  Johannes Kanig  <kanig@adacore.com>
-
-	* spark_xrefs.ads: Minor comment update.
-
-2016-04-18  Johannes Kanig  <kanig@adacore.com>
-
-	* gnat1drv.adb (Gnat1drv): Force loading of System
-	unit for SPARK.
-
-2016-04-18  Bob Duff  <duff@adacore.com>
-
-	* a-cuprqu.adb: Correction to previous change. If a new node
-	is inserted at the front of the queue (because it is higher
-	priority than the previous front node), we need to update
-	Header.Next_Unequal -- not just in the case where the queue was
-	previously empty.
-
-2016-04-18  Bob Duff  <duff@adacore.com>
-
-	* a-cuprqu.ads: Change the representation of List_Type from a
-	singly-linked list to a doubly-linked list. In addition, add a
-	pointer Next_Unequal, which points past a possibly-long chain
-	of equal-priority items. This increases efficiency, especially
-	in the case of many equal-priority items.
-	* a-cuprqu.adb (Dequeue, Enqueue): Rewrite algorithms to take
-	advantage of new data structure.
-	(Finalize): Rewrite in terms of Dequeue, for simplicity.
-
-2016-04-18  Yannick Moy  <moy@adacore.com>
-
-	* contracts.adb (Analyze_Object_Contract,
-	Analyze_Protected_Contract): Remove tests performed in GNATprove.
-	* sem_util.adb, sem_util.ads (Has_Full_Default_Initialization):
-	Remove query for tests performed in GNATprove.
-
-2016-04-18  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_aggr.adb (Resolve_Record_Aggregate): If
-	Warn_On_Redundant_Constructs is enabled, report a redundant box
-	association that does not cover any components, as it done for
-	redundant others associations in case statements.
-
-2016-04-18  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Collect_Inherited_Class_Wide_Conditions):
-	Analyze the generated Check pragma for an inherited condition so
-	that it does not freeze the dispatching type of the primitive
-	operation, because it is pre-analyzed at the point of the
-	subprogram declaration (and not in the subprogram body, as is
-	done during regular expansion).
-
-2016-04-18  Vincent Celier  <celier@adacore.com>
-
-	* ali.ads: Increase the range of all _Id types to 100 millions.
-
-2016-04-18  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_warn.adb (Check_References): Change warning to suggest
-	using pragma Export rather than saying "volatile has no effect".
-
-2016-04-18  Bob Duff  <duff@adacore.com>
-
-	* g-souinf.ads (Compilation_ISO_Date): New function to return
-	the current date in ISO form.
-	* exp_intr.adb (Expand_Source_Info, Add_Source_Info): Expand
-	a call to Compilation_ISO_Date into a string literal containing
-	the current date in ISO form.
-	* exp_intr.ads (Add_Source_Info): Improve documentation.
-	* sem_intr.adb (Check_Intrinsic_Subprogram): Recognize
-	Compilation_ISO_Date.
-	* snames.ads-tmpl (Name_Compilation_ISO_Date): New Name_Id.
-
-2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* layout.adb (Set_Elem_Alignment): Extend setting of alignment
-	to subtypes that are not first subtypes.
-
-2016-04-18  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.ads (Collect_Inherited_Class_Wide_Conditions):
-	Simplify interface.
-	* sem_prag.adb (Collect_Inherited_Class_Wide_Conditions): Insert
-	generated pragmas after subprogram declaration, rather than in
-	the corresponding subprogram body.
-	* sem_ch6.adb (New_Overloaded_Entity): In GNATProve
-	mode, if the operation is overridding, call
-	Collect_Inherited_Class_Wide_Conditions to generate the
-	corresponding pragmas immediately after the corresponding
-	subprogram declaration.
-
-2016-04-18  Arnaud Charlet  <charlet@adacore.com>
-
-	* spark_xrefs.ads (Xref_Index, Scope_Index, File_Index): restrict
-	type to natural numbers.
-	(Stype): document code characters for concurrent entities.
-
-2016-04-18  Olivier Hainque  <hainque@adacore.com>
-
-	* targparm.ads: Update the Frontend_Exceptions default internal
-	value.
-	(Frontend_Exceptions_On_Target): Change default value to True.
-
-2016-04-18  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Analyze_Selected_Component): Refine error
-	detection when a selected component in the body of a synchronized
-	type is a reference to an object of the same type declared
-	elsewhere. The construct is legal if the prefix of the selected
-	component includes an explicit dereference at any point.
-
-2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch3.adb (Analyze_Object_Declaration): Do not consider
-	internally generated expressions when trying to determine whether
-	a formal parameter of a tagged type subject to Extensions_Visible
-	False is used to initialize an object.
-	* sem_ch4.adb (Analyze_Type_Conversion): Do not consider
-	internally generated expressions when trying to determine whether
-	a formal parameter of a tagged type subject to Extensions_Visible
-	False is used in a type conversion.
-
-2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_res.adb (Is_Protected_Operation_Call):
-	Add guards to account for a non-decorated selected component.
-
-2016-04-18  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Improve
-	implementation of Body_Has_SPARK_Mode_On.
-	* sem_prag.adb, sem_prag.ads (Get_SPARK_Mode_From_Annotation):
-	New function replacing previous Get_SPARK_Mode_From_Pragma, that
-	deals also with aspects.
-	(Get_SPARK_Mode_Type): Make function internal again.
-	* inline.adb, sem_ch7.adb, sem_util.adb: Use new
-	Get_SPARK_Mode_From_Annotation.
-
-2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* contracts.adb (Analyze_Object_Contract): Update references to
-	SPARK RM.
-	* freeze.adb (Freeze_Entity): Update references to SPARK RM.
-	* ghost.adb Add with and use clauses for Sem_Disp.
-	(Check_Ghost_Derivation): Removed.
-	(Check_Ghost_Overriding):
-	Reimplemented.	(Check_Ghost_Policy): Update references to SPARK RM.
-	(Check_Ghost_Primitive): New routine.
-	(Check_Ghost_Refinement): New routine.	(Is_OK_Ghost_Context):
-	Update references to SPARK RM.	(Is_OK_Pragma): Update references
-	to SPARK RM. Predicates are now a valid context for references
-	to Ghost entities.
-	* ghost.ads (Check_Ghost_Derivation): Removed.
-	(Check_Ghost_Overriding): Update the comment on usage.
-	(Check_Ghost_Primitive): New routine.
-	(Check_Ghost_Refinement): New routine.
-	(Remove_Ignored_Ghost_Code): Update references to SPARK RM.
-	* sem_ch3.adb (Process_Full_View): Remove the now obsolete check
-	related to Ghost derivations
-	* sem_ch6.adb (Check_Conformance): Remove now obsolete check
-	related to the convention-like behavior of pragma Ghost.
-	(Check_For_Primitive_Subprogram): Verify that the Ghost policy
-	of a tagged type and its primitive agree.
-	* sem_prag.adb (Analyze_Pragma): Update references to SPARK
-	RM. Move the verification of pragma Assertion_Policy Ghost
-	to the proper place. Remove the now obsolete check related
-	to Ghost derivations.
-	(Collect_Constituent): Add a call to Check_Ghost_Refinement.
-	* sem_res.adb (Resolve_Actuals): Update references to SPARK RM.
-
-2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* layout.adb: Fix more minor typos in comments.
-
-2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* a-calend.ads, sem_prag.adb, sem_ch6.adb: Minor reformatting.
-
-2016-04-18  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): In GNATprove
-	mode, collect inherited class-wide conditions to generate the
-	corresponding pragmas.
-	* sem_prag.ads (Build_Pragma_Check_Equivalent): Moved from contracts
-	* contracts.adb (Collect_Inherited_Class_Wide_Conditions): New
-	procedure for overriding subprograms, used to generate the pragmas
-	corresponding to an inherited class- wide pre- or postcondition.
-	* sem_prag.adb (Build_Pragma_Check_Equivalent): moved here
-	from contracts.adb (Replace_Condition_Entities): Subsidiary
-	Build_Pragma_Check_Equivalent, to implement the proper semantics
-	of inherited class-wide conditions, as given in AI12-0113.
-	(Process_Class_Wide_Condition): Removed.
-	(Collect_Inherited_Class_Wide_Conditions): Iterate over pragmas
-	in contract of subprogram, to collect inherited class-wide
-	conditions.
-	(Build_Pragma_Check_Equivalent): Moved to sem_prag.adb
-
-2016-04-18  Yannick Moy  <moy@adacore.com>
-
-	* a-calend.adb (Ada.Calendar): Mark package body as SPARK_Mode Off.
-	* a-calend.ads (Ada.Calendar): Mark package spec as
-	SPARK_Mode and add synchronous external abstract state Clock_Time.
-
-2016-04-18  Yannick Moy  <moy@adacore.com>
-
-	* sem_res.adb (Resolve_Call): Prevent inlining of
-	calls inside expression functions.  Factor previous code issuing
-	errors to call Cannot_Inline instead, which does appropriate
-	processing of message for GNATprove.
-
-2016-04-18  Arnaud Charlet  <charlet@adacore.com>
-
-	* einfo.ads, sem_ch3.adb, sem_ch8.adb, osint-l.adb, rtsfind.adb,
-	osint-b.adb: Cleanups.
-
-2016-04-18  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Only create
-	body to inline in GNATprove mode when SPARK_Mode On applies to
-	subprogram body.
-	* sem_prag.adb, sem_prag.ads (Get_SPARK_Mode_Type): Make function
-	public.
-
-2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* layout.adb: Fix minor typo in comment.
-	* inline.adb: Fix minor pasto.
-	* sem_ch12.ads: Fix minor typos in comments.
-
-2016-04-18  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_disp.adb (Check_Dispatching_Call): Major rewriting to
-	handle some complex cases of tag indeterminate calls that are
-	actuals in other dispatching calls that are themselves tag
-	indeterminate.
-	(Check_Dispatching_Context): Add parameter to support recursive
-	check for an enclosing construct that may provide a tag for a
-	tag-indeterminate call.
-
-2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_prag.adb (Analyze_Depends_In_Decl_Part):
-	Add global variables Task_Input_Seen and Task_Output_Seen.
-	(Analyze_Global_Item): Detect an illegal use of the current
-	instance of a single protected/task type in a global annotation.
-	(Analyze_Input_Output): Inputs and output related to the current
-	instance of a task unit are now tracked.
-	(Check_Usage): Require
-	the presence of the current instance of a task unit only when
-	one input/output is available.	(Current_Task_Instance_Seen):
-	New routine.
-	(Is_CCT_Instance): New parameter profile. Update
-	the comment on usage. The routine now properly recognizes several
-	cases related to single protected/task types.
-
-2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* freeze.adb (Freeze_Entity): Use New_Freeze_Node
-	to create a brand new freeze node. This handles a case where an
-	ignored Ghost context is freezing something which is not ignored
-	Ghost and whose freeze node should not be removed from the tree.
-	(New_Freeze_Node): New routine.
-
-2016-04-18  Jerome Lambourg  <lambourg@adacore.com>
-
-	* sigtramp.h (__gnat_set_is_vxsim) New function to
-	tell sigtramp-vxworks to handle vxsim signal contexts.	*
-	sigtramp-vxworks.c (__gnat_sigtramp) Take into account the
-	differences in the sigcontext structure between the expected
-	regular x86 or x86_64 ones and the ones received in case of
-	exexution on the vxworks simulator.
-	* init.c: also compute is_vxsim in case of x86_64-vx7 target. Provide
-	this information to sigtramp-vxworks.c. Remove the old mechanism for
-	vxsim.
-	* init-vxsim.c, sigtramp-vxworks-vxsim.c: remove, now obsolete.
-
-2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* exp_ch3.adb (Inline_Init_Proc): New function returning
-	whether the initialization procedure of a type should be
-	inlined.  Return again True for controlled type themselves.
-	(Build_Array_Init_Proc): Call it to set Set_Is_Inlined on Init_Proc.
-	(Build_Record_Init_Proc): Likewise.
-
-2016-04-18  Arnaud Charlet  <charlet@adacore.com>
-
-	* gnatvsn.ads (Library_Version): Bump to 7.
-
-2016-04-18  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Analyze_Expression_Function): Set Inlined flag
-	on the entity of a subprogram declaration that is completed by
-	an expression function.
-
-2016-04-18  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.adb (Is_Current_Instance): A entity given by a subtype
-	declaration can appear in an aspect specification for a dynamic
-	predicate, and a pragma for aspect Predicate_Failure.
-	* exp_util.adb (Replace_Subtype_References): Replace current
-	occurrences of the subtype to which a dynamic predicate applies,
-	byt the expression that triggers a predicate check. Needed to
-	implement new aspect Predicate_Failure.
-
-2016-04-18  Arnaud Charlet  <charlet@adacore.com>
-
-	* a-intsig.ads, a-intsig.adb: Removed, no longer used.
-	* Makefile.rtl: update accordingly.
-
-2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_type.adb (Disambiguate): Call Covers only when necessary
-	for standard operators.
-
-2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* atree.ads (Num_Extension_Nodes): Add couple of figures
-	to comment.
-	* atree.adb: Add GNAT.Heap_Sort_G dependency.
-	(Print_Statistics): New exported procedure to print statistics.
-
-2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* exp_ch3.adb (Build_Record_Init_Proc): Do not mark the procedure
-	as to be inlined if the type needs finalization.
-
-2016-04-18  Jerome Lambourg  <lambourg@adacore.com>
-
-	* sigtramp-vxworks-target.inc: sigtramp-vxworks: force the stack
-	alignment for x86_64.
-	* init.c: Better fix for guard page reset on x86_64-vx7.
-	Do not try to retrieve the page that actually raised
-	the signal as the probing mechanism used on x86_64 do not allow
-	such retrieval. We thus just test if the guard page is active,
-	and re-activate it if not.
-
-2016-04-18  Arnaud Charlet  <charlet@adacore.com>
-
-	* a-sytaco.adb (Suspension_Object): Aspect Default_Initial_Condition
-	added.
-
-2016-04-18  Jerome Lambourg  <lambourg@adacore.com>
-
-	* affinity.c: Use the proper type for task id.
-	* init.c (__gnat_inum_to_ivec): ivec is a pointer.
-
-2016-04-18  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_prag.adb (Process_Convention): Relax rule on exporting
-	Intrinsic types if Relaxed_RM_Semantics is True.
-
-2016-04-18  Vincent Celier  <celier@adacore.com>
-
-	* sem_ch3.adb, lib.ads, sinfo.ads, sem_ch10.adb, einfo.adb, einfo.ads,
-	checks.ads, sem_ch12.adb, sem.adb, sem_util.adb, sem_util.ads,
-	sem_res.adb, sem_attr.adb, par.adb, exp_ch4.adb, errout.ads,
-	sem_ch4.adb, atree.adb, atree.ads, sem_warn.adb, treepr.adb,
-	exp_ch3.ads, exp_unst.adb: Change "descendent" to
-	"descendant" in comments, error messages and identifiers.
-	* gcc-interface/decl.c: Ditto.
-
-2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_type.adb (Operator_Matches_Spec): Call First_Formal on
-	New_S only once at the beginning of the function.
-
-2016-04-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (components_to_record): Restrict the previous
-	change to fields with variable size.
-
-2016-03-27  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (components_to_record): Add special case for
-	single field with representation clause at offset 0.
-
-2016-03-16  Svante Signell  <svante.signell@gmail.com>
-
-	* gcc-interface/Makefile.in: Add support for x86 GNU/Hurd.
-	* s-osinte-gnu.ads: New file.
-
-2016-03-13  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* system-vxworks-m68k.ads (Stack_Check_Probes): Set to True.
-	(Stack_Check_Limits): Set to False.
-	* system-vxworks-mips.ads (Stack_Check_Probes): Set to True.
-	(Stack_Check_Limits): Set to False.
-	* system-vxworks-ppc.ads (Stack_Check_Probes): Set to True.
-	(Stack_Check_Limits): Set to False.
-	* system-vxworks-sparcv9.ads (Stack_Check_Probes): Set to True.
-	(Stack_Check_Limits): Set to False.
-	* system-vxworks-x86.ads (Stack_Check_Probes): Set to True.
-	(Stack_Check_Limits): Set to False.
-
-2016-03-07  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (statement_node_p): New predicate.
-	(gnat_to_gnu): Invoke it to detect statement nodes.  In ASIS mode, do
-	not return dummy results for expressions attached to packed array
-	implementation types.
-
-2016-03-07  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Always mark
-	the expression of a renaming manually in case #3.
-
-2016-03-02  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	* system-linux-s390.ads: Enable Stack_Check_Probes.
-	* system-linux-s390.ads: Likewise.
-
-2016-02-29  Martin Liska  <mliska@suse.cz>
-
-	* gcc-interface/utils.c (set_reverse_storage_order_on_pad_type):
-	Replace ENABLE_CHECKING macro with flag_checking.
-
-2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Retrofit
-	handling of unconstrained array types as designated types into common
-	processing.  Also handle array types as incomplete designated types.
-
-2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity) <Concurrent types>: In
-	ASIS mode, fully lay out the minimal record type.
-
-2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (finalize_nrv_r): Remove obsolete code.
-	(build_return_expr): Likewise.
-	(Call_to_gnu): If this is a function call and there is no target,
-	create a temporary for the return value for all aggregate types,
-	but never create it for a return statement.  Push a binding level
-	around the call in more cases.  Remove obsolete code.
-
-2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/ada-tree.h (DECL_RETURN_VALUE_P): New macro.
-	* gcc-interface/gigi.h (gigi): Remove useless attribute.
-	(gnat_gimplify_expr): Likewise.
-	(gnat_to_gnu_external): Declare.
-	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Factor out
-	code dealing with the expression of external constants into...
-	Invoke gnat_to_gnu_external instead.
-	<E_Variable>: Invoke gnat_to_gnu_external to translate renamed objects
-	when not for a definition.  Deal with COMPOUND_EXPR and variables with
-	DECL_RETURN_VALUE_P set for renamings and with the case of a dangling
-	'reference to a function call in a renaming.  Remove obsolete test and
-	adjust associated comment.
-	* gcc-interface/trans.c (Call_to_gnu): Set DECL_RETURN_VALUE_P on the
-	temporaries created to hold the return value, if any.
-	(gnat_to_gnu_external): ...this.  New function.
-	* gcc-interface/utils.c (create_var_decl): Detect a constant created
-	to hold 'reference to function call.
-	* gcc-interface/utils2.c (build_unary_op) <ADDR_EXPR>: Add folding
-	for COMPOUND_EXPR in the DECL_RETURN_VALUE_P case.
-
-2016-02-17  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* exp_ch4.adb (Expand_N_Indexed_Component): Activate synchronization if
-	the prefix denotes an entity which Has_Atomic_Components.
-	* gcc-interface/trans.c (node_is_atomic): Return true if the prefix
-	denotes an entity which Has_Atomic_Components.
-
-2016-02-17  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/utils2.c (gnat_protect_expr): Make a SAVE_EXPR only
-	for fat pointer or scalar types.
-
-2016-02-16  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/gigi.h (maybe_debug_type): New inline function.
-	* gcc-interface/misc.c (gnat_get_array_descr_info): Use it.
-	Call maybe_character_value on the array bounds.  Get to the base type
-	of the index type and call maybe_debug_type on it.
-	* gcc-interface/utils.c (finish_character_type): Add special treatment
-	for char_type_node.
-
-2016-02-16  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/misc.c (gnat_enum_underlying_base_type): New function.
-	(LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): Define to above.
-
-2016-02-12  Jakub Jelinek  <jakub@redhat.com>
-
-	* prj-tree.ads: Spelling fixes - behaviour -> behavior and
-	neighbour -> neighbor.
-	* prep.adb: Likewise.
-	* prj.ads: Likewise.
-	* prepcomp.adb: Likewise.
-	* g-socket.ads: Likewise.
-	* s-imgrea.adb: Likewise.
-	* a-calend.adb: Likewise.
-	* exp_disp.adb: Likewise.
-	* doc/gnat_ugn/gnat_utility_programs.rst: Likewise.
-	* g-socket.adb: Likewise.
-	* sem_ch12.adb: Likewise.
-	* terminals.c: Likewise.
-
-2016-02-08  Bernd Schmidt  <bschmidt@redhat.com>
-
-	* gcc-interface/misc.c (gnat_init): Remove second argument in call to
-	build_common_tree_nodes.
-
-2016-02-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/utils.c (create_var_decl): Set again DECL_COMMON and
-	DECL_IGNORED_P last.
-
-2016-01-28  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/gigi.h (enum attr_type): Rename into...
-	(enum attrib_type): ...this.
-	(struct attrib): Adjust.
-	* gcc-interface/decl.c (prepend_one_attribute): Likewise.
-
-2016-01-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* exp_ch2.adb (Expand_Current_Value): Make an appropriate character
-	literal if the entity is of a character type.
-	* gcc-interface/lang.opt (fsigned-char): New option.
-	* gcc-interface/misc.c (gnat_handle_option): Accept it.
-	(gnat_init): Adjust comment.
-	* gcc-interface/gigi.h (finish_character_type): New prototype.
-	(maybe_character_type): New inline function.
-	(maybe_character_value): Likewise.
-	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>: For
-	a character of CHAR_TYPE_SIZE, make a signed type if flag_signed_char.
-	Set TYPE_ARTIFICIAL early and call finish_character_type on the type.
-	<E_Enumeration_Subtype>: For a subtype of character with RM_Size and
-	Esize equal to CHAR_TYPE_SIZE, make a signed type if flag_signed_char.
-	Copy TYPE_STRING_FLAG from type to subtype.
-	<E_Array_Type>: Deal with character index types.
-	<E_Array_Subtype>: Likewise.
-	* gcc-interface/trans.c (gigi): Replace unsigned_char_type_node with
-	char_type_node throughout.
-	(build_raise_check): Likewise.
-	(get_type_length): Deal with character types.
-	(Attribute_to_gnu) <Attr_Pos>: Likewise.  Remove obsolete range check
-	code.  Minor tweak.
-	<Attr_Pred>: Likewise.
-	(Loop_Statement_to_gnu): Likewise.
-	(Raise_Error_to_gnu): Likewise.
-	<N_Indexed_Component>: Deal with character index types.  Remove
-	obsolete code.
-	<N_Slice>: Likewise.
-	<N_Type_Conversion>: Deal with character types.  Minor tweak.
-	<N_Unchecked_Type_Conversion>: Likewise.
-	<N_In>: Likewise.
-	<N_Op_Eq>: Likewise.
-	(emit_index_check): Delete.
-	* gcc-interface/utils.c (finish_character_type): New function.
-	(gnat_signed_or_unsigned_type_for): Deal with built-in character types.
-	* gcc-interface/utils2.c (expand_sloc): Replace unsigned_char_type_node
-	with char_type_node.
-	(build_call_raise): Likewise.
-	(build_call_raise_column): Likewise.
-	(build_call_raise_range): Likewise.
-
-2016-01-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/gigi.h (build_call_raise_column): Adjust prototype.
-	(build_call_raise_range): Likewise.
-	(gnat_unsigned_type): Delete.
-	(gnat_signed_type): Likewise.
-	(gnat_signed_or_unsigned_type_for): New prototype.
-	(gnat_unsigned_type_for): New inline function.
-	(gnat_signed_type_for): Likewise.
-	* gcc-interface/cuintp.c (build_cst_from_int): Call build_int_cst.
-	* gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.
-	(gnat_to_gnu_entity) <E_Array_Type>: Always translate the index types
-	and compute their base type from that.
-	<E_Array_Subtype>: Remove duplicate declaration.
-	* gcc-interface/misc.c (get_array_bit_stride): Call build_int_cst.
-	* gcc-interface/trans.c (get_type_length): Likewise.
-	(Attribute_to_gnu): Likewise.
-	(Loop_Statement_to_gnu): Likewise.
-	(Call_to_gnu): Likewise.
-	(gnat_to_gnu): Call build_real, build_int_cst, gnat_unsigned_type_for
-	and gnat_signed_type_for.  Minor tweaks.
-	(build_binary_op_trapv): Likewise.
-	(emit_check): Likewise.
-	(convert_with_check): Likewise.
-	(Raise_Error_to_gnu): Adjust calls to the build_call_raise family of
-	functions.  Minor tweaks.
-	(Case_Statement_to_gnu): Remove dead code.
-	(gnat_to_gnu): Call gnat_unsigned_type_for and gnat_signed_type_for.
-	(init_code_table): Minor reordering.
-	* gcc-interface/utils.c (gnat_unsigned_type): Delete.
-	(gnat_signed_type): Likewise.
-	(gnat_signed_or_unsigned_type_for): New function.
-	(unchecked_convert): Use directly the size in the test for precision
-	vs size adjustments.
-	(install_builtin_elementary_types): Call gnat_signed_type_for.
-	* gcc-interface/utils2.c (nonbinary_modular_operation): Call
-	build_int_cst.
-	(build_goto_raise): New function taken from...
-	(build_call_raise): ...here.  Call it.
-	(build_call_raise_column): Add KIND parameter and call it.
-	(build_call_raise_range): Likewise.
-
-2016-01-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/ada-tree.h (TYPE_IMPLEMENTS_PACKED_ARRAY_P): Rename to
-	(TYPE_IMPL_PACKED_ARRAY_P): ...this.
-	(TYPE_CAN_HAVE_DEBUG_TYPE_P): Do not test TYPE_DEBUG_TYPE.
-	* gcc-interface/decl.c (gnat_to_gnu_entity): Simplify NULL_TREE tests
-	and tweak gnat_encodings tests throughout.
-	(initial_value_needs_conversion): Likewise.
-	(intrin_arglists_compatible_p): Likewise.
-	* gcc-interface/misc.c (gnat_print_type): Likewise.
-	(gnat_get_debug_type): Likewise.
-	(gnat_get_fixed_point_type_info): Likewise.
-	(gnat_get_array_descr_info): Likewise.
-	(get_array_bit_stride): Likewise.
-	(gnat_get_type_bias): Fix formatting.
-	(enumerate_modes): Likewise.
-	* gcc-interface/trans.c (gnat_to_gnu): Likewise.
-	(add_decl_expr): Simplify NULL_TREE test.
-	(end_stmt_group): Likewise.
-	(build_binary_op_trapv): Fix formatting.
-	(get_exception_label): Use switch statement.
-	(init_code_table): Move around.
-	* gcc-interface/utils.c (global_bindings_p): Simplify NULL_TREE test.
-	(gnat_poplevel): Likewise.
-	(gnat_set_type_context): Likewise.
-	(defer_or_set_type_context): Fix formatting.
-	(gnat_pushdecl): Simplify NULL_TREE test.
-	(maybe_pad_type): Likewise.
-	(add_parallel_type): Likewise.
-	(create_range_type): Likewise.
-	(process_deferred_decl_context): Likewise.
-	(convert): Likewise.
-	(def_builtin_1): Likewise.
-	* gcc-interface/utils2.c (find_common_type): Likewise.
-	(build_binary_op): Likewise.
-	(gnat_rewrite_reference): Likewise.
-	(get_inner_constant_reference): Likewise.
-
-2016-01-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/69219
-	* gcc-interface/trans.c (check_inlining_for_nested_subprog): Consider
-	the parent function instead of the current function in order to issue
-	the warning or the error.  Add guard for ignored functions.
-
-2016-01-17  Jakub Jelinek  <jakub@redhat.com>
-
-	* adaint.c (__gnat_killprocesstree): Avoid -Wparentheses warning.
-
-2016-01-15  Jakub Jelinek  <jakub@redhat.com>
-
-	* adaint.c (__gnat_locate_exec_on_path): Use const char * instead
-	of char * for path_val to avoid warnings.
-
-2016-01-06  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* gcc-interface/utils.c: Bump copyright year.
-	(rest_of_record_type_compilation): Add XVE/XVU parallel types to
-	the current lexical scope.
-
-2016-01-04  Jakub Jelinek  <jakub@redhat.com>
+2017-01-01  Jakub Jelinek  <jakub@redhat.com>
 
 	* gnat_ugn.texi: Bump @copying's copyright year.
 	* gnat_rm.texi: Likewise.
-
-2016-01-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gnatvsn.ads: Bump copyright year.
-
 
-Copyright (C) 2016 Free Software Foundation, Inc.
+Copyright (C) 2017 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
diff --git a/gcc/ada/ChangeLog-2016 b/gcc/ada/ChangeLog-2016
new file mode 100644
index 000000000000..0acae5761a0f
--- /dev/null
+++ b/gcc/ada/ChangeLog-2016
@@ -0,0 +1,5918 @@
+2016-12-07  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity): When they are global,
+	consider ___XR GNAT encodings variables for renamings as static so
+	they have a location in the debug info.
+
+2016-12-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Translate
+	System.Address into ptr_type_node for every foreign convention.
+	(gnat_to_gnu_subprog_type): Likewise for result and parameter types.
+	(gnat_to_gnu_param): Do not do it here for GCC builtins.
+	(intrin_return_compatible_p): Likewise.
+
+2016-12-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Subtype>:
+	Also call finish_character_type on Character subtypes.
+	* gcc-interface/utils.c (finish_character_type): Deal with subtypes.
+
+2016-12-05  Mikael Pettersson  <mikpe@it.uu.se>
+
+	PR ada/48835
+	* gcc-interface/Makefile.in: Add support for m68k-linux.
+	* system-linux-m68k.ads: New file.
+
+2016-12-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* system-darwin-ppc.ads (Support_Atomic_Primitives): Set to True only
+	if the word size is 64.
+
+2016-11-30  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_prag.adb, sem_ch6.adb: Minor reformatting and typo fixes.
+	* g-sechas.adb: Minor reformatting.
+	* lib-xref.ads: minor grammar fix in comment.
+	* lib-xref-spark_specific.adb
+	(Is_SPARK_Reference): do not ignore references to concurrent
+	objects.
+	* sinfo.ads: Fix of unbalanced parens in comment
+
+2016-11-30  Ed Schonberg  <schonberg@adacore.com>
+
+	* lib-xref.adb (Get_Type_Reference): If the entity is a function
+	returning a classwide type, the type reference is obtained right
+	away and does not need further unwinding.
+
+2016-11-30  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch8.adb (Find_Renamed_Entity): For non-overloaded subprogram
+	actuals of generic units check that the spec of the renaming
+	and renamed entities match.
+
+2016-11-30  Tristan Gingold  <gingold@adacore.com>
+
+	* raise-gcc.c: For CERT runtimes: do not use gcc includes, simplify
+	the handling.
+	* sem_attr.adb (Analyze_Attribute): Check No_Dynamic_Priorities
+	restriction for Priority Attribute.
+
+2016-11-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/78524
+	* gcc-interface/utils.c (max_size) <tcc_reference>: Add missing
+	conversion to original type in the PLACEHOLDER_EXPR case.
+
+2016-11-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/78531
+	* namet.h (Max_Line_Length): Define.
+	(struct Bounded_String): Declare Chars with exact size.
+	(namet__get_decoded_name_string): Delete.
+	(Get_Decoded_Name_String): Likewise.
+	(casing__set_all_upper_case): Likewise.
+
+2016-11-22  Uros Bizjak  <ubizjak@gmail.com>
+
+	* gcc-interface/Make-lang.in (check-acats): Fix detection
+	of -j argument.
+
+2016-11-18  Richard Sandiford  <richard.sandiford@arm.com>
+ 	    Alan Hayward  <alan.hayward@arm.com>
+ 	    David Sherwood  <david.sherwood@arm.com>
+
+	* gcc-interface/utils.c (create_label_decl): Use SET_DECL_MODE.
+
+2016-11-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/Makefile.in: Replace s-interr-hwint.adb with
+	s-interr-vxworks.adb throughout.
+
+2016-11-13  Bob Duff  <duff@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity): In assertion about known
+	Esize, protect with !is_type and change !Unknown_Esize to Known_Esize.
+
+2016-11-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
+	Look at the underlying type for the signedness of the type.
+
+2016-11-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (annotate_value) <INTEGER_CST>: Deal specially
+	with negative constants.
+
+2016-11-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/utils2.c (gnat_protect_expr): Also protect only the
+	address if the expression is the component of a dereference.
+	Do not use a reference type for the final temporary reference.
+
+2016-11-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/Makefile.in (NO_OMIT_ADAFLAGS): Define.
+	(a-except.o): Replace -fno-inline with NO_INLINE_ADAFLAGS.
+	(s-memory.o): New rule.
+	(tracebak.o): Replace -fno-omit-frame-pointer with NO_OMIT_ADAFLAGS.
+
+2016-11-07  Tamar Christina  <tamar.christina@arm.com>
+
+	* adaint.c: Added signal.h for Windows.
+
+2016-10-31  Jakub Jelinek  <jakub@redhat.com>
+
+	* gcc-interface/misc.c (gnat_get_array_descr_info): Clear rank field.
+
+2016-10-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* gcc-interface/Make-lang.in (lang_checks_parallelized): New target.
+	(check_gnat_parallelize): Likewise.
+
+2016-10-20  Nicolas Roche  <roche@adacore.com>
+
+	* gcc-interface/Makefile (x86-64/Darwin): Restore missing pairs.
+	(x86/Darwin): Likewise.
+
+2016-10-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* system-linux-armel.ads: Rename into...
+	* system-linux-arm.ads: ...this
+	* gcc-interface/Makefile.in (ARM/Android): Adjust to above renaming.
+	(ARM/Linux): Likewise.
+	(Aarch64/Linux): Likewise.
+
+2016-10-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS): Define.
+	(EXTRA_GNATRTL_TASKING_OBJS): Likewise.
+	(ARM/Android): Add atomic support.
+	(SPARC/Solaris): Simplify.
+	(x86/Solaris): Likewise.
+	(x86/Linux): Likewise.
+	(x86-64/kFreeBDS): Adjust and use system-freebsd-x86.ads
+	(x86/FreeBSD): Add s-mudido-affinity.adb.
+	(x86-64/FreeBSD): Likewise and use system-freebsd-x86.ads.
+	(s390/Linux): Simplify.
+	(PowerPC/AIX): Likewise.
+	(Cygwin/Mingw): Likewise.
+	(MIPSel/Linux): Likewise.
+	(ARM/Linux): Add atomic support.
+	(Aarch64/Linux): Use system-linux-armel.ads.
+	(SPARC/Linux): Simplify.
+	(IA-64/Linux): Minor tweak.
+	(IA-64/HP-UX): Likewise.
+	(Alpha/Linux): Likewise.
+	(x86-64/Linux): Use system-linux-x86.ads.
+	(x86/Darwin): Simplify.
+	(PowerPC/Darwin): Likewise.
+	(ARM/Darwin): Use system-darwin-arm.ads.
+	(ADA_EXCLUDE_SRCS): Minor reformatting.
+	* system-aix.ads (Word_Size): Change to Standard'Word_Size.
+	(Memory_Size): Change to 2 ** Word_Size.
+	(Support_Atomic_Primitives): Set to True.
+	* system-aix64.ads: Delete.
+	* system-darwin-arm.ads: New.
+	* system-darwin-ppc.ads (Word_Size): Change to Standard'Word_Size.
+	(Memory_Size): Change to 2 ** Word_Size.
+	(Support_Atomic_Primitives): Set to True.
+	* system-darwin-ppc64.ads: New.
+	* system-darwin-x86.ads (Word_Size): Change to Standard'Word_Size.
+	(Memory_Size): Change to 2 ** Word_Size.
+	* system-darwin-x86_64.ads: Delete.
+	* system-freebsd-x86.ads (Word_Size): Change to Standard'Word_Size.
+	(Memory_Size): Change to 2 ** Word_Size.
+	* system-freebsd-x86_64.ads: Delete.
+	* system-linux-alpha.ads (Support_Atomic_Primitives): Set to True.
+	* system-linux-armeb.ads (Word_Size): Change to Standard'Word_Size.
+	(Memory_Size): Change to 2 ** Word_Size.
+	(Support_Atomic_Primitives): Set to True.
+	* system-linux-armel.ads (Word_Size): Change to Standard'Word_Size.
+	(Memory_Size): Change to 2 ** Word_Size.
+	(Support_Atomic_Primitives): Set to True.
+	* system-linux-mips.ads: (Word_Size): Change to Standard'Word_Size.
+	(Memory_Size): Change to 2 ** Word_Size.
+	* system-linux-mipsel.ads (Word_Size): Change to Standard'Word_Size.
+	(Memory_Size): Change to 2 ** Word_Size.
+	* system-linux-s390.ads (Word_Size): Change to Standard'Word_Size.
+	(Memory_Size): Change to 2 ** Word_Size.
+	(Stack_Check_Probes): Set to True.
+	* system-linux-s390x.ads: Delete.
+	* system-linux-sparc.ads (Word_Size): Change to Standard'Word_Size.
+	(Memory_Size): Change to 2 ** Word_Size.
+	* system-linux-sparcv9.ads: Delete.
+	* system-linux-x86.ads (Word_Size): Change to Standard'Word_Size.
+	(Memory_Size): Change to 2 ** Word_Size.
+	* system-linux-x86_64.ads: Delete.
+	* system-mingw-x86_64.ads: Delete.
+	* system-mingw.ads (Word_Size): Change to Standard'Word_Size.
+	(Memory_Size): Change to 2 ** Word_Size.
+	* system-solaris-sparc.ads (Word_Size): Change to Standard'Word_Size.
+	(Memory_Size): Change to 2 ** Word_Size.
+	(Support_Atomic_Primitives): Set to True.
+	* system-solaris-sparcv9.ads: Delete.
+	* system-solaris-x86.ads (Word_Size): Change to Standard'Word_Size.
+	(Memory_Size): Change to 2 ** Word_Size.
+	* system-solaris-x86_64.ads: Delete.
+
+2016-10-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* system-darwin-ppc64.ads (Support_64_Bit_Divides): Delete.
+	* system-linux-armeb.ads (Support_64_Bit_Divides): Likewise.
+	* system-linux-mips.ads (Support_64_Bit_Divides): Likewise.
+	* system-linux-mips64el.ads (Support_64_Bit_Divides): Likewise.
+	* system-linux-mipsel.ads (Support_64_Bit_Divides): Likewise.
+	* system-linux-sparcv9.ads (Support_64_Bit_Divides): Likewise.
+	* system-rtems.ads (Support_64_Bit_Divides): Likewise.
+
+2016-10-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/misc.c (LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS):Define.
+	* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Access>: Deal with
+	a zero TARGET_CUSTOM_FUNCTION_DESCRIPTORS specially for Code_Address.
+	Otherwise, if TARGET_CUSTOM_FUNCTION_DESCRIPTORS is positive, set
+	FUNC_ADDR_BY_DESCRIPTOR for 'Access/'Unrestricted_Access of nested
+	subprograms if the type can use an internal representation.
+	(call_to_gnu): Likewise, but set CALL_EXPR_BY_DESCRIPTOR on indirect
+	calls if the type can use an internal representation.
+
+2016-10-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* system-aix.ads (Always_Compatible_Rep): Change to False.
+	* system-aix64.ads (Always_Compatible_Rep): Likewise.
+	* system-hpux-ia64.ads (Always_Compatible_Rep): Likewise.
+	* system-hpux.ads (Always_Compatible_Rep): Likewise.
+	* system-linux-alpha.ads (Always_Compatible_Rep): Likewise.
+	* system-linux-hppa.ads (Always_Compatible_Rep): Likewise.
+	* system-linux-ia64.ads (Always_Compatible_Rep): Likewise.
+	* system-linux-mips.ads (Always_Compatible_Rep): Likewise.
+	* system-linux-mips64el.ads (Always_Compatible_Rep): Likewise.
+	* system-linux-mipsel.ads (Always_Compatible_Rep): Likewise.
+	* system-linux-s390.ads (Always_Compatible_Rep): Likewise.
+	* system-linux-s390x.ads (Always_Compatible_Rep): Likewise.
+	* system-linux-sh4.ads (Always_Compatible_Rep): Likewise.
+	* system-linux-sparc.ads (Always_Compatible_Rep): Likewise.
+	* system-linux-sparcv9.ads (Always_Compatible_Rep): Likewise.
+	* system-rtems.ads (Always_Compatible_Rep): Likewise.
+
+2016-10-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/77968
+	* gcc-interface/utils.c (create_var_decl): Do not clear TREE_READONLY
+	in LTO mode for an external variable.
+	(can_materialize_object_renaming_p): Move up.
+
+2016-10-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* gcc-interface/utils2.c: Include memmodel.h.
+
+2016-10-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch6.adb (Analyze_Expression_Function):
+	Remove the aspects of the original expression function has been
+	rewritten into a subprogram declaration or a body. Reinsert the
+	aspects once they have been analyzed.
+
+2016-10-13  Tristan Gingold  <gingold@adacore.com>
+
+	* exp_ch9.adb (Expand_N_Asynchronous_Select): Return immediately
+	on restricted profile.
+
+2016-10-13  Javier Miranda  <miranda@adacore.com>
+
+	* sem_prag.adb (Process_Compile_Time_Warning_Or_Error): Register the
+	pragma for its validation after the backend has been called only if
+	its expression has some occurrence of attributes 'size or 'alignment
+	* table.ads (Release_Threshold): New formal.
+	(Release): Adding documentation of its new functionality.
+	* table.adb (Release): Extend its functionality with a
+	Release_Threshold.
+	* nlists.adb (Next_Node table): Set its Release_Threshold.
+	* atree.adb (Orig_Nodes table): Set its Release_Threshold.
+	* atree.ads (Nodes table): Set its Release_Threshold.
+	(Flags table): Set its Release_Threshold.
+	* alloc.ads (Nodes_Release_Threshold): New constant declaration.
+	(Orig_Nodes_Release_Threshold): New constant declaration.
+	* debug.adb (switch d.9): Left free.
+	* gnat1drv.adb (Post_Compilation_Validation_Checks): Enable
+	validation of pragmas Compile_Time_Error and Compile_Time_Warning.
+
+2016-10-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch6.adb (Create_Extra_Formals): Generate
+	an Itype reference for the object extra formal in case the
+	subprogram is called within the same or nested scope.
+
+2016-10-13  Claire Dross  <dross@adacore.com>
+
+	* sem_ch5.adb (Analyze_Iterator_Specification):
+	Also create a renaming in GNATprove mode.
+
+2016-10-13  Ed Schonberg  <schonberg@adacore.com>
+
+	* freeze.adb (Freeze_Fixed_Point_Type): in SPARK mode, the
+	given bounds of the type must be strictly representable, and the
+	range reduction by one delta ("shaving") allowed by the Ada RM,
+	is not applicable in SPARK.
+
+2016-10-13  Javier Miranda  <miranda@adacore.com>
+
+	* debug.adb (switch d.9): Used to temporarily disable the support
+	needed for this enhancement since it causes regressions with
+	large sources.
+	* gnat1drv.adb (Post_Compilation_Validation_Checks): Temporarily
+	leave the validation of pragmas Compile_Time_Warning and
+	Compile_Time_Error under control of -gnatd.9/
+
+2016-10-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch10.adb (Entity_Needs_Body): A generic
+	subprogram renaming needs a body if the renamed unit is declared
+	outside the current compilation unit.
+
+2016-10-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sinfo.ads, sem_ch12.adb, sem.adb, expander.adb, sem_res.ads,
+	sem_ch4.adb, sem_ch8.adb, s-memory.adb: Minor reformatting.
+
+2016-10-13  Vincent Celier  <celier@adacore.com>
+
+	* gnatcmd.adb: Delete all temporary files when invoked as gnat
+	list -V -P ...
+
+2016-10-13  Ed Falis  <falis@adacore.com>
+
+	* i-vxinco.adb, i-vxinco.ads: New files.
+	* impunit.adb: add i-vxinco.ads.
+	* s-interr-vxworks.adb: add hook for user interrupt connection routine.
+
+2016-10-13  Ed Falis  <falis@adacore.com>
+
+	* s-interr-hwint.adb, s-interr-vxworks.adb: Rename s-interr-hwint.adb
+	to s-interr-vxworks.adb.
+
+2016-10-13  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_ch7.adb, einfo.ads, sem_prag.adb, sem_prag.ads, sem.ads,
+	sem_attr.adb, sem_case.adb, sem_ch13.ads: Minor typo fixes and
+	reformatting.
+
+2016-10-13  Javier Miranda  <miranda@adacore.com>
+
+	* sem_prag.ads (Process_Compile_Time_Warning_Or_Error): New
+	overloaded subprogram that factorizes code executed as part
+	of the regular processing of these pragmas and as part of its
+	validation after invoking the backend.
+	* sem_prag.adb (Process_Compile_Time_Warning_Or_Error): New
+	subprogram.
+	(Process_Compile_Time_Warning_Or_Error): If the
+	condition is known at compile time then invoke the new overloaded
+	subprogram; otherwise register the pragma in a table to validate
+	it after invoking the backend.
+	* sem.ads, sem.adb (Unlock): New subprogram.
+	* sem_attr.adb (Analyze_Attribute [Size]): If we are processing
+	pragmas Compile_Time_Warning and Compile_Time_Errors after the
+	backend has been called then evaluate this attribute if 'Size
+	is known at compile time.
+	* gnat1drv.adb (Post_Compilation_Validation_Checks): Validate
+	compile time warnings and errors.
+	* sem_ch13.ads, sem_ch13.adb (Validate_Compile_Time_Warning_Error):
+	New subprogram.
+	(Validate_Compile_Time_Warning_Errors): New subprogram.
+
+2016-10-13  Yannick Moy  <moy@adacore.com>
+
+	* sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Adapt to
+	optional refinement for abstract states with only partial refinement
+	visible.
+
+2016-10-13  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch13.adb: Minor correction in comment in
+	Analyze_Aspect_Specifications
+	* sem_prag.adb: Minor reformatting.
+
+2016-10-13  Thomas Quinot  <quinot@adacore.com>
+
+	* s-stratt-xdr.adb: Disable compiler unit warnings.
+
+2016-10-13  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Visible_Component): In an instance body, check
+	whether the component may be hidden in a selected component by
+	a homonym that is a primitive operation of the type of the prefix.
+
+2016-10-13  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/77957
+	* gcc-interface/misc.c (LANG_HOOKS_GETDECLS): Use hook_tree_void_null
+	instead of lhd_return_null_tree_v.
+
+2016-10-12  Yannick Moy  <moy@adacore.com>
+
+	* einfo.adb, einfo.ads (Partial_Refinement_Constituents): Take
+	into account constituents that are themselves abstract states
+	with full or partial refinement visible.
+	* sem_prag.adb (Find_Encapsulating_State): Move function
+	to library-level, to share between subprograms.
+	(Analyze_Refined_Global_In_Decl_Part): Use
+	Find_Encapsulating_State to get relevant encapsulating state.
+
+2016-10-12  Arnaud Charlet  <charlet@adacore.com>
+
+	* gnat1drv.adb: Fix minor typo.
+
+2016-10-12  Yannick Moy  <moy@adacore.com>
+
+	* sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Adapt checking
+	for optional refinement of abstract state with partial
+	visible refinement.
+	(Analyze_Refined_Global_In_Decl_Part): Adapt checking for optional
+	refinement of abstract state with partial visible refinement. Implement
+	new rules in SPARK RM 7.2.4 related to optional refinement.
+	Also fix the missing detection of missing items.
+
+2016-10-12  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* einfo.adb Add new usage for Elist29 and Node35.
+	(Anonymous_Designated_Type): New routine.
+	(Anonymous_Master): Removed.
+	(Anonymous_Masters): New routine.
+	(Set_Anonymous_Designated_Type): New routine.
+	(Set_Anonymous_Master): Removed.
+	(Set_Anonymous_Masters): New routine.
+	(Write_Field29_Name): Add output for Anonymous_Masters.
+	(Write_Field35_Name): Remove the output for Anonymous_Master. Add
+	output for Anonymous_Designated_Type.
+	* einfo.ads Remove attribute Anonymous_Master along with
+	usage in entities. Add attributes Anonymous_Designated_Type
+	and Anonymous_Masters along with usage in entities.
+	(Anonymous_Designated_Type): New routine along with pragma Inline.
+	(Anonymous_Master): Removed along with pragma Inline.
+	(Anonymous_Masters): New routine along with pragma Inline.
+	(Set_Anonymous_Designated_Type): New routine along with pragma Inline.
+	(Set_Anonymous_Master): Removed along with pragma Inline.
+	(Set_Anonymous_Masters): New routine along with pragma Inline.
+	* exp_ch7.adb (Build_Anonymous_Master): Reuse an anonymous master
+	defined in the same unit if it services the same designated
+	type, otherwise create a new one.
+	(Create_Anonymous_Master): Reimplemented.
+	(Current_Anonymous_Master): New routine.
+	(In_Subtree): Removed.
+
+2016-10-12  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma, case Dynamic_Predicate):
+	Check properly whether there is an explicit assertion policy
+	for predicate checking, even in the presence of a general Ignore
+	assertion policy.
+
+2016-10-12  Steve Baird  <baird@adacore.com>
+
+	* sem.adb (Walk_Library_Items): Cope with ignored ghost units.
+
+2016-10-12  Ed Schonberg  <schonberg@adacore.com>
+
+	* lib-writ.adb (Write_ALI): Removal of unused file entries from
+	dependency list must be performed before the list is sorted,
+	so that the dependency number of other files is properly set-up
+	for use in tools that relate entity information to the unit in
+	which they are declared.
+
+2016-10-12  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_aggr.adb (Initialize_Ctrl_Array_Component):
+	Create a copy of the initialization expression to avoid sharing
+	it between multiple components.
+
+2016-10-12  Yannick Moy  <moy@adacore.com>
+
+	* einfo.adb, einfo.ads (Has_Partial_Visible_Refinement): New flag
+	in abtract states.
+	(Has_Non_Null_Visible_Refinement): Return true for patial refinement.
+	(Partial_Refinement_Constituents): New function returns the full or
+	partial refinement constituents depending on scope.
+	* sem_ch3.adb (Analyze_Declarations): Remove partial visible
+	refinements when exiting the scope of a package spec or body
+	and those partial refinements are not in scope afterwards.
+	* sem_ch7.adb, sem_ch7.ads (Install_Partial_Declarations): Mark
+	abstract states of parent units with partial refinement so that
+	it is visible.
+	* sem_prag.adb (Analyze_Part_Of_In_Decl_Part): Mark enclosing
+	abstract state if any as having partial refinement in that scope.
+	(Analyze_Refined_Global_In_Decl_Part): Check constituent usage
+	based on full or partial refinement depending on scope.
+
+2016-10-12  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch4.adb (Expand_N_Type_Conversion): If the target type
+	has an invariant aspect, insert invariant call at the proper
+	place in the code rather than rewriting the expression as an
+	expression with actions, to prevent spurious semantic errors on
+	the rewritten conversion when it is the object in a renaming.
+
+2016-10-12  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch5.adb, sem_ch3.adb, exp_ch9.adb, a-tags.adb, sem_prag.adb,
+	sem_ch12.adb, xref_lib.adb, a-strunb-shared.adb, rtsfind.adb,
+	freeze.adb, sem_attr.adb, sem_case.adb, exp_ch4.adb, ghost.adb,
+	exp_ch6.adb, sem_ch4.adb, restrict.adb, s-os_lib.adb: Minor
+	reformatting.
+
+2016-10-12  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch10.adb (Remove_Limited_With_Clause): Add a check to
+	detect accidental visibility.
+
+2016-10-12  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch4.adb (Expand_Allocator): If the expression is a qualified
+	expression, add a predicate check after the constraint check.
+	* sem_res.adb (Resolve_Qualified_Expression): If context is an
+	allocator, do not apply predicate check, as it will be done when
+	allocator is expanded.
+
+2016-10-12  Bob Duff  <duff@adacore.com>
+
+	* xref_lib.adb: Use renamings-of-slices to ensure
+	that all references to Tables are properly bounds checked (when
+	checks are turned on).
+	* g-dyntab.ads, g-dyntab.adb: Default-initialize the array
+	components, so we don't get uninitialized pointers in case
+	of Tables containing access types.  Misc cleanup of the code
+	and comments.
+
+2016-10-12  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_attr.adb (Analyze_Attribute, case 'Type_Key): Implement
+	functionality of attribute, to provide a reasonably unique key
+	for a given type and detect any changes in the semantics of the
+	type or any of its subcomponents from version to version.
+
+2016-10-12  Bob Duff  <duff@adacore.com>
+
+	* sem_case.adb (Check_Choice_Set): Separate
+	checking for duplicates out into a separate pass from checking
+	full coverage, because the check for duplicates does not depend
+	on predicates. Therefore, we shouldn't do it separately for the
+	predicate vs. no-predicate case; we should share code. The code
+	for the predicate case was wrong.
+
+2016-10-12  Jerome Lambourg  <lambourg@adacore.com>
+
+	* init.c: Make sure to call finit on x86_64-vx7 to reinitialize
+	the FPU unit.
+
+2016-10-12  Arnaud Charlet  <charlet@adacore.com>
+
+	* lib-load.adb (Load_Unit): Generate an error message even when
+	Error_Node is null.
+
+2016-10-12  Ed Schonberg  <schonberg@adacore.com>
+
+	* lib-writ.adb (Write_ALI): Disable optimization related to transitive
+	limited_with clauses for now.
+
+2016-10-12  Javier Miranda  <miranda@adacore.com>
+
+	* sem_attr.adb (Analyze_Attribute_Old_Result): Generating C
+	code handle 'old located in inlined _postconditions procedures.
+	(Analyze_Attribute [Attribute_Result]): Handle 'result when
+	rewriting the attribute as a reference to the formal parameter
+	_Result of inlined _postconditions procedures.
+
+2016-10-12  Tristan Gingold  <gingold@adacore.com>
+
+	* s-rident.ads (Profile_Info): Remove
+	Max_Protected_Entries restriction from GNAT_Extended_Ravenscar
+	* sem_ch9.adb (Analyze_Protected_Type_Declaration):
+	Not a controlled type on restricted runtimes.
+
+2016-10-12  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_ch3.adb (Derive_Subprogram): Add test
+	for Is_Controlled of Parent_Type when determining whether an
+	inherited subprogram with one of the special names Initialize,
+	Adjust, or Finalize should be derived with its normal name even
+	when inherited as a private operation (which would normally
+	result in the inherited operation having a special "hidden" name).
+
+2016-10-12  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_res.adb (Resolve_Call): If a function call returns a
+	limited view of a type replace it with the non-limited view,
+	which must be available when compiling call.  This was already
+	done elsewhere for non-overloaded calls, but needs to be done
+	after resolution if function name is overloaded.
+
+2016-10-12  Javier Miranda  <miranda@adacore.com>
+
+	* a-tags.adb (IW_Membership [private]): new overloaded
+	subprogram that factorizes the code needed to check if a
+	given type implements an interface type.
+	(IW_Membership
+	[public]): invoke the new internal IW_Membership function.
+	(Is_Descendant_At_Same_Level): Fix this routine to implement RM
+	3.9 (12.3/3)
+
+2016-10-12  Tristan Gingold  <gingold@adacore.com>
+
+	* exp_ch9.adb (Expand_N_Delay_Relative_Statement): Add support
+	for a secondary procedure in case of missing Ada.Calendar.Delays
+	* rtsfind.ads (RTU_Id): Add System_Relative_Delays.
+	(RE_Id): Add RO_RD_Delay_For.
+	* rtsfind.adb (Output_Entity_Name): Handle correctly units RO_XX.
+	* s-rident.ads: Remove No_Relative_Delays
+	restriction for GNAT_Extended_Ravenscar.
+
+2016-10-12  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_elab.adb (Within_Initial_Condition):  When deternining
+	the context of the expression, use the original node if it is
+	a pragma, because Check pragmas are rewritten as conditionals
+	when assertions are not enabled.
+
+2016-10-12  Bob Duff  <duff@adacore.com>
+
+	* spitbol_table.ads, spitbol_table.adb (Adjust, Finalize): Add
+	"overriding".
+
+2016-10-12  Bob Duff  <duff@adacore.com>
+
+	* a-strunb-shared.ads, a-strunb-shared.adb (Finalize):
+	Make sure Finalize is idempotent.
+	(Unreference): Check for
+	Empty_Shared_String, in case the reference count of the empty
+	string wraps around.
+	Also add "not null" in various places that can't be null.
+
+2016-10-12  Jerome Lambourg  <lambourg@adacore.com>
+
+	* init.c: Fix sigtramp with the x86_64-vx7-vxsim target on
+	Windows host.
+
+2016-10-12  Vadim Godunko  <godunko@adacore.com>
+
+	* s-os_lib.ads (Is_Owner_Readable_File): Renamed from
+	Is_Readable_File.
+	(Is_Owner_Writable_File): Renamed from Is_Writable_File.
+	(Is_Readable_File): Renames Is_Read_Accessible_File.
+	(Is_Writable_File): Renames Is_Write_Accessible_File.
+
+2016-10-12  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Check_Formal_Package_Instance): Skip an internal
+	formal entity without a parent only if the corresponding actual
+	entity has a different kind.
+	* exp_ch9.adb (Build_Class_Wide_Master): If the master is
+	declared locally, insert the renaming declaration after the
+	master declaration, to prevent access before elaboration in gigi.
+
+2016-10-12  Ed Schonberg  <schonberg@adacore.com>
+
+	* contracts.adb (Analyze_Contracts): For a type declaration, analyze
+	an iterable aspect when present.
+
+2016-10-12  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Check_Formal_Package_Instance): Handle properly
+	an instance of a formal package with defaults, when defaulted
+	parameters include tagged private types and array types.
+
+2016-10-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/64057.
+	* exp_ch5.adb (Is_Non_Local_Array): Return true for every array
+	that is not a component or slice of an entity in the current
+	scope.
+
+2016-10-12  Tristan Gingold  <gingold@adacore.com>
+
+	* restrict.ads, restrict.adb (Restricted_Profile): Adjust
+	comment, use Restricted_Tasking to compare restrictions.
+	* s-rident.ads (Profile_Name): Add Restricted_Tasking and
+	reorder literals.
+	(Profile_Info): Set restrictions for Restricted_Tasking.
+
+2016-10-12  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Analyze_Full_Type_Declaration): Set Ghost status
+	of type before elaborating inherited operations, so that the
+	Ghost status is set properly for them.
+	* ghost.adb (Check_Ghost_Overriding): A ghost subprogram can
+	override an abstract subprogram coming from an interface
+	operation.
+
+2016-10-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* system-linux-armeb.ads (Backend_Overflow_Checks): Change to True.
+	* system-linux-mips.ads (Backend_Overflow_Checks): Likewise.
+	* system-linux-mips64el.ads (Backend_Overflow_Checks): Likewise.
+	* system-linux-mipsel.ads (Backend_Overflow_Checks): Likewise.
+	* system-linux-sparcv9.ads (Backend_Overflow_Checks): Likewise.
+	* system-rtems.ads (Backend_Overflow_Checks): Likewise.
+
+2016-10-11  Andris Pavenis  <andris.pavenis@iki.fi>
+
+	* adaint.c: Include process.h, signal.h, dir.h and utime.h for DJGPP.
+	ISALPHA: include <ctype.h> and define to isalpha for DJGPP when IN_RTS
+	is defined.
+	(DIR_SEPARATOR) define to '\\' for DJGPP.
+	(__gnat_get_file_names_case_sensitive): Return 0 for DJGPP unless
+	overriden in environment.
+	(__gnat_is_absolute_path): Support MS-DOS absolute paths for DJGPP.
+	(__gnat_portable_spawn): Use spewnvp for DJGPP.
+	(__gnat_portable_no_block_spawn): Use spawnvp for DJGPP.
+	(__gnat_portable_wait): Return 0 for DJGPP.
+
+2016-10-11  Andris Pavenis  <andris.pavenis@iki.fi>
+
+	* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS): Define for DJGPP.
+	(EH_MECHANISM): Define to -gcc for DJGPP.
+	* system-djgpp.ads: New file.
+
+2016-10-11  Andris Pavenis  <andris.pavenis@iki.fi>
+
+	* ctrl_c.c: Do not use macro SA_RESTART for DJGPP.
+	* gsocket.h: Do not support sockets for DJGPP.
+	* init.c (__gnat_install_handler): Implememt for DJGPP.
+	* sysdep.c: Include <io.h> for DJGPP.
+	(_setmode): Define to setmode for DJGPP.
+	(__gnat_set_mode): Add implementation for DJGPP.
+	(__gnat_localtime_tzoff): Use localtime_r for DJGPP.
+	* terminals.c: Add DJGPP to list of unsupported platforms.
+	* env.c (__gnat_clearenv): Use _gnat_unsetenv on all entries for DJGPP.
+
+2016-10-11  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* exp_dbug.adb (Debug_Renaming_Declaration): Process underlying types.
+	Emit GNAT encodings for object renamings involving record components
+	whose normalized bit offset is not null.
+	* uintp.h (UI_No_Uint): Declare.
+	* gcc-interface/gigi.h (can_materialize_object_renaming_p): Likewise.
+	* gcc-interface/utils.c (can_materialize_object_renaming_p): New
+	function.
+	* gcc-interface/trans.c (gnat_to_gnu) <N_Object_Renaming_Declaration>:
+	In code generation mode, materialize all renamings as long as they need
+	debug info and we are not optimizing.
+
+2016-10-11  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* gcc-interface/utils2.c (build_binary_op): Add a NO_FOLD argument.
+	Disable folding when it is true.
+	* gcc-interface/gigi.h (choices_to_gnu): Remove declaration.
+	(build_binary_op): Update signature and comment.
+	* gcc-interface/decl.c (choices_to_gnu): Make static.  Disable
+	folding in calls to build_binary_op.
+
+2016-10-11  Tristan Gingold  <gingold@adacore.com>
+
+	* fe.h (Constant_Value): Declare.
+	* gcc-interface/decl.c (compile_time_known_address_p): Also consider
+	references to constants.
+
+2016-10-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (gnat_to_gnu) <N_Op_Add>: Adjust comment.
+	<N_Op_Minus>: Add comment and missing guard.
+	* gcc-interface/trans.c (build_binary_op_trapv): Use an explicit test.
+
+2016-10-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/utils.c (type_unsigned_for_rm): New predicate.
+	(make_type_from_size): Use it.
+	(unchecked_convert): Likewise.  Do not skip the extension step if the
+	source type is not integral.
+
+2016-10-11  Eric Botcazou  <ebotcazou@adacore.com>
+            Tristan Gingold  <gingold@adacore.com>
+
+	* system-linux-ppc64.ads: Delete.
+	* system-linux-ppc.ads: Make 32-bit/64-bit neutral.
+	* gcc-interface/Makefile.in (PowerPC/Linux): Simplify.
+
+2016-10-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity): Put volatile qualifier
+	on types at the very end of the processing.
+	(gnat_to_gnu_param): Remove redundant test.
+	(change_qualified_type): Do nothing for unconstrained array types.
+
+2016-10-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/utils2.c (find_common_type): Do not return the LHS type
+	if it's an array with non-constant lower bound and the RHS type is an
+	array with a constant one.
+
+2016-10-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/utils.c (convert): For a biased input type, convert the
+	bias itself to the base type before adding it.
+
+2016-10-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/utils.c (convert) <VECTOR_CST>: Add missing break.
+
+	Revert
+	2016-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* gcc-interface/decl.c: Fix fall through comment formatting.
+	* gcc-interface/misc.c: Likewise.
+	* gcc-interface/trans.c: Likewise.
+	* gcc-interface/utils.c: Likewise.
+	* gcc-interface/utils2.c: Likewise.
+
+2016-09-29  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* gcc-interface/misc.c (gnat_post_options): Remove special case for
+	TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard.
+
+2016-09-27  Jakub Jelinek  <jakub@redhat.com>
+
+	* terminals.c (is_gui_app): Remove break after return.
+
+2016-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* gcc-interface/decl.c: Fix fall through comment formatting.
+	* gcc-interface/misc.c: Likewise.
+	* gcc-interface/trans.c: Likewise.
+	* gcc-interface/utils.c: Likewise.
+	* gcc-interface/utils2.c: Likewise.
+
+2016-09-23  Jakub Jelinek  <jakub@redhat.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity): Use
+	CONSTRUCTOR_NELTS (...) instead of
+	vec_safe_length (CONSTRUCTOR_ELTS (...)).
+
+2016-07-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Also use
+	the void pointer type if the designated type is incomplete and has no
+	full view in LTO mode.
+	<E_Access_Protected_Subprogram_Type>: Adjust comment.
+	<E_Incomplete_Type>: Likewise.
+	* gcc-interface/trans.c (Call_to_gnu): Do not convert to the type of
+	the actual if it is a dummy type.
+
+2016-07-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* gcc-interface/ada-tree.h (TYPE_ALIGN_OK): Define.
+	* gcc-interface/trans.c (Attribute_to_gnu): Adjust call to
+	get_inner_reference.
+	* gcc-interface/utils2.c (build_unary_op): Likewise.
+
+2016-07-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (add_decl_expr): Minor tweak.
+	* gcc-interface/utils.c (create_var_decl): For an external variable,
+	also clear TREE_READONLY in LTO mode if the initializer is not a valid
+	constant and set DECL_READONLY_ONCE_ELAB instead.
+
+2016-07-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/71817
+	* adaint.c (__gnat_is_read_accessible_file): Add parentheses.
+	(__gnat_is_write_accessible_file): Likewise.
+
+2016-07-07  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch6.adb (Expand_Internal_Init_Call): Subsidiary procedure
+	to Expand_Protected_ Subprogram_Call, to handle properly a
+	call to a protected function that provides the initialization
+	expression for a private component of the same protected type.
+	* sem_ch9.adb (Analyze_Protected_Definition): Layout must be
+	applied to itypes generated for a private operation of a protected
+	type that has a formal of an anonymous access to subprogram,
+	because these itypes have no freeze nodes and are frozen in place.
+	* sem_ch4.adb (Analyze_Selected_Component): If prefix is a
+	protected type and it is not a current instance, do not examine
+	the first private component of the type.
+
+2016-07-07  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_imgv.adb, g-dynhta.adb, s-regexp.adb, s-fatgen.adb, s-poosiz.adb:
+	Minor removal of extra whitespace.
+	* einfo.ads: minor removal of repeated "as" in comment
+
+2016-07-07  Vadim Godunko  <godunko@adacore.com>
+
+	* adaint.c: Complete previous change.
+
+2016-07-07  Vadim Godunko  <godunko@adacore.com>
+
+	* adainit.h, adainit.c (__gnat_is_read_accessible_file): New
+	subprogram.
+	(__gnat_is_write_accessible_file): New subprogram.
+	* s-os_lib.ads, s-os_lib.adb (Is_Read_Accessible_File): New subprogram.
+	(Is_Write_Accessible_File): New subprogram.
+
+2016-07-07  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch12.adb (Install_Body): Minor refactoring in the order
+	of local functions.
+	(In_Same_Scope): Change loop condition to be more expressive.
+
+2016-07-07  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_ch3.adb, sem_prag.adb, sem_prag.ads, prj-ext.adb, freeze.adb,
+	sem_attr.adb: Minor reformatting, fix typos.
+
+2016-07-07  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch12.adb (In_Same_Scope): Created this function to check
+	a generic package definition against an instantiation for scope
+	dependancies.
+	(Install_Body): Add function In_Same_Scope and
+	amend conditional in charge of delaying the package instance.
+	(Is_In_Main_Unit): Add guard to check if parent is present in
+	assignment of Current_Unit.
+
+2016-07-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove redundant test,
+	adjust comments and formatting.
+	* sem_prag.adb (Inlining_Not_Possible): Do not test Front_End_Inlining
+	here but...
+	(Make_Inline): ...here before calling Inlining_Not_Possible instead.
+	(Set_Inline_Flags): Remove useless test.
+	(Analyze_Pragma) <Pragma_Inline>: Add comment about -gnatn switch.
+
+2016-07-07  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.ads, sem_prag.adb (Build_Classwide_Expression): Include
+	overridden operation as parameter, in order to map formals of
+	the overridden and overring operation properly prior to rewriting
+	the inherited condition.
+	* freeze.adb (Check_Inherited_Cnonditions): Change call to
+	Build_Class_Wide_Expression accordingly.  In Spark_Mode, add
+	call to analyze the contract of the parent operation, prior to
+	mapping formals between operations.
+
+2016-07-07  Arnaud Charlet  <charlet@adacore.com>
+
+	* adabkend.adb (Scan_Back_End_Switches): Ignore -o/-G switches
+	as done in back_end.adb.
+	(Scan_Compiler_Args): Remove special case for CodePeer/SPARK, no longer
+	needed, and prevents proper handling of multi-unit sources.
+
+2016-07-07  Thomas Quinot  <quinot@adacore.com>
+
+	* g-sechas.adb, g-sechas.ads (GNAT.Secure_Hashes.H): Add Hash_Stream
+	type with Write primitive calling Update on the underlying context
+	(and dummy Read primitive raising P_E).
+
+2016-07-07  Thomas Quinot  <quinot@adacore.com>
+
+	* sem_ch13.adb: Minor reformatting.
+
+2016-07-07  Thomas Quinot  <quinot@adacore.com>
+
+	* g-socket.ads: Document performance consideration for stream
+	wrapper.
+
+2016-07-07  Arnaud Charlet  <charlet@adacore.com>
+
+	* osint-c.ads (Set_File_Name): Clarify spec.
+
+2016-07-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* freeze.adb: Reenable code.
+
+2016-07-07  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch6.adb (Process_Formals): Set ghost flag
+	on formal entities of ghost subprograms.
+	* ghost.adb (Check_Ghost_Context.Is_OK_Ghost_Context): Accept ghost
+	entities in use type clauses.
+
+2016-07-06  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch6.adb (Check_Inline_Pragma): if the subprogram has no spec
+	then move its aspects to the internally built subprogram spec.
+
+2016-07-06  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch6.adb (Analyze_Expression_Function): Mark body of
+	expression function as ghost if needed when created.
+	* sem_prag.adb (Analyze_Pragma.Process_Inline.Set_Inline_Flags):
+	Remove special case.
+
+2016-07-06  Arnaud Charlet  <charlet@adacore.com>
+
+	* lib.adb (Check_Same_Extended_Unit): Complete previous change.
+	* sem_intr.adb (Errint): New parameter Relaxed. Refine previous
+	change to only disable errors selectively.
+	* sem_util.adb: minor style fix in object declaration
+
+2016-07-06  Yannick Moy  <moy@adacore.com>
+
+	* sem_warn.adb (Check_Infinite_Loop_Warning.Find_Var): Special case a
+	call to a volatile function, so that it does not lead to a warning in
+	that case.
+
+2016-07-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch12.adb, sem_ch4.adb, sem_ch6.adb: Minor reformatting.
+
+2016-07-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* gnat1drv.adb: Code clean up. Do not emit any
+	code generation errors when the unit is ignored Ghost.
+
+2016-07-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_eval.adb (Check_Non_Static_Context): If the expression
+	is a real literal of a floating point type that is part of a
+	larger expression and is not a static expression, transform it
+	into a machine number now so that the rest of the computation,
+	even if other components are static, is not evaluated with
+	extra precision.
+
+2016-07-06  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch13.adb (Freeze_Entity_Checks): Undo previous patch and move the
+	needed functionality to Analyze_Freeze_Generic_Entity.
+	(Analyze_Freeze_Generic_Entity): If the entity is not already frozen
+	and has delayed aspects then analyze them.
+
+2016-07-06  Yannick Moy  <moy@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma.Process_Inline.Set_Inline_Flags):
+	Special case for unanalyzed body entity of ghost expression function.
+
+2016-07-06  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch7.adb (Analyze_Package_Specification): Insert its
+	freezing nodes after the last declaration. Needed to ensure
+	that global entities referenced in aspects of frozen types are
+	properly handled.
+	* freeze.adb (Freeze_Entity): Minor code reorganization to ensure
+	that freezing nodes of generic packages are handled.
+	* sem_ch13.adb (Freeze_Entity_Checks): Handle N_Freeze_Generic nodes.
+	* sem_ch12.adb (Save_References_In_Identifier): Handle selected
+	components which denote a named number that is constant folded
+	in the analyzed copy of the tree.
+
+2016-07-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_aggr.adb Remove with and use clauses for Exp_Ch11 and Inline.
+	(Initialize_Array_Component): Protect the initialization
+	statements in an abort defer / undefer block when the associated
+	component is controlled.
+	(Initialize_Record_Component): Protect the initialization statements
+	in an abort defer / undefer block when the associated component is
+	controlled.
+	(Process_Transient_Component_Completion): Use Build_Abort_Undefer_Block
+	to create an abort defer / undefer block.
+	* exp_ch3.adb Remove with and use clauses for Exp_ch11 and Inline.
+	(Default_Initialize_Object): Use Build_Abort_Undefer_Block to
+	create an abort defer / undefer block.
+	* exp_ch5.adb (Expand_N_Assignment_Statement): Mark an abort
+	defer / undefer block as such.
+	* exp_ch9.adb (Find_Enclosing_Context): Do not consider an abort
+	defer / undefer block as a suitable context for an activation
+	chain or a master.
+	* exp_util.adb Add with and use clauses for Exp_Ch11.
+	(Build_Abort_Undefer_Block): New routine.
+	* exp_util.ads (Build_Abort_Undefer_Block): New routine.
+	* sinfo.adb (Is_Abort_Block): New routine.
+	(Set_Is_Abort_Block): New routine.
+	* sinfo.ads New attribute Is_Abort_Block along with occurrences
+	in nodes.
+	(Is_Abort_Block): New routine along with pragma Inline.
+	(Set_Is_Abort_Block): New routine along with pragma Inline.
+
+2016-07-06  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch4.adb (Analyze_One_Call): Add a conditional to handle
+	disambiguation.
+
+2016-07-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* einfo.adb Flag252 is now used as Is_Finalized_Transient. Flag295
+	is now used as Is_Ignored_Transient.
+	(Is_Finalized_Transient): New routine.
+	(Is_Ignored_Transient): New routine.
+	(Is_Processed_Transient): Removed.
+	(Set_Is_Finalized_Transient): New routine.
+	(Set_Is_Ignored_Transient): New routine.
+	(Set_Is_Processed_Transient): Removed.
+	(Write_Entity_Flags): Output Flag252 and Flag295.
+	* einfo.ads: New attributes Is_Finalized_Transient
+	and Is_Ignored_Transient along with occurrences in
+	entities. Remove attribute Is_Processed_Transient.
+	(Is_Finalized_Transient): New routine along with pragma Inline.
+	(Is_Ignored_Transient): New routine along with pragma Inline.
+	(Is_Processed_Transient): Removed along with pragma Inline.
+	(Set_Is_Finalized_Transient): New routine along with pragma Inline.
+	(Set_Is_Ignored_Transient): New routine along with pragma Inline.
+	(Set_Is_Processed_Transient): Removed along with pragma Inline.
+	* exp_aggr.adb Add with and use clauses for Exp_Ch11 and Inline.
+	(Build_Record_Aggr_Code): Change the handling
+	of controlled record components.
+	(Ctrl_Init_Expression): Removed.
+	(Gen_Assign): Add new formal parameter In_Loop
+	along with comment on usage.  Remove local variables Stmt and
+	Stmt_Expr. Change the handling of controlled array components.
+	(Gen_Loop): Update the call to Gen_Assign.
+	(Gen_While): Update the call to Gen_Assign.
+	(Initialize_Array_Component): New routine.
+	(Initialize_Ctrl_Array_Component): New routine.
+	(Initialize_Ctrl_Record_Component): New routine.
+	(Initialize_Record_Component): New routine.
+	(Process_Transient_Component): New routine.
+	(Process_Transient_Component_Completion): New routine.
+	* exp_ch4.adb (Process_Transient_In_Expression): New routine.
+	(Process_Transient_Object): Removed. Replace all existing calls
+	to this routine with calls to Process_Transient_In_Expression.
+	* exp_ch6.adb (Expand_Ctrl_Function_Call): Remove local constant
+	Is_Elem_Ref. Update the comment on ignoring transients.
+	* exp_ch7.adb (Process_Declarations): Do not process ignored
+	or finalized transient objects.
+	(Process_Transient_In_Scope): New routine.
+	(Process_Transients_In_Scope): New routine.
+	(Process_Transient_Objects): Removed. Replace all existing calls
+	to this routine with calls to Process_Transients_In_Scope.
+	* exp_util.adb (Build_Transient_Object_Statements): New routine.
+	(Is_Finalizable_Transient): Do not consider a transient object
+	which has been finalized.
+	(Requires_Cleanup_Actions): Do not consider ignored or finalized
+	transient objects.
+	* exp_util.ads (Build_Transient_Object_Statements): New routine.
+	* sem_aggr.adb: Major code clean up.
+	* sem_res.adb: Update documentation.
+
+2016-07-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Analyze_Subtype_Declaration): For generated
+	subtypes, such as actual subtypes of unconstrained formals,
+	inherit predicate functions, if any, from the parent type rather
+	than creating redundant new ones.
+
+2016-07-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_attr.adb, sem_attr.adb, sem_ch13.adb: Minor reformatting.
+
+2016-07-06  Arnaud Charlet  <charlet@adacore.com>
+
+	* lib.adb (Check_Same_Extended_Unit): Prevent looping forever.
+	* gnatbind.adb: Disable some consistency checks in codepeer mode,
+	which are not needed.
+
+2016-07-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Check_Fixed_Point_Actual): Add a warning when
+	a formal fixed point type is instantiated with a type that has
+	a user-defined arithmetic operations, but the generic has no
+	corresponding formal functions. This is worth a warning because
+	of the special semantics of fixed-point operators.
+
+2016-07-06  Bob Duff  <duff@adacore.com>
+
+	* sem_attr.adb (Analyze_Attribute): Allow any expression of
+	discrete type.
+	* exp_attr.adb (Expand_N_Attribute_Reference): Change the
+	constant-folding code to correctly handle cases newly allowed
+	by Analyze_Attribute.
+
+2016-07-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity): Invoke global_bindings_p
+	last when possible.  Do not call elaborate_expression_2 on offsets in
+	local record types and avoid useless processing for constant offsets.
+
+2016-07-04  Arnaud Charlet  <charlet@adacore.com>
+
+	* gnat_rm.texi, gnat_ugn.texi,
+	doc/gnat_ugn/gnat_project_manager.rst,
+	doc/gnat_ugn/building_executable_programs_with_gnat.rst,
+	doc/gnat_ugn/elaboration_order_handling_in_gnat.rst,
+	doc/gnat_ugn/about_this_guide.rst,
+	doc/gnat_ugn/platform_specific_information.rst,
+	doc/gnat_ugn/tools_supporting_project_files.rst,
+	doc/gnat_ugn/gnat_and_program_execution.rst,
+	doc/gnat_ugn/gnat_utility_programs.rst,
+	doc/gnat_ugn/the_gnat_compilation_model.rst,
+	doc/gnat_rm/implementation_defined_attributes.rst,
+	doc/gnat_rm/implementation_defined_pragmas.rst,
+	doc/gnat_rm/representation_clauses_and_pragmas.rst,
+	doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
+	doc/gnat_ugn.rst: Update documentation.
+
+2016-07-04  Arnaud Charlet  <charlet@adacore.com>
+
+	* gcc-interface/Makefile.in: Cleanups.
+
+2016-07-04  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_attr.adb (Analyze_Attribute_Old_Result): The attributes can
+	appear in the postcondition of a subprogram renaming declaration,
+	when the renamed entity is an attribute reference that is a
+	function (such as 'Value).
+	* sem_attr.adb (Eval_Attribute): It doesn't
+	need to be static, just known at compile time, so use
+	Compile_Time_Known_Value instead of Is_Static_Expression.
+	This is an efficiency improvement over the previous bug fix.
+	* sem_ch13.adb (Analyze_One_Aspect): Use Original_Node to detect
+	illegal aspects on subprogram renaming declarations that may
+	have been rewritten as bodies.
+
+2016-07-04  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_intr.adb (Errint): Do not emit error message in
+	Relaxed_RM_Semantics mode.
+
+2016-07-04  Bob Duff  <duff@adacore.com>
+
+	* sem_attr.adb (Eval_Attribute): The code was assuming
+	that X'Enum_Rep, where X denotes a constant, can be constant
+	folded. Fix it so it makes that assumption only when X denotes
+	a STATIC constant.
+
+2016-07-04  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Compatible_Types_In_Predicate): New function
+	to handle cases where a formal of a predicate function and the
+	corresponding actual have different views of the same type.
+
+2016-07-04  Philippe Gil  <gil@adacore.com>
+
+	* g-debpoo.adb (Free_Blocks) free blocks also until
+	Logically_Deallocated less than Maximum_Logically_Freed_Memory
+	(Dump) add dump of number of traceback & validity elements
+	already allocated.
+
+2016-07-04  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch12.adb (Instantiate_Package_Body): Add
+	a guard to ignore Itypes which fail when installing primitives.
+
+2016-07-04  Bob Duff  <duff@adacore.com>
+
+	* sem_eval.adb (Decompose_Expr): Set 'out' parameters
+	Kind and Cons to valid values, to avoid use of uninit vars.
+	(Extract_Length): Reorder the check to make it clearer that
+	we're depending on BOTH Ent1 and Ent2 to be Present.
+	* sem_aggr.adb (Resolve_Aggregate): Remove dead code.
+	(Check_Misspelled_Component): Remove exit statement, because
+	it's covered by the 'while' condition.
+	* checks.adb (Apply_Selected_Range_Checks): Remove useless
+	condition "or else not Checks_On".
+	(Selected_Range_Checks):
+	Initialize Known_LB and Known_HB to False, because they are
+	tested unconditionally; avoid use of uninit vars.
+	* frontend.adb (Frontend): Removed useless condition
+	"Operating_Mode = Check_Semantics and then", and added an Assert
+	to clarify why it was useless.
+	* prep.adb (Preprocess): Remove redundant condition. Add an
+	assertion.
+	* sem_ch10.adb (Analyze_Proper_Body): Moved redundant condition
+	"Original_Operating_Mode = Generate_Code" to an Assert.
+	(Process_Spec_Clauses, Process_Body_Clauses): Change parameters
+	from 'in out' to 'out', and don't initialize actuals.
+	* sem_ch12.adb (Is_In_Main_Unit): Removed useless condition
+	"Unum = Main_Unit or else".
+	(Save_Global_Descendant): Moved
+	redundant condition "D = Union_Id (No_List)" to an Assert.
+	* sem_ch4.adb (Check_Misspelled_Selector): Remove exit
+	statement, because it's covered by the 'while' condition.
+	(Analyze_Case_Expression): Initialize Wrong_Alt to Empty,
+	because it looks like it is used uninitialized otherwise.
+	* sem_ch6.adb (Check_Return_Subtype_Indication): Moved redundant
+	condition "not R_Type_Is_Anon_Access" to an Assert.
+	* sem_elim.adb (Line_Num_Match): Moved redundant condition
+	"Sloc_Trace (Idx) = '['" to an Assert.
+	* sem_util.adb (Compile_Time_Constraint_Error): Change "J" to
+	"J - 1". This code is trying to replace "?" with "<", but not if
+	the "?" is quoted, as in "'?", so we want to check the PREVIOUS
+	character for '''.
+	* snames.adb-tmpl (Is_Pragma_Name): Remove useless condition
+	"or else N = Name_Relative_Deadline". It's useless because
+	Name_Relative_Deadline is in the range First_Pragma_Name
+	.. Last_Pragma_Name.
+	* treepr.adb (Visit_Node): Moved redundant condition "D =
+	Union_Id (No_List)" to an Assert.
+	* sem_ch3.adb (Derive_Subprogram, Derive_Subprograms): Change
+	parameters from 'in out' to 'out'.
+	* errout.adb (Error_Msg_Internal): Replace redundant test with Assert.
+	* inline.adb (Add_Inlined_Body): Code cleanup.
+
+2016-07-04  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* g-sercom-mingw.adb, sem_ch6.adb: Minor reformatting.
+
+2016-07-04  Olivier Hainque  <hainque@adacore.com>
+
+	* g-sercom-mingw.adb (Set): Fix port configuration for the
+	non-blocking + null-timeout case, request of immediate return.
+
+2016-07-04  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Is_Non_Overriding_Operation): Add guard to test
+	of generic parent type when operation is a parameterless function
+	that may dispatch on result.
+
+2016-07-04  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* freeze.adb, ghost.adb, sem_ch13.adb: Minor reformatting.
+
+2016-07-04  Pascal Obry  <obry@adacore.com>
+
+	* g-forstr.ads: More documentation for the Formatted_String
+	support.
+
+2016-07-04  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch7.adb (Install_Parent_Private_Declarations): When
+	instantiating a child unit, do not install private declaration of
+	a non-generic ancestor of the generic that is also an ancestor
+	of the current unit: its private part will be installed when
+	private part of ancestor itself is analyzed.
+
+2016-07-04  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Instantiate_Object): In SPARK mode add a guard
+	to verify that the actual is an object reference before checking
+	for volatility.
+	(Check_Generic_Child_Unit): Prevent cascaded errors when prefix
+	is illegal.
+
+2016-07-04  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_ch12.ads, freeze.adb: Minor reformatting and typo fixes.
+
+2016-07-04  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (New_Stream_Subprogram): If the attribute
+	definition clause comes from an aspect specification, place the
+	generated subprogram renaming in the freeze actions of the type.
+
+2016-07-04  Philippe Gil  <gil@adacore.com>
+
+	* g-debpoo.adb (Dump.Do_Report) - add space prefix to backtrace
+	address dump - avoid new line sent directly to stdout.
+
+2016-07-04  Arnaud Charlet  <charlet@adacore.com>
+
+	* gnat1drv.adb, sem_ch12.adb, sem_elab.adb, sem_prag.adb, sem_res.adb:
+	Relax elaboration checks in SPARK_Mode so that we rely on the
+	static elaboration model (if used). We'll have a more precise
+	check performed in flow analysis of gnat2why.
+
+2016-07-04  Ed Schonberg  <schonberg@adacore.com>
+
+	* ghost.adb (Prune_Node): A freeze node for an ignored ghost
+	entity must be pruned as well.
+
+2016-07-04  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_type.adb, einfo.ads, freeze.adb, exp_ch6.adb: Minor reformatting
+	and typo fix.
+
+2016-07-04  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch3.adb, sem_type.adb, sem_ch12.adb, xref_lib.adb,
+	freeze.adb, sinput-l.adb, sinput-l.ads, sem_ch4.adb, sem_ch8.adb:
+	Minor reformatting.
+
+2016-07-04  Justin Squirek  <squirek@adacore.com>
+
+	* sem_prag.adb (Analyze_Unmodified_Or_Unused and
+	Analyze_Unreferenced_Or_Unused): Change warning message to be
+	more clear about pragma duplicates.
+
+2016-07-04  Yannick Moy  <moy@adacore.com>
+
+	* sinput-l.adb (Create_Instantiation_Source): Set component
+	Inlined_Call for inherited pragma case.
+	* sinput.adb, sinput.ads (Instantiation): Return component
+	Inlined_Call for inherited pragma case.
+
+2016-07-04  Bob Duff  <duff@adacore.com>
+
+	* sem_type.adb (Remove_Conversions): Protect
+	the call to Left_Opnd by checking for Nkind in N_Unary_Op --
+	unary operators do not have a left operand.
+
+2016-07-04  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Analyze_Object_Declaration): A declaration of a
+	constant in a protected operation may be a homonym of a private
+	component of the enclosing protected type. This declaration hides
+	the component renaming constructed within the protected operation.
+
+2016-07-04  Bob Duff  <duff@adacore.com>
+
+	* xref_lib.adb (Parse_X_Filename, Parse_Identifier_Info): Ignore
+	unknown files. Check that File_Nr is in the range of files we
+	know about. The previous code was checking the lower bound,
+	but not the upper bound.
+
+2016-07-04  Arnaud Charlet  <charlet@adacore.com>
+
+	* tracebak.c: Minor reformatting.
+
+2016-07-04  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch12.adb, sem_ch12.ads Update calls to
+	Create_Instantiation_Source to use default argument.
+	(Adjust_Inherited_Pragma_Sloc): New function to adjust sloc
+	of inherited pragma.
+	(Set_Copied_Sloc_For_Inherited_Pragma):
+	New function that wraps call to Create_Instantiation_Source for
+	copying an inherited pragma.
+	(Set_Copied_Sloc_For_Inlined_Body): Update call to
+	Create_Instantiation_Source with new arguments.
+	* sem_prag.adb (Build_Pragma_Check_Equivalent): In the case
+	of inherited pragmas, use the generic machinery to get chained
+	locations for the pragma and its sub-expressions.
+	* sinput-c.adb: Adapt to new type Source_File_Record.
+	* sinput-l.adb, sinput-l.ads (Create_Instantiation_Source):
+	Add parameter Inherited_Pragma and make parameter Inlined_Body
+	optional.
+	* sinput.adb, sinput.ads (Comes_From_Inherited_Pragma): New
+	function to return when a location comes from an inherited pragma.
+	(Inherited_Pragma): New function to detect when a location comes
+	from an inherited pragma.
+	(Source_File_Record): New component Inherited_Pragma.
+
+2016-07-04  Yannick Moy  <moy@adacore.com>
+
+	* sem_elab.adb: Register existence of quickfix for error message.
+
+2016-07-04  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Resolve_One_Call): In the context of a predicate
+	function the formal and the actual in a call may have different
+	views of the same type, because of the delayed analysis of
+	predicates aspects. Extend the patch that handles this potential
+	discrepancy to handle private and full views as well.
+	* sem_ch8.adb (Find_Selected_Component): Refine predicate that
+	produces additional error when an illegal selected component
+	looks like a prefixed call whose first formal is untagged.
+
+2016-07-04  Justin Squirek  <squirek@adacore.com>
+
+	* einfo.adb (Has_Pragma_Unused): Create this function as a setter
+	for a new flag294 (Set_Has_Pragma_Unused): Create this procedure
+	as a getter for flag294 (Write_Entity_Flags): Register the new
+	flag with an alias
+	* einfo.ads Add comment documenting Has_Pragma_Unused (flag294)
+	and subsequent getter and setter declarations.
+	* lib-xref.adb (Generate_Reference): Recognize Has_Pragma_Unused
+	flag to print appropriate warning messages.
+	* par-prag.adb (Prag): Classify Pragma_Unused into "All Other
+	Pragmas."
+	* snames.ads-tmpl Add a new name to the name constants and a
+	new pramga to Pragma_Id for pramga Unused.
+	* sem_prag.adb (Analyze_Pragma): Create case for Pragma_Unused
+	and move the block for Pragma_Unmodified and Pragma_Unreferenced
+	out and into local subprograms.
+	(Analyze_Unmodified, Analyze_Unreferenced): From the old pragma blocks
+	that have been separated in to local subprograms add a parameter to
+	indicate the if they are being called in the context of Pragma_Unused
+	and handle it accordingly.
+	(Is_Non_Significant_Pragma_Reference): Add an entry for Pragma_Unused
+	and correct the position of Pragma_Unevaluated_Use_Of_Old.
+	* sem_util.adb (Note_Possible_Modification): Recognize
+	Has_Pragma_Unused flag to print appropriate warning messages.
+
+2016-07-04  Ed Schonberg  <schonberg@adacore.com>
+
+	* freeze.adb (Check_Inherited_Conditions): Perform two passes over
+	the primitive operations of the type: one over source overridings
+	to build the primitives mapping, and one over inherited operations
+	to check for the need to create wrappers, and to check legality
+	of inherited condition in SPARK.
+	* sem_prag.ads (Update_Primitive_Mapping): Make public, for use
+	in freeze actions.
+	* sem_prag.adb (Build_Pragma_Check_Equivalent): Refine error
+	message in the case of an inherited condition in SPARK that
+	includes a call to some other overriding primitive.
+
+2016-07-04  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_aggr.adb (Ctrl_Init_Expression): New routine.
+	(Gen_Assign): Code cleanup. Perform in-place side effect removal when
+	the expression denotes a controlled function call.
+	* exp_util.adb (Remove_Side_Effects): Do not remove side effects
+	on a function call which has this behavior suppressed.
+	* sem_aggr.adb Code cleanup.
+	* sinfo.adb (No_Side_Effect_Removal): New routine.
+	(Set_Side_Effect_Removal): New routine.
+	* sinfo.ads New attribute No_Side_Effect_Removal along with
+	occurences in nodes.
+	(No_Side_Effect_Removal): New routine along with pragma Inline.
+	(Set_Side_Effect_Removal): New routine along with pragma Inline.
+
+2016-07-04  Arnaud Charlet  <charlet@adacore.com>
+
+	* opt.ads, sem_prag.adb (Universal_Addressing_On_AAMP): Removed.
+	Remove support for pragma No_Run_Time. Update comments.
+
+2016-07-04  Pascal Obry  <obry@adacore.com>
+
+	* g-forstr.ads: More documentation for the Formatted_String
+	support.
+
+2016-07-04  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
+	'Address): If the address comes from an aspect specification
+	and not a source attribute definition clause, do not remove
+	side effects from the expression, because the expression must
+	be elaborated at the freeze point of the object and not at the
+	object declaration, because of the delayed analysis of aspect
+	specifications.
+
+2016-06-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/48835
+	PR ada/61954
+	* gcc-interface/gigi.h (enum standard_datatypes): Add ADT_realloc_decl
+	(realloc_decl): New macro.
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Use local
+	variable for the entity type and translate it as void pointer if the
+	entity has convention C.
+	(gnat_to_gnu_entity) <E_Function>: If this is not a definition and the
+	external name matches that of malloc_decl or realloc_decl, return the
+	correspoding node directly.
+	(gnat_to_gnu_subprog_type): Likewise for parameter and return types.
+	* gcc-interface/trans.c (gigi): Initialize void_list_node here, not...
+	Initialize realloc_decl.
+	* gcc-interface/utils.c (install_builtin_elementary_types): ...here.
+	(build_void_list_node): Delete.
+	* gcc-interface/utils2.c (known_alignment) <CALL_EXPR>: Return the
+	alignment of the system allocator for malloc_decl and realloc_decl.
+	Do not take alignment from void pointer types either.
+
+2016-06-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/misc.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): Reorder.
+	(LANG_HOOKS_INIT_TS): Likewise.
+
+2016-06-22  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_prag.adb: Revert unwanted change in previous commit,
+	only keep message fix.
+
+2016-06-22  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.ads (Build_Classwide_Expression): new procedure to
+	build the expression for an inherited classwide condition, and
+	to validate such expressions when they apply to an inherited
+	operation that is not overridden.
+	* sem_prag.adb (Primitives_Mapping): new data structure to
+	handle the mapping between operations of a root type and the
+	corresponding overriding operations of a type extension. Used
+	to construct the expression for an inherited classwide condition.
+	(Update_Primitives_Mapping): add to Primitives_Mapping the links
+	between primitive operations of a root type and those of a given
+	type extension.
+	(Build_Pragma_Check_Equivalent): use Primitives_Mapping.
+	* sem_ch6.adb (New_Overloaded_Entity): Remove call to
+	Collect_Iherited_Class_Wide_Conditions in GNATprove_Mode. This
+	needs to be done at freeze point of the type.
+	* freeze.adb (Check_Inherited_Conditions): new procedure to
+	verify the legality of inherited classwide conditions. In normal
+	compilation mode the procedure determines whether an inherited
+	operation needs a wrapper to handle an inherited condition that
+	differs from the condition of the root type.  In SPARK mode
+	the routine invokes Collect_Inherited_Class_Wide_Conditions to
+	produce the SPARK version of these inherited conditions.
+	(Freeze_Record_Type): For a type extension, call
+	Check_Inherited_Conditions.
+
+2016-06-22  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch3.adb, sem_type.adb, sem.adb, freeze.adb, sem_util.adb,
+	s-htable.adb, exp_ch11.adb, s-secsta.adb, restrict.adb, exp_disp.adb,
+	sem_ch8.adb, s-tpobop.adb, exp_aggr.ads, sem_ch13.adb: Minor
+	reformatting.
+
+2016-06-22  Yannick Moy  <moy@adacore.com>
+
+	* lib-xref-spark_specific.adb (Collect_SPARK_Xrefs): Inverse order of
+	treatments so that files without compilation unit are simply skipped
+	before more elaborate treatments.
+
+2016-06-22  Bob Duff  <duff@adacore.com>
+
+	* s-memory.ads: Minor typo fixes in comments.
+	* s-memory.adb: Code cleanup.
+
+2016-05-22  Olivier Hainque  <hainque@adacore.com>
+
+	* vxworks-crtbe-link.spec: Removed, no longer used.
+
+2016-06-22  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch8.adb (Push_Scope): Add a check for when the
+	scope table is empty to assign the global variable
+	Configuration_Component_Alignment.
+	* sem.adb (Do_Analyze): Add Configuration_Component_Alignment
+	to be assigned when the environment is cleaned instead of the
+	default.
+	* sem.ads Add a global variable Configuration_Component_Alignment
+	to store the value given by pragma Component_Alignment in the
+	context of a configuration file.
+	* sem_prag.adb (Analyze_Pragma): Correct the case for
+	Component_Alignment so that the pragma is verified and add
+	comments to explain how it is applied to the scope stack.
+
+2016-06-22  Justin Squirek  <squirek@adacore.com>
+
+	* sprint.adb (Sprint_Node_Actual): Add check in
+	the case of an N_Object_Declaration when evaluating an expression
+	to properly ignore errors.
+
+2016-06-22  Bob Duff  <duff@adacore.com>
+
+	* g-comlin.ads (Parameter_Type): Change subtype of Last to
+	Natural.
+	* g-comlin.adb (Set_Parameter): Change subtype of Last to
+	Natural.
+	(Getopt): Check for Arg = "", and Switches /= "".
+	(Internal_Initialize_Option_Scan): Check for Argument (Parser,
+	Index) /= "".
+
+2016-06-22  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_prag.adb, sem_ch8.adb: Minor reformatting.
+
+2016-06-22  Ed Schonberg  <schonberg@adacore.com>
+
+	* einfo.ads, einfo.adb (Is_Actual_Subtype): New flag, defined
+	on subtypes that are created within subprogram bodies to handle
+	unconstrained composite formals.
+	* checks.adb (Apply_Predicate_Check): Do not generate a check on
+	an object whose type is an actual subtype.
+	* sem_ch6.adb (Set_Actual_Subtypes): Do not generate an
+	actual subtype for a formal whose base type is private.
+	Set Is_Actual_Subtype on corresponding entity after analyzing
+	its declaration.
+
+2016-06-22  Justin Squirek  <squirek@adacore.com>
+
+	* sem_prag.adb (Check_Expr_Is_OK_Static_Expression): Fix ordering
+	of if-block and add in a condition to test for errors during
+	resolution.
+	* sem_res.adb (Resolution_Failed): Add comment to explain why
+	the type of a node which failed to resolve is set to the desired
+	type instead of Any_Type.
+	* sem_ch8.adb (Analyze_Object_Renaming): Add a check for Any_Type
+	to prevent crashes on Is_Access_Constant.
+
+2016-06-22  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* lib-xref-spark_specific.adb, checks.adb, sem_ch13.adb: Minor
+	reformatting.
+	* exp_ch7.adb: Minor typo fix.
+	* lib.ads (Get_Top_Level_Code_Unit): Add comment.
+
+2016-06-22  Bob Duff  <duff@adacore.com>
+
+	* s-tassta.adb (Task_Wrapper): Fix handling of Fall_Back_Handler
+	wrt independent tasks.
+
+2016-06-22  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_dim.adb (Analyze_Dimension): Propagate dimension for
+	explicit_dereference nodes when they do not come from source,
+	to handle correctly dimensional analysis on iterators over
+	containers whose elements have declared dimensions.
+
+2016-06-22  Arnaud Charlet  <charlet@adacore.com>
+
+	* spark_xrefs.ads (Scope_Num): type refined to positive integers.
+	* lib-xref-spark_specific.adb (Detect_And_Add_SPARK_Scope):
+	moved into scope of Collect_SPARK_Xrefs.
+	(Add_SPARK_Scope): moved into scope of Collect_SPARK_Xrefs;
+	now uses Dspec and Scope_Id from Collect_SPARK_Xrefs.
+	(Collect_SPARK_Xrefs): refactored to avoid retraversing the list
+	of scopes.
+	(Traverse_Compilation_Unit): refactored as a generic procedure.
+	* types.ads (Unit_Number_Type): range refined.
+
+2016-06-22  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* lib-xref-spark_specific.adb, a-cuprqu.ads, sem_ch6.adb: Minor
+	reformatting.
+
+2016-06-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_util.ads (Address_Value): Declare new function.
+	* sem_util.adb (Address_Value): New function extracted
+	unmodified from Apply_Address_Clause_Check, which returns the
+	underlying value of the expression of an address clause.
+	* checks.adb (Compile_Time_Bad_Alignment): Delete.
+	(Apply_Address_Clause_Check): Call Address_Value on
+	the expression.  Do not issue the main warning here and
+	issue the secondary warning only when the value of the
+	expression is not known at compile time.
+	* sem_ch13.adb (Address_Clause_Check_Record): Add A component and
+	adjust the description.
+	(Analyze_Attribute_Definition_Clause): In the case
+	of an address, move up the code creating an entry in the table of
+	address clauses.  Also create an entry for an absolute address.
+	(Validate_Address_Clauses): Issue the warning for absolute
+	addresses here too.  Tweak condition associated with overlays
+	for consistency.
+
+2016-06-22  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Is_Predicate_Static): An inherited predicate
+	can be static only if it applies to a scalar type.
+
+2016-06-22  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_util.adb (Adjust_Result_Type): Convert operand to base
+	type to prevent spurious constraint checks on subtypes of Boolean.
+
+2016-06-22  Bob Duff  <duff@adacore.com>
+
+	* debug.adb: Document debug switch -gnatd.o.
+	* sem_elab.adb (Check_Internal_Call): Debug switch -gnatd.o
+	now causes a more conservative treatment of indirect calls,
+	treating P'Access as a call to P in more cases. We Can't make
+	this the default, because it breaks common idioms, for example
+	the soft links.
+	* sem_util.adb: Add an Assert.
+
+2016-06-22  Bob Duff  <duff@adacore.com>
+
+	* a-cuprqu.ads, a-cuprqu.adb: Completely rewrite this package. Use
+	red-black trees, which gives O(lg N) worst-case performance on
+	Enqueue and Dequeue. The previous version had O(N) Enqueue in
+	the worst case.
+
+2016-06-22  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_warn.adb: minor style fix in comment.
+	* spark_xrefs.ads (Scope_Num): type refined to positive integers.
+	* lib-xref-spark_specific.adb (Detect_And_Add_SPARK_Scope):
+	moved into scope of Collect_SPARK_Xrefs.
+	(Add_SPARK_Scope): moved into scope of Collect_SPARK_Xrefs;
+	now uses Dspec and Scope_Id from Collect_SPARK_Xrefs.
+	(Collect_SPARK_Xrefs): refactored to avoid retraversing the list
+	of scopes.
+	* sem_ch3.adb (Build_Discriminal): Set Parent of the discriminal.
+
+2016-06-22  Arnaud Charlet  <charlet@adacore.com>
+
+	* lib-xref-spark_specific.adb (Generate_Dereference): Assignment to not
+	commented local variables replaced with direct uses of their values.
+
+2016-06-22  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch7.adb (Add_Invariant): Replace the
+	current type instance with the _object parameter even in ASIS mode.
+	(Build_Invariant_Procedure_Body): Do not insert the
+	invariant procedure body into the tree for ASIS and GNATprove.
+	(Build_Invariant_Procedure_Declaration): Do not insert the
+	invariant procedure declaration into the tree for ASIS and
+	GNATprove.
+	* lib-xref-spark_specific.adb (Add_SPARK_Scope): Update comment.
+
+2016-06-22  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Set_Actual_Subtypes): If the type of the actual
+	has predicates, the actual subtype must be frozen properly
+	because of the generated tests that may follow.  The predicate
+	may be specified by an explicit aspect, or may be inherited in
+	a derivation.
+
+2016-06-22  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch4.adb (In_Range_Chec)): New predicate, subsidiary of
+	Expand_N_In: within an expanded range check that might raise
+	Constraint_Error do not generate a predicate check as well. It
+	is redundant because the context will add an explicit predicate
+	check, and it will raise the wrong exception if it fails.
+	* lib-xref-spark_specific.adb (Add_SPARK_File): Remove useless checks
+	since dependency units always have an associated compilation unit.
+
+2016-06-22  Arnaud Charlet  <charlet@adacore.com>
+
+	* lib.ads: Code cleanup.
+	* inline.adb: Type refinement for a counter variable.
+	* lib-xref-spark_specific.adb (Add_SPARK_File): removal of no-op code.
+	Code cleanup.
+
+2016-06-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (set_nonaliased_component_on_array_type): New
+	function.
+	(set_reverse_storage_order_on_array_type): Likewise.
+	(gnat_to_gnu_entity) <E_Array_Type>: Call them to set the flags.
+	<E_Array_Subtype>: Likewise.
+	<E_String_Literal_Subtype>: Likewise.
+	(substitute_in_type) <ARRAY_TYPE>: Likewise.
+	* gcc-interface/utils.c (gnat_pushdecl): Always create a variant for
+	the DECL_ORIGINAL_TYPE of a type.
+
+2016-06-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* make.adb, gnatbind.adb, g-socket.adb, sem_ch13.adb: Minor
+	reformatting.
+	* lib.ads, sem_util.adb: Minor typo in comment.
+
+2016-06-20  Yannick Moy  <moy@adacore.com>
+
+	* sem_prag.adb, sem_prag.ads (Build_Pragma_Check_Equivalent):
+	Add parameter Keep_Pragma_Id to optionally keep
+	the identifier of the pragma instead of converting
+	to pragma Check. Also set type of new function call
+	appropriately.	(Collect_Inherited_Class_Wide_Conditions):
+	Call Build_Pragma_Check_Equivalent with the new parameter
+	Keep_Pragma_Id set to True to keep the identifier of the copied
+	pragma.
+	* sinfo.ads: Add comment.
+
+2016-06-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch7.adb (Build_Invariant_Procedure_Body):
+	Always install the scope of the invariant procedure
+	in order to produce better error messages. Do not
+	insert the body when the context is a generic unit.
+	(Build_Invariant_Procedure_Declaration): Perform minimal
+	decoration of the invariant procedure and its formal parameter
+	in case they are not analyzed.	Do not insert the declaration
+	when the context is a generic unit.
+
+2016-06-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Visible_Component): New procedure, subsidiary
+	of Replace_Type_References_ Generic, to determine whether an
+	identifier in a predicate or invariant expression is a visible
+	component of the type to which the predicate or invariant
+	applies. Implements the visibility rule stated in RM 13.1.1
+	(12/3).
+
+2016-06-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* s-regpat.adb, sem_prag.adb, pprint.adb, sem_ch13.adb: Minor
+	reformatting.
+
+2016-06-20  Tristan Gingold  <gingold@adacore.com>
+
+	* make.adb (Check_Standard_Library): Consider system.ads
+	if s-stalib.adb is not available.
+	* gnatbind.adb (Add_Artificial_ALI_File): New procedure extracted from
+	gnatbind.
+
+2016-06-20  Thomas Quinot  <quinot@adacore.com>
+
+	* g-socket.adb (Is_IP_Address): A string consisting in digits only is
+	not a dotted quad.
+
+2016-06-20  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_ch7.adb (Build_Invariant_Procedure_Body):
+	decorate invariant procedure body with typical properties of
+	procedure entityes.
+
+2016-06-20  Arnaud Charlet  <charlet@adacore.com>
+
+	* a-exetim-darwin.adb: New file.
+
+2016-06-16  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* atree.ads, atree.adb (Elist29): New routine.
+	(Set_Elist29): New routine.
+	* atree.h New definition for Elist29.
+	* einfo.adb Subprograms_For_Type is now an Elist rather than
+	a node. Has_Invariants is now a synthesized attribute
+	and does not require a flag. Has_Own_Invariants
+	is now Flag232. Has_Inherited_Invariants is
+	Flag291. Is_Partial_Invariant_Procedure is Flag292.
+	(Default_Init_Cond_Procedure): Reimplemented.
+	(Has_Inherited_Invariants): New routine.
+	(Has_Invariants): Reimplemented.
+	(Has_Own_Invariants): New routine.
+	(Invariant_Procedure): Reimplemented.
+	(Is_Partial_Invariant_Procedure): New routine.
+	(Partial_Invariant_Procedure): Reimplemented.
+	(Predicate_Function): Reimplemented.
+	(Predicate_Function_M): Reimplemented.
+	(Set_Default_Init_Cond_Procedure): Reimplemented.
+	(Set_Has_Inherited_Invariants): New routine.
+	(Set_Has_Invariants): Removed.
+	(Set_Has_Own_Invariants): New routine.
+	(Set_Invariant_Procedure): Reimplemented.
+	(Set_Is_Partial_Invariant_Procedure): New routine.
+	(Set_Partial_Invariant_Procedure): Reimplemented.
+	(Set_Predicate_Function): Reimplemented.
+	(Set_Predicate_Function_M): Reimplemented.
+	(Set_Subprograms_For_Type): Reimplemented.
+	(Subprograms_For_Type): Reimplemented.
+	(Write_Entity_Flags): Output Flag232 and Flag291.
+	* einfo.ads Add new attributes Has_Inherited_Invariants
+	Has_Own_Invariants Is_Partial_Invariant_Procedure
+	Partial_Invariant_Procedure Change the documentation
+	of attributes Has_Inheritable_Invariants Has_Invariants
+	Invariant_Procedure Is_Invariant_Procedure Subprograms_For_Type
+	(Has_Inherited_Invariants): New routine along with pragma Inline.
+	(Has_Own_Invariants): New routine along with pragma Inline.
+	(Is_Partial_Invariant_Procedure): New routine along with pragma Inline.
+	(Partial_Invariant_Procedure): New routine.
+	(Set_Has_Inherited_Invariants): New routine along with pragma Inline.
+	(Set_Has_Invariants): Removed along with pragma Inline.
+	(Set_Has_Own_Invariants): New routine along with pragma Inline.
+	(Set_Is_Partial_Invariant_Procedure): New routine
+	along with pragma Inline.
+	(Set_Partial_Invariant_Procedure): New routine.
+	(Set_Subprograms_For_Type): Update the signature.
+	(Subprograms_For_Type): Update the signature.
+	* exp_ch3.adb Remove with and use clauses for Sem_Ch13.
+	(Build_Array_Invariant_Proc): Removed.
+	(Build_Record_Invariant_Proc): Removed.
+	(Freeze_Type): Build the body of the invariant procedure.
+	(Insert_Component_Invariant_Checks): Removed.
+	* exp_ch7.adb Add with and use clauses for Sem_Ch6, Sem_Ch13,
+	and Stringt.
+	(Build_Invariant_Procedure_Body): New routine.
+	(Build_Invariant_Procedure_Declaration): New routine.
+	* exp_ch7.ads (Build_Invariant_Procedure_Body): New routine.
+	(Build_Invariant_Procedure_Declaration): New routine.
+	* exp_ch9.adb (Build_Corresponding_Record): Do not propagate
+	attributes related to invariants to the corresponding record
+	when building the corresponding record. This is done by
+	Build_Invariant_Procedure_Declaration.
+	* exp_util.adb (Make_Invariant_Call): Reimplemented.
+	* freeze.adb (Freeze_Array_Type): An array type requires an
+	invariant procedure when its component type has invariants.
+	(Freeze_Record_Type): A record type requires an invariant
+	procedure when at least one of its components has an invariant.
+	* sem_ch3.adb (Analyze_Private_Extension_Declaration): Inherit
+	invariant-related attributes.
+	(Analyze_Subtype_Declaration):
+	Inherit invariant-related attributes.
+	(Build_Derived_Record_Type): Inherit invariant-related attributes.
+	(Check_Duplicate_Aspects): Reimplemented.
+	(Get_Partial_View_Aspect): New routine.
+	(Process_Full_View): Inherit invariant-related attributes. Reimplement
+	the check on hidden inheritance of class-wide invariants.
+	(Remove_Default_Init_Cond_Procedure): Reimplemented.
+	* sem_ch6.adb (Analyze_Subprogram_Specification): Do not modify
+	the controlling type for an invariant procedure declaration
+	or body.
+	(Is_Invariant_Procedure_Or_Body): New routine.
+	* sem_ch7.adb (Analyze_Package_Specification): Build the partial
+	invariant body in order to preanalyze and resolve all invariants
+	of a private type at the end of the visible declarations. Build
+	the full invariant body in order to preanalyze and resolve
+	all invariants of a private type's full view at the end of
+	the private declarations.
+	(Preserve_Full_Attributes): Inherit invariant-related attributes.
+	* sem_ch9.adb (Analyze_Protected_Type_Declaration): Ensure that
+	aspects are analyzed with the proper view when the protected type
+	is a completion of a private type. Inherit invariant-related attributes.
+	(Analyze_Task_Type_Declaration): Ensure that
+	aspects are analyzed with the proper view when the task type
+	is a completion of a private type. Inherit invariant-related
+	attributes.
+	* sem_ch13.adb Remove with and use clauses for Stringt.
+	(Build_Invariant_Procedure_Declaration): Removed.
+	(Build_Invariant_Procedure): Removed.
+	(Freeze_Entity_Checks): Do not build the body of the invariant
+	procedure here.
+	The body is built when the type is frozen in Freeze_Type.
+	(Inherit_Aspects_At_Freeze_Point): Do not inherit any attributes
+	related to invariants here because this leads to erroneous
+	inheritance.
+	(Replace_Node): Rename to Replace_Type_Ref.
+	* sem_ch13.ads (Build_Invariant_Procedure_Declaration): Removed.
+	(Build_Invariant_Procedure): Removed.
+	* sem_prag.adb Add with and use clauses for Exp_Ch7.
+	(Analyze_Pragma): Reimplement the analysis of pragma Invariant.
+	* sem_res.adb (Resolve_Actuals): Emit a specialized error when
+	the context is an invariant.
+	* sem_util.adb (Get_Views): New routine.
+	(Incomplete_Or_Partial_View): Consider generic packages when
+	examining declarations.
+	(Inspect_Decls): Consider full type
+	declarations because they may denote a derivation from a
+	private type.
+	(Propagate_Invariant_Attributes): New routine.
+	* sem_util.ads (Get_Views): New routine.
+	(Propagate_Invariant_Attributes): New routine.
+
+2016-06-16  Arnaud Charlet  <charlet@adacore.com>
+
+	* pprint.adb (Expression_Image): Add better handling of UCs,
+	we don't want to strip them all for clarity.
+
+
+2016-06-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* exp_util.adb (Safe_Unchecked_Type_Conversion): Use "alignment"
+	instead of "alignement".
+
+2016-06-16  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_util.adb: Minor typo fix.
+
+2016-06-16  Emmanuel Briot  <briot@adacore.com>
+
+	* s-regpat.adb: Further fix for invalid index in GNAT.Regexp.
+
+2016-06-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch13.adb (Validate_Address_Clauses): Use the same logic to
+	issue the warning on the offset for the size as for the alignment
+	and tweak the wording for the sake of consistency.
+
+2016-06-16  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Check_Class_Wide_COndition): New procedure,
+	subsidiary of Analyze_Pre_Post_ Condition_In_Decl_Part, to
+	check legality rules that follow from the revised semantics of
+	class-wide pre/postconditions described in AI12-0113.
+	(Build_Pragma_Check_Equivalent): Abstract subprogram declarations
+	must be included in list of overriding primitives of a derived
+	type.
+
+2016-06-16  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.adb (May_Be_Lvalue): An actual in an unexpanded
+	attribute reference 'Read is an assignment and must be considered
+	a modification of the object.
+
+2016-06-16  Gary Dismukes  <dismukes@adacore.com>
+
+	* einfo.adb: Minor editorial.
+
+2016-06-16  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Overridden_Ancestor): Clean up code to use
+	controlling type of desired primitive rather than its scope,
+	because the primitive that inherits the classwide condition may
+	comes from several derivation steps.
+
+2016-06-16  Javier Miranda  <miranda@adacore.com>
+
+	* einfo.adb (Set_Default_Init_Cond_Procedure): Allow calls setting
+	this attribute to Empty (only if the attribute has not been set).
+	* sem_util.adb (Build_Default_Init_Cond_Procedure_Body):
+	No action needed if the spec was not built.
+	(Build_Default_Init_Cond_Procedure_Declaration): The spec is
+	not built if DIC is set to NULL or no condition was specified.
+	* exp_ch3.adb (Expand_N_Object_Declaration): Check availability
+	of the Init_Cond procedure before generating code to call it.
+
+2016-06-16  Emmanuel Briot  <briot@adacore.com>
+
+	* s-regpat.adb: Fix invalid index check when matching end-of-line
+	on substrings.
+
+2016-06-16  Arnaud Charlet  <charlet@adacore.com>
+
+	* gnat1drv.adb: Minor reformatting.
+
+2016-06-16  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Check_Entry_Contracts): New procedure, subsidiary
+	of Analyze_Declarations, that performs pre-analysis of
+	pre/postconditions on entry declarations before full analysis
+	is performed after entries have been converted into procedures.
+	Done solely to capture semantic errors.
+	* sem_attr.adb (Analyze_Attribute, case 'Result): Add guard to
+	call to Denote_Same_Function.
+
+2016-06-16  Emmanuel Briot  <briot@adacore.com>
+
+	* g-comlin.adb: Fix minor memory leak in GNAT.Command_Line.
+
+2016-06-16  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch7.adb (Find_Last_Init): Remove obsolete code. The
+	logic is now performed by Process_Object_Declaration.
+	(Process_Declarations): Recognize a controlled deferred
+	constant which is in fact initialized by means of a
+	build-in-place function call as needing finalization actions.
+	(Process_Object_Declaration): Insert the counter after the
+	build-in-place initialization call for a controlled object. This
+	was previously done in Find_Last_Init.
+	* exp_util.adb (Requires_Cleanup_Actions): Recognize a controlled
+	deferred constant which is in fact initialized by means of a
+	build-in-place function call as needing finalization actions.
+
+2016-06-16  Justin Squirek  <squirek@adacore.com>
+
+	* exp_aggr.adb (Expand_Array_Aggregate): Minor comment changes and
+	additional style fixes.
+	* exp_ch7.adb: Minor typo fixes and reformatting.
+
+2016-06-16  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch3.adb (Analyze_Object_Declaration): Add a missing check
+	for optimized aggregate arrays with qualified expressions.
+	* exp_aggr.adb (Expand_Array_Aggregate): Fix block and
+	conditional statement in charge of deciding whether to perform
+	in-place expansion. Specifically, use Parent_Node to jump over
+	the qualified expression to the object declaration node. Also,
+	a check has been inserted to skip the optimization if SPARK 2005
+	is being used in strict adherence to RM 4.3(5).
+
+2016-06-16  Tristan Gingold  <gingold@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma): Simplify code
+	for Pragma_Priority.
+
+2016-06-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_util.ads (Indexed_Component_Bit_Offset): Declare.
+	* sem_util.adb (Indexed_Component_Bit_Offset): New
+	function returning the offset of an indexed component.
+	(Has_Compatible_Alignment_Internal): Call it.
+	* sem_ch13.adb (Offset_Value): New function returning the offset of an
+	Address attribute reference from the underlying entity.
+	(Validate_Address_Clauses): Call it and take the offset into
+	account for the size warning.
+
+2016-06-16  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* bindgen.adb, exp_util.adb, sem_ch9.adb, sem_util.adb: Minor
+	reformatting.
+
+2016-06-16  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_ch9.adb, sem_util.ads, sem_res.adb: Minor reformatting and typo
+	fixes.
+
+2016-06-16  Javier Miranda  <miranda@adacore.com>
+
+	* sem_res.adb (Resolve): Under relaxed RM semantics silently
+	replace occurrences of null by System.Null_Address.
+	* sem_ch4.adb (Analyze_One_Call, Operator_Check): Under
+	relaxed RM semantics silently replace occurrences of null by
+	System.Null_Address.
+	* sem_util.ad[sb] (Null_To_Null_Address_Convert_OK): New subprogram.
+	(Replace_Null_By_Null_Address): New subprogram.
+
+2016-06-16  Bob Duff  <duff@adacore.com>
+
+	* exp_util.adb (Is_Controlled_Function_Call):
+	This was missing the case where the call is in prefix format,
+	with named notation, as in Obj.Func (Formal => Actual).
+
+2016-06-16  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_attr.adb, inline.adb, sem_attr.adb, sem_elab.adb: Minor
+	reformatting.
+
+2016-06-16  Bob Duff  <duff@adacore.com>
+
+	* sem_util.adb (Collect): Avoid Empty Full_T. Otherwise Etype
+	(Full_T) crashes when assertions are on.
+	* sem_ch12.adb (Matching_Actual): Correctly handle the case where
+	"others => <>" appears in a generic formal package, other than
+	by itself.
+
+2016-06-16  Arnaud Charlet  <charlet@adacore.com>
+
+	* usage.adb: Remove confusing comment in usage line.
+	* bindgen.adb: Fix binder generated file in codepeer mode wrt
+	recent additions.
+
+2016-06-16  Javier Miranda  <miranda@adacore.com>
+
+	* restrict.adb (Check_Restriction_No_Use_Of_Entity): Avoid
+	never-ending loop, code cleanup; adding also support for Text_IO.
+	* sem_ch8.adb (Find_Expanded_Name): Invoke
+	Check_Restriction_No_Use_Entity.
+
+2016-06-16  Tristan Gingold  <gingold@adacore.com>
+
+	* exp_ch9.adb: Minor comment fix.
+	* einfo.ads (Has_Protected): Clarify comment.
+	* sem_ch9.adb (Analyze_Protected_Type_Declaration): Do not
+	consider private protected types declared in the runtime for
+	the No_Local_Protected_Types restriction.
+
+2016-06-14  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Set_Actual_Subtypes): Do not generate actual
+	subtypes for unconstrained formals when analyzing the generated
+	body of an expression function, because it may lead to premature
+	and misplaced freezing of the types of formals.
+
+2016-06-14  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_elab.adb, sem_ch4.adb: Minor reformatting and typo fix.
+
+2016-06-14  Tristan Gingold  <gingold@adacore.com>
+
+	* einfo.adb (Set_Has_Timing_Event): Add assertion.
+	* sem_util.ads, sem_util.adb (Propagate_Concurrent_Flags): New
+	name for Propagate_Type_Has_Flags.
+	* exp_ch3.adb, sem_ch3.adb, sem_ch7.adb, sem_ch9.adb: Adjust after
+	renaming.
+
+2016-06-14  Bob Duff  <duff@adacore.com>
+
+	* sem_elab.adb (Check_A_Call): Do nothing if the callee is
+	(or is in) an instance, and the caller is outside.  Misc cleanup.
+
+2016-06-14  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch4.adb (Analyze_Quantified_Expression):
+	Generating C code avoid spurious warning on loop variable of
+	inlinined postconditions.
+
+2016-06-14  Javier Miranda  <miranda@adacore.com>
+
+	* sem_attr.adb (Analyze_Attribute_Old_Result): Adding assertion.
+	(Analyze_Attribute [Attribute_Old]): Generating C handle
+	analysis of 'old in inlined postconditions.
+	(Analyze_Attribute [Attribute_Result]): Generating C handle analysis
+	of 'result in inlined postconditions.
+	* exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Old]):
+	Generating C handle expansion of 'old in inlined postconditions.
+	* inline.adb (Declare_Postconditions_Result): New subprogram.
+	* sem_ch12.adb (Copy_Generic_Node): Copy pragmas generated from
+	aspects when generating C code since pre/post conditions are
+	inlined and the frontend inlining relies on this routine to
+	perform inlining.
+	* exp_ch6.adb (Inlined_Subprogram): Replace Generate_C_Code
+	by Modify_Tree_For_C.
+	* exp_unst.adb (Visit_Node): Searching for up-level references
+	skip entities defined in inlined subprograms.
+
+2016-06-14  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch7.adb, sem_ch12.adb, freeze.adb, lib-xref.ads, exp_ch3.adb:
+	Minor reformatting.
+
+2016-06-14  Bob Duff  <duff@adacore.com>
+
+	* sem_elab.adb: Do nothing if the callee is intrinsic.
+	* sinfo.ads, einfo.ads: Minor comment fixes.
+
+2016-06-14  Ed Schonberg  <schonberg@adacore.com>
+
+	* contracts.adb (Has_Null_Body): Move to sem_util, for general
+	availability.
+	* sem_util.ads, sem_util.adb (Has_Null_Body): Predicate to
+	determine when an internal procedure created for some assertion
+	checking (e.g. type invariant) is a null procedure. Used to
+	eliminate redundant calls to such procedures when they apply to
+	components of composite types.
+	* exp_ch3.adb (Build_Component_Invariant_Call): Do not add call
+	if invariant procedure has a null body.
+
+2016-06-14  Thomas Quinot  <quinot@adacore.com>
+
+	* g-socket.ads (Check_Selector): Clarify effect on IN OUT socket
+	set parameters.
+
+2016-06-14  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch4.adb (Process_Action): Pass the action
+	list to Process_Transient_Object.
+	(Process_If_Case_Statements): Pass the action list to
+	Process_Transient_Object.
+	(Process_Transient_Object): Add new parameter Stmts and update the
+	comment on usage. When the context is a Boolean evaluation, insert
+	any finalization calls after the last statement of the construct.
+
+2016-06-14  Tristan Gingold  <gingold@adacore.com>
+
+	* einfo.adb, einfo.ads (Has_Timing_Event,
+	Set_Has_Timing_Event): Add Has_Timing_Event flag.
+	(Write_Entity_Flags): Display * sem_util.ads, sem_util.adb:
+	(Propagate_Type_Has_Flags): New procedure to factorize code.
+	* exp_ch3.adb (Expand_Freeze_Array_Type,
+	Expand_Freeze_Record_Type): Call Propagate_Type_Has_Flags.
+	* sem_ch3.adb (Access_Type_Decalaration): Initialize
+	Has_Timing_Event flag.	(Analyze_Object_Declaration):
+	Move code that check No_Local_Timing_Events near
+	the code that check No_Local_Protected_Objects.
+	(Analyze_Private_Extension_Declaration, Array_Type_Declaration)
+	(Build_Derived_Type, Copy_Array_Base_Type_Attributes,
+	Process_Full_View) (Record_Type_Definition): Call
+	Propagate_Type_Has_Flags.
+	* sem_ch4.adb (Analyze_Allocator): Check No_Local_Timing_Events.
+	* sem_ch7.adb (New_Private_Type): Set Has_Timing_Event on the
+	Timing_Event type.
+	(Uninstall_Declaration): Call Propagate_Type_Has_Flags.
+	* sem_ch9.adb (Analyze_Protected_Definition): Call
+	Propagate_Type_Has_Flags.
+
+2016-06-14  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem.ads: Minor style fix.
+
+2016-06-14  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Analyze_Associations): An actual parameter
+	with a box must be included in the count of actuals, to detect
+	possible superfluous named actuals that do not match any of the
+	formals of the generic unit in a formal package declaration.
+
+2016-06-14  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch3.adb (Analyze_Object_Declaration): Fix formatting
+	of error output related to SPARK RM 6.1.7(3) and pragma
+	Extensions_Visible.
+	* sem_ch4.adb (Analyze_Type_Conversion): Fix formatting of error
+	output related to SPARK RM 6.1.7(3) and pragma Extensions_Visible.
+	* sem_prag.adb (Analyze_Pragma): Fix formatting of error output
+	related to SPARK RM 7.1.2(15) and pragma Volatile_Function
+	so that the values True and False are no longer surrounded by
+	double quotes.
+	* sem_res.adb (Resolve_Actuals): Fix formatting of error output
+	related to SPARK RM 6.1.7(3) and pragma Extensions_Visible.
+
+2016-06-14  Arnaud Charlet  <charlet@adacore.com>
+
+	* gnat1drv.adb (Adjust_Global_Switches): Enable access checks
+	in codepeer mode.
+	* freeze.adb: Minor grammar fix in comment.
+2016-06-14  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* lib.adb: Minor reformatting.
+	* sem_util.adb (Is_OK_Volatile_Context): Do
+	include Address in the supported attributes.
+
+2016-06-14  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch4.adb (Expand_N_Case_Expression):
+	Code cleanup. Finalize any transient controlled
+	objects on exit from a case expression alternative.
+	(Expand_N_If_Expression): Code cleanup.
+	(Process_Actions): Removed.
+	(Process_If_Case_Statements): New routine.
+	(Process_Transient_Object): Change the name of formal Rel_Node to
+	N and update all occurrences. Update the comment on usage. When
+	the type of the context is Boolean, the proper insertion point
+	for the finalization call is after the last declaration.
+
+2016-06-14  Ed Schonberg  <schonberg@adacore.com>
+
+	* lib-xref.ads, lib-xref.adb (Has_Deferred_Reference): new
+	predicate to determine whether an entity appears in a context
+	for which a Deferred_Reference was created, because it is not
+	possible to determine when reference is analyzed whether it
+	appears in a context in which the entity is modified.
+	* sem_ch5.adb (Analyze_Statement): Do not emit a useless warning
+	on assignment for an entity that has a deferred_reference.
+
+2016-06-14  Javier Miranda  <miranda@adacore.com>
+
+	* sem_res.adb (Resolve_Actuals): Generate a reference to actuals that
+	come from source. Previously the reference was generated only if the
+	call comes from source but the call may be rewritten by the expander
+	thus causing the notification of spurious warnings.
+
+2016-06-14  Arnaud Charlet  <charlet@adacore.com>
+
+	* gnat1drv.adb: Remove further references to AAMP.
+	* checks.adb (Apply_Scalar_Range_Check): Take
+	Check_Float_Overflow info account.
+	* live.ads, live.adb Added subprogram headers and
+	start-of-processing-for comments.
+	* sem_ch12.adb (Instantiate_Package_Body): Do not suppress
+	checks when instantiating runtime units in CodePeer mode.
+
+2016-06-14  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_ch3.adb (Expand_N_Object_Declaration): Only consider
+	nodes from sources.
+
+2016-06-14  Arnaud Charlet  <charlet@adacore.com>
+
+	* switch-c.adb, gnat1drv.adb (Adjust_Global_Switches): Only disable
+	simple value propagation in CodePeer mode when warnings are disabled.
+	(Scan_Front_End_Switches): Enable relevant front-end switches
+	when using -gnateC.
+
+2016-06-14  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_util.adb (Is_OK_Volatile_Context): A
+	reference to a volatile object is considered OK if appears as
+	the prefix of attributes Address, Alignment, Component_Size,
+	First_Bit, Last_Bit, Position, Size, Storage_Size.
+
+2016-06-14  Yannick Moy  <moy@adacore.com>
+
+	* lib-xref-spark_specific.adb (Add_SPARK_File): Do not traverse
+	subunits directly, as they are already traversed as part of the
+	top-level unit to which they belong.
+	(Add_SPARK_Xrefs): Add assertions to ensure correct sorting.
+	(Generate_Dereference): Use unique definition place for special
+	variable __HEAP, to ensure correct sorting of references.
+	* lib-xref.adb (Generate_Reference): Use top-level unit in case
+	of subunits.
+	* lib.adb, lib.ads (Get_Top_Level_Code_Unit): New functions that
+	compute the top-level code unit for a source location of AST node,
+	that go past subunits.
+
+2016-06-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_subprog_type): Build only a minimal
+	PARM_DECL when the parameter type is dummy.
+	* gcc-interface/trans.c (Call_to_gnu): Translate formal types before
+	formal objects.
+
+2016-06-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Deal with
+	PLUS_EXPR in the expression of a renaming.
+
+2016-06-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/utils2.c (known_alignment) <CALL_EXPR>: Deal specially
+	with calls to malloc.
+
+2016-06-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (build_binary_op_trapv): If no operand is a
+	constant, use the generic implementation of the middle-end; otherwise
+	turn the dynamic conditions into static conditions and simplify.
+
+2016-06-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (Case_Statement_to_gnu): Deal with characters.
+
+2016-06-11  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity): Do not clobber
+	gnat_entity_name with temporary names for XUP and XUT types.
+
+2016-06-10  Martin Sebor  <msebor@redhat.com>
+
+	PR c/71392
+	* gcc/ada/gcc-interface/utils.c (handle_nonnull_attribute): Accept
+	the nonnull attribute in type-generic builtins.
+
+2016-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (Gigi_Equivalent_Type): Make sure equivalent
+	types are present before returning them.  Remove final assertion.
+	(gnat_to_gnu_entity) <E_Access_Protected_Subprogram_Type>: Adjust to
+	above change.
+	<E_Protected_Type>: Likewise.
+
+2016-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (elaborate_all_entities_for_package): Also do
+	not elaborate Itypes.
+
+2016-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/utils.c (gnat_internal_attribute_table): Add support
+	for noinline and noclone attributes.
+	(handle_noinline_attribute): New handler.
+	(handle_noclone_attribute): Likewise.
+
+2016-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (process_type): Beef up comment.
+
+2016-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/utils2.c (build_call_alloc_dealloc): Do not substitute
+	placeholder expressions here but...
+	* gcc-interface/trans.c (gnat_to_gnu) <N_Free_Statement>: ...here.
+	Make an exception to the protection of a CALL_EXPR result with an
+	unconstrained type only in the same cases as Call_to_gnu.
+
+2016-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (gnat_to_gnu): Rework special code dealing
+	with boolean rvalues and set the location directly.  Do not set the
+	location in the other cases for a simple name.
+	(gnat_to_gnu_external): Clear the location on the expression.
+
+2016-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Component>: Remove
+	useless 'else' statements and tidy up.
+	<E_Array_Subtype>: Fully deal with the declaration here.
+	<E_Incomplete_Type>: Use properly-typed constant.
+	Assert that we don't apply the special type treatment to dummy types.
+	Separate this treatment from the final back-annotation and simplify
+	the condition for the RM size.
+	(gnat_to_gnu_param): Add GNU_PARAM_TYPE parameter and adjust.
+	(gnat_to_gnu_subprog_type): Ajust call to gnat_to_gnu_param.
+	* gcc-interface/trans.c (gnat_to_gnu) <N_Subprogram_Declaration>: Add
+	comment.
+	(process_freeze_entity): Remove obsolete code.
+	(process_type): Minor tweaks.
+
+2016-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* einfo.ads (Returns_Limited_View): Remove.
+	(Set_Returns_Limited_View ): Likewise.
+	* einfo.adb (Returns_Limited_View): Likewise.
+	(Set_Returns_Limited_View ): Likewise.
+	* freeze.adb (Late_Freeze_Subprogram): Remove.
+	(Freeze_Entity): Do not defer the freezing of functions returning an
+	incomplete type coming from a limited context.
+
+2016-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/gigi.h (finish_subprog_decl): Add ASM_NAME parameter.
+	* gcc-interface/decl.c (gnu_ext_name_for_subprog): New function.
+	(gnat_to_gnu_entity) <E_Subprogram_Type>: Do not check compatibility
+	of profiles for builtins here...  Call gnu_ext_name_for_subprog.
+	Also update profiles if pointers to limited_with'ed types are
+	updated.
+	(gnat_to_gnu_param): Restore the correct source location information
+	for vector ABI warnings.
+	(associate_subprog_with_dummy_type): Add comment about AI05-019.
+	Set TYPE_DUMMY_IN_PROFILE_P flag unconditionally.
+	(update_profile): Deal with builtin declarations.
+	Call gnu_ext_name_for_subprog.  Adjust call to finish_subprog_decl.
+	(update_profiles_with): Add comment.
+	(gnat_to_gnu_subprog_type): Reuse the return type if it is complete.
+	Likewise for parameter declarations in most cases.  Do not change
+	the return type for the CICO mechanism if the profile is incomplete.
+	...but here instead.  Always reset the slot for the parameters.
+	* gcc-interface/utils.c (create_subprog_decl): Call
+	gnu_ext_name_for_subprog.  Do not set the assembler name here but...
+	(finish_subprog_decl): ...but here instead.  Add ASM_NAME parameter.
+
+2016-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_ch9.adb (Expand_N_Protected_Type_Declaration): Insert the
+	declaration of the corresponding record type before that of the
+	unprotected version of the subprograms that operate on it.
+	(Expand_Access_Protected_Subprogram_Type): Declare the Equivalent_Type
+	just before the original type.
+	* sem_ch3.adb (Handle_Late_Controlled_Primitive): Point the current
+	declaration to the newly created declaration for the primitive.
+	(Analyze_Subtype_Declaration): Remove obsolete code forcing the
+	freezing of the subtype before its declaration.
+	(Replace_Anonymous_Access_To_Protected_Subprogram): Insert the new
+	declaration in the nearest enclosing scope for formal parameters too.
+	(Build_Derived_Access_Type): Restore the status of the created Itype
+	after it is erased by Copy_Node.
+	* sem_ch6.adb (Exchange_Limited_Views): Remove guard on entry.
+	(Analyze_Subprogram_Body_Helper): Call Exchange_Limited_Views only if
+	the specification is present.
+	Move around the code changing the designated view of the return type
+	and save the original view.  Restore it on exit.
+	* sem_ch13.adb (Build_Predicate_Function_Declaration): Always insert
+	the declaration right after that of the type.
+
+2016-06-01  Simon Wright  <simon@pushface.org>
+
+	PR ada/71358
+	* g-comlin.adb (Display_Section_Help): Do not dereference
+	Config.Switches if it's null.
+	(Getopt): Likewise.
+
+2016-05-31  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* s-osinte-kfreebsd-gnu.ads (clock_getres): Define.
+	(Get_Page_Size): Remove duplicate and return int.
+
+2016-05-31  Jan Sommer  <soja-lists@aries.uberspace.de>
+
+	PR ada/71317
+	* s-osinte-rtems.ads (clock_getres): Define.
+	(Get_Page_Size): Remove duplicate and return int.
+
+2016-05-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
+	Make same-sized subtypes of signed base types signed.
+	* gcc-interface/utils.c (make_type_from_size): Adjust to above change.
+	(unchecked_convert): Likewise.
+
+2016-05-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Do not build
+	a specific type for the object if it is deemed a constant.
+
+2016-05-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* freeze.adb (Freeze_Record_Type): Extend pragma Implicit_Packing to
+	components of any elementary types and of composite types.
+
+2016-05-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* freeze.adb (Freeze_Array_Type): Call Addressable predicate instead
+	of testing for individual sizes.
+	(Freeze_Entity): Rework implementation of pragma Implicit_Packing for
+	array types, in particular test for suitable sizes upfront and do not
+	mimic the processing that will be redone later in Freeze_Array_Type.
+
+2016-05-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (elaborate_all_entities_for_package): Also skip
+	formal objects.
+
+2016-05-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* doc/gnat_rm/implementation_defined_attributes.rst
+	(Scalar_Storage_Order): Adjust restriction for packed array types.
+	* einfo.ads (Is_Bit_Packed_Array): Adjust description.
+	(Is_Packed): Likewise.
+	(Is_Packed_Array_Impl_Type): Likewise.
+	(Packed_Array_Impl_Type): Likewise.
+	* exp_ch4.adb (Expand_N_Indexed_Component): Do not do anything special
+	if the prefix is not a packed array implemented specially.
+	* exp_ch6.adb (Expand_Actuals): Expand indexed components only for
+	bit-packed array types.
+	* exp_pakd.adb (Install_PAT): Set Is_Packed_Array_Impl_Type flag on
+	the PAT before analyzing its declaration.
+	(Create_Packed_Array_Impl_Type): Remove redundant statements.
+	* freeze.adb (Check_Component_Storage_Order): Reject packed array
+	components only if they are bit packed.
+	(Freeze_Array_Type): Fix logic detecting bit packing and do not bit
+	pack for composite types whose size is multiple of a byte.
+	Create the implementation type for packed array types only when it is
+	needed, i.e. bit packing or packing because of holes in index types.
+	Make sure the Has_Non_Standard_Rep and Is_Packed flags agree.
+	* gcc-interface/gigi.h (make_packable_type): Add MAX_ALIGN parameter.
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
+	Call maybe_pad_type instead of building the padding type manually.
+	(gnat_to_gnu_entity) <E_Array_Subtype>: Do not assert that
+	Packed_Array_Impl_Type is present for packed arrays.
+	(gnat_to_gnu_component_type): Also handle known alignment for packed
+	types by passing it to make_packable_type.
+	* gcc-interface/utils.c (make_packable_type): Add MAX_ALIGN parameter
+	and deal with it in the array case.  Adjust recursive call.  Simplify
+	computation of new size and cap the alignment to BIGGEST_ALIGNMENT.
+
+2016-05-16  Thomas Quinot  <quinot@adacore.com>
+
+	* freeze.adb (Check_Component_Storage_Order): Also get full view of
+	enclosing type.
+
+2016-05-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_util.adb (Remove_Side_Effects): Also make a constant if we need
+	to capture the value for a small not by-reference record type.
+	* freeze.ads (Check_Compile_Time_Size): Adjust comment.
+	* freeze.adb (Set_Small_Size): Likewise.  Accept a size in the range
+	of 33 .. 64 bits.
+	(Check_Compile_Time_Size): Merge scalar and access type cases. Change
+	variable name in array type case.  For the computation of the packed
+	size, deal with record components and remove redundant test.
+	(Freeze_Array_Type): Also adjust packing status when the size of the
+	component type is in the range 33 .. 64 bits.
+	* doc/gnat_rm/representation_clauses_and_pragmas.rst: Turn primitive
+	into elementary type throughout.  Minor tweaks.
+	(Alignment Clauses): Document actual alignment of packed array types.
+	(Pragma Pack for Arrays): List only the 3 main cases and adjust.  Add
+	"simple" to the record case.  Document effect on non packable types.
+	(Pragma Pack for Records): Likewise.  Add record case and adjust.
+
+2016-05-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/Make-lang.in (GNATMAKE_FOR_HOST): In the canadian
+	cross case, use host_noncanonical instead of host as prefix.
+	(GNATBIND_FOR_HOST): Likewise.
+	(GNATLINK_FOR_HOST): Likewise.
+	(GNATLS_FOR_HOST): Likewise.
+
+2016-05-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/70969
+	* system-darwin-ppc64.ads: Add pragma No_Elaboration_Code_All.
+	* system-linux-armeb.ads: Likewise.
+	* system-linux-mips64el.ads: Likewise.
+	* system-linux-mips.ads: Likewise.
+	* system-linux-mipsel.ads: Likewise.
+	* system-linux-ppc64.ads: Likewise.
+	* system-linux-sparcv9.ads: Likewise.
+	* system-rtems.ads: Likewise.
+
+2016-05-04  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+
+	* s-osinte-gnu.ads (Get_Page_Size): Return int and use getpagesize
+	instead of __getpagesize.
+
+2016-05-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* gcc-interface/Makefile.in (install-gcc-specs): Use foreach.
+	Honor DESTDIR.
+
+2016-05-02  Tristan Gingold  <gingold@adacore.com>
+
+	* fname.adb (Is_Predefined_File_Name): Also consider non-krunched
+	i-* names.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.adb (Aggregate_Constraint_Checks): Separate
+	accessibility checks and non-null checks for aggregate components,
+	to prevent spurious accessibility errors.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (OK_For_Limited_Init): A type conversion is not
+	always legal in the in-place initialization of a limited entity
+	(e.g. an allocator).
+	* sem_res.adb (Resolve_Allocator): Improve error message with RM
+	reference  when allocator expression is illegal.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch6.adb (Expand_Call): When inlining a call to a function
+	declared in a package instance, locate the instance node of the
+	package after the actual package declaration. skipping over
+	pragmas that may have been introduced when the generic unit
+	carries aspects that are transformed into pragmas.
+
+2016-05-02  Bob Duff  <duff@adacore.com>
+
+	* s-memory.adb (Alloc, Realloc): Move checks
+	for Size = 0 or size_t'Last into the Result = System.Null_Address
+	path for efficiency. Improve comments (based on actual C language
+	requirements for malloc).
+	* exp_util.adb (Build_Allocate_Deallocate_Proc): Optimize the
+	case where we are using the default Global_Pool_Object, and we
+	don't need the heavy finalization machinery.
+
+2016-05-02  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_util.ads, sem_ch12.adb: Minor reformatting.
+
+2016-05-02  Javier Miranda  <miranda@adacore.com>
+
+	* exp_util.ads, exp_util.adb (Force_Evaluation): Adding new formal.
+	(Remove_Side_Effects): Adding a new formal.
+	* exp_ch6.adb (Expand_Simple_Function_Return): Generating the
+	call to the _Postconditions procedure ensure that side-effects
+	are unconditionally removed.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Check_Formal_Package_Instance, Check_Mismatch):
+	Use original node to determine whether the declaration is for
+	a formal type declaration, to take into account that formwl
+	private types are rewritten as private extension declarations
+	to simplify semantic analysis.
+
+2016-05-02  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_ch9.adb, sem_ch6.adb, sem_ch6.ads: Minor reformatting and typo
+	fixes.
+
+2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch3.adb, exp_ch9.adb, einfo.adb, sem_ch4.adb, sem_ch6.adb: Minor
+	reformatting.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch4.adb (Expand_N_Allocator): If the designated type
+	is a private derived type with no discriminants, examine its
+	underlying_full_view to determine whether the full view has
+	defaulted discriminants, so their defaults can be used in the
+	call to the initialization procedure for the designated object.
+
+2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_prag.adb, comperr.adb: Minor reformatting.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_pakd.adb (Rj_Unchecked_Convert_To): Do not perform an
+	unchecked conversion if the source size is 0 (indicating that
+	its RM size is unknown). This will happen with packed arrays of
+	non-discrete types, in which case the component type is known
+	to match.
+
+2016-05-02  Arnaud Charlet  <charlet@adacore.com>
+
+	* debug.adb: Reserve -gnatd.V.
+
+2016-05-02  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch3.adb (Process_Full_View): Remove from visibility
+	wrappers of synchronized types to avoid spurious errors with
+	their wrapped entity.
+	* exp_ch9.adb (Build_Wrapper_Spec): Do not generate the wrapper
+	if no interface primitive is covered by the subprogram and this is
+	not a primitive declared between two views; see Process_Full_View.
+	(Build_Protected_Sub_Specification): Link the dispatching
+	subprogram with its original non-dispatching protected subprogram
+	since their names differ.
+	(Expand_N_Protected_Type_Declaration):
+	If a protected subprogram overrides an interface primitive then
+	do not build a wrapper if it was already built.
+	* einfo.ads, einfo.adb (Original_Protected_Subprogram): New attribute.
+	* sem_ch4.adb (Names_Match): New subprogram.
+	* sem_ch6.adb (Check_Synchronized_Overriding): Moved
+	to library level and defined in the public part of the
+	package to invoke it from Exp_Ch9.Build_Wrapper_Spec
+	(Has_Matching_Entry_Or_Subprogram): New subprogram.
+	(Report_Conflict): New subprogram.
+
+2016-05-02  Jerome Lambourg  <lambourg@adacore.com>
+
+	* s-unstyp.ads: Code cleanups.
+
+2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch13.adb (Size_Too_Small_Error): Fix the error message format.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_prag.adb (Expand_attributes_In_Consequence,
+	Expand_Attributes): If the prefix of'Old is an unconstrained type,
+	for example an unconstrained formal of the enclosing subprogram,
+	create an object declaration with an expression to obtain the
+	actual subtype of the temporary.
+
+2016-05-02  Arnaud Charlet  <charlet@adacore.com>
+
+	* comperr.adb (Delete_SCIL_Files): Add missing handling of
+	N_Subprogram_Declaration.
+
+2016-05-02  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, checks.adb, sem_attr.adb,
+	gnat1drv.adb, sem_ch4.adb, sem_ch13.adb: Minor reformatting and typo
+	fixes.
+	* sem_prag.adb, sem_ch12.adb: Minor typo fixes.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): The
+	function call may be wrapped in an explicit type conversion.
+
+2016-05-02  Jerome Lambourg  <lambourg@adacore.com>
+
+	* interfac.ads: use pragma No_Elaboration_Code_All.
+	* s-unstyp.ads: s-unstyp.ads: use pragma No_Elaboration_Code_All.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem.adb (Analyze: If node is an error node previously created
+	by the parser, disable expansion to prevent subsequent glitches
+	in error recovery.
+
+2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch13.adb (Alignment_Error): Removed.
+	(Get_Alignment_Value): Code cleanup.
+
+2016-05-02  Tristan Gingold  <gingold@adacore.com>
+
+	* sem_ch3.adb (Analyze_Object_Declaration): Use Has_Protected
+	to check for the no local protected objects restriction.
+
+2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* einfo.adb Anonymous_Master now uses Node35.
+	(Anonymous_Master): Update the assertion and node reference.
+	(Set_Anonymous_Master): Update the assertion and node reference.
+	(Write_Field35_Name): Add output for Anonymous_Master.
+	(Write_Field36_Name): The output is now undefined.
+	* einfo.ads Update the node and description of attribute
+	Anonymous_Master. Remove prior occurrences in entities as this
+	is now a type attribute.
+	* exp_ch3.adb (Expand_Freeze_Array_Type): Remove local variable
+	Ins_Node. Anonymous access- to-controlled component types no
+	longer need finalization masters. The master is now built when
+	a related allocator is expanded.
+	(Expand_Freeze_Record_Type): Remove local variable Has_AACC. Do not
+	detect whether the record type has at least one component of anonymous
+	access-to- controlled type. These types no longer need finalization
+	masters. The master is now built when a related allocator is expanded.
+	* exp_ch4.adb Remove with and use clauses for Lib and Sem_Ch8.
+	(Current_Anonymous_Master): Removed.
+	(Expand_N_Allocator): Call Build_Anonymous_Master to create a
+	finalization master for an anonymous access-to-controlled type.
+	* exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
+	Call routine Build_Anonymous_Master to create a finalization master
+	for an anonymous access-to-controlled type.
+	* exp_ch7.adb (Allows_Finalization_Master): New routine.
+	(Build_Anonymous_Master): New routine.
+	(Build_Finalization_Master): Remove formal parameter
+	For_Anonymous. Use Allows_Finalization_Master to determine whether
+	circumstances warrant a finalization master. This routine no
+	longer creates masters for anonymous access-to-controlled types.
+	(In_Deallocation_Instance): Removed.
+	* exp_ch7.ads (Build_Anonymous_Master): New routine.
+	(Build_Finalization_Master): Remove formal parameter For_Anonymous
+	and update the comment on usage.
+	* sem_util.adb (Get_Qualified_Name): New routines.
+	(Output_Name): Reimplemented.
+	(Output_Scope): Removed.
+	* sem_util.ads (Get_Qualified_Name): New routines.
+
+2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* debug.adb: Document the use of switch -gnatd.H.
+	* gnat1drv.adb (Adjust_Global_Switches): Set ASIS_GNSA mode when
+	-gnatd.H is present.
+	(Gnat1drv): Suppress the call to gigi when ASIS_GNSA mode is active.
+	* opt.ads: Add new option ASIS_GNSA_Mode.
+	* sem_ch13.adb (Alignment_Error): New routine.
+	(Analyze_Attribute_Definition_Clause): Suppress certain errors in
+	ASIS mode for attribute clause Alignment, Machine_Radix, Size, and
+	Stream_Size.
+	(Check_Size): Use routine Size_Too_Small_Error to
+	suppress certain errors in ASIS mode.
+	(Get_Alignment_Value): Use routine Alignment_Error to suppress certain
+	errors in ASIS mode.
+	(Size_Too_Small_Error): New routine.
+
+2016-05-02  Arnaud Charlet  <charlet@adacore.com>
+
+	* spark_xrefs.ads Description of the spark cross-references
+	clarified; small style fixes.
+	* lib-xref-spark_specific.adb (Add_SPARK_Scope,
+	Detect_And_Add_SPARK_Scope): consider protected types and bodies
+	as yet another scopes.
+	(Enclosing_Subprogram_Or_Library_Package): refactored using
+	Hristian's suggestions; added support for scopes of protected
+	types and bodies; fix for entries to return the scope of the
+	enclosing concurrent type, which is consistent with what is
+	returned for protected subprograms.
+	* sem_intr.adb: Minor style fix in comment.
+
+2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* lib-xref.ads, lib-xref-spark_specific.adb, get_spark_xrefs.adb,
+	put_spark_xrefs.adb: Minor reformatting.
+
+2016-05-02  Doug Rupp  <rupp@adacore.com>
+
+	* g-traceb.ads: Document traceback for ARM.
+
+2016-05-02  Javier Miranda  <miranda@adacore.com>
+
+	* exp_disp.adb (Make_Tags): Do not generate the
+	external name of interface tags adding the suffix counter since
+	it causes problems at link time when the IP routines are inlined
+	across units with optimization.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* einfo.ads, einfo.adb (Predicates_Ignared): new flag to indicate
+	that predicate checking is disabled for predicated subtypes in
+	the context of an Assertion_Policy pragma.
+	* checks.adb (Apply_Predicate_Check): Do nothing if
+	Predicates_Ignored is true.
+	* exp_ch3.adb (Expand_Freeze_Enumeration_Type): If
+	Predicates_Ignores is true, the function Rep_To_Pos does raise
+	an exception for invalid data.
+	* exp_ch4.adb (Expand_N_Type_Conversion): IF target is a predicated
+	type do not apply check if Predicates_Ignored is true.
+	* exp_ch5.adb (Expand_N_Case_Statement): If Predicates_Ignored
+	is true, sem_prag.adb:
+	* sem_ch3.adb (Analyze_Object_Declaration): If Predicates_Ignored
+	is true do not emit predicate check on initializing expression.
+
+2016-05-02  Arnaud Charlet  <charlet@adacore.com>
+
+	* get_spark_xrefs.adb (Get_Nat, Get_Name): Initialize variables when
+	they are declared; refine type of a counter from Integer to Natural.
+	* sem_ch5.adb, gnatcmd.adb, s-intman-posix.adb, eval_fat.adb,
+	prj.adb, sem_util.adb, s-intman-android.adb, prj-nmsc.adb, sem_ch8.adb,
+	exp_ch3.adb: Minor editing.
+
+2016-05-02  Yannick Moy  <moy@adacore.com>
+
+	* a-tigeli.adb (Get_Line): Always set Last prior to returning.
+
+2016-05-02  Yannick Moy  <moy@adacore.com>
+
+	* lib-xref.adb: Minor style fix in whitespace of declarations.
+	* put_spark_xrefs.adb (Put_SPARK_Xrefs): printing of strings
+	refactored without loops.
+	* put_spark_xrefs.ads (Write_Info_Str): new formal argument of
+	generic procedure.
+	* spark_xrefs.adb (Write_Info_Str): new actual in instantiation
+	of generic procedure.
+
+2016-05-02  Arnaud Charlet  <charlet@adacore.com>
+
+	* lib-xref-spark_specific.adb (Add_SPARK_Scope): add task type scope.
+	(Detect_And_Add_SPARK_Scope): detect and add task type scope.
+	(Enclosing_Subprogram_Or_Package): Respect boundaries of task
+	and entry declarations.
+	* spark_xrefs.ads: minor typo in comment.
+
+2016-05-02  Arnaud Charlet  <charlet@adacore.com>
+
+	* make.adb: Minor: avoid an exception when calling gnatmake with
+	no argument and gnatmake is built with checks on.
+	* lib-xref-spark_specific.adb: Minor code cleanup.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.adb (Normalize_Actuals): Take into account extra
+	actuals that may have been introduced previously. Normally extra
+	actuals are introduced when a call is expanded, but a validity
+	check may copy and reanalyze a call that carries an extra actual
+	(e.g. an accessibility parameter) before the call itself is
+	marked Analzyed, and the analysis of the copy has to be able to
+	cope with the added actual.
+
+2016-05-02  Bob Duff  <duff@adacore.com>
+
+	* sem_ch10.adb (Analyze_Compilation_Unit): Preserve
+	treeishness. Previous version had Context_Items shared between
+	the spec and body.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_aggr.adb (Resolve_Aggr_Expression): For both array and
+	record cases, apply predicate check on component for expression
+	only if expression has been analyzed already. For expressions
+	that need to be duplicated when they cover multiple components,
+	resolution and predicate checking take place later.
+
+2016-05-02  Olivier Hainque  <hainque@adacore.com>
+
+	* a-direct.adb (Delete_Tree): Use full names to designate subdirs
+	and files therein, instead of local names after a change of
+	current directory.
+
+2016-05-02  Thomas Quinot  <quinot@adacore.com>
+
+	* freeze.adb (Check_Component_Storage_Order): Get full view of
+	component type.
+
+2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* checks.adb, freeze.adb, sem_res.adb, s-stposu.adb, repinfo.adb:
+	Minor reformatting.
+
+2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch4.adb (Find_Indexing_Operations): Use the underlying type
+	of the container base type in case the container is a subtype.
+	* sem_ch5.adb (Analyze_Iterator_Specification): Ensure that
+	the selector has an entity when checking for a component of a
+	mutable object.
+
+2016-05-02  Arnaud Charlet  <charlet@adacore.com>
+
+	Remove dead code.
+	* opt.ads (Latest_Ada_Only): New flag.
+	* sem_prag.adb, par-prag.adb: Ignore pragma Ada_xx under this flag.
+	* usage.adb, switch-c.adb: Disable support for -gnatxx under this flag.
+	* einfo.ads (Has_Predicates, Predicate_Function):
+	Clarify that Has_Predicates does not imply that Predicate_Function
+	will return a non-empty entity.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_res.adb (Resolve_Qualified_Expression): Generate a predicate
+	check if type requires it.
+	* checks.adb (Apply_Predicate_Check): Disable checks in the
+	object declaration created for an expression with side-effects
+	that requires a predicate check to prevent infinite recursion
+	during expansion.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Process_Formals): Check properly the type of a
+	formal to determine whether a given convention applies to it.
+
+2016-05-02  Doug Rupp  <rupp@adacore.com>
+
+	* tracebak.c: Add incantations for arm-vxworks[67] traceback.
+
+2016-05-02  Thomas Quinot  <quinot@adacore.com>
+
+	* freeze.adb (Check_Component_Storage_Order): Make it a warning, not an
+	error, to have a component with implicit SSO within a composite type
+	that has explicit SSO.
+
+2016-05-02  Bob Duff  <duff@adacore.com>
+
+	* s-stposu.adb (Allocate_Any_Controlled): Don't lock/unlock twice.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* repinfo.adb (List_Entities): Make procedure recursive, to
+	provide representation information for subprograms declared
+	within subprogram bodies.
+
+2016-05-02  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_ch5.adb, layout.adb, gnatcmd.adb exp_attr.adb, make.adb,
+	bindgen.adb, debug.adb, exp_pakd.adb, freeze.adb, sem_util.adb,
+	gnatlink.adb, switch-m.adb, exp_ch4.adb, repinfo.adb, adabkend.adb,
+	osint.adb: Remove dead code.
+
+2016-05-02  Yannick Moy  <moy@adacore.com>
+
+	* a-tigeli.adb (Get_Line): Fix bound for test to
+	decide when to compensate for character 0 added by call to fgets.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Analyze_Allocator): If the expression does not
+	have a subtype indication and the type is an unconstrained tagged
+	type with defaulted discriminants, create an explicit constraint
+	for it during analysis to prevent out-of-order freezing actions
+	on generated classwide types.
+
+2016-05-02  Javier Miranda  <miranda@adacore.com>
+
+	* exp_ch5.adb (Expand_N_Assignment_Statement):
+	In the runtime check that ensures that the tags of source an
+	target match, add missing displacement of the pointer to the
+	objects if they cover interface types.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_attr.adb (Analyze_Attribute, case 'Old): Do not use
+	base type for attribute when type is discrete: transformation
+	is not needed for such types, and leads to spurious errors if
+	the context is a case construct.
+
+2016-05-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (elaborate_reference_1): Do not bother about
+	operand #2 for COMPONENT_REF.
+	* gcc-interface/utils2.c (gnat_save_expr): Likewise.
+	(gnat_protect_expr): Likewise.
+	(gnat_stabilize_reference_1): Likewise.
+	(gnat_rewrite_reference): Do not bother about operand #3 for ARRAY_REF.
+	(get_inner_constant_reference): Likewise.
+	(gnat_invariant_expr): Likewise.
+	* gcc-interface/trans.c (fold_constant_decl_in_expr): Likewise.
+
+2016-05-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (Range_to_gnu): New static function.
+	(Raise_Error_to_gnu) <N_In>: Call it to translate the range.
+	(gnat_to_gnu) <N_In>: Likewise.
+
+2016-04-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/Make-lang.in (ACATSCMD): New variable.
+	(check-acats): Use it.
+	(check_acats_targets): Likewise.
+
+2016-04-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/70786
+	* a-textio.adb (Get_Immediate): Add missing 'not' in expression.
+
+2016-04-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_aux.adb (Is_By_Reference_Type): Also return true for a tagged
+	incomplete type without full view.
+	* sem_ch6.adb (Exchange_Limited_Views): Change into a function and
+	return the list of changes.
+	(Restore_Limited_Views): New procedure to undo the transformation made
+	by Exchange_Limited_Views.
+	(Analyze_Subprogram_Body_Helper): Adjust call to Exchange_Limited_Views
+	and call Restore_Limited_Views at the end, if need be.
+	(Possible_Freeze): Do not delay freezing because of incomplete types.
+	(Process_Formals): Remove kludges for class-wide types.
+	* types.h (By_Copy_Return): Delete.
+	* gcc-interface/ada-tree.h (TYPE_MAX_ALIGN): Move around.
+	(TYPE_DUMMY_IN_PROFILE_P): New macro.
+	* gcc-interface/gigi.h (update_profiles_with): Declare.
+	(finish_subprog_decl): Likewise.
+	(get_minimal_subprog_decl): Delete.
+	(create_subprog_type): Likewise.
+	(create_param_decl): Adjust prototype.
+	(create_subprog_decl): Likewise.
+	* gcc-interface/decl.c (defer_limited_with): Rename into...
+	(defer_limited_with_list): ...this.
+	(gnat_to_gnu_entity): Adjust to above renaming.
+	(finalize_from_limited_with): Likewise.
+	(tree_entity_vec_map): New structure.
+	(gt_pch_nx): New helpers.
+	(dummy_to_subprog_map): New hash table.
+	(gnat_to_gnu_param): Set the SLOC here.  Remove MECH parameter and
+	add FIRST parameter.  Deal with the mechanism here instead of...
+	Do not make read-only variant of types.  Simplify expressions.
+	In the by-ref case, test the mechanism before must_pass_by_ref
+	and also TYPE_IS_BY_REFERENCE_P before building the reference type.
+	(gnat_to_gnu_subprog_type): New static function extracted from...
+	Do not special-case the type_annotate_only mode.  Call
+	gnat_to_gnu_profile_type instead of gnat_to_gnu_type on return type.
+	Deal with dummy return types.  Likewise for parameter types.  Deal
+	with by-reference types explicitly and add a kludge for null procedures
+	with untagged incomplete types.  Remove assertion on the types and be
+	prepared for multiple elaboration of the declarations.  Skip the whole
+	CICO processing if the profile is incomplete.  Handle the completion of
+	a previously incomplete profile.
+	(gnat_to_gnu_entity) <E_Variable>: Rename local variable.
+	Adjust couple of calls to create_param_decl.
+	<E_Access_Subprogram_Type, E_Anonymous_Access_Subprogram_Type>:
+	Remove specific deferring code.
+	<E_Access_Type>: Also deal with E_Subprogram_Type designated type.
+	Simplify handling of dummy types and remove obsolete comment.
+	Constify a couple of variables.  Do not set TYPE_UNIVERSAL_ALIASING_P
+	on dummy types.
+	<E_Access_Subtype>: Tweak comment and simplify condition.
+	<E_Subprogram_Type>: ...here.  Call it and clean up handling.  Remove
+	obsolete comment and adjust call to gnat_to_gnu_param.  Adjust call to
+	create_subprog_decl.
+	<E_Incomplete_Type>: Add a couple of 'const' qualifiers and get rid of
+	inner break statements.  Tidy up condition guarding direct use of the
+	full view.
+	(get_minimal_subprog_decl): Delete.
+	(finalize_from_limited_with): Call update_profiles_with on dummy types
+	with TYPE_DUMMY_IN_PROFILE_P set.
+	(is_from_limited_with_of_main): Delete.
+	(associate_subprog_with_dummy_type): New function.
+	(update_profile): Likewise.
+	(update_profiles_with): Likewise.
+	(gnat_to_gnu_profile_type): Likewise.
+	(init_gnat_decl): Initialize dummy_to_subprog_map.
+	(destroy_gnat_decl): Destroy dummy_to_subprog_map.
+	* gcc-interface/misc.c (gnat_get_alias_set): Add guard for accessing
+	TYPE_UNIVERSAL_ALIASING_P.
+	(gnat_get_array_descr_info): Minor tweak.
+	* gcc-interface/trans.c (gigi): Adjust calls to create_subprog_decl.
+	(build_raise_check): Likewise.
+	(Compilation_Unit_to_gnu): Likewise.
+	(Identifier_to_gnu): Accept mismatches coming from a limited context.
+	(Attribute_to_gnu): Remove kludge for dispatch table entities.
+	(process_freeze_entity): Do not retrieve old definition if there is an
+	address clause on the entity.  Call update_profiles_with on dummy types
+	with TYPE_DUMMY_IN_PROFILE_P set.
+	* gcc-interface/utils.c (build_dummy_unc_pointer_types): Also set
+	TYPE_REFERENCE_TO to the fat pointer type.
+	(create_subprog_type): Delete.
+	(create_param_decl): Remove READONLY parameter.
+	(finish_subprog_decl): New function extracted from...
+	(create_subprog_decl): ...here.  Call it.  Remove CONST_FLAG and
+	VOLATILE_FLAG parameters and adjust.
+	(update_pointer_to): Also clear TYPE_REFERENCE_TO in the unconstrained
+	case.
+
+2016-04-27  Arnaud Charlet  <charlet@adacore.com>
+
+	* aa_util.adb, aa_util.ads: Removed, no longer used.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma): An object
+	renaming declaration resulting from the expansion of an object
+	declaration is a suitable context for pragma Ghost.
+
+2016-04-27  Doug Rupp  <rupp@adacore.com>
+
+	* init.c: Refine last checkin so the only requirement is the
+	signaling compilation unit is compiled with the same mode as
+	the compilation unit containing the initial landing pad.
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Valid_Default_Iterator): Better filter of illegal
+	specifications for Default_Iterator, including overloaded cases
+	where no interpretations are legal, and return types that are
+	not iterator types.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch5.adb (Expand_N_Assignment_Statement): Do not install
+	an accessibility check when the left hand side of the assignment
+	denotes a container cursor.
+	* exp_util.ads, exp_util.adb (Find_Primitive_Operations): Removed.
+	* sem_ch4.adb (Find_Indexing_Operations): New routine.
+	(Try_Container_Indexing): Code cleanup.
+
+2016-04-27  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_ch10.adb, sem_case.adb: Mark messages udner -gnatwr when needed.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* errout.adb, errutil.adb: Minor reformatting.
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Analyze_Aspect_Specifications, case Pre/Post):
+	Check that the classwide version is illegal when the prefix is
+	an operation of an untagged synchronized type.
+
+2016-04-27  Arnaud Charlet  <charleT@adacore.com>
+
+	* sinput-l.ads, sem_ch13.adb: Minor editing.
+
+2016-04-27  Doug Rupp  <rupp@adacore.com>
+
+	* init.c (__gnat_adjust_context_for_raise) [arm-linux thumb]:
+	Bump the pc so the lower order bit is set.
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_case.adb, sem_case.ads (NO_Op): If appropriate warning is
+	enabled, report an empty range in a case construct.
+
+2016-04-27  Arnaud Charlet  <charlet@adacore.com>
+
+	* sinput.ads, a-cfdlli.adb, a-crbtgo.adb, a-chtgop.adb, a-cbhama.adb,
+	a-rbtgbo.adb, a-crdlli.adb, a-chtgbo.adb: Minor editing.
+
+2016-04-27  Bob Duff  <duff@adacore.com>
+
+	* a-chtgop.adb (Adjust): Zero the tampering counts on assignment,
+	as is done for the other containers.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* ghost.adb (In_Subprogram_Body_Profile): New routine.
+	(Is_OK_Declaration): Treat an unanalyzed expression
+	function as an OK context.  Treat a reference to a Ghost entity
+	as OK when it appears within the profile of a subprogram body.
+
+2016-04-27  Bob Duff  <duff@adacore.com>
+
+	* errout.ads: Document the fact that informational messages
+	don't have to be warnings.
+	* errout.adb (Error_Msg_Internal): In statistics counts, deal
+	correctly with informational messages that are not warnings.
+	(Error_Msg_NEL): Remove useless 'if' aroung Set_Posted, because
+	Set_Posted already checks for errors and ignores others.
+	* erroutc.adb (Prescan_Message): Set Is_Serious_Error to False
+	if Is_Info_Msg; the previous code was assuming that Is_Info_Msg
+	implies Is_Warning_Msg.
+	* errutil.adb (Error_Msg): In statistics counts, deal correctly
+	with informational messages that are not warnings.
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.ads, sem_util.adb (Is_Null_Record_Type): New predicate
+	to determine whether a record type is a null record.
+	* sem_ch3.adb (Analyze_Object_Declaration): If the type is a
+	null record and there is no expression in the declaration,
+	no predicate check applies to the object.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch7.adb (Analyze_Package_Body_Helper): The body of an
+	instantiated package should not cause freezing of previous contracts.
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_dim.adb (Analyze_Dimension): Handle subtype declarations
+	that do not come from source.
+	(Analyze_Dimension_Subtype_Declaration): Allow confirming
+	dimensions on subtype entity, either inherited from base type
+	or provided by aspect specification.
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* s-gearop.ads (Matrix_Vector_Solution, Matrix_Matrix_Solution):
+	Add scalar formal object Zero, to allow detection and report
+	when the matrix is singular.
+	* s-gearop.adb (Matrix_Vector_Solution, Matrix_Matrix_Solution):
+	Raise Constraint_Error if the Forward_Eliminate pass has
+	determined that determinant is Zero.o
+	* s-ngrear.adb (Solve): Add actual for Zero in corresponding
+	instantiations.
+	* s-ngcoar.adb (Solve): Ditto.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch3.adb: Minor reformatting.
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_dim.adb (Analyze_Dimension, case N_Identifier): Check
+	that identifier has a usable type before analysis, to handle
+	properly identifiers introduced after some lexical/syntactic
+	recovery that created new identifiers.
+
+2016-04-27  Bob Duff  <duff@adacore.com>
+
+	* a-coinve.adb, a-comutr.adb, a-conhel.adb, a-convec.adb,
+	exp_util.adb: Remove assertions that can fail in obscure cases when
+	assertions are turned on but tampering checks are turned off.
+
+2016-04-27  Javier Miranda  <miranda@adacore.com>
+
+	* exp_ch6.adb (Add_Call_By_Copy_Code,
+	Add_Simple_Call_By_Copy_Code, Expand_Actuals): Handle formals
+	whose type comes from the limited view.
+
+2016-04-27  Yannick Moy  <moy@adacore.com>
+
+	* a-textio.adb: Complete previous patch.
+
+2016-04-27  Yannick Moy  <moy@adacore.com>
+
+	* inline.adb (Expand_Inlined_Call): Use Cannot_Inline instead of
+	Error_Msg_N to issue message about impossibility to inline call,
+	with slight change of message.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_spark.adb (Expand_Potential_Renaming): Removed.
+	(Expand_SPARK): Update the call to expand a potential renaming.
+	(Expand_SPARK_Potential_Renaming): New routine.
+	* exp_spark.ads (Expand_SPARK_Potential_Renaming): New routine.
+	* sem.adb Add with and use clauses for Exp_SPARK.
+	(Analyze): Expand a non-overloaded potential renaming for SPARK.
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Constrain_Discriminated_Type): In an instance,
+	check full view for the presence of defaulted discriminants,
+	even when the partial view of a private type has no visible and
+	no unknown discriminants.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* lib-xref.adb, exp_ch3.adb: Minor reformatting.
+
+2016-04-27  Nicolas Roche  <roche@adacore.com>
+
+	* rtinit.c: Add weak symbol __gnat_do_argv_expansion.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb (Process_Atomic_Independent_Shared_Volatile): Code
+	cleanup. Check the original node when trying to determine the node kind
+	of pragma Volatile's argument to account for untagged derivations
+	where the type is transformed into a constrained subtype.
+
+2016-04-27  Olivier Hainque  <hainque@adacore.com>
+
+	* mkdir.c (__gnat_mkdir): Rework the vxworks section to use a
+	consistent posix interface on the caller side.
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch10.adb (Build_Limited_View, Decorate_Type): If this
+	is a limited view of a type, initialize the Limited_Dependents
+	field to catch misuses of the type in a client unit.
+
+2016-04-27  Thomas Quinot  <quinot@adacore.com>
+
+	* a-strunb-shared.adb (Finalize): add missing Reference call.
+	* s-strhas.adb: minor grammar fix and extension of comment
+	* sem_ch8.adb: minor whitespace fixes
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* lib-xref.adb (Get_Type_Reference): Handle properly the case
+	of an object declaration whose type definition is a class-wide
+	subtype and whose expression is a function call that returns a
+	classwide type.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_util.ads, sem_util.adb (Output_Entity): New routine.
+	(Output_Name): New routine.
+
+2016-04-27  Bob Duff  <duff@adacore.com>
+
+	* exp_ch3.adb (Rewrite_As_Renaming): Disable previous change for now.
+
+2016-04-27  Vincent Celier  <celier@adacore.com>
+
+	* gnatcmd.adb: For "gnat ls -V -P", recognize switch
+	--unchecked-shared-lib-imports and set the flag
+	Opt.Unchecked_Shared_Lib_Imports accordingly.
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Analyze_Pre_Post_Condition_In_Decl_Part):
+	A generic subprogram is never a primitive operation, and thus
+	a classwide condition for it is not legal.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_aggr.adb, sem_dim.adb, sem_dim.ads, einfo.adb: Minor
+	reformatting.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_res.adb (Flag_Effectively_Volatile_Objects): New routine.
+	(Resolve_Actuals): Flag effectively volatile objects with enabled
+	property Async_Writers or Effective_Reads as illegal.
+	* sem_util.adb (Is_OK_Volatile_Context): Comment reformatting.
+
+2016-04-27  Javier Miranda  <miranda@adacore.com>
+
+	* exp_ch3.adb (Make_Predefined_Primitive_Specs):
+	Do not generate the profile of the equality operator if it has
+	been explicitly defined as abstract in the parent type. Required
+	to avoid reporting an spurious error.
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_dim.ads, sem_dim.adb (Check_Expression_Dimensions): New
+	procedure to compute the dimension vector of a scalar expression
+	and compare it with the dimensions if its expected subtype. Used
+	for the ultimate components of a multidimensional aggregate,
+	whose components typically are themselves aggregates that are
+	expanded separately. Previous to this patch, dimensionality
+	checking on such aggregates generated spurious errors.
+	* sem_aggr.adb (Resolve_Array_Aggregate): Use
+	Check_Expression_Dimensions when needed.
+
+2016-04-27  Javier Miranda  <miranda@adacore.com>
+
+	* einfo.ads, einfo.adb (Corresponding_Function): New attribute
+	(applicable to E_Procedure).
+	(Corresponding_Procedure): New attribute (applicable to E_Function).
+	* exp_util.adb (Build_Procedure_Form): Link the function with
+	its internally built proc and viceversa.
+	* sem_ch6.adb (Build_Subprogram_Declaration): Propagate the
+	attribute Rewritten_For_C and Corresponding_Procedure to the body.
+	* exp_ch6.adb (Rewritten_For_C_Func_Id): Removed.
+	(Rewritten_For_C_Proc_Id): Removed.
+	* exp_unst.adb (Note_Uplevel_Ref): Use the new attribute to
+	locate the corresponding procedure.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch13.adb (Analyze_Aspect_Export_Import): Signal that there is no
+	corresponding pragma.
+
+2016-04-27  Bob Duff  <duff@adacore.com>
+
+	* exp_ch3.adb: Minor comment improvement.
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): If the
+	return type is an untagged limited record with only access
+	discriminants and no controlled components, the return value does not
+	need to use the secondary stack.
+
+2016-04-27  Javier Miranda  <miranda@adacore.com>
+
+	* exp_util.adb (Remove_Side_Effects): When
+	generating C code handle object declarations that have
+	discriminants and are initialized by means of a call to a
+	function.
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* a-textio.adb (Get_Line function): Handle properly the case of
+	a line that has the same length as the buffer (or a multiple
+	thereof) and there is no line terminator.
+	* a-tigeli.adb (Get_Line procedure): Do not store an end_of_file
+	in the string when there is no previous line terminator and we
+	need at most one additional character.
+
+2016-04-27  Arnaud Charlet  <charlet@adacore.com>
+
+	* s-rident.ads: Make No_Implicit_Loops non partition wide.
+
+2016-04-27  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_ch11.adb (Analyze_Handled_Statements): check useless
+	assignments also in entries and task bodies, not only in
+	procedures and declaration blocks.
+	* sem_ch5.adb (Analyze_Block_Statement): check useless
+	assignements in declaration blocks as part of processing their
+	handled statement sequence, just like it was done for procedures
+	and now is also done for entries and task bodies.
+	* sem_warn.adb (Warn_On_Useless_Assignment): detect boundries
+	of entries and task bodies just like of procedures.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_util.adb (Is_Volatile_Function): Recognize
+	a function declared within a protected type as well as the
+	protected/unprotected version of a function.
+
+2016-04-27  Bob Duff  <duff@adacore.com>
+
+	* exp_ch3.adb (Expand_N_Object_Declaration): Rewrite an object
+	declaration of the form "X : T := Func (...);", where T is
+	controlled, as a renaming.
+	* a-strunb-shared.adb (Finalize): Set the Unbounded_String Object
+	to be an empty string, instead of null-ing out the Reference.
+	* exp_util.adb (Needs_Finalization): Remove redundant code.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* aspects.ads Aspects Export and Import do not require delay. They
+	were classified as delayed aspects, but treated as non-delayed
+	by the analysis of aspects.
+	* freeze.adb (Copy_Import_Pragma): New routine.
+	(Wrap_Imported_Subprogram): Copy the import pragma by first
+	resetting all semantic fields to avoid an infinite loop when
+	performing the copy.
+	* sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Add
+	comment on the processing of aspects Export and Import
+	at the freeze point.
+	(Analyze_Aspect_Convention: New routine.
+	(Analyze_Aspect_Export_Import): New routine.
+	(Analyze_Aspect_External_Link_Name): New routine.
+	(Analyze_Aspect_External_Or_Link_Name): Removed.
+	(Analyze_Aspect_Specifications): Factor out the analysis of
+	aspects Convention, Export, External_Name, Import, and Link_Name
+	in their respective routines.  Aspects Export and Import should
+	not generate a Boolean pragma because their corresponding pragmas
+	have a very different syntax.
+	(Build_Export_Import_Pragma): New routine.
+	(Get_Interfacing_Aspects): New routine.
+
+2016-04-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* inline.adb (Add_Inlined_Body): Overhaul implementation,
+	robustify handling of -gnatn1, add special treatment for
+	expression functions.
+
+2016-04-27  Doug Rupp  <rupp@adacore.com>
+
+	* g-traceb.ads: Update comment.
+	* exp_ch2.adb: minor style fix in object declaration
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_elab.adb (Check_Internal_Call): Do not
+	consider a call when it appears within pragma Initial_Condition
+	since the pragma is part of the elaboration statements of a
+	package body and may only call external subprograms or subprograms
+	whose body is already available.
+	(Within_Initial_Condition): New routine.
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_util.adb (Build_Procedure_Form): Prevent double generation
+	of the procedure form when dealing with an expression function
+	whose return type is an array.
+	* sem_ch3.adb: Fix out-of order Has_Predicates setting.
+	* exp_ch6.adb: Proper conversion for inherited operation in C.
+	* sem_ch6.adb: Code cleanup.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* lib-xref.ads, sem_ch10.adb: minor style fix in comment
+	* g-socket.adb: Minor reformatting.
+	* sinfo.ads: Minor comment correction.
+	* sem_warn.ads: minor grammar fix in comment
+
+2016-04-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/gigi.h (gnat_to_gnu_entity): Adjust prototype.
+	(maybe_pad_type): Adjust comment.
+	(finish_record_type): Likewise.
+	(rest_of_record_type_compilation): Likewise.
+	* gcc-interface/decl.c (gnat_to_gnu_entity): Change DEFINITION type
+	parameter from integer to boolean.  Adjust recursive calls.
+	<E_Subprogram_Type>: Use copy_type and remove redundant assignments.
+	<E_Signed_Integer_Subtype>:  Adjust comment.  Remove call to
+	rest_of_record_type_compilation.  Set TYPE_PADDING_P flag earlier.
+	Pass false to finish_record_type.  Set the debug type later.
+	<E_Record_Subtype>: Remove call to rest_of_record_type_compilation.
+	(gnat_to_gnu_component_type): Fix formatting.
+	(gnat_to_gnu_field_decl): Adjust call to gnat_to_gnu_entity.
+	(gnat_to_gnu_type): Likewise.
+	* gcc-interface/trans.c (Identifier_to_gnu): Likewise.
+	(Loop_Statement_to_gnu): Likewise.
+	(Subprogram_Body_to_gnu): Likewise.
+	(Exception_Handler_to_gnu_fe_sjlj): Likewise.
+	(Exception_Handler_to_gnu_gcc): Likewise.
+	(Compilation_Unit_to_gnu): Likewise.
+	(gnat_to_gnu): Likewise.
+	(push_exception_label_stack): Likewise.
+	(elaborate_all_entities_for_package): Likewise.
+	(process_freeze_entity): Likewise.
+	(process_decls): Likewise.
+	(process_type): Likewise.
+	* gcc-interface/utils.c (struct deferred_decl_context_node): Tweak.
+	(maybe_pad_type): Adjust comments.  Set the debug type later.  Remove
+	call to rest_of_record_type_compilation.
+	(rest_of_record_type_compilation): Use copy_type.
+	(copy_type): Use correctly typed constants.
+	(gnat_signed_or_unsigned_type_for): Use copy_type.
+	* gcc-interface/utils2.c (nonbinary_modular_operation): Likewise.
+	(build_goto_raise): Adjust call tognat_to_gnu_entity.
+
+2016-04-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/misc.c (gnat_init): Do not call
+	internal_reference_types.
+
+2016-04-27  Svante Signell  <svante.signell@gmail.com>
+
+	* gcc-interface/Makefile.in (x86 GNU/Hurd): Use s-osinte-gnu.adb.
+	* s-osinte-gnu.ads: Small tweaks.
+	* s-osinte-gnu.adb: New file.
+
+2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb (Match_Constituent): Treat a constant as a legal
+	constituent even if it is not to prevent spurious errors.
+
+2016-04-21  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_ch4.adb: Minor typo fixes and reformatting.
+
+2016-04-21  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+	* g-calend.ads (No_Time): The same value in any timezone.
+	* g-socket.adb (Raise_Host_Error): Remove ending
+	dot from original error message before append colon delimited
+	host name.
+
+2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch3.adb: Code cleanup.
+	* sem_ch6.adb: Code cleanup.
+	(Is_Matching_Limited_View): New routine.
+	(Matches_Limited_With_View): Reimplemented.
+	* sem_ch10.adb (Decorate_Type): Code cleanup.
+
+2016-04-21  Doug Rupp  <rupp@adacore.com>
+
+	* tracebak.c (PPC ELF): Add macro defs for lynxos178e.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Try_Container_Indexing): If there are overloaded
+	indexing functions, collect all overloadings of the call firts,
+	and then transfer them to indexing node, to prevent interleaving
+	of the set of interpretations of the nodes involved.
+	* sem_res.adb (Resolve): Suppress cascaded errors that report
+	ambiguities when one of the actuals in an overloaded generatlized
+	indexing operation is illegal and has type Any_Type, as is done
+	for similar cascaded errors in subprogram calls.
+	(Valid_Tagged_Conversion): Cleanup conversion checks when one
+	of the types involved is a class-wide subtype.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Load_Parent_Of_Generic): When looking for the
+	subprogram declaration within a wrapper package, skip pragmas
+	that may have been generated by aspect specifications on the
+	generic instance.
+
+2016-04-21  Javier Miranda  <miranda@adacore.com>
+
+	* exp_aggr.adb (Component_Not_OK_For_Backend): Generating C
+	code return True for array identifiers since the backend needs
+	to initialize such component by means of memcpy().
+
+2016-04-21  Arnaud Charlet  <charlet@adacore.com>
+
+	* a-tasatt.adb, a-tasatt.ads (Fast_Path): Rewritten to avoid reading
+	potentially uninitialized memory.
+	* sem_ch3.adb: Minor style fix in comment.
+
+2016-04-21  Arnaud Charlet  <charlet@adacore.com>
+
+	* gnat_rm.texi, gnat_ugn.texi,
+	doc/gnat_ugn/gnat_project_manager.rst,
+	doc/gnat_ugn/building_executable_programs_with_gnat.rst,
+	doc/gnat_ugn/gnat_and_program_execution.rst,
+	doc/gnat_ugn/gnat_utility_programs.rst,
+	doc/gnat_ugn/the_gnat_compilation_model.rst,
+	doc/gnat_rm/implementation_defined_attributes.rst,
+	doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
+	doc/gnat_rm/implementation_defined_pragmas.rst,
+	doc/gnat_rm/the_gnat_library.rst,
+	doc/gnat_rm/implementation_defined_aspects.rst: Update doc.
+	* doc/Makefile: Cleanups.
+
+2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_pakd.adb, sem_ch13.adb: Minor reformatting.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_dbug.adb, exp_dbug.ads (Qualify_Entity_Name): Add suffixes to
+	disambiguate local variables that may be hidden from inner visibility
+	by nested block declarations or loop variables.
+
+2016-04-21  Jerome Lambourg  <lambourg@adacore.com>
+
+	* s-soflin.adb: Initialize the Stack_Limit global variable.
+
+2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* lib-writ.adb: Minor reformatting.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_pakd.adb (Compute_Number_Components): New function to
+	build an expression that computes the number of a components of
+	an array that may be multidimensional.
+	(Expan_Packed_Eq): Use it.
+
+2016-04-21  Arnaud Charlet  <charlet@adacore.com>
+
+	* g-traceb.ads: Update list of supported platforms.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Add_Predicates): if the type is declared in
+	an inner package it may be frozen outside of the package, and
+	the generated pragma has not been analyzed yet, the expression
+	for the predicate must be captured and added to the predicate
+	function at this point.
+
+2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* contracts.adb (Analyze_Package_Body_Contract): Do not check
+	for a missing package refinement because 1) packages do not have
+	"refinement" and 2) the check for proper state refinement is
+	performed in a different place.
+	* einfo.adb (Has_Non_Null_Visible_Refinement): Reimplemented.
+	(Has_Null_Visible_Refinement): Reimplemented.
+	* sem_ch3.adb (Analyze_Declarations): Determine whether all
+	abstract states have received a refinement and if not, emit
+	errors.
+	* sem_ch7.adb (Analyze_Package_Declaration): Code
+	cleanup. Determine whether all abstract states of the
+	package and any nested packages have received a refinement
+	and if not, emit errors.
+	(Requires_Completion_In_Body): Add new formal parameter
+	Do_Abstract_States. Update the comment on usage. Propagate the
+	Do_Abstract_States flag to all Unit_Requires_Body calls.
+	(Unit_Requires_Body): Remove formal
+	parameter Ignore_Abstract_States. Add new formal paramter
+	Do_Abstract_States. Propagate the Do_Abstract_States flag to
+	all Requires_Completion_In calls.
+	* sem_ch7.ads (Unit_Requires_Body): Remove formal
+	parameter Ignore_Abstract_States. Add new formal paramter
+	Do_Abstract_States. Update the comment on usage.
+	* sem_ch9.adb (Analyze_Single_Protected_Declaration): Do
+	not initialize the constituent list as this is now done on a
+	need-to-add-element basis.
+	(Analyze_Single_Task_Declaration):
+	Do not initialize the constituent list as this is now done on
+	a need-to-add-element basis.
+	* sem_ch10.adb (Decorate_State): Do not initialize the constituent
+	lists as this is now done on a need-to-add-element basis.
+	* sem_prag.adb (Analyze_Constituent): Set the
+	refinement constituents when adding a new element.
+	(Analyze_Part_Of_In_Decl_Part): Set the Part_Of constituents when
+	adding a new element.
+	(Analyze_Part_Of_Option): Set the Part_Of
+	constituents when adding a new element.
+	(Analyze_Pragma): Set the Part_Of constituents when adding a new
+	element.
+	(Check_Constituent_Usage (all versions)): Reimplemented.
+	(Collect_Constituent): Set the refinement constituents when adding
+	a new element.
+	(Create_Abstract_State): Do not initialize the
+	constituent lists as this is now done on a need-to-add-element basis.
+	(Propagate_Part_Of): Set the Part_Of constituents when
+	adding a new element.
+	* sem_util.adb (Check_State_Refinements): New routine.
+	(Has_Non_Null_Refinement): Reimplemented.
+	(Has_Null_Refinement): Reimplemented.
+	(Requires_State_Refinement): Removed.
+	* sem_util.ads (Check_State_Refinements): New routine.
+	(Requires_State_Refinement): Removed.
+
+2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* lib-writ.adb, sem_ch6.adb: Minor reformatting and code cleanup.
+	* sem.adb: Fix comment.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Analyze_Subtype_Declaration): A subtype
+	declaration with no aspects, whose subtype_mark is a subtype
+	with predicates, inherits the list of subprograms for the type.
+
+2016-04-21  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_aggr.adb (Has_Per_Object_Constraint): Refine previous
+	change.
+
+2016-04-21  Thomas Quinot  <quinot@adacore.com>
+
+	* g-socket.adb (Raise_Host_Error): Include additional Name parameter.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* lib-writ.adb (Write_ALI): Do not record in ali file units
+	that are present in the files table but not analyzed. These
+	units are present because they appear in the context of units
+	named in limited_with clauses, and the unit being compiled does
+	not depend semantically on them.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Simplify code to
+	create the procedure body for an function returning an array type,
+	when generating C code. Reuse the subprogram body rather than
+	creating a new one, both as an efficiency measure and because
+	in an instance the body may contain global references that must
+	be preserved.
+
+2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch3.adb, exp_attr.adb, exp_ch6.adb, exp_aggr.adb: Minor
+	reformatting.
+
+2016-04-21  Javier Miranda  <miranda@adacore.com>
+
+	* exp_aggr.adb (Component_Check): Extend
+	the check that verifies that the aggregate has no function
+	calls to handle transformations performed by the frontend.
+	(Ultimate_Original_Expression): New subprogram.
+
+2016-04-21  Philippe Gil  <gil@adacore.com>
+
+	* krunch.adb (Krunch): Fix krunching of i-java.
+
+2016-04-21  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_ch8.adb (Evaluation_Required): Always return
+	True when Modify_Tree_For_C.
+
+2016-04-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gnatlink.adb (Gnatlink): Robustify detection of Windows target.
+	* alloc.ads: Minor comment fixes.
+	* einfo.ads: Fix typo.
+
+2016-04-21  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_aggr.adb (Component_Not_OK_For_Backend): Redo previous
+	changes to handle all cases of components depending on the
+	discriminant, not just string literals.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Analyze_Subtype_Declaration): If the subtype
+	declaration is the generated declaration for a generic actual,
+	inherit predicates from the actual if it is a predicated subtype.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch6.adb (Rewrite_Function_Call_For_C): If the function is
+	inherited and its result is controlling,  introduce a conversion
+	on the actual for the corresponding procedure call, to avoid
+	spurious type errors.
+
+2016-04-21  Jerome Lambourg  <lambourg@adacore.com>
+
+	* krunch.adb (Krunch): Fix krunching of i-vxworks.
+
+2016-04-21  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_aggr.adb: Minor reformatting and code cleanup.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Resolve_Name): Omit quantified expressions from
+	resolution, because they introduce local names. Full resolution
+	will take place when predicate function is constructed.
+
+2016-04-21  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_aggr.adb (Component_Not_OK_For_Backend): Refine previous
+	change to take into account Per_Object_Constraint field rather
+	than special casing strings.
+	* exp_ch6.adb: Fix typo in Replace_Returns.
+
+2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch5.adb: Minor reformatting.
+
+2016-04-21  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_aggr.adb (Backend_Processing_Possible): Return False
+	when generating C and aggregate contains function calls.
+
+2016-04-21  Tristan Gingold  <gingold@adacore.com>
+
+	* krunch.adb (Krunch): Only partially krunch children of
+	Interfaces that aren't known.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Make_Inline): Handle properly the instantiation
+	of a generic subpprogram that carries an Inline aspect. Place
+	inline info on the anonymous subprogram that is constructed in
+	the wrapper package.
+	(Analyze_Pragma, case Pure): Do not check placement if pragma
+	appears within an instantiation, which can be nested at any level.
+	* sem_ch12.adb (Analyze_Instance_And_Renamings): Do not copy Freeze
+	node from anonymous subprogram to its visible renaming. The
+	freeze node will be constructed if the subprogram carries
+	delayed aspects.
+	(Set_Global): Preserve dimension information if present (from
+	code reading).
+
+2016-04-21  Vasiliy Fofanov  <fofanov@adacore.com>
+
+	* gnatlink.adb: Change wording of the warning message on
+	problematic filenames to be more neutral. Add a new substring
+	"patch" introduced on Windows 10.
+
+2016-04-21  Philippe Gil  <gil@adacore.com>
+
+	* tracebak.c (__gnat_backtrace): handle bad RIP values (win64 only)
+
+2016-04-21  Javier Miranda  <miranda@adacore.com>
+
+	* exp_aggr.adb (Component_Not_OK_For_Backend): Return true for string
+	literals.
+
+2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* einfo.adb (Has_Non_Null_Abstract_State): New routine.
+	* einfo.ads New synthesized attribute
+	Has_Non_Null_Abstract_State along with occurrences in entities.
+	(Has_Non_Null_Abstract_State): New routine.
+	* sem_ch7.adb (Unit_Requires_Body): Add local variable
+	Requires_Body. A package declaring an abstract state requires
+	a body only when the state is non-null and the package contains
+	at least one other construct that requires completion in a body.
+	* sem_util.adb (Mode_Is_Off): Removed.
+	(Requires_State_Refinement): Remove an obsolete check. Code
+	cleanup.
+
+2016-04-21  Bob Duff  <duff@adacore.com>
+
+	* sem_attr.adb (Analyze_Attribute): In processing
+	the 'Old attribute, a warning is given for infinite recursion. Fix
+	the code to not crash when the prefix of 'Old denotes a protected
+	function.
+	* sem_ch5.adb (Analyze_Iterator_Specification):
+	Avoid calling Is_Dependent_Component_Of_Mutable_Object in cases
+	where the parameter would not be an object.
+
+2016-04-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_eval.adb (Compile_Time_Compare): Be prepared for an empty
+	Etype or Underlying_Type of the operands.
+
+2016-04-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* atree.adb (Print_Statistics): Protect against overflows and
+	print the memory consumption in bytes.
+	* table.adb (Reallocate): Do the intermediate calculation of the new
+	size using the Memory.size_t type.
+
+2016-04-21  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_attr.adb (Is_Inline_Floating_Point_Attribute): Suppress
+	expansion of Attribute_Machine and Attribute_Model for AAMP.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* freeze.adb: Disable previous change for now.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch8.adb (Find_Selected_Component): If prefix has an
+	access type and designated type is a limited view, introduce
+	an explicit dereference before continuing the analysis, and
+	set its type to the non-limited view of the designated type,
+	if we are in context where it is available.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* freeze.adb: Freeze profile in ASIS mode.
+
+2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_aux.ads, sem_aux.adb (Has_Rep_Item): New variant.
+	* sem_util.adb (Inherit_Rep_Item_Chain): Reimplemented.
+
+2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch6.adb: Minor reformatting.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb: Minor comment update.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* freeze.ads, freeze.adb (Freeze_Entity, Freeze_Before): Add
+	boolean parameter to determine whether freezing an overloadable
+	entity freezes its profile as well. This is required by
+	AI05-019. The call to Freeze_Profile within Freeze_Entity is
+	conditioned by the value of this flag, whose default is True.
+	* sem_attr.adb (Resolve_Attribute, case 'Access): The attribute
+	reference freezes the prefix, but it the prefix is a subprogram
+	it does not freeze its profile.
+
+2016-04-21  Javier Miranda  <miranda@adacore.com>
+
+	* exp_util.adb (Build_Procedure_Form): No action needed for
+	subprogram renamings since the backend can generate the call
+	using the renamed subprogram. This leaves the tree more clean
+	to the backend.
+	* exp_ch6.adb (Expand_Call): Extend previous patch for
+	rewritten-for-c entities to handle subprogram renamings.
+	(Rewrite_Function_Call_For_C): Handle subprogram renamings.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb: Code cleanup.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): If the body is
+	created for SPARK_To_C, the entity must remain invisible so it
+	does not overload subsequent references to the original function.
+	* exp_ch6.adb (Build_Procedure_Body_Form, Replace_Returns):
+	Handle Extended_Return_Statements by replacing it with a block
+	with assignments and a simple return statement.
+	* exp_util.adb (Build_Procedure_Form): Make procedure entity
+	invisible after analyzing declaration, to prevent improper
+	overloading.
+
+2016-04-21  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch6.adb (Build_Subprogram_Declaration): Propagate the
+	attribute Rewritten_For_C to the body since since the expander
+	may generate calls using that entity.
+	* exp_ch6.adb (Expand_Call): For internally generated
+	calls ensure that they reference the entity of the spec
+	of the called function.
+	(Rewritten_For_C_Func_Id): New subprogram.
+	(Rewritten_For_C_Proc_Id): New subprogram.
+	(Rewrite_Function_Call_For_C): Invoke the new subprogram to
+	ensure that we skip freezing entities.
+	* exp_util.adb (Build_Procedure_Form): No action needed if the
+	procedure was already built.
+
+2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch3.adb, exp_util.adb, sem_ch13.adb, exp_unst.adb: Minor
+	reformatting.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.adb (Denotes_Iterator): Use root type to determine
+	whether the ultimate ancestor is the predefined iterator
+	interface pakage.
+	* exp_ch5.adb (Expand_Iterator_Over_Container): simplify code
+	and avoid reuse of Pack local variable.
+
+2016-04-21  Olivier Hainque  <hainque@adacore.com>
+
+	* system-vxworks-arm.ads, system-vxworks-sparcv9.ads,
+	system-vxworks-ppc.ads, system-vxworks-m68k.ads,
+	system-vxworks-mips.ads, system-vxworks-x86.ads: Define
+	Executable_Extension to ".out".
+
+2016-04-21  Javier Miranda  <miranda@adacore.com>
+
+	* frontend.adb: Update call to Unnest_Subprograms.
+	* exp_ch6.ads, exp_ch6.adb, exp_unst.ads, exp_unst.adb
+	(Unnest_Subprograms): Moved to package exp_unst.
+	* exp_unst.ads (Unnest_Subprogram): Moved to the body of the
+	package.
+	* exp_dbug.adb (Qualify_Entity_Name): Enable qualification of
+	enumeration literals when generating C code.
+
+2016-04-21  Javier Miranda  <miranda@adacore.com>
+
+	* frontend.adb: Remove call to initialize Exp_Ch6.
+	* exp_ch6.ads, exp_ch6.adb (Initialize): removed.
+	(Unest_Entry/Unest_Bodies): Removed.
+	(Unnest_Subprograms): Code cleanup.
+
+2016-04-21  Arnaud Charlet  <charlet@adacore.com>
+
+	* set_targ.adb (Read_Target_Dependent_Values):
+	close target description file once its contents is read.
+	* s-os_lib.adb (Non_Blocking_Spawn, version with Stdout_File
+	and Stderr_File): Close local file descriptors before spawning
+	child process.
+	* exp_util.adb (Containing_Package_With_Ext_Axioms): Limit scope of
+	local variables to make the code easier to understand and avoid
+	duplicated calls to Parent and Generic_Parent.
+
+2016-04-20  Bob Duff  <duff@adacore.com>
+
+	* s-os_lib.ads: Minor comment fix.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch5.adb (Expand_N_Assignment_Statement): Do no generate
+	a discriminant check for a type whose partial view has unknown
+	discriminants when the full view has discriminants with defaults.
+
+2016-04-20  Javier Miranda  <miranda@adacore.com>
+
+	* exp_util.adb (Remove_Side_Effects): When generating C code
+	remove side effect of type conversion of access to unconstrained
+	array type.
+	(Side_Effect_Free): Return false for the type
+	conversion of access to unconstrained array type when generating
+	C code.
+	* sem_res.adb (Resolved_Type_Conversion): Remove side effects
+	of access to unconstrained array type conversion when generating
+	C code.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Build_Predicate_Function_Declaration): New
+	function, to construct the declaration of a predicate function
+	at the end of the current declarative part rather than at the
+	(possibly later) freeze point of the type. This also allows uses
+	of a type with predicates in instantiations elsewhere.
+	(Resolve_Aspect_Expression): New procedure to detect visiblity
+	errors in aspect expressions, at the end of the declarative part
+	that includes the type declaration.
+	* sem_ch3.adb (Complete_Private_Subtype): Propagate properly the
+	predicate function from private to full view.
+	* einfo.adb (Predicate_Function): Refine search for predicate
+	function when type has a full view and predicate function may
+	be defined on either view.
+
+2016-04-20  Javier Miranda  <miranda@adacore.com>
+
+	* frontend.adb: Passing the root of the tree to
+	Unnest_Subprograms().
+	* exp_ch6.adb (Expand_N_Subprogram_Body): Remove code that
+	took care of adding subprograms to the Unest_Bodies table since
+	performing such action too early disables the ability to process
+	generic instantiations.
+	(Unnest_Subprograms): Adding parameter.
+	(Search_Unnesting_Subprograms): New subprogram.
+	* exp_ch6.ads (Unnest_Subrograms): Update documentation.
+
+2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_util.adb, freeze.adb, sem_util.adb: Minor reformatting.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_unst.adb (Check_Static_Type): For a private type, check
+	full view.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_attr.adb (Check_Type): Reject an attribute reference in
+	an aspect expression, when the prefix of the reference is the
+	current instance of the type to which the aspect applies.
+
+2016-04-20  Bob Duff  <duff@adacore.com>
+
+	* sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about
+	hiding unless we're actually hiding something. The previous
+	code would (for example) warn about a "<" on a record type
+	because it incorrectly thought it was hiding the "<" on Boolean
+	in Standard. We need to check that the homonym S is in fact a
+	homograph of a predefined operator.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_util.ads, exp_util.adb (Build_Procedure_Form): Moved here
+	from exp_ch6.adb, for use in SPARK_To_C mode when creating the
+	procedure equivalent to a function returning an array, when this
+	construction is deferred to the freeze point of the function.
+	* sem_util.adb (Is_Unchecked_Conversion_Instance): Include a
+	function that renames an instance of Unchecked_Conversion.
+	* freeze.adb (Freeze_Subprogram): Generate the proper procedure
+	declaration for a function returning an array.
+	* exp_ch6.adb (Build_Procedure_Form): Moved to exp_util.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.ads, sem_util.adb (Is_Expanded_Priority_Attribute):
+	New predicate to determine that in a context with full run-time,
+	a function call is an expansion of a reference to attribute
+	Priority.
+	* sem_ch5.adb (Analyze_Function_Call): use it.
+	* exp_ch5.adb (Expand_N_Subprogram_Call): use it.
+
+2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* einfo.adb Flag286 is now used as Is_Exception_Handler.
+	(Is_Exception_Handler): New routine.
+	(Set_Is_Exception_Handler): New routine.
+	(Write_Entity_Flags): Output the status of Is_Exception_Handler.
+	* einfo.ads New attribute Is_Exception_Handler along with
+	occurrences in entities.
+	(Is_Exception_Handler): New routine along with pragma Inline.
+	(Set_Is_Exception_Handler): New routine along with pragma Inline.
+	* exp_ch7.adb (Make_Transient_Block): Ignore blocks generated
+	for exception handlers with a choice parameter.
+	* sem_ch11.adb (Analyze_Exception_Handlers): Mark the scope
+	generated for a choice parameter as an exception handler.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Build_Derived_Access_Type): Remove dead code.
+	(Constrain_Discriminated_Type): In an instance, if the type has
+	unknown discriminants, use its full view.
+	(Process_Subtype): Check that the base type is private before
+	adding subtype to Private_Dependents list.
+
+2016-04-20  Bob Duff  <duff@adacore.com>
+
+	* sem_ch13.adb: Minor comment fix.
+
+2016-04-20  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch4.adb: Fix typos in comments.
+	* sem_res.adb (Resolve_Case_Expression): Fix type of case alternatives.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Analyze_Selected_Component): A reference to the
+	current instance of a task type is legal if the prefix is an
+	expression of that task type and the selector is an entry or
+	entry family.
+
+2016-04-20  Arnaud Charlet  <charlet@adacore.com>
+
+	* a-cfdlli.ads (List): Type is no longer tagged, not needed. Move
+	varsize field at the end for efficiency.
+
+2016-04-20  Vincent Celier  <celier@adacore.com>
+
+	* gnatcmd.adb: Do not invoke gprls when the invocation of "gnat
+	ls" includes the switch -V.
+	* clean.adb: "<target>-gnatclean -P" now calls "gprclean
+	--target=<target>"
+	* make.adb: "<target>-gnatmake -P" now calls "gprbuild
+	--target=<target>"
+
+2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch12.adb (Qualify_Type): Do not perform
+	partial qualification when the immediate scope is a generic unit.
+
+2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_unst.adb: Minor reformatting.
+
+2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch4.adb (Expand_Allocator_Expression): Ensure that the
+	tag assignment and adjustment preceed the accessibility check.
+	* exp_ch7.adb (Is_Subprogram_Call): Reimplemented.
+
+2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_prag.adb (Expand_Attributes): Ensure that
+	the temporary used to capture the value of attribute 'Old's
+	prefix is properly initialized.
+
+2016-04-20  Javier Miranda  <miranda@adacore.com>
+
+	* exp_unst.ads, exp_unst.adb (Get_Level, Subp_Index): Moved to library
+	level.
+
+2016-04-20  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_ch9.adb (Analyze_Task_Type_Declaration): Shut down warning
+	in codepeer mode.
+
+2016-04-20  Vincent Celier  <celier@adacore.com>
+
+	* make.adb: Code cleanup.
+
+2016-04-20  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_ch4.adb (Expand_Allocator_Expression): Help C code
+	generation.
+
+2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch12.adb (Copy_Generic_Node): Handle the special
+	qualification installed for universal literals that act as
+	operands in binary or unary operators.	(Qualify_Operand): Mark
+	the qualification to signal the instantiation mechanism how to
+	handle global reference propagation.
+	* sinfo.adb (Is_Qualified_Universal_Literal): New routine.
+	(Set_Is_Qualified_Universal_Literal): New routine.
+	* sinfo.ads New attribute Is_Qualified_Universal_Literal along
+	with occurrences in nodes.
+	(Is_Qualified_Universal_Literal):
+	New routine along with pragma Inline.
+	(Set_Is_Qualified_Universal_Literal): New routine along with
+	pragma Inline.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem.adb (Do_Analyze): Save and restore Style_Max_Line_Length
+	so that the corresponding checks are preserved across compilations
+	that include System.Constants in their context.
+
+2016-04-20  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_type.adb: Minor typo fix and reformatting.
+	* a-conhel.ads: Update comment.
+
+2016-04-20  Bob Duff  <duff@adacore.com>
+
+	* a-cihama.adb, a-cihase.adb, a-coinve.adb (Copy): Rewrite the
+	code so it doesn't trigger an "uninit var" warning.
+
+2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_attr.ads Add new table Universal_Type_Attribute.
+	* sem_util.adb (Yields_Universal_Type): Use a table lookup when
+	checking attributes.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_aggr.adb (Init_Stored_Discriminants,
+	Init_Visible_Discriminants): New procedures, subsidiary of
+	Build_Record_Aggr_Code, to handle properly the construction
+	of aggregates for a derived type that constrains some parent
+	discriminants and renames others.
+
+2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch12.adb (Qualify_Universal_Operands): New routine.
+	(Save_References_In_Operator): Add explicit qualifications in
+	the generic template for all operands of universal type.
+	* sem_type.adb (Disambiguate): Update the call to Matches.
+	(Matches): Reimplemented.
+	* sem_util.ads, sem_util.adb (Yields_Universal_Type): New routine.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Rep_Item_Too_Late): Better error message for
+	an illegal aspect that freezes the entity to which it applies.
+
+2016-04-20  Bob Duff  <duff@adacore.com>
+
+	* a-stwibo.ads, a-stzbou.ads
+	("="): Add overriding keyword before function to avoid crash when
+	compiler is called with -gnatyO (check overriding indicators).
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma, case Check_Policy):  If this
+	is a configuration pragma and it uses the ARG syntax, insert
+	the rewritten pragma after the current one rather than using
+	Insert_Actions.
+
+2016-04-20  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_aggr.adb (Backend_Processing_Possible): Add handling of
+	C back-end.
+
+2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* s-imgllu.adb, sem_util.adb, s-imgint.adb, s-imguns.adb,
+	s-imglli.adb: Minor reformatting.
+
+2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_res.adb (Rewrite_Renamed_Operator): Do not rewrite the
+	renamed operator when the associated node appears within a
+	pre/postcondition.
+	* sem_util.ads, sem_util.adb (In_Pre_Post_Condition): New routine.
+
+2016-04-20  Yannick Moy  <moy@adacore.com>
+
+	* osint.adb (Relocate_Path): Fix test when Path is shorter than Prefix.
+	* einfo.adb (Set_Overridden_Operation): Add assertion.
+	* sem_util.adb (Unique_Entity): for renaming-as-body return the spec
+	entity.
+
+2016-04-20  Javier Miranda  <miranda@adacore.com>
+
+	* exp_unst.adb (Append_Unique_Call): New subprogram.
+	(Unnest_Subprogram): Replace the unique occurrence
+	of Call.Append() by Append_Unique_Call() which protects us from
+	adding to the Calls table duplicated entries.
+
+2016-04-20  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_attr.adb (Is_GCC_Target): Fix for C backend.
+	* xref_lib.ads (Dependencies_Tables): instantiate
+	Table package with types that guarantee its safe use.
+	* s-imgllu.adb, s-imgint.adb, s-imguns.adb, s-imglli.adb: Avoid nested
+	procedures.
+
+2016-04-20  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Valid]):
+	Disable expansion when generating C code.
+	* sinfo.ads, inline.ads: Minor editing.
+
+2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_util.adb, contracts.adb, ghost.adb, exp_ch6.adb: Minor
+	reformatting.
+
+2016-04-20  Javier Miranda  <miranda@adacore.com>
+
+	* contracts.adb (Build_Postconditions_Procedure): Code cleanup.
+	* ghost.adb (Os_OK_Ghost_Context.Is_OK_Declaration): Handle the
+	declaration of the internally built _postcondition procedure.
+
+2016-04-20  Arnaud Charlet  <charlet@adacore.com>
+
+	* snames.ads-tmpl (Internal_Attribute_Id, Attribute_Class_Array): Fix
+	indentation.
+	* sem_util.adb (Is_Unchecked_Conversion_Instance):
+	defense against library-level renamings of other functions,
+	which are never instances of Unchecked_Conversion.
+	* einfo.ads: minor fix of casing in comment
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch6.adb (Expand_N_Subprogram_Stub): Do not expand a body
+	that has been analyzed and expanded already. Qualify the names
+	in the proper body for use in the generation of C code.
+
+2016-04-20  Javier Miranda  <miranda@adacore.com>
+
+	* contracts.adb (Build_Postconditions_Procedure): Force its
+	inlining when generating C code.
+	* sem_attr.adb (Analyze_Attribute_Old_Result): Handle inlined
+	_postconditions when generating C code.
+	* exp_ch6.adb (Inlined_Subprogram): Inline calls to
+	_postconditions when generating C code.
+	* sinfo.ads, sinfo.adb (Corresponding_Spec, Set_Corresponding_Spec):
+	types of return value and argument changed from Node_Id to
+	Entity_Id.
+
+2016-04-20  Vincent Celier  <celier@adacore.com>
+
+	* make.adb, clean.adb, gnatname.adb: Revert previous change for now.
+
+2016-04-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch12.adb (Analyze_Instance_And_Renamings): Do not reset
+	the Has_Delayed_Freeze flag on the anonymous instance node.
+
+2016-04-20  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch5.adb (Analyze_Iterator_Specification): Remove transient
+	scope associated with the renaming object declaration.
+	* exp_util.adb (Insert_Actions): Remove handling of iterator
+	loop marked as requiring the secondary stack.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_attr.adb (Analyze_Attribute, case 'Image): Implement
+	AI12-0124, which extends the functionality of the attribute so it
+	reflects the semantics of GNAT 'Img when applied to scalar types.
+	* lib-xref.adb: minor whitespace layout fix.
+
+2016-04-20  Vincent Celier  <celier@adacore.com>
+
+	* clean.adb (Gnatclean): Fail if project file specified and
+	gprclean is not available.
+	* gnatname.adb: Fail is -P is used and gprname is not available.
+	* make.adb (Initialize): Fail if project file specified and
+	gprbuild is not available.
+
+2016-04-20  Bob Duff  <duff@adacore.com>
+
+	* sem_ch5.adb (Analyze_Iterator_Specification): Do not use secondary
+	stack when possible.
+
+2016-04-20  Gary Dismukes  <dismukes@adacore.com>
+
+	* par_sco.adb, sem_util.adb, sem_ch13.adb: Minor typo corrections and
+	reformatting.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma, case Default_Storage_Pool):
+	If the pragma comes from an aspect specification, verify that
+	the aspect applies to an entity with a declarative part.
+	* exp_ch5.adb: Code cleanup.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_res.adb (Resolve_If_Expression): If first expression is
+	universal, resolve subsequent ones with the corresponding class
+	type (Any_Integer or Any_Real).
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch5.adb (Analyze_Iterator_Specification): If expansion is
+	disabled, complete the analysis of the iterator name to ensure
+	that reference for entities within are properly generated.
+
+2016-04-20  Arnaud Charlet  <charlet@adacore.com>
+
+	* a-dispat.ads (Yield): add Global contract.
+	* a-calend.ads, a-reatim.ads: Added Initializes => Clock_Time.
+	* a-taside.adb: Added Initializes => Tasking_State.
+
+2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch13.adb (Build_Invariant_Procedure):
+	Reimplement the invariant procedure spec and body insertion.
+
+2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch13.adb (Add_Invariant): Do not replace
+	the saved expression of an invariatn aspect when inheriting
+	a class-wide type invariant as this clobbers the existing
+	expression. Do not use New_Copy_List as it is unnecessary
+	and leaves the parent pointers referencing the wrong part of
+	the tree. Do not replace the type references for ASIS when
+	inheriting a class-wide type invariant as this clobbers the
+	existing replacement.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.adb (Build_Explicit_Dereference): If the designated
+	expression is an entity name, generate reference to the entity
+	because it will not be resolved again.
+
+2016-04-19  Arnaud Charlet  <charlet@adacore.com>
+
+	* doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
+	gnat_rm.texi: Update documentation.
+
+2016-04-19  Olivier Hainque  <hainque@adacore.com>
+
+	* par_sco.adb (Traverse_One, case N_Case_Statement):
+	Skip pragmas before the first alternative.
+	(Traverse_Handled_Statement_Sequence, Exception_Handlers): Likewise.
+
+2016-04-19  Tristan Gingold  <gingold@adacore.com>
+
+	* adaint.c (__gnat_lwp_self): New function (for darwin).
+	* s-osinte-darwin.ads, s-osinte-darwin.adb (lwp_self): Import
+	of __gnat_lwp_self.
+
+2016-04-19  Olivier Hainque  <hainque@adacore.com>
+
+	* sem_util.adb (Build_Elaboration_Entity): Always request an
+	elab counter when preserving control-flow.
+
+2016-04-19  Olivier Hainque  <hainque@adacore.com>
+
+	* sem_ch13.adb (Build_Invariant_Procedure_Declaration): Set
+	Needs_Debug_Info when producing SCOs.
+	* par_sco.adb (Traverse_Aspects): Fix categorization of
+	Type_Invariant to match actual processing as activated depending
+	on pragma Assertion_Policy.
+	* sem_prag.adb (Analyze_Pragma): Remove special case for
+	Name_Invariant regarding SCO generation, which completely disabled
+	the production of SCOs for Invariant pragmas and aspects.
+
+2016-04-19  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* checks.adb, sem_util.adb, sem_res.adb, sem_attr.adb: Minor
+	reformatting.
+
+2016-04-19  Ed Schonberg  <schonberg@adacore.com>
+
+	* freeze.adb (Freeze_Profile): Refine predicate that checks
+	whether a function that returns a limited view is declared in
+	another unit and cannot be frozen at this point.
+
+2016-04-19  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_aggr.adb (Component_Count): Handle properly superflat
+	arrays, i.e. empty arrays where Hi < Lo - 1, to ensure that the
+	return value of the function is Natural, rather than leaving
+	the handling of such arrays to the caller of this function.
+
+2016-04-19  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_prag.adb, sem_attr.adb, par-prag.adb, exp_aggr.adb, sem_type.adb
+	sem_ch12.adb, sem_ch3.adb, exp_ch7.adb, exp_ch9.adb: Code cleanup.
+	* sem_res.adb, sem_util.ads, sem_util.adb (Is_OK_Volatile_Context):
+	Promoted from being a nested subprogram in Sem_Res.Resolve_Entity_Name
+	to publicly visible routine in Sem_Util.
+
+2016-04-19  Ed Schonberg  <schonberg@adacore.com>
+
+	* checks.adb (Apply_Parameter_Aliasing_Checks): Do not apply
+	the check if the type of the actual is By_Reference.
+
+2016-04-19  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_res.adb (Within_Subprogram_Call): Detect
+	also nodes that appear in entry calls.
+	(Resolve_Actuals, Insert_Default): Propagate
+	dimension information if any, from default expression to the
+	copy that appears in the list of actuals.
+	* uintp.ads: minor whitespace fix in comment.
+	* sem_prag.adb, stringt.adb, inline.adb, lib-xref-spark_specific.adb:
+	Minor code cleanup.
+	* set_targ.adb (Set_Targ): convert directly from
+	Natural to Pos, without intermediate conversion to Int.
+
+2016-04-19  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_ch6.adb (Process_Formals): Mark suspicious reference to
+	SPARK RM in comment.
+	* sem_prag.adb (Analyze_Global_Item): Fix reference to SPARK RM
+	in comment.
+	* sem_res.adb (Property_Error, Resolve_Actuals): Fix reference
+	to SPARK RM in both comment and error message.
+
+2016-04-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch6.adb (Possible_Freeze): If the type is an incomplete
+	CW type, then the subprogram must have a delayed freeze. This
+	ensures that the backend can properly recover the full view when
+	elaborating the access subprogram declaration.
+
+2016-04-19  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_attr.adb (Resolve_Attribute, case 'Access): Freeze
+	overloadable entity if originally overloaded.
+
+2016-04-19  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_aggr.adb, exp_ch3.adb, exp_ch7.adb, exp_ch9.adb, exp_code.adb,
+	exp_fixd.adb, namet.adb, osint.adb, osint.ads, par-ch2.adb,
+	sem_ch10.adb, sem_ch12.adb, sem_disp.adb, sem_elab.adb, sem_elim.adb
+	sem_util.adb, styleg.adb, styleg.ads, stylesw.ads: Minor code
+	clean up.
+
+2016-04-19  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_util.adb (Copy_Node_With_Replacement):
+	use Set_Comes_From_Source instead of directly manipulating
+	internals of the node table.
+	* sem_util.adb (Within_Scope): refactored to remove duplicated code.
+	* sem_aux.adb (Get_Rep_Pragma,
+	Subprogram_Body_Entity, Subprogram_Spec): declare variables that
+	do not change as constants and initialize them in the declaration.
+	(Get_Rep_Pragma, Subprogram_Body_Entity, Subprogram_Spec): declare
+	variables that do not change as constants and initialize them
+	in the declaration.
+
+2016-04-19  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_res.adb (Resolve_Entry_Call): If the entry has
+	preconditions it is rewritten by means of a wrapper that
+	incorporates the original call. Before rewriting generate a
+	reference to the entry being called to prevent spurious warnings
+	and provide correct cross-reference information.
+
+2016-04-19  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_disp.adb (Check_Dispatching_Context): Code cleanup. Add
+	local constant Scop. Ignore any internally generated loops when
+	performing the check concerning an abstract subprogram call
+	without a controlling argument.
+	* sem_util.ads, sem_util.adb (Current_Scope_No_Loops): New routine.
+
+2016-04-19  Bob Duff  <duff@adacore.com>
+
+	* sem_elab.adb (Check_A_Call): There are cases where we have No
+	(Ent) after the Alias loop, even when there was no previous error,
+	so we can't assert that there was an error.
+
+2016-04-19  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_attr.adb (Analyze_Access_Attribute, OK_Self_Reference):
+	Reject use of type name as a prefix to 'access within an aggregate
+	in a context that is not the declarative region of a type.
+
+2016-04-19  Vincent Celier  <celier@adacore.com>
+
+	* gnatcmd.adb: Make "gnat ls -P" invoke gprls Make "gnat bind
+	-P" invoke "gprbuild -b" Make "gnat link -P" invoke "gprbuild
+	-l" Fail if the invocation is "gnat find -P" or "gnat xref -P"
+	Remove anything related to project files
+	* g-mbdira.adb: minor whitespace cleanup
+	* g-spipat.adb: minor removal of extra spaces after closing paren
+
+2016-04-19  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch6.adb (Expand_Actuals):  If post-statements are present
+	and the enclosing context is a function call or indexing, build
+	an Expression_With_Actions for the call.
+
+2016-04-19  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* lib-writ.adb (Write_With_Lines): Code cleanup. Do not generate
+	a with line for an ignored Ghost unit.
+	* sem_ch7.adb (Analyze_Package_Declaration): Add local constant
+	Par. A child package is Ghost when its parent is Ghost.
+	* sem_prag.adb (Analyze_Pragma): Pragma Ghost can now apply to
+	a subprogram declaration that acts as a compilation unit.
+
+2016-04-18  Michael Matz  <matz@suse.de>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity): Use SET_TYPE_ALIGN.
+	(gnat_to_gnu_field): Ditto.
+	(components_to_record): Ditto.
+	(create_variant_part_from): Ditto.
+	(copy_and_substitute_in_size): Ditto.
+	(substitute_in_type): Ditto.
+	* gcc-interface/utils.c (make_aligning_type): Use SET_TYPE_ALIGN.
+	(make_packable_type): Ditto.
+	(maybe_pad_type): Ditto.
+	(finish_fat_pointer_type): Ditto.
+	(finish_record_type): Ditto and use SET_DECL_ALIGN.
+	(rest_of_record_type_compilation): Use SET_TYPE_ALIGN.
+	(create_field_decl): Use SET_DECL_ALIGN.
+
+2016-04-18  Arnaud Charlet  <charlet@adacore.com>
+
+	* einfo.adb (Overridden_Operation): assert that
+	function is called for valid arguments.
+	* sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, sem_type.adb,
+	s-osinte-vxworks.ads, a-ngcefu.adb, sem_ch10.adb, einfo.ads,
+	sem_prag.adb, sem_ch12.adb, sem.adb, i-cobol.ads, freeze.adb,
+	sem_util.adb, a-chtgop.ads, s-rannum.adb, exp_ch6.adb, s-bignum.adb,
+	s-osinte-freebsd.ads, par-ch5.adb, a-chtgbo.ads, a-cofove.adb:
+	No space after closing parenthesis except where required for
+	layout.
+	* sem_res.adb: Minor reformatting.
+
+2016-04-18  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_ch4.adb (Expand_N_Case_Expression): Convert into a case
+	statement when relevant.
+
+2016-04-18  Bob Duff  <duff@adacore.com>
+
+	* a-cuprqu.adb (Enqueue): Properly handle the
+	case where the new element has a unique priority.
+
+2016-04-18  Tristan Gingold  <gingold@adacore.com>
+
+	* adaint.h: Define stat structures and functions for iOS
+	simulator.
+
+2016-04-18  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_res.adb (Resolve_Entry_Call): reset
+	Is_Overloaded flag after resolving calls to overloaded protected
+	operations.
+	* exp_spark.adb (Expand_SPARK): call
+	Qualify_Entity_Names for tasking nodes, i.e. protected types,
+	task types and entries.
+	* exp_ch4.adb (Expand_N_If_Expression): Refine previous change
+	in case of an unconstrained type.
+
+2016-04-18  Yannick Moy  <moy@adacore.com>
+
+	* sem_eval.adb, sem_eval.ads (Check_Non_Static_Context): Add
+	comment to document usage of subprogram in GNATprove.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma, case Test_Case): Improve error
+	message for wrong placement of aspect Test_Case.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* einfo.ads: Update the documentation of attribute Renamed_Object.
+	* exp_spark.adb (Expand_Potential_Renaming): Reimplemented.
+
+2016-04-18  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_ch4.adb (Optimize_Length_Comparison): Return immediately
+	in the case of AAMP (same as for use of the -gnatd.P switch) to
+	suppress this optimization, which avoids creating a dependence
+	on the 64-bit arithmetic package.
+
+2016-04-18  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_ch4.adb: Update comment.
+
+2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_ch6.adb (Expand_Call): Make sure instantiations are
+	registered only once as pending here.
+
+2016-04-18  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_ch4.adb, gnat1drv.adb, opt.ads, sem_res.adb
+	(Minimize_Expression_With_Actions): New flag.
+	(Adjust_Global_Switches): Set Minimize_Expression_With_Actions
+	when generating C.
+	(Resolve_Short_Circuit): Redo previous change
+	using Minimize_Expression_With_Actions.
+	(Expand_N_If_Expression,
+	Expand_Short_Circuit_Operator): Restore old code to avoid
+	Expression_With_Actions when Minimize_Expression_With_Actions
+	is set.
+
+2016-04-18  Vincent Celier  <celier@adacore.com>
+
+	* s-os_lib.adb (Non_Blocking_Spawn, version with Stdout_File and
+	Stderr_File): Close local file descriptors when no longer needed.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch5.adb (Analyze_Iterator_Specification): Remove SPARK
+	mode check that the type of the cursor in an iteration over
+	a formal container is not volatile. The proper check on the
+	element type is done elsewhere.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Process_Formals): Do not set a delay freeze on
+	a subprogram that returns a class-wide type, if the subprogram
+	is a compilation unit, because otherwise gigi will treat the
+	subprogram as external, leading to link errors.
+
+2016-04-18  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_res.adb (Resolve_Short_Circuit): Do not use
+	expression-with-actions when generating C.
+
+2016-04-18  Yannick Moy  <moy@adacore.com>
+
+	* sem_util.adb (Apply_Compile_Time_Constraint_Error): Do not generate
+	raise node in GNATprove mode.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* s-fileio.adb: Minor reformatting.
+	* sem_prag.adb (Analyze_Input_Item): Add local
+	variable Input_OK. Do not consider mappings of generic formal
+	parameters to actuals.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch5.adb (Get_Cursor_Type): If iterator type is a derived
+	type, the cursor is declared in the scope of the parent type.
+	(Analyze_Parameter_Specification): A qualified expression with an
+	iterator type indicates an iteration over a container (explicit
+	or implicit).
+
+2016-04-18  Arnaud Charlet  <charlet@adacore.com>
+
+	* osint-c.ads, osint-c.adb (Delete_C_File, Delete_H_File): New.
+	* gnat1drv.adb (Gnat1drv): Delete old C files before regenerating them.
+	* debug.adb: Reserve -gnatd.4 to force generation of C files.
+
+2016-04-18  Yannick Moy  <moy@adacore.com>
+
+	* sem_eval.adb (Eval_Arithmetic_Op): Do not issue error on static
+	division by zero, instead possibly issue a warning.
+	* sem_res.adb (Resolve_Arithmetic_Op): Do not issue error on
+	static division by zero, instead add check flag on original
+	expression.
+	* sem_util.adb, sem_util.ads (Compile_Time_Constraint_Error):
+	Only issue error when both SPARK_Mode is On and Warn is False.
+
+2016-04-18  Yannick Moy  <moy@adacore.com>
+
+	* checks.adb (Apply_Scalar_Range_Check): Force
+	warning instead of error when SPARK_Mode is On, on index out of
+	bounds, and set check flag for GNATprove.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb (Check_In_Out_States.Check_Constituent_Usage):
+	Update the comment on usage.  Reimplemented.
+	(Check_Input_States.Check_Constituent_Usage): Update the comment
+	on usage. A Proof_In constituent can now refine an Input state
+	as long as there is at least one Input constituent present.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Check_Inline_Pragma): Use the Sloc of the
+	body id as the sloc of the entity in the generated subprogram
+	declaration, to avoid spurious conformance errors when style
+	checks are enabled.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Analyze_Selected_Component, Has_Dereference):
+	Refine check on illegal calls to entities within a task body,
+	when the entity is declared in an object of the same type. In
+	a generic context there might be no explicit dereference but if
+	the prefix includes an access type the construct is legal.
+
+2016-04-18  Arnaud Charlet  <charlet@adacore.com>
+
+	* rtsfind.ads, rtsfind.adb (RE_Id, RE_Unit_Table): add
+	RE_Default_Priority.
+
+2016-04-18  Bob Duff  <duff@adacore.com>
+
+	* sem_prag.adb (Check_Arg_Is_Local_Name): Don't do the check
+	if the pragma came from an aspect specification.
+
+2016-04-18  Gary Dismukes  <dismukes@adacore.com>
+
+	* gnat1drv.adb, contracts.adb: Minor reformatting and wording fixes.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): To suppress
+	superfluous conformance check on an inlined body with a previous
+	spec, use the fact that the generated declaration does not come
+	from source. We must treat the entity as coming from source to
+	enable some back-end inlining when pragma appears after the body.
+
+2016-04-18  Gary Dismukes  <dismukes@adacore.com>
+
+	* lib-xref-spark_specific.adb, par-ch2.adb, errout.ads,
+	exp_intr.adb: Minor reformatting and typo corrections.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb: Code cleanup.
+
+2016-04-18  Thomas Quinot  <quinot@adacore.com>
+
+	* sem_ch13.adb: Minor reformatting and error message tweaking
+	(remove extraneous spaces).
+
+2016-04-18  Johannes Kanig  <kanig@adacore.com>
+
+	* gnat1drv.adb (Gnat1drv): Force loading of System unit for SPARK.
+
+2016-04-18  Bob Duff  <duff@adacore.com>
+
+	* s-fileio.adb (Fopen_Mode): If Mode = Out_File, and the file
+	exists, and it's a fifo, we use "w" as the open string instead of
+	"r+". This is necessary to make a write to the fifo block until
+	a reader is ready.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_attr.adb (Denote_Same_Function): Account
+	for a special case where a primitive of a tagged type inherits
+	a class-wide postcondition from a parent type.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* par-ch2.adb (P_Expression_Or_Reserved_Word): New routine.
+	(P_Pragma): Signal Scan_Pragma_Argument_Association when the use
+	of reserved words is OK.
+	(Scan_Pragma_Argument_Association):
+	Add new formal Reserved_Words_OK and update the comment on
+	usage. Code cleanup. Parse an expression or a reserved word in
+	identifier form for pragmas Restriction_Warnings and Restrictions
+	No_Use_Of_Attribute.
+	* restrict.adb (Check_Restriction_No_Use_Of_Attribute):
+	Reimplemented.	(Check_Restriction_No_Use_Of_Pragma): Code cleanup.
+	(Set_Restriction_No_Specification_Of_Aspect): Properly set the warning
+	flag for an aspect.
+	(Set_Restriction_No_Use_Of_Attribute): Properly set the warning
+	flag for an attribute.	(Set_Restriction_No_Use_Of_Entity):
+	Update the parameter profile.
+	(Set_Restriction_No_Use_Of_Pragma): Properly set the warning flag for
+	a pragma.
+	* restrict.ads (Check_Restriction_No_Use_Of_Attribute): Update
+	the comment on usage.
+	(Set_Restriction_No_Use_Of_Entity): Update the parameter profile.
+	* sem_attr.adb (Analyze_Attribute): Check restriction
+	No_Use_Of_Attribute.
+	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check
+	restriction No_Use_Of_Attribute before any rewritings have
+	taken place.
+	* sem_prag.adb (Analyze_Pragma): Check restriction
+	No_Use_Of_Pragma before any rewritings have taken place.
+
+2016-04-18  Bob Duff  <duff@adacore.com>
+
+	* sem_ch6.adb (Is_Inline_Pragma): The pragma
+	argument can be a selected component, which has no Chars field,
+	so we need to deal with that case (use the Selector_Name).
+	(Check_Inline_Pragma): We need to test Is_List_Member before
+	calling In_Same_List, because in case of a library unit, they're
+	not in lists, so In_Same_List fails an assertion.
+
+2016-04-18  Bob Duff  <duff@adacore.com>
+
+	* namet.ads, namet.adb: Add an Append that appends a
+	Bounded_String onto a Bounded_String. Probably a little more
+	efficient than "Append(X, +Y);". Also minor cleanup.
+	(Append_Decoded, Append_Decoded_With_Brackets, Append_Unqualified,
+	Append_Unqualified_Decoded): Make sure these work with non-empty
+	buffers.
+	* casing.ads, casing.adb (Set_Casing): Pass a Bounded_String
+	parameter, defaulting to Global_Name_Buffer.
+	* errout.ads, errout.adb (Adjust_Name_Case): Pass a
+	Bounded_String parameter, no default.
+	* exp_ch11.adb (Expand_N_Raise_Statement): Use local
+	Bounded_String instead of Global_Name_Buffer.
+	* exp_intr.ads, exp_intr.adb (Write_Entity_Name): Rename it
+	to Append_Entity_Name, and pass a Bounded_String parameter,
+	instead of using globals.
+	(Add_Source_Info): Pass a Bounded_String parameter, instead of
+	using globals.
+	(Expand_Source_Info): Use local instead of globals.
+	* stringt.ads, stringt.adb (Append): Add an Append procedure
+	for appending a String_Id onto a Bounded_String.
+	(String_To_Name_Buffer, Add_String_To_Name_Buffer): Rewrite in
+	terms of Append.
+	* sem_prag.adb (Set_Error_Msg_To_Profile_Name): Adjust for new
+	Adjust_Name_Case parameter.
+	* erroutc.adb, uname.adb: Don't pass D => Mixed_Case to
+	Set_Casing; that's the default.
+	* lib-xref-spark_specific.adb (Add_SPARK_Scope): Pretend that calls to
+	protected subprograms are entry calls; otherwise it is not possible to
+	distinguish them from regular subprogram calls.
+
+2016-04-18  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_ch13.adb (Has_Good_Profile): Improvement
+	of error message. Now indicates subtype_mark of formal parameter
+	rather than the formal's name, plus minor rewording.
+
+2016-04-18  Pascal Obry  <obry@adacore.com>
+
+	* adaint.c, adaint.h, s-os_lib.ads: Add new routine Current_Process_Id.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* stringt.adb, exp_ch6.adb, sem_ch13.adb: Minor reformatting.
+
+2016-04-18  Gary Dismukes  <dismukes@adacore.com>
+
+	* par-ch4.adb, sem_prag.adb: Minor reformatting.
+
+2016-04-18  Bob Duff  <duff@adacore.com>
+
+	* sinput.ads, sinput.adb (Build_Location_String): Take a
+	parameter instead of using a global variable.  The function
+	version no longer destroys the Name_Buffer.
+	* stringt.ads, stringt.adb (String_From_Name_Buffer): Take a
+	parameter, which defaults to the Global_Name_Buffer, so some
+	calls can avoid the global.
+	* exp_ch11.adb, exp_intr.adb: Use new interfaces above
+	to avoid using globals. All but one call to Build_Location_String
+	avoids the global. Only one call to String_From_Name_Buffer
+	avoids it.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* namet.adb, namet.ads, exp_unst.adb: Minor reformatting.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_eval.adb (Choice_Matches): Check the expression
+	against the predicate values when the choice denotes a
+	subtype with a static predicate.
+	(Eval_Membership_Op): Code cleanup. Remove the suspicious guard which
+	tests for predicates.
+	(Is_OK_Static_Subtype): A subtype with a dynamic predicate
+	is not static.	(Is_Static_Subtype): A subtype with a dynamic
+	predicate is not static.
+	* sem_eval.ads (Is_OK_Static_Subtype): Update the comment on usage.
+	(Is_Static_Subtype): Update the comment on usage.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb (Analyze_Input_Item): Allow
+	generic formals to appear as initialization items.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Analyze_Stream_TSS_Definition,
+	Has_Good_Profile): Additional error message to indicate that
+	the second parameter of the subprogram must be a first subtype.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Analyze_Subprogram_Body_Helper, Is_Inline_Pragma):
+	Use the pragma lookahead that determines whether a subprogram
+	is to be inlined, when some level of backend optimization is
+	required.
+	* sem_ch12.ads, sem_ch12.adb (Add_Pending_Instantiation): Factorize
+	code used to create an instance body when needed for inlining.
+	* exp_ch6.adb (Expand_Call): When a call is to be inlined, and the
+	call appears within an instantiation that is not a compilation
+	unit, add a pending instantiation for the enclosing instance,
+	so the backend can inline in turn the calls contained in the
+	inlined body.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Build_Pragma_Check_Equivalent): The mapping
+	that relates operations of the parent type to the operations of
+	the derived type has three distinct sources:
+	a) explicit operations of the derived type carry an
+	Overridden_Operation that designates the operation in the
+	ancestor.
+	b) Implicit operations that are inherited by the derived type
+	carry an alias that may be an explicit subprogram (in which case
+	it may have an Overridden_ Operation indicator) or may also be
+	inherited and carry its own alias.
+	c) If the parent type is an interface, the operation of the
+	derived type does not override, but the interface operation
+	indicates the operation that implements it.
+	* sem_prag.adb: Minor reformatting.
+	* sem_prag.adb (Check_External_Property): Update
+	the comment on usage. Reimplement.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch5.adb (Expand_Assignment_Statement): In restricted
+	profiles such as ZFP, ceiling priority is not available.
+
+2016-04-18  Bob Duff  <duff@adacore.com>
+
+	* namet-sp.ads: Minor typo fix, ironically in 'Spelling_Checker'.
+
+2016-04-18  Bob Duff  <duff@adacore.com>
+
+	* sem_elab.adb (Output_Calls): Use
+	Get_Name_String, to clearly indicate that the global Name_Buffer
+	is being used. The previous code used Is_Internal_Name, which
+	returns a Boolean, but also has a side effect of setting the
+	Name_Buffer. Then it called the other Is_Internal_Name, which uses
+	the Name_Buffer for its input. And then it called Error_Msg_N,
+	again using the Name_Buffer. We haven't eliminated the global
+	usage here, but we've made it a bit clearer.
+	This also allows us to have a side-effect-free version of
+	Is_Internal_Name.
+	* namet.ads, namet.adb: Provide a type Bounded_String, along with
+	routines that can be used without using global variables. Provide
+	Global_Name_Buffer so existing code can continue to use the
+	global. Mark the routines that use globals as obsolete.  New code
+	shouldn't call the obsolete ones, and we should clean up existing
+	code from time to time.
+	Name_Find_Str is renamed as Name_Find.
+	* namet.h: Changed as necessary to interface to the new version
+	of Namet.
+	* bindgen.adb, exp_unst.adb: Name_Find_Str is renamed as
+	Name_Find.
+
+2016-04-18  Yannick Moy  <moy@adacore.com>
+
+	* sem_util.adb, sem_util.ads (Has_Full_Default_Initialization): used
+	outside of GNATprove, hence it should not be removed.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb (Analyze_Refinement_Clause):
+	The refinement of an external abstract state can now mention
+	non-external constituents.
+	(Check_External_Property): Update all SPARK RM references.
+
+2016-04-18  Bob Duff  <duff@adacore.com>
+
+	* exp_intr.adb: Remove some duplicated code.
+
+2016-04-18  Yannick Moy  <moy@adacore.com>
+
+	* a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-nuflra.ads: Mark
+	package spec and body out of SPARK.
+
+2016-04-18  Johannes Kanig  <kanig@adacore.com>
+
+	* spark_xrefs.ads: Minor comment update.
+
+2016-04-18  Johannes Kanig  <kanig@adacore.com>
+
+	* gnat1drv.adb (Gnat1drv): Force loading of System
+	unit for SPARK.
+
+2016-04-18  Bob Duff  <duff@adacore.com>
+
+	* a-cuprqu.adb: Correction to previous change. If a new node
+	is inserted at the front of the queue (because it is higher
+	priority than the previous front node), we need to update
+	Header.Next_Unequal -- not just in the case where the queue was
+	previously empty.
+
+2016-04-18  Bob Duff  <duff@adacore.com>
+
+	* a-cuprqu.ads: Change the representation of List_Type from a
+	singly-linked list to a doubly-linked list. In addition, add a
+	pointer Next_Unequal, which points past a possibly-long chain
+	of equal-priority items. This increases efficiency, especially
+	in the case of many equal-priority items.
+	* a-cuprqu.adb (Dequeue, Enqueue): Rewrite algorithms to take
+	advantage of new data structure.
+	(Finalize): Rewrite in terms of Dequeue, for simplicity.
+
+2016-04-18  Yannick Moy  <moy@adacore.com>
+
+	* contracts.adb (Analyze_Object_Contract,
+	Analyze_Protected_Contract): Remove tests performed in GNATprove.
+	* sem_util.adb, sem_util.ads (Has_Full_Default_Initialization):
+	Remove query for tests performed in GNATprove.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_aggr.adb (Resolve_Record_Aggregate): If
+	Warn_On_Redundant_Constructs is enabled, report a redundant box
+	association that does not cover any components, as it done for
+	redundant others associations in case statements.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Collect_Inherited_Class_Wide_Conditions):
+	Analyze the generated Check pragma for an inherited condition so
+	that it does not freeze the dispatching type of the primitive
+	operation, because it is pre-analyzed at the point of the
+	subprogram declaration (and not in the subprogram body, as is
+	done during regular expansion).
+
+2016-04-18  Vincent Celier  <celier@adacore.com>
+
+	* ali.ads: Increase the range of all _Id types to 100 millions.
+
+2016-04-18  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_warn.adb (Check_References): Change warning to suggest
+	using pragma Export rather than saying "volatile has no effect".
+
+2016-04-18  Bob Duff  <duff@adacore.com>
+
+	* g-souinf.ads (Compilation_ISO_Date): New function to return
+	the current date in ISO form.
+	* exp_intr.adb (Expand_Source_Info, Add_Source_Info): Expand
+	a call to Compilation_ISO_Date into a string literal containing
+	the current date in ISO form.
+	* exp_intr.ads (Add_Source_Info): Improve documentation.
+	* sem_intr.adb (Check_Intrinsic_Subprogram): Recognize
+	Compilation_ISO_Date.
+	* snames.ads-tmpl (Name_Compilation_ISO_Date): New Name_Id.
+
+2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* layout.adb (Set_Elem_Alignment): Extend setting of alignment
+	to subtypes that are not first subtypes.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.ads (Collect_Inherited_Class_Wide_Conditions):
+	Simplify interface.
+	* sem_prag.adb (Collect_Inherited_Class_Wide_Conditions): Insert
+	generated pragmas after subprogram declaration, rather than in
+	the corresponding subprogram body.
+	* sem_ch6.adb (New_Overloaded_Entity): In GNATProve
+	mode, if the operation is overridding, call
+	Collect_Inherited_Class_Wide_Conditions to generate the
+	corresponding pragmas immediately after the corresponding
+	subprogram declaration.
+
+2016-04-18  Arnaud Charlet  <charlet@adacore.com>
+
+	* spark_xrefs.ads (Xref_Index, Scope_Index, File_Index): restrict
+	type to natural numbers.
+	(Stype): document code characters for concurrent entities.
+
+2016-04-18  Olivier Hainque  <hainque@adacore.com>
+
+	* targparm.ads: Update the Frontend_Exceptions default internal
+	value.
+	(Frontend_Exceptions_On_Target): Change default value to True.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Analyze_Selected_Component): Refine error
+	detection when a selected component in the body of a synchronized
+	type is a reference to an object of the same type declared
+	elsewhere. The construct is legal if the prefix of the selected
+	component includes an explicit dereference at any point.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch3.adb (Analyze_Object_Declaration): Do not consider
+	internally generated expressions when trying to determine whether
+	a formal parameter of a tagged type subject to Extensions_Visible
+	False is used to initialize an object.
+	* sem_ch4.adb (Analyze_Type_Conversion): Do not consider
+	internally generated expressions when trying to determine whether
+	a formal parameter of a tagged type subject to Extensions_Visible
+	False is used in a type conversion.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_res.adb (Is_Protected_Operation_Call):
+	Add guards to account for a non-decorated selected component.
+
+2016-04-18  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Improve
+	implementation of Body_Has_SPARK_Mode_On.
+	* sem_prag.adb, sem_prag.ads (Get_SPARK_Mode_From_Annotation):
+	New function replacing previous Get_SPARK_Mode_From_Pragma, that
+	deals also with aspects.
+	(Get_SPARK_Mode_Type): Make function internal again.
+	* inline.adb, sem_ch7.adb, sem_util.adb: Use new
+	Get_SPARK_Mode_From_Annotation.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* contracts.adb (Analyze_Object_Contract): Update references to
+	SPARK RM.
+	* freeze.adb (Freeze_Entity): Update references to SPARK RM.
+	* ghost.adb Add with and use clauses for Sem_Disp.
+	(Check_Ghost_Derivation): Removed.
+	(Check_Ghost_Overriding):
+	Reimplemented.	(Check_Ghost_Policy): Update references to SPARK RM.
+	(Check_Ghost_Primitive): New routine.
+	(Check_Ghost_Refinement): New routine.	(Is_OK_Ghost_Context):
+	Update references to SPARK RM.	(Is_OK_Pragma): Update references
+	to SPARK RM. Predicates are now a valid context for references
+	to Ghost entities.
+	* ghost.ads (Check_Ghost_Derivation): Removed.
+	(Check_Ghost_Overriding): Update the comment on usage.
+	(Check_Ghost_Primitive): New routine.
+	(Check_Ghost_Refinement): New routine.
+	(Remove_Ignored_Ghost_Code): Update references to SPARK RM.
+	* sem_ch3.adb (Process_Full_View): Remove the now obsolete check
+	related to Ghost derivations
+	* sem_ch6.adb (Check_Conformance): Remove now obsolete check
+	related to the convention-like behavior of pragma Ghost.
+	(Check_For_Primitive_Subprogram): Verify that the Ghost policy
+	of a tagged type and its primitive agree.
+	* sem_prag.adb (Analyze_Pragma): Update references to SPARK
+	RM. Move the verification of pragma Assertion_Policy Ghost
+	to the proper place. Remove the now obsolete check related
+	to Ghost derivations.
+	(Collect_Constituent): Add a call to Check_Ghost_Refinement.
+	* sem_res.adb (Resolve_Actuals): Update references to SPARK RM.
+
+2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* layout.adb: Fix more minor typos in comments.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* a-calend.ads, sem_prag.adb, sem_ch6.adb: Minor reformatting.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): In GNATprove
+	mode, collect inherited class-wide conditions to generate the
+	corresponding pragmas.
+	* sem_prag.ads (Build_Pragma_Check_Equivalent): Moved from contracts
+	* contracts.adb (Collect_Inherited_Class_Wide_Conditions): New
+	procedure for overriding subprograms, used to generate the pragmas
+	corresponding to an inherited class- wide pre- or postcondition.
+	* sem_prag.adb (Build_Pragma_Check_Equivalent): moved here
+	from contracts.adb (Replace_Condition_Entities): Subsidiary
+	Build_Pragma_Check_Equivalent, to implement the proper semantics
+	of inherited class-wide conditions, as given in AI12-0113.
+	(Process_Class_Wide_Condition): Removed.
+	(Collect_Inherited_Class_Wide_Conditions): Iterate over pragmas
+	in contract of subprogram, to collect inherited class-wide
+	conditions.
+	(Build_Pragma_Check_Equivalent): Moved to sem_prag.adb
+
+2016-04-18  Yannick Moy  <moy@adacore.com>
+
+	* a-calend.adb (Ada.Calendar): Mark package body as SPARK_Mode Off.
+	* a-calend.ads (Ada.Calendar): Mark package spec as
+	SPARK_Mode and add synchronous external abstract state Clock_Time.
+
+2016-04-18  Yannick Moy  <moy@adacore.com>
+
+	* sem_res.adb (Resolve_Call): Prevent inlining of
+	calls inside expression functions.  Factor previous code issuing
+	errors to call Cannot_Inline instead, which does appropriate
+	processing of message for GNATprove.
+
+2016-04-18  Arnaud Charlet  <charlet@adacore.com>
+
+	* einfo.ads, sem_ch3.adb, sem_ch8.adb, osint-l.adb, rtsfind.adb,
+	osint-b.adb: Cleanups.
+
+2016-04-18  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Only create
+	body to inline in GNATprove mode when SPARK_Mode On applies to
+	subprogram body.
+	* sem_prag.adb, sem_prag.ads (Get_SPARK_Mode_Type): Make function
+	public.
+
+2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* layout.adb: Fix minor typo in comment.
+	* inline.adb: Fix minor pasto.
+	* sem_ch12.ads: Fix minor typos in comments.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_disp.adb (Check_Dispatching_Call): Major rewriting to
+	handle some complex cases of tag indeterminate calls that are
+	actuals in other dispatching calls that are themselves tag
+	indeterminate.
+	(Check_Dispatching_Context): Add parameter to support recursive
+	check for an enclosing construct that may provide a tag for a
+	tag-indeterminate call.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb (Analyze_Depends_In_Decl_Part):
+	Add global variables Task_Input_Seen and Task_Output_Seen.
+	(Analyze_Global_Item): Detect an illegal use of the current
+	instance of a single protected/task type in a global annotation.
+	(Analyze_Input_Output): Inputs and output related to the current
+	instance of a task unit are now tracked.
+	(Check_Usage): Require
+	the presence of the current instance of a task unit only when
+	one input/output is available.	(Current_Task_Instance_Seen):
+	New routine.
+	(Is_CCT_Instance): New parameter profile. Update
+	the comment on usage. The routine now properly recognizes several
+	cases related to single protected/task types.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* freeze.adb (Freeze_Entity): Use New_Freeze_Node
+	to create a brand new freeze node. This handles a case where an
+	ignored Ghost context is freezing something which is not ignored
+	Ghost and whose freeze node should not be removed from the tree.
+	(New_Freeze_Node): New routine.
+
+2016-04-18  Jerome Lambourg  <lambourg@adacore.com>
+
+	* sigtramp.h (__gnat_set_is_vxsim) New function to
+	tell sigtramp-vxworks to handle vxsim signal contexts.	*
+	sigtramp-vxworks.c (__gnat_sigtramp) Take into account the
+	differences in the sigcontext structure between the expected
+	regular x86 or x86_64 ones and the ones received in case of
+	exexution on the vxworks simulator.
+	* init.c: also compute is_vxsim in case of x86_64-vx7 target. Provide
+	this information to sigtramp-vxworks.c. Remove the old mechanism for
+	vxsim.
+	* init-vxsim.c, sigtramp-vxworks-vxsim.c: remove, now obsolete.
+
+2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_ch3.adb (Inline_Init_Proc): New function returning
+	whether the initialization procedure of a type should be
+	inlined.  Return again True for controlled type themselves.
+	(Build_Array_Init_Proc): Call it to set Set_Is_Inlined on Init_Proc.
+	(Build_Record_Init_Proc): Likewise.
+
+2016-04-18  Arnaud Charlet  <charlet@adacore.com>
+
+	* gnatvsn.ads (Library_Version): Bump to 7.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Analyze_Expression_Function): Set Inlined flag
+	on the entity of a subprogram declaration that is completed by
+	an expression function.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.adb (Is_Current_Instance): A entity given by a subtype
+	declaration can appear in an aspect specification for a dynamic
+	predicate, and a pragma for aspect Predicate_Failure.
+	* exp_util.adb (Replace_Subtype_References): Replace current
+	occurrences of the subtype to which a dynamic predicate applies,
+	byt the expression that triggers a predicate check. Needed to
+	implement new aspect Predicate_Failure.
+
+2016-04-18  Arnaud Charlet  <charlet@adacore.com>
+
+	* a-intsig.ads, a-intsig.adb: Removed, no longer used.
+	* Makefile.rtl: update accordingly.
+
+2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_type.adb (Disambiguate): Call Covers only when necessary
+	for standard operators.
+
+2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* atree.ads (Num_Extension_Nodes): Add couple of figures
+	to comment.
+	* atree.adb: Add GNAT.Heap_Sort_G dependency.
+	(Print_Statistics): New exported procedure to print statistics.
+
+2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_ch3.adb (Build_Record_Init_Proc): Do not mark the procedure
+	as to be inlined if the type needs finalization.
+
+2016-04-18  Jerome Lambourg  <lambourg@adacore.com>
+
+	* sigtramp-vxworks-target.inc: sigtramp-vxworks: force the stack
+	alignment for x86_64.
+	* init.c: Better fix for guard page reset on x86_64-vx7.
+	Do not try to retrieve the page that actually raised
+	the signal as the probing mechanism used on x86_64 do not allow
+	such retrieval. We thus just test if the guard page is active,
+	and re-activate it if not.
+
+2016-04-18  Arnaud Charlet  <charlet@adacore.com>
+
+	* a-sytaco.adb (Suspension_Object): Aspect Default_Initial_Condition
+	added.
+
+2016-04-18  Jerome Lambourg  <lambourg@adacore.com>
+
+	* affinity.c: Use the proper type for task id.
+	* init.c (__gnat_inum_to_ivec): ivec is a pointer.
+
+2016-04-18  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_prag.adb (Process_Convention): Relax rule on exporting
+	Intrinsic types if Relaxed_RM_Semantics is True.
+
+2016-04-18  Vincent Celier  <celier@adacore.com>
+
+	* sem_ch3.adb, lib.ads, sinfo.ads, sem_ch10.adb, einfo.adb, einfo.ads,
+	checks.ads, sem_ch12.adb, sem.adb, sem_util.adb, sem_util.ads,
+	sem_res.adb, sem_attr.adb, par.adb, exp_ch4.adb, errout.ads,
+	sem_ch4.adb, atree.adb, atree.ads, sem_warn.adb, treepr.adb,
+	exp_ch3.ads, exp_unst.adb: Change "descendent" to
+	"descendant" in comments, error messages and identifiers.
+	* gcc-interface/decl.c: Ditto.
+
+2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_type.adb (Operator_Matches_Spec): Call First_Formal on
+	New_S only once at the beginning of the function.
+
+2016-04-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (components_to_record): Restrict the previous
+	change to fields with variable size.
+
+2016-03-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (components_to_record): Add special case for
+	single field with representation clause at offset 0.
+
+2016-03-16  Svante Signell  <svante.signell@gmail.com>
+
+	* gcc-interface/Makefile.in: Add support for x86 GNU/Hurd.
+	* s-osinte-gnu.ads: New file.
+
+2016-03-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* system-vxworks-m68k.ads (Stack_Check_Probes): Set to True.
+	(Stack_Check_Limits): Set to False.
+	* system-vxworks-mips.ads (Stack_Check_Probes): Set to True.
+	(Stack_Check_Limits): Set to False.
+	* system-vxworks-ppc.ads (Stack_Check_Probes): Set to True.
+	(Stack_Check_Limits): Set to False.
+	* system-vxworks-sparcv9.ads (Stack_Check_Probes): Set to True.
+	(Stack_Check_Limits): Set to False.
+	* system-vxworks-x86.ads (Stack_Check_Probes): Set to True.
+	(Stack_Check_Limits): Set to False.
+
+2016-03-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (statement_node_p): New predicate.
+	(gnat_to_gnu): Invoke it to detect statement nodes.  In ASIS mode, do
+	not return dummy results for expressions attached to packed array
+	implementation types.
+
+2016-03-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Always mark
+	the expression of a renaming manually in case #3.
+
+2016-03-02  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	* system-linux-s390.ads: Enable Stack_Check_Probes.
+	* system-linux-s390.ads: Likewise.
+
+2016-02-29  Martin Liska  <mliska@suse.cz>
+
+	* gcc-interface/utils.c (set_reverse_storage_order_on_pad_type):
+	Replace ENABLE_CHECKING macro with flag_checking.
+
+2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Retrofit
+	handling of unconstrained array types as designated types into common
+	processing.  Also handle array types as incomplete designated types.
+
+2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <Concurrent types>: In
+	ASIS mode, fully lay out the minimal record type.
+
+2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (finalize_nrv_r): Remove obsolete code.
+	(build_return_expr): Likewise.
+	(Call_to_gnu): If this is a function call and there is no target,
+	create a temporary for the return value for all aggregate types,
+	but never create it for a return statement.  Push a binding level
+	around the call in more cases.  Remove obsolete code.
+
+2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/ada-tree.h (DECL_RETURN_VALUE_P): New macro.
+	* gcc-interface/gigi.h (gigi): Remove useless attribute.
+	(gnat_gimplify_expr): Likewise.
+	(gnat_to_gnu_external): Declare.
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Factor out
+	code dealing with the expression of external constants into...
+	Invoke gnat_to_gnu_external instead.
+	<E_Variable>: Invoke gnat_to_gnu_external to translate renamed objects
+	when not for a definition.  Deal with COMPOUND_EXPR and variables with
+	DECL_RETURN_VALUE_P set for renamings and with the case of a dangling
+	'reference to a function call in a renaming.  Remove obsolete test and
+	adjust associated comment.
+	* gcc-interface/trans.c (Call_to_gnu): Set DECL_RETURN_VALUE_P on the
+	temporaries created to hold the return value, if any.
+	(gnat_to_gnu_external): ...this.  New function.
+	* gcc-interface/utils.c (create_var_decl): Detect a constant created
+	to hold 'reference to function call.
+	* gcc-interface/utils2.c (build_unary_op) <ADDR_EXPR>: Add folding
+	for COMPOUND_EXPR in the DECL_RETURN_VALUE_P case.
+
+2016-02-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_ch4.adb (Expand_N_Indexed_Component): Activate synchronization if
+	the prefix denotes an entity which Has_Atomic_Components.
+	* gcc-interface/trans.c (node_is_atomic): Return true if the prefix
+	denotes an entity which Has_Atomic_Components.
+
+2016-02-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/utils2.c (gnat_protect_expr): Make a SAVE_EXPR only
+	for fat pointer or scalar types.
+
+2016-02-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/gigi.h (maybe_debug_type): New inline function.
+	* gcc-interface/misc.c (gnat_get_array_descr_info): Use it.
+	Call maybe_character_value on the array bounds.  Get to the base type
+	of the index type and call maybe_debug_type on it.
+	* gcc-interface/utils.c (finish_character_type): Add special treatment
+	for char_type_node.
+
+2016-02-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/misc.c (gnat_enum_underlying_base_type): New function.
+	(LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): Define to above.
+
+2016-02-12  Jakub Jelinek  <jakub@redhat.com>
+
+	* prj-tree.ads: Spelling fixes - behaviour -> behavior and
+	neighbour -> neighbor.
+	* prep.adb: Likewise.
+	* prj.ads: Likewise.
+	* prepcomp.adb: Likewise.
+	* g-socket.ads: Likewise.
+	* s-imgrea.adb: Likewise.
+	* a-calend.adb: Likewise.
+	* exp_disp.adb: Likewise.
+	* doc/gnat_ugn/gnat_utility_programs.rst: Likewise.
+	* g-socket.adb: Likewise.
+	* sem_ch12.adb: Likewise.
+	* terminals.c: Likewise.
+
+2016-02-08  Bernd Schmidt  <bschmidt@redhat.com>
+
+	* gcc-interface/misc.c (gnat_init): Remove second argument in call to
+	build_common_tree_nodes.
+
+2016-02-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/utils.c (create_var_decl): Set again DECL_COMMON and
+	DECL_IGNORED_P last.
+
+2016-01-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/gigi.h (enum attr_type): Rename into...
+	(enum attrib_type): ...this.
+	(struct attrib): Adjust.
+	* gcc-interface/decl.c (prepend_one_attribute): Likewise.
+
+2016-01-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_ch2.adb (Expand_Current_Value): Make an appropriate character
+	literal if the entity is of a character type.
+	* gcc-interface/lang.opt (fsigned-char): New option.
+	* gcc-interface/misc.c (gnat_handle_option): Accept it.
+	(gnat_init): Adjust comment.
+	* gcc-interface/gigi.h (finish_character_type): New prototype.
+	(maybe_character_type): New inline function.
+	(maybe_character_value): Likewise.
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>: For
+	a character of CHAR_TYPE_SIZE, make a signed type if flag_signed_char.
+	Set TYPE_ARTIFICIAL early and call finish_character_type on the type.
+	<E_Enumeration_Subtype>: For a subtype of character with RM_Size and
+	Esize equal to CHAR_TYPE_SIZE, make a signed type if flag_signed_char.
+	Copy TYPE_STRING_FLAG from type to subtype.
+	<E_Array_Type>: Deal with character index types.
+	<E_Array_Subtype>: Likewise.
+	* gcc-interface/trans.c (gigi): Replace unsigned_char_type_node with
+	char_type_node throughout.
+	(build_raise_check): Likewise.
+	(get_type_length): Deal with character types.
+	(Attribute_to_gnu) <Attr_Pos>: Likewise.  Remove obsolete range check
+	code.  Minor tweak.
+	<Attr_Pred>: Likewise.
+	(Loop_Statement_to_gnu): Likewise.
+	(Raise_Error_to_gnu): Likewise.
+	<N_Indexed_Component>: Deal with character index types.  Remove
+	obsolete code.
+	<N_Slice>: Likewise.
+	<N_Type_Conversion>: Deal with character types.  Minor tweak.
+	<N_Unchecked_Type_Conversion>: Likewise.
+	<N_In>: Likewise.
+	<N_Op_Eq>: Likewise.
+	(emit_index_check): Delete.
+	* gcc-interface/utils.c (finish_character_type): New function.
+	(gnat_signed_or_unsigned_type_for): Deal with built-in character types.
+	* gcc-interface/utils2.c (expand_sloc): Replace unsigned_char_type_node
+	with char_type_node.
+	(build_call_raise): Likewise.
+	(build_call_raise_column): Likewise.
+	(build_call_raise_range): Likewise.
+
+2016-01-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/gigi.h (build_call_raise_column): Adjust prototype.
+	(build_call_raise_range): Likewise.
+	(gnat_unsigned_type): Delete.
+	(gnat_signed_type): Likewise.
+	(gnat_signed_or_unsigned_type_for): New prototype.
+	(gnat_unsigned_type_for): New inline function.
+	(gnat_signed_type_for): Likewise.
+	* gcc-interface/cuintp.c (build_cst_from_int): Call build_int_cst.
+	* gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.
+	(gnat_to_gnu_entity) <E_Array_Type>: Always translate the index types
+	and compute their base type from that.
+	<E_Array_Subtype>: Remove duplicate declaration.
+	* gcc-interface/misc.c (get_array_bit_stride): Call build_int_cst.
+	* gcc-interface/trans.c (get_type_length): Likewise.
+	(Attribute_to_gnu): Likewise.
+	(Loop_Statement_to_gnu): Likewise.
+	(Call_to_gnu): Likewise.
+	(gnat_to_gnu): Call build_real, build_int_cst, gnat_unsigned_type_for
+	and gnat_signed_type_for.  Minor tweaks.
+	(build_binary_op_trapv): Likewise.
+	(emit_check): Likewise.
+	(convert_with_check): Likewise.
+	(Raise_Error_to_gnu): Adjust calls to the build_call_raise family of
+	functions.  Minor tweaks.
+	(Case_Statement_to_gnu): Remove dead code.
+	(gnat_to_gnu): Call gnat_unsigned_type_for and gnat_signed_type_for.
+	(init_code_table): Minor reordering.
+	* gcc-interface/utils.c (gnat_unsigned_type): Delete.
+	(gnat_signed_type): Likewise.
+	(gnat_signed_or_unsigned_type_for): New function.
+	(unchecked_convert): Use directly the size in the test for precision
+	vs size adjustments.
+	(install_builtin_elementary_types): Call gnat_signed_type_for.
+	* gcc-interface/utils2.c (nonbinary_modular_operation): Call
+	build_int_cst.
+	(build_goto_raise): New function taken from...
+	(build_call_raise): ...here.  Call it.
+	(build_call_raise_column): Add KIND parameter and call it.
+	(build_call_raise_range): Likewise.
+
+2016-01-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/ada-tree.h (TYPE_IMPLEMENTS_PACKED_ARRAY_P): Rename to
+	(TYPE_IMPL_PACKED_ARRAY_P): ...this.
+	(TYPE_CAN_HAVE_DEBUG_TYPE_P): Do not test TYPE_DEBUG_TYPE.
+	* gcc-interface/decl.c (gnat_to_gnu_entity): Simplify NULL_TREE tests
+	and tweak gnat_encodings tests throughout.
+	(initial_value_needs_conversion): Likewise.
+	(intrin_arglists_compatible_p): Likewise.
+	* gcc-interface/misc.c (gnat_print_type): Likewise.
+	(gnat_get_debug_type): Likewise.
+	(gnat_get_fixed_point_type_info): Likewise.
+	(gnat_get_array_descr_info): Likewise.
+	(get_array_bit_stride): Likewise.
+	(gnat_get_type_bias): Fix formatting.
+	(enumerate_modes): Likewise.
+	* gcc-interface/trans.c (gnat_to_gnu): Likewise.
+	(add_decl_expr): Simplify NULL_TREE test.
+	(end_stmt_group): Likewise.
+	(build_binary_op_trapv): Fix formatting.
+	(get_exception_label): Use switch statement.
+	(init_code_table): Move around.
+	* gcc-interface/utils.c (global_bindings_p): Simplify NULL_TREE test.
+	(gnat_poplevel): Likewise.
+	(gnat_set_type_context): Likewise.
+	(defer_or_set_type_context): Fix formatting.
+	(gnat_pushdecl): Simplify NULL_TREE test.
+	(maybe_pad_type): Likewise.
+	(add_parallel_type): Likewise.
+	(create_range_type): Likewise.
+	(process_deferred_decl_context): Likewise.
+	(convert): Likewise.
+	(def_builtin_1): Likewise.
+	* gcc-interface/utils2.c (find_common_type): Likewise.
+	(build_binary_op): Likewise.
+	(gnat_rewrite_reference): Likewise.
+	(get_inner_constant_reference): Likewise.
+
+2016-01-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/69219
+	* gcc-interface/trans.c (check_inlining_for_nested_subprog): Consider
+	the parent function instead of the current function in order to issue
+	the warning or the error.  Add guard for ignored functions.
+
+2016-01-17  Jakub Jelinek  <jakub@redhat.com>
+
+	* adaint.c (__gnat_killprocesstree): Avoid -Wparentheses warning.
+
+2016-01-15  Jakub Jelinek  <jakub@redhat.com>
+
+	* adaint.c (__gnat_locate_exec_on_path): Use const char * instead
+	of char * for path_val to avoid warnings.
+
+2016-01-06  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* gcc-interface/utils.c: Bump copyright year.
+	(rest_of_record_type_compilation): Add XVE/XVU parallel types to
+	the current lexical scope.
+
+2016-01-04  Jakub Jelinek  <jakub@redhat.com>
+
+	* gnat_ugn.texi: Bump @copying's copyright year.
+	* gnat_rm.texi: Likewise.
+
+2016-01-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gnatvsn.ads: Bump copyright year.
+
+
+Copyright (C) 2016 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.
diff --git a/gcc/ada/gnat_rm.texi b/gcc/ada/gnat_rm.texi
index 9e95db9351c1..f233ab8abbb5 100644
--- a/gcc/ada/gnat_rm.texi
+++ b/gcc/ada/gnat_rm.texi
@@ -25,7 +25,7 @@ GNAT Reference Manual , July 04, 2016
 
 AdaCore
 
-Copyright @copyright{} 2008-2016, Free Software Foundation
+Copyright @copyright{} 2008-2017, Free Software Foundation
 @end quotation
 
 @end copying
diff --git a/gcc/ada/gnat_ugn.texi b/gcc/ada/gnat_ugn.texi
index dc9c1418953d..9664d10c5d94 100644
--- a/gcc/ada/gnat_ugn.texi
+++ b/gcc/ada/gnat_ugn.texi
@@ -25,7 +25,7 @@ GNAT User's Guide for Native Platforms , July 04, 2016
 
 AdaCore
 
-Copyright @copyright{} 2008-2016, Free Software Foundation
+Copyright @copyright{} 2008-2017, Free Software Foundation
 @end quotation
 
 @end copying
diff --git a/gcc/doc/cpp.texi b/gcc/doc/cpp.texi
index c469dba2668f..a10d56686774 100644
--- a/gcc/doc/cpp.texi
+++ b/gcc/doc/cpp.texi
@@ -10,7 +10,7 @@
 
 @copying
 @c man begin COPYRIGHT
-Copyright @copyright{} 1987-2016 Free Software Foundation, Inc.
+Copyright @copyright{} 1987-2017 Free Software Foundation, Inc.
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
diff --git a/gcc/doc/cppinternals.texi b/gcc/doc/cppinternals.texi
index 10bfb1f98abe..e2259b0b8662 100644
--- a/gcc/doc/cppinternals.texi
+++ b/gcc/doc/cppinternals.texi
@@ -18,7 +18,7 @@
 @ifinfo
 This file documents the internals of the GNU C Preprocessor.
 
-Copyright (C) 2000-2016 Free Software Foundation, Inc.
+Copyright (C) 2000-2017 Free Software Foundation, Inc.
 
 Permission is granted to make and distribute verbatim copies of
 this manual provided the copyright notice and this permission notice
@@ -47,7 +47,7 @@ into another language, under the above conditions for modified versions.
 @page
 @vskip 0pt plus 1filll
 @c man begin COPYRIGHT
-Copyright @copyright{} 2000-2016 Free Software Foundation, Inc.
+Copyright @copyright{} 2000-2017 Free Software Foundation, Inc.
 
 Permission is granted to make and distribute verbatim copies of
 this manual provided the copyright notice and this permission notice
diff --git a/gcc/doc/gcc.texi b/gcc/doc/gcc.texi
index 629365aeb125..d8e72f12c8db 100644
--- a/gcc/doc/gcc.texi
+++ b/gcc/doc/gcc.texi
@@ -40,7 +40,7 @@
 @c %**end of header
 
 @copying
-Copyright @copyright{} 1988-2016 Free Software Foundation, Inc.
+Copyright @copyright{} 1988-2017 Free Software Foundation, Inc.
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
diff --git a/gcc/doc/gccint.texi b/gcc/doc/gccint.texi
index 0c568a52d22c..00ae65035d2b 100644
--- a/gcc/doc/gccint.texi
+++ b/gcc/doc/gccint.texi
@@ -26,7 +26,7 @@
 @c %**end of header
 
 @copying
-Copyright @copyright{} 1988-2016 Free Software Foundation, Inc.
+Copyright @copyright{} 1988-2017 Free Software Foundation, Inc.
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
diff --git a/gcc/doc/gcov.texi b/gcc/doc/gcov.texi
index 1912f85422e1..3ad7fb2f1b3f 100644
--- a/gcc/doc/gcov.texi
+++ b/gcc/doc/gcov.texi
@@ -4,7 +4,7 @@
 
 @ignore
 @c man begin COPYRIGHT
-Copyright @copyright{} 1996-2016 Free Software Foundation, Inc.
+Copyright @copyright{} 1996-2017 Free Software Foundation, Inc.
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index b911d76dd662..4958773818bb 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -44,7 +44,7 @@
 @settitle Installing GCC: GNU Free Documentation License
 @end ifset
 
-@c Copyright (C) 1988-2016 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2017 Free Software Foundation, Inc.
 @c *** Converted to texinfo by Dean Wakerley, dean@wakerley.com
 
 @c IMPORTANT: whenever you modify this file, run `install.texi2html' to
@@ -69,7 +69,7 @@
 
 @c Part 2 Summary Description and Copyright
 @copying
-Copyright @copyright{} 1988-2016 Free Software Foundation, Inc.
+Copyright @copyright{} 1988-2017 Free Software Foundation, Inc.
 @sp 1
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index ac2a2ac64797..c2c9e0c71053 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -8,7 +8,7 @@
 @c man end
 
 @c man begin COPYRIGHT
-Copyright @copyright{} 1988-2016 Free Software Foundation, Inc.
+Copyright @copyright{} 1988-2017 Free Software Foundation, Inc.
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index ce640321da01..a0b324e7b1e2 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,2978 +1,4 @@
-2016-12-27  Jakub Jelinek  <jakub@redhat.com>
-
-	* gfortran.h (gfc_error): Rename overload with OPT argument to...
-	(gfc_error_opt): ... this.
-	* error.c (gfc_error): Rename overloads with OPT argument to...
-	(gfc_error_opt): ... this.  Adjust callers.
-	(gfc_notify_std, gfc_error): Adjust callers.
-	* resolve.c (resolve_structure_cons, resolve_global_procedure): Use
-	gfc_error_opt instead of gfc_error.
-	* interface.c (argument_rank_mismatch, compare_parameter,
-	gfc_check_typebound_override): Likewise.  Fix up formatting.
-
-2016-12-23  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	* trans-expr.c (trans_class_assignment): Allocate memory of _vptr->size
-        before assigning an allocatable class object.
-	(gfc_trans_assignment_1): Flag that (re-)alloc of the class object
-	shall be done.
-
-2016-12-21  Jakub Jelinek  <jakub@redhat.com>
-
-	PR fortran/78866
-	* openmp.c (resolve_omp_clauses): Diagnose assumed size arrays in
-	OpenMP map, to and from clauses.
-	* trans-openmp.c: Include diagnostic-core.h, temporarily redefining
-	GCC_DIAG_STYLE to __gcc_tdiag__.
-	(gfc_omp_finish_clause): Diagnose implicitly mapped assumed size
-	arrays.
-
-2016-12-21  Janne Blomqvist  <jb@gcc.gnu.org>
-
-	PR fortran/78867
-	* trans-expr.c (gfc_conv_procedure_call): Emit DECL_EXPR also for
-	non-pointer character results.
-
-2016-12-21  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
-
-	* iresolve.c (gfc_resolve_ftell): Call "ftell" instead of "ftell2".
-
-2016-12-20  Janne Blomqvist  <jb@gcc.gnu.org>
-
-	* trans-types.c (gfc_init_types): Don't redefine boolean type node.
-
-2016-12-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
-
-	* trans-decl.c (create_main_function): Remove unused elements to
-	the set_options call.
-
-2016-12-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
-
-	* trans.h: Remove gfor_fndecl_stop_numeric_f08.
-	* trans-decl.c: Remove gfor_fndecl_stop_numeric_f08.
-	* trans-stmt.c (gfc_trans_stop): Use gfor_fndecl_stop_numeric
-	instead of gfor_fndecl_stop_numeric_f08.
-
-2016-12-19  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/78545
-	* intrinsic.texi: Minor documentation fixes for non-standard
-	time-related intrinsics. Add references to standard intrinsics and
-	linkify some existing references.
-
-2016-12-18  Dominique d'Humieres  <dominiq@lps.ens.fr>
-
-	PR fortran/78545
-	* intrinsic.texi: Fix documentation for GMTIME and LTIME.
-
-2016-12-18  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/78848
-	* trans-io.c (get_dtio_proc): Generate non-typebound DTIO call for class
-	variables, if no typebound DTIO procedure is available.
-
-2016-12-18  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/78592
-	* interfac.c (gfc_find_specific_dtio_proc): Fixup for r243005, making
-	sure that the generic list is followed through until the end.
-
-2016-12-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/78239
-	* decl.c (char_len_param_value): Actually commit previous change.
-
-2016-12-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/78239
-	* decl.c( char_len_param_value): Also check for -fimplicit-none
-	when determining if implicit none is in force.
-
-2016-12-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/78622
-	* io.c (format_lex): Continue of string delimiter seen.
-
-2016-12-16  Jakub Jelinek  <jakub@redhat.com>
-
-	PR fortran/78757
-	* trans-expr.c (gfc_conv_procedure_call): Emit DECL_EXPR for the
-	type pstr var points to.
-
-2016-12-15  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/78798
-	* gfortran.h (gfc_compare_derived_types,gfc_compare_types,
-	gfc_compare_interfaces,gfc_has_vector_subscript): Return bool instead
-	of int.
-	* interface.c (compare_components): Ditto.
-	(gfc_compare_union_types): Rename to compare_union_types, declare as
-	static, return bool.
-	(gfc_compare_derived_types): Return bool instead of int.
-	(gfc_compare_types): Ditto.
-	(compare_type): Ditto.
-	(compare_rank): Ditto.
-	(compare_type_rank): Ditto.
-	(compare_type_rank_if): Ditto.
-	(count_types_test): Ditto.
-	(generic_correspondence): Ditto.
-	(gfc_compare_interfaces): Ditto.
-	(check_interface0): Ditto.
-	(check_interface1): Ditto.
-	(compare_allocatable): Ditto.
-	(compare_parameter): Ditto.
-	(gfc_has_vector_subscript): Ditto.
-	(compare_actual_formal): Ditto.
-
-2016-12-15  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/78800
-	* interface.c (compare_allocatable): Avoid additional errors on bad
-	class declarations.
-	(compare_parameter): Put the result of gfc_expr_attr into a variable,
-	in order to avoid calling it multiple times. Exit early on bad class
-	declarations to avoid ICE.
-
-2016-12-14  Martin Jambor  <mjambor@suse.cz>
-
-	* trans-openmp.c: Include omp-general.h.
-
-2016-12-14  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/78780
-	* trans-expr.c (gfc_trans_assignment_1): Improve check whether detour
-	caf-runtime routines is needed.
-
-2016-12-14  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/78672
-	* array.c (gfc_find_array_ref): Add flag to return NULL when no ref is
-	found instead of erroring out.
-	* data.c (gfc_assign_data_value): Only constant expressions are valid
-	for initializers.
-	* gfortran.h: Reflect change of gfc_find_array_ref's signature.
-	* interface.c (compare_actual_formal): Access the non-elemental
-	array-ref.  Prevent taking a REF_COMPONENT for a REF_ARRAY.  Correct
-	indentation.
-	* module.c (load_omp_udrs): Clear typespec before reading into it.
-	* trans-decl.c (gfc_build_qualified_array): Prevent accessing the array
-	when it is a coarray.
-	* trans-expr.c (gfc_conv_cst_int_power): Use wi::abs()-function instead
-	of crutch preventing sanitizer's bickering here.
-	* trans-stmt.c (gfc_trans_deallocate): Only get data-component when it
-	is a descriptor-array here.
-
-2016-12-13  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/78798
-	* gfortran.h (gfc_is_constant_expr, gfc_is_formal_arg,
-	gfc_is_compile_time_shape): Return bool instead of int.
-	* array.c (gfc_is_compile_time_shape): Ditto.
-	* expr.c (gfc_is_constant_expr): Ditto.
-	* resolve.c (gfc_is_formal_arg): Ditto. Make formal_arg_flag bool.
-
-2016-12-13  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/77785
-	* resolve.c (resolve_symbol): Correct attr lookup to the _data
-	component.
-	* trans-array.c (gfc_alloc_allocatable_for_assignment): Indirect ref
-	pointers and references before retrieving the caf-token.
-
-2016-12-13  Janus Weil  <janus@gcc.gnu.org>
-	    Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/78737
-	* gfortran.h (gfc_find_typebound_dtio_proc): New prototype.
-	* interface.c (gfc_compare_interfaces): Whitespace fix.
-	(gfc_find_typebound_dtio_proc): New function.
-	(gfc_find_specific_dtio_proc): Use it. Improve error recovery.
-	* trans-io.c (get_dtio_proc): Implement polymorphic calls to DTIO
-	procedures.
-
-2016-12-12  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/78392
-	* expr.c (gfc_is_constant_expr): Specification functions are not
-	compile-time constants. Update documentation (add reference to F08
-	standard), add a FIXME.
-	(external_spec_function): Add reference to F08 standard.
-	* resolve.c (resolve_fl_variable): Ditto.
-
-2016-12-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/78226
-	* error.c (gfc_warning_internal):  New function.
-	* frontend-passes.c (gfc_run_passes):  Call check_locus if
-	CHECKING_P is defined.
-	(check_locus_code):  New function.
-	(check_locus_expr):  New function.
-	(check_locus):  New function.
-	* gfortran.h:  Add prototype for gfc_warning_internal.
-
-2016-12-10 Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/78350
-	* resolve.c (resolve_structure_cons): Remove the block that
-	tried to remove a charlen and rely on namespace cleanup.
-
-2016-12-09  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/77903
-	* decl.c (get_proc_name): Use the symbol tlink field instead of
-	the typespec interface field.
-	(gfc_match_function_decl, gfc_match_submod_proc): Ditto.
-	* gfortran.h : Since the symbol tlink field is no longer used
-	by the frontend for change management, change the comment to
-	reflect its current uses.
-	* parse.c (get_modproc_result): Same as decl.c changes.
-	* resolve.c (resolve_fl_procedure): Ditto.
-
-2016-12-09  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/61767
-	* class.c (has_finalizer_component): Fix this function to detect only
-	non-pointer non-allocatable components which have a finalizer.
-
-2016-12-09  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/78505
-	* trans-stmt.c (gfc_trans_allocate): Add sync all after the execution
-	of the whole allocate-statement to adhere to the standard.
-
-2016-12-09  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	* trans-array.c (gfc_array_deallocate): Remove wrapper.
-	(gfc_trans_dealloc_allocated): Same.
-	(structure_alloc_comps): Restructure deallocation of (nested)
-	allocatable components.  Insert dealloc of sub-component into the block
-	guarded by the if != NULL for the component.
-	(gfc_trans_deferred_array): Use the almightly deallocate_with_status.
-	* trans-array.h: Remove prototypes.
-	* trans-expr.c (gfc_conv_procedure_call): Use the almighty deallocate_
-	with_status.
-	* trans-openmp.c (gfc_walk_alloc_comps): Likewise.
-	(gfc_omp_clause_assign_op): Likewise.
-	(gfc_omp_clause_dtor): Likewise.
-	* trans-stmt.c (gfc_trans_deallocate): Likewise.
-	* trans.c (gfc_deallocate_with_status): Allow deallocation of scalar
-	and arrays as well as coarrays.
-	(gfc_deallocate_scalar_with_status): Get the data member for coarrays
-	only when freeing an array with descriptor.  And set correct caf_mode
-	when freeing components of coarrays.
-	* trans.h: Change prototype of gfc_deallocate_with_status to allow
-	adding statements into the block guarded by the if (pointer != 0) and
-	supply a coarray handle.
-
-2016-12-09  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/44265
-	* gfortran.h : Add fn_result_spec bitfield to gfc_symbol.
-	* resolve.c (flag_fn_result_spec): New function.
-	(resolve_fntype): Call it for character result lengths.
-	* symbol.c (gfc_new_symbol): Set fn_result_spec to zero.
-	* trans-decl.c (gfc_sym_mangled_identifier): Include the
-	procedure name in the mangled name for symbols with the
-	fn_result_spec bit set.
-	(gfc_finish_var_decl): Mark the decls of these symbols
-	appropriately for the case where the function is external.
-	(gfc_get_symbol_decl): Mangle the name of these symbols.
-	(gfc_create_module_variable): Allow them through the assert.
-	(gfc_generate_function_code): Remove the assert before the
-	initialization of sym->tlink because the frontend no longer
-	uses this field.
-	* trans-expr.c (gfc_map_intrinsic_function): Add a case to
-	treat the LEN_TRIM intrinsic.
-	(gfc_trans_string_copy): Deal with Wstringop-overflow warning
-	that can occur with constant source lengths at -O3.
-
-2016-12-08  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/65173
-	PR fortran/69064
-	PR fortran/69859
-	PR fortran/78350
-	* gfortran.h (gfc_namespace): Remove old_cl_list member.
-	* parse.c (use_modules, next_statement): old_cl_list is gone.
-	(clear_default_charlen): Remove no longer used function.
-	(reject_statement): Do not try ot clean up gfc_charlen structure(s)
-	that may have been added to a cl_list list.
-	* symbol.c (gfc_new_charlen): old_cl_list structure is gone.
-
-2016-12-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/78659
-	* resolve.c (resolve_fl_namelist): Remove unneeded error.
-
-2016-12-06  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/78226
-	* class.c (finalize_component): Add missing locus information.
-	(finalization_scalarizer): Likewise.
-	(finalization_get_offset): Likewise.
-	(finalizer_insert_packed_call): Likewise.
-	(generate_finalization_wrapper): Likewise.
-
-2016-12-05  Nathan Sidwell  <nathan@acm.org>
-
-	* error.c (gfc_warning_check): Call diagnostic_check_max_errors.
-	(gfc_error_check): Likewise.
-
-2016-12-04  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/78618
-	* intrinsic.c (gfc_convert_type_warn): Do not set the full typespec for
-	the conversion symbol, but only type and kind. Set the full typespec
-	for the expression.
-	(gfc_convert_chartype): Ditto.
-
-2016-12-03  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/43207
-	* primary.c (gfc_match_varspec): Reject nonpolymorphic references to
-	abstract types.
-
-2016-12-03  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/42188
-	* primary.c (gfc_match_rvalue): Add a new check that gives better error
-	messages.
-
-2016-12-03  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/58175
-	* resolve.c (gfc_resolve_finalizers): Prevent bogus warning.
-
-2016-12-02  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	* simplify.c (gfc_convert_char_constant): Free result on error.
-
-2016-12-02  Janus Weil  <janus@gcc.gnu.org>
-	    Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/78618
-	* check.c (gfc_check_rank): Remove ATTRIBUTE_UNUSED.
-	* expr.c (gfc_check_assign): Fix error propagation.
-
-2016-12-01  Elizebeth Punnoose  <elizebeth.punnoose@hpe.com>
-
-	PR fortran/77505
-	* trans-array.c (trans_array_constructor): Treat negative character
-	length as LEN = 0.
-
-2016-12-01  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/78279
-	* dependency.c (identical_array_ref): Convert gcc_assert to conditional
-	and gfc_internal_error.
-
-2016-11-30  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	* check.c (gfc_check_allocated): By pass the caf_get call and check on
-	the array.
-	* gfortran.h: Add optional flag to gfc_caf_attr.
-	* gfortran.texi: Document new enum values and _caf_is_present function.
-	* primary.c (caf_variable_attr): Add optional flag to indicate that the
-	expression is reffing a component.
-	(gfc_caf_attr): Likewise.
-	* trans-array.c (gfc_array_deallocate): Handle deallocation mode for
-	coarray deregistration.
-	(gfc_trans_dealloc_allocated): Likewise.
-	(duplicate_allocatable): Use constants instead of
-        creating custom constant tree node of zero or one.  Use gfc_add_modify
-        convenience function.
-	(duplicate_allocatable_coarray): This function is similar to
-	duplicate_allocatable but tailored to handle coarrays.
-	(caf_enabled): Check whether in-derived-type coarray processing is
-	enabled.
-	(caf_in_coarray): Check that in-derived-type coarray processing is
-	enabled and currently in a derived-typed coarray.
-	(gfc_caf_is_dealloc_only): Return true, when deallocate only is
-	desired for components in derived typed coarrays.
-	(structure_alloc_comps): A mode for handling coarrays, that is no
-	longer encode in the purpose.  This makes the use cases of the
-	routine more flexible without repeating.  Allocatable components in
-	derived type coarrays are now registered only when nullifying an
-	object and allocated before copying data into them.
-	(gfc_nullify_alloc_comp): Use the caf_mode of structure_alloc_comps
-	now.
-	(gfc_deallocate_alloc_comp): Likewise.
-	(gfc_deallocate_alloc_comp_no_caf): Likewise.
-	(gfc_reassign_alloc_comp_caf): Likewise.
-	(gfc_copy_alloc_comp): Likewise.
-	(gfc_copy_only_alloc_comp): Likewise.
-	(gfc_alloc_allocatable_for_assignment): Make use to the cheaper way of
-	reallocating a coarray without deregistering and reregistering it.
-	(gfc_trans_deferred_array): Initialize the coarray token correctly for
-	deferred variables and tear them down on exit.
-	* trans-array.h: Change some prototypes to add the coarray (de-)
-	registration modes.  Add prototype for checking if deallocate only is
-	selected for components in derived typed coarrays.
-	* trans-decl.c (gfc_build_builtin_function_decls): Generate the
-	declarations for the changed/new caf-lib routines.
-	(gfc_trans_deferred_vars): Ensure deferred variables are (de-)
-	registered correctly on procedure entry/exit.
-	(generate_coarray_sym_init): Use constants.
-	* trans-expr.c (gfc_conv_procedure_call): Propagate coarray allocation
-	modes accordingly.
-	(gfc_trans_alloc_subarray_assign): Likewise.
-	(gfc_trans_subcomponent_assign): Likewise.
-	(gfc_trans_structure_assign): Generate code to register the components
-	of a derived type coarray prior to initialization.
-	(gfc_conv_structure): Set flag that the structure is in a coarray.
-	(gfc_trans_scalar_assign): Add flag to indicate being in a coarray and
-	set the structure_alloc_comps modes correctly.
-	(gfc_trans_assignment_1): Figure being in a coarray expression.
-	* trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Adapt to new
-	structure_alloc_comps interface.
-	(conv_caf_send): Use the old API as long as possible.
-	(trans_caf_is_present): Generate code to check whether an allocatable
-	component in a derived typed coarray is allocated on a remote image.
-	(caf_this_image_ref): Return true, when only reffing this image.
-	(gfc_conv_allocated): Convert allocated queries on allocatable
-	components to the library API.
-	(conv_intrinsic_move_alloc): Adapt to new interface of
-	structure_alloc_comps.
-	* trans-openmp.c (gfc_walk_alloc_comps): Likewise.
-	(gfc_omp_clause_assign_op): Likewise.
-	(gfc_omp_clause_dtor): Likewise.
-	* trans-stmt.c (gfc_trans_deallocate): Figure which mode to use when
-	deallocating allocatable components in derived type coarras.
-	* trans.c (gfc_allocate_using_lib): Renamed to
-	gfc_allcate_using_caf_lib.
-	(gfc_allocate_allocatable): Set the registration mode/type of caf-
-	register calls adapting to all the possible allocatable objects.
-	(gfc_deallocate_with_status): Add deregistration mode for allocatable
-	components in derived type coarrays.
-	(gfc_deallocate_scalar_with_status): Likewise.
-	* trans.h (enum gfc_coarray_type): Renamed to gfc_coarray_regtype to
-	avoid collision with gfc_coarray_deregtype.
-
-2016-11-30  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/78593
-	* primary.c (gfc_match_varspec): Check if sym is non-null to avoid ICE.
-
-2016-11-30  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/78592
-	* interface.c (gfc_find_specific_dtio_proc): Rearrange code to avoid
-	dereferencing a null pointer.
-
-2016-11-30  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/78573
-	* decl.c (build_struct): On error, return directly and do not build
-	class symbol.
-
-2016-11-29  Tobias Burnus  <burnus@net-b.de>
-
-	PR fortran/58175
-	* resolve.c (gfc_resolve_finalizers): Properly detect scalar finalizers.
-
-2016-11-27  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/78474
-	* module.c (gfc_match_submodule): If there is more than one
-	colon, it is a syntax error.
-
-	PR fortran/78331
-	* module.c (gfc_use_module): If an smod file does not exist it
-	is either because the module does not have a module procedure
-	interface or there is an error in the module.
-
-2016-11-25  Janne Blomqvist  <jb@gcc.gnu.org>
-
-	* intrinsic.texi: Fix ptrdiff_t typo in ISO_C_BINDING constants
-	table.
-
-2016-11-25  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/60853
-	* interface.c (gfc_compare_interfaces): Remove bad special case for
-	unlimited polymorphism. Refactor for loop.
-
-2016-11-25  Andre Vehreschild  <vehre@gcc.gnu.org>
-	    Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/78293
-	* trans-expr.c (gfc_conv_procedure_call): Prepend deallocation
-	of alloctable components to post, rather than adding to
-	se->post.
-	* trans-stmt.c (gfc_trans_allocate): Move deallocation of expr3
-	allocatable components so that all expr3s are visited.
-
-2016-11-25  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/78293
-	* gfortran.dg/allocatable_function_10.f90: New test.
-	* gfortran.dg/class_array_15.f03: Increase builtin_free count
-	from 11 to 12.
-
-2016-11-24  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/78500
-	* expr.c (gfc_check_vardef_contextm): Fix NULL pointer dereference.
-	* interface.c (matching_typebound_op): Ditto.
-
-2016-11-23  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/78297
-	* trans-common.c (finish_equivalences): Do not dereference a NULL pointer.
-
-2016-11-23  Martin Jambor  <mjambor@suse.cz>
-
-	* f95-lang.c (DEF_HSA_BUILTIN): New macro.
-
-2016-11-22  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/78479
-	* expr.c (gfc_apply_init):  Allocate a charlen if needed.
-
-2016-11-22  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/78443
-	* class.c (add_proc_comp): Add a vtype component for non-overridable
-	procedures that are overriding.
-
-2016-11-20  Harald Anlauf  <anlauf@gmx.de>
-
-	PR fortran/69741
-	* resolve.c (gfc_resolve_forall): Check for nonscalar index variables.
-
-2016-11-20  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/78395
-	* resolve.c (resolve_typebound_function): Prevent stripping of refs,
-	when the base-expression is a class' typed one.
-
-2016-11-18  Richard Sandiford  <richard.sandiford@arm.com>
- 	    Alan Hayward  <alan.hayward@arm.com>
- 	    David Sherwood  <david.sherwood@arm.com>
-
-	* trans-common.c (build_common_decl): Use SET_DECL_MODE.
-	* trans-decl.c (gfc_build_label_decl): Likewise.
-	* trans-types.c (gfc_get_array_descr_info): Likewise.
-
-2016-11-17  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/66227
-	* simplify.c (gfc_simplify_extends_type_of): Fix missed optimization.
-	Prevent over-simplification. Fix a comment. Add a comment.
-
-2016-11-16  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/58001
-	* io.c (next_char_not_space): Update handling of a 'tab' in a FORMAT.
- 	(format_lex): Adjust invocations of next_char_not_space().
-
-2016-11-16  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/78356
-	* class.c (gfc_is_class_scalar_expr): Prevent taking an array ref for
-	a component ref.
-	* trans-expr.c (gfc_trans_assignment_1): Ensure a reference to the
-	object to copy is generated, when assigning class objects.
-
-2016-11-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	* dump-parse-tree.c (show_code):  Add prototype.
-	(gfc_debug_code):  New function.
-	(show_code_node):  Add space after SELECT TYPE.
-
-2016-11-14  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/78300
-	* resolve.c (resolve_procedure_interface): Properly handle CLASS-valued
-	function results.
-
-2016-11-13  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/60952
-	* decl.c (match_procedure_in_type): Apply the FL_PROCEDURE attribute
-	to the target procedure.
-
-2016-11-13  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/66366
-	* resolve.c (resolve_component): Move check for C437
-	to ...
-	* decl.c (build_struct): ... here. Fix indentation.
-
-2016-11-12  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/77501
-	* class.c (gfc_find_typebound_intrinsic_op): Remove an unnecessary
-	assert and nullification.
-	* decl.c (gfc_match_decl_type_spec): Use gfc_get_tbp_symtree,
-	fix indentation.
-	(gfc_match_generic): Remove an unnecessary assert.
-	Use gfc_get_tbp_symtree to avoid ICE.
-
-2016-11-10  Fritz O. Reese <fritzoreese@gmail.com>
-
-	PR fortran/78277
-	* gcc/fortran/decl.c (gfc_match_data_decl): Gracefully handle bad
-	anonymous structure declarations.
-
-2016-11-10  Fritz O. Reese <fritzoreese@gmail.com>
-
-	* decl.c (get_struct_decl, gfc_match_map, gfc_match_union): Fix
-	whitespace.
-	* interface.c (gfc_compare_union_types): Likewise.
-
-2016-11-10  Jakub Jelinek  <jakub@redhat.com>
-
-	* cpp.c (cpp_define_builtins): Define _OPENMP to 201511 instead
-	of 201307.
-	* gfortran.texi: Mention partial OpenMP 4.5 support.
-	* intrinsic.texi: Update for OpenMP 4.5.
-
-	* openmp.c (gfc_free_omp_clauses): Free critical_name, grainsize,
-	hint, num_tasks, priority and if_exprs.
-	(gfc_match_omp_to_link, gfc_match_omp_depend_sink): New functions.
-	(enum omp_mask1, enum omp_mask2): New enums.
-	Change all OMP_CLAUSE_* defines into enum values, and change their
-	values from ((uint64_t) 1 << bit) to just bit.
-	(omp_mask, omp_inv_mask): New classes.  Add ctors and operators.
-	(gfc_match_omp_clauses): Change mask argument from uint64_t to
-	const omp_mask.  Assert OMP_MASK1_LAST and OMP_MASK2_LAST are
-	at most 64.  Move delete clause handling to where it
-	alphabetically belongs.  Parse defaultmap, grainsize, hint,
-	is_device_ptr, nogroup, nowait, num_tasks, priority, simd, threads
-	and use_device_ptr clauses.  Parse if clause modifier.  Parse map
-	clause always modifier, and release and delete kinds.  Parse ordered
-	clause with argument.  Parse schedule clause modifiers.  Differentiate
-	device clause parsing based on openacc flag.  Guard link clause
-	parsing with openacc flag.  Add support for parsing
-	linear clause modifiers.  Parse depend(source) and depend(sink: ...).
-	Use gfc_match_omp_to_link for to and link clauses in declare target
-	construct.
-	(match_acc): Change mask type from uint64_t to const omp_mask.
-	(OMP_SINGLE_CLAUSES, OMP_ORDERED_CLAUSES,
-	OMP_DECLARE_TARGET_CLAUSES, OMP_TASKLOOP_CLAUSES,
-	OMP_TARGET_ENTER_DATA_CLAUSES, OMP_TARGET_EXIT_DATA_CLAUSES): Define.
-	(OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES, OACC_DATA_CLAUSES,
-	OACC_LOOP_CLAUSES, OACC_HOST_DATA_CLAUSES, OACC_DECLARE_CLAUSES,
-	OACC_ENTER_DATA_CLAUSES, OACC_EXIT_DATA_CLAUSES, OACC_WAIT_CLAUSES,
-	OACC_ROUTINE_CLAUSES, OMP_PARALLEL_CLAUSES, OMP_DECLARE_SIMD_CLAUSES,
-	OMP_SECTIONS_CLAUSES, OMP_TEAMS_CLAUSES, OMP_DISTRIBUTE_CLAUSES):
-	Replace first or only OMP_CLAUSE_* value in bitset with
-	omp_mask (OMP_CLAUSE_*).
-	(OMP_DO_CLAUSES): Likewise.  Add OMP_CLAUSE_LINEAR.
-	(OMP_SIMD_CLAUSES): Replace first or only OMP_CLAUSE_* value in
-	bitset with omp_mask (OMP_CLAUSE_*).  Add OMP_CLAUSE_SIMDLEN.
-	(OACC_UPDATE_CLAUSES): Replace first or only OMP_CLAUSE_* value in
-	bitset with omp_mask (OMP_CLAUSE_*).  Replace OMP_CLAUSE_OACC_DEVICE
-	with OMP_CLAUSE_DEVICE.
-	(OMP_TASK_CLAUSES): Replace first or only OMP_CLAUSE_* value in
-	bitset with omp_mask (OMP_CLAUSE_*).  Add OMP_CLAUSE_PRIORITY.
-	(OMP_TARGET_CLAUSES): Replace first or only OMP_CLAUSE_* value in
-	bitset with omp_mask (OMP_CLAUSE_*).  Add OMP_CLAUSE_DEPEND,
-	OMP_CLAUSE_NOWAIT, OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE,
-	OMP_CLAUSE_DEFAULTMAP and OMP_CLAUSE_IS_DEVICE_PTR.
-	(OMP_TARGET_DATA_CLAUSES): Replace first or only OMP_CLAUSE_* value in
-	bitset with omp_mask (OMP_CLAUSE_*).  Add OMP_CLAUSE_USE_DEVICE_PTR.
-	(OMP_TARGET_UPDATE_CLAUSES): Replace first or only OMP_CLAUSE_* value
-	in bitset with omp_mask (OMP_CLAUSE_*).  Add OMP_CLAUSE_DEPEND and
-	OMP_CLAUSE_NOWAIT.
-	(match_omp): Change mask argument from unsigned int to
-	const omp_mask.
-	(gfc_match_omp_critical): Parse optional clauses and use omp_clauses
-	union member instead of omp_name.
-	(gfc_match_omp_end_critical): New function.
-	(gfc_match_omp_distribute_parallel_do): Remove ordered and linear
-	clauses from the mask.
-	(gfc_match_omp_distribute_parallel_do_simd): Use
-	& ~(omp_mask (OMP_CLAUSE_*)) instead of & ~OMP_CLAUSE_*.
-	(gfc_match_omp_target_teams_distribute_parallel_do_simd): Likewise.
-	(gfc_match_omp_teams_distribute_parallel_do_simd): Likewise.
-	(gfc_match_omp_do_simd): Likewise.  Don't remove ordered clause from
-	the mask.
-	(gfc_match_omp_parallel_do_simd): Likewise.
-	(gfc_match_omp_target_teams_distribute_parallel_do): Likewise.
-	(gfc_match_omp_teams_distribute_parallel_do): Likewise.
-	(gfc_match_omp_declare_simd): If not using the form with
-	(proc-name), require space before first clause.  Make (proc-name)
-	optional.  If not present, set proc_name to NULL.
-	(gfc_match_omp_declare_target): Rewritten for OpenMP 4.5.
-	(gfc_match_omp_single): Use OMP_SINGLE_CLAUSES.
-	(gfc_match_omp_task, gfc_match_omp_taskwait, gfc_match_omp_taskyield):
-	Move around to where they belong alphabetically.
-	(gfc_match_omp_target_enter_data, gfc_match_omp_target_exit_data,
-	gfc_match_omp_target_parallel, gfc_match_omp_target_parallel_do,
-	gfc_match_omp_target_parallel_do_simd, gfc_match_omp_target_simd,
-	gfc_match_omp_taskloop, gfc_match_omp_taskloop_simd):
-	New functions.
-	(gfc_match_omp_ordered): Parse clauses.
-	(gfc_match_omp_ordered_depend): New function.
-	(gfc_match_omp_cancel, gfc_match_omp_end_single): Use
-	omp_mask (OMP_CLAUSE_*) instead of OMP_CLAUSE_*.
-	(resolve_oacc_scalar_int_expr): Renamed to ...
-	(resolve_scalar_int_expr): ... this.  Fix up formatting.
-	(resolve_oacc_positive_int_expr): Renamed to ...
-	(resolve_positive_int_expr): ... this.  Fix up formatting.
-	(resolve_nonnegative_int_expr): New function.
-	(resolve_omp_clauses): Adjust callers, use the above functions
-	even for OpenMP clauses, add handling of new OpenMP 4.5 clauses.
-	Require orderedc >= collapse if specified. Handle depend(sink:)
-	and depend(source) restrictions.  Disallow linear clause when
-	orderedc is non-zero.  Diagnose linear clause modifiers when not in
-	declare simd.  Only check for integer type if ref modifier
-	is not used.  Remove diagnostics for required VALUE attribute.
-	Diagnose VALUE attribute with ref or uval modifiers.  Allow
-	non-constant linear-step, if it is a dummy argument alone and is
-	mentioned in uniform clause.  Diagnose map kinds not allowed
-	for various constructs.  Diagnose target {enter ,exit ,}data without
-	any map clauses.  Add dummy OMP_LIST_IS_DEVICE_PTR and
-	OMP_LIST_USE_DEVICE_PTR cases.
-	(gfc_resolve_omp_do_blocks): Set omp_current_do_collapse to orderedc
-	if non-zero.
-	(gfc_resolve_omp_parallel_blocks): Handle new OpenMP 4.5 constructs,
-	replace underscores with spaces in a few construct names.
-	(resolve_omp_do): Set collapse to orderedc if non-zero.  Handle new
-	OpenMP 4.5 constructs.
-	(resolve_oacc_loop_blocks): Call resolve_positive_int_expr instead
-	of resolve_oacc_positive_int_expr.
-	(gfc_resolve_omp_directive): Handle new OpenMP 4.5 constructs.
-	(gfc_resolve_omp_declare_simd): Allow ods->proc_name to be NULL.
-	* trans-openmp.c (gfc_omp_scalar_p): New function.
-	(doacross_steps): New variable.
-	(gfc_trans_omp_clauses): Handle new OpenMP 4.5 clauses and new clause
-	modifiers.
-	(gfc_trans_omp_critical): Adjust EXEC_OMP_CRITICAL handling.
-	(gfc_trans_omp_do): Handle doacross loops.  Clear sched_simd flag.
-	Handle EXEC_OMP_TASKLOOP.
-	(gfc_trans_omp_ordered): Translate omp clauses, allow NULL
-	code->block.
-	(GFC_OMP_SPLIT_TASKLOOP, GFC_OMP_MASK_TASKLOOP): New enum constants.
-	(gfc_split_omp_clauses): Copy orderedc together with ordered.  Change
-	firstprivate and lastprivate handling for OpenMP 4.5.
-	Handle EXEC_OMP_TARGET_SIMD, EXEC_OMP_TARGET_PARALLEL{,_DO,_DO_SIMD}
-	and EXEC_OMP_TASKLOOP{,_SIMD}.  Add handling for new OpenMP 4.5
-	clauses and clause modifiers and handle if clause without/with
-	modifiers.
-	(gfc_trans_omp_teams): Add omp_clauses argument, add it to other
-	teams clauses.  Don't wrap into OMP_TEAMS if -fopenmp-simd.
-	(gfc_trans_omp_target): For -fopenmp, translate num_teams and
-	thread_limit clauses on combined target teams early and pass to
-	gfc_trans_omp_teams.  Set OMP_TARGET_COMBINED if needed.
-	Handle EXEC_OMP_TARGET_PARALLEL{,_DO,_DO_SIMD} and
-	EXEC_OMP_TARGET_SIMD.
-	(gfc_trans_omp_taskloop, gfc_trans_omp_target_enter_data,
-	gfc_trans_omp_target_exit_data): New functions.
-	(gfc_trans_omp_directive): Handle EXEC_OMP_TARGET_{ENTER,EXIT}_DATA
-	EXEC_OMP_TASKLOOP{,_SIMD}, EXEC_OMP_TARGET_PARALLEL{,_DO,_DO_SIMD}
-	and EXEC_OMP_TARGET_SIMD.  Adjust gfc_trans_omp_teams caller.
-	* symbol.c (check_conflict): Handle omp_declare_target_link.
-	(gfc_add_omp_declare_target_link): New function.
-	(gfc_copy_attr): Copy omp_declare_target_link.
-	* dump-parse-tree.c (show_omp_namelist): Handle OMP_DEPEND_SINK_FIRST
-	depend_op.  Print linear clause modifiers.
-	(show_omp_clauses): Adjust for OpenMP 4.5 clause changes.
-	(show_omp_node): Print clauses for EXEC_OMP_ORDERED.  Allow NULL
-	c->block for EXEC_OMP_ORDERED.  Formatting fixes.  Adjust handling of
-	EXEC_OMP_CRITICAL, handle new OpenMP 4.5 constructs and some
-	forgotten OpenMP 4.0 constructs.
-	(show_code_node): Handle new OpenMP 4.5 constructs and some forgotten
-	OpenMP 4.0 constructs.
-	* gfortran.h (symbol_attribute): Add omp_declare_target_link bitfield.
-	(struct gfc_omp_namelist): Add u.common and u.linear_op fields.
-	(struct gfc_common_head): Change omp_declare_target into bitfield.
-	Add omp_declare_target_link bitfield.
-	(gfc_add_omp_declare_target_link): New prototype.
-	(enum gfc_statement): Add ST_OMP_TARGET_PARALLEL,
-	ST_OMP_END_TARGET_PARALLEL, ST_OMP_TARGET_PARALLEL_DO,
-	ST_OMP_END_TARGET_PARALLEL_DO, ST_OMP_TARGET_PARALLEL_DO_SIMD,
-	ST_OMP_END_TARGET_PARALLEL_DO_SIMD, ST_OMP_TARGET_ENTER_DATA,
-	ST_OMP_TARGET_EXIT_DATA, ST_OMP_TARGET_SIMD, ST_OMP_END_TARGET_SIMD,
-	ST_OMP_TASKLOOP, ST_OMP_END_TASKLOOP, ST_OMP_TASKLOOP_SIMD,
-	ST_OMP_END_TASKLOOP_SIMD and ST_OMP_ORDERED_DEPEND.
-	(enum gfc_omp_depend_op): Add OMP_DEPEND_SINK_FIRST and
-	OMP_DEPEND_SINK.
-	(enum gfc_omp_linear_op): New.
-	(struct gfc_omp_clauses): Add critical_name, depend_source,
-	orderedc, defaultmap, nogroup, sched_simd, sched_monotonic,
-	sched_nonmonotonic, simd, threads, grainsize, hint, num_tasks,
-	priority and if_exprs fields.
-	(enum gfc_exec_op): Add EXEC_OMP_END_CRITICAL,
-	EXEC_OMP_TARGET_ENTER_DATA, EXEC_OMP_TARGET_EXIT_DATA,
-	EXEC_OMP_TARGET_PARALLEL, EXEC_OMP_TARGET_PARALLEL_DO,
-	EXEC_OMP_TARGET_PARALLEL_DO_SIMD, EXEC_OMP_TARGET_SIMD,
-	EXEC_OMP_TASKLOOP, EXEC_OMP_TASKLOOP_SIMD.
-	(enum gfc_omp_map_op): Add OMP_MAP_RELEASE,
-	OMP_MAP_ALWAYS_TO, OMP_MAP_ALWAYS_FROM and OMP_MAP_ALWAYS_TOFROM.
-	(OMP_LIST_IS_DEVICE_PTR, OMP_LIST_USE_DEVICE_PTR): New.
-	(enum gfc_omp_if_kind): New.
-	* module.c (enum ab_attribute): Add AB_OMP_DECLARE_TARGET_LINK.
-	(attr_bits): Add AB_OMP_DECLARE_TARGET_LINK entry.
-	(mio_symbol_attribute): Save and restore omp_declare_target_link bit.
-	* trans.h (gfc_omp_scalar_p): New prototype.
-	* frontend-passes.c (gfc_code_walker): Handle new OpenMP 4.5
-	expressions.
-	* trans.c (trans_code): Handle new OpenMP 4.5 constructs.
-	* resolve.c (gfc_resolve_blocks): Likewise.
-	(gfc_resolve_code): Likewise.
-	* f95-lang.c (LANG_HOOKS_OMP_SCALAR_P): Redefine to gfc_omp_scalar_p.
-	(gfc_attribute_table): Add "omp declare target link".
-	* st.c (gfc_free_statement): Handle EXEC_OMP_END_CRITICAL like
-	EXEC_OMP_CRITICAL before, free clauses for EXEC_OMP_CRITICAL
-	and new OpenMP 4.5 constructs.  Free omp clauses even for
-	EXEC_OMP_ORDERED.
-	* match.c (match_exit_cycle): Rename collapse variable to count,
-	set it to orderedc if non-zero, instead of collapse.
-	* trans-decl.c (add_attributes_to_decl): Add "omp declare target link"
-	instead of "omp declare target" for omp_declare_target_link.
-	* trans-common.c (build_common_decl): Likewise.
-	* match.h (gfc_match_omp_target_enter_data,
-	gfc_match_omp_target_exit_data, gfc_match_omp_target_parallel,
-	gfc_match_omp_target_parallel_do,
-	gfc_match_omp_target_parallel_do_simd, gfc_match_omp_target_simd,
-	gfc_match_omp_taskloop, gfc_match_omp_taskloop_simd,
-	gfc_match_omp_end_critical, gfc_match_omp_ordered_depend): New
-	prototypes.
-	* parse.c (decode_omp_directive): Use gfc_match_omp_end_critical
-	instead of gfc_match_omp_critical for !$omp end critical.
-	Handle new OpenMP 4.5 constructs.  If ordered directive has
-	depend clause as the first of the clauses, use
-	gfc_match_omp_ordered_depend and ST_OMP_ORDERED_DEPEND instead of
-	gfc_match_omp_ordered and ST_OMP_ORDERED.
-	(case_executable): Add ST_OMP_TARGET_ENTER_DATA,
-	ST_OMP_TARGET_EXIT_DATA and ST_OMP_ORDERED_DEPEND cases.
-	(case_exec_markers): Add ST_OMP_TARGET_PARALLEL,
-	ST_OMP_TARGET_PARALLEL_DO, ST_OMP_TARGET_PARALLEL_DO_SIMD,
-	ST_OMP_TARGET_SIMD, ST_OMP_TASKLOOP and ST_OMP_TASKLOOP_SIMD cases.
-	(gfc_ascii_statement): Handle new OpenMP 4.5 constructs.
-	(parse_omp_do): Handle ST_OMP_TARGET_PARALLEL_DO,
-	ST_OMP_TARGET_PARALLEL_DO_SIMD, ST_OMP_TASKLOOP and
-	ST_OMP_TASKLOOP_SIMD.
-	(parse_omp_structured_block): Handle EXEC_OMP_END_CRITICAL instead
-	of EXEC_OMP_CRITICAL, adjust for EXEC_OMP_CRITICAL having omp clauses
-	now.
-	(parse_executable): Handle ST_OMP_TARGET_PARALLEL,
-	ST_OMP_TARGET_PARALLEL_DO, ST_OMP_TARGET_PARALLEL_DO_SIMD,
-	ST_OMP_TASKLOOP and ST_OMP_TASKLOOP_SIMD.
-
-2016-11-09  Mikael Morin  <mikael@gcc.gnu.org>
-	    Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/46459
-	* interface.c (compare_actual_formal): Add safety checks to avoid ICE.
-
-2016-11-09  Fritz O. Reese <fritzoreese@gmail.com>
-
-	PR fortran/78259
-	* trans-expr.c (gfc_trans_subcomponent_assign): Guard against NULL
-	values.
-
-2016-11-09  Steven G. Kargl  <kargl@gcc.gnu.org>
-	    Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/60777
-	* expr.c (external_spec_function): Allow recursive specification
-	functions in F03.
-
-2016-11-09  Paul Thomas  <pault@gcc.gnu.org>
-
-	* check.c (gfc_check_move_alloc): Prevent error that avoids
-	aliasing between to and from arguments from rejecting valid
-	code.
-
-2016-11-09  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/71894
-	* class.c (gfc_add_component_ref): Add safety checks to avoid ICE.
-
-2016-11-08  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/68440
-	* expr.c (check_alloc_comp_init): Loosen an assert.
-	* resolve.c (resolve_fl_parameter): Reject class parameters.
-
-2016-11-08  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/77596
-	* expr.c (gfc_check_pointer_assign): Add special check for procedure-
-	pointer component with absent interface.
-
-2016-11-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/78226
-	* expr.c (gfc_generate_initializer):  Add where to EXPR_NULL
-	statement.
-	* iresolve.c (gfc_resolve_extends_type_of):  Add where to
-	both arguments of the function.
-	* resolve.c (resolve_select_type):  Add where to the
-	second argument of the new statement.
-
-2016-11-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/78226
-	* match.c (gfc_match_select_type):  Add where for expr1.
-	* resolve.c (resolev_select_type): Add where for expr1 of new
-	statement.
-
-2016-11-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/78226
-	resolve.c (build_loc_call): Add location to return value.
-
-2016-11-06  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	* expr.c (is_non_empty_structure_constructor): New function to detect
-	non-empty structure constructor.
-	(gfc_has_default_initializer): Analyse initializers.
-	* resolve.c (cond_init): Removed.
-	(resolve_allocate_expr): Removed dead code.  Moved invariant code out
-	of the loop over all objects to allocate.
-	(resolve_allocate_deallocate): Added the invariant code remove from
-	resolve_allocate_expr.
-	* trans-array.c (gfc_array_allocate): Removed nullify of structure
-	components in favour of doing this in gfc_trans_allocate for both
-	scalars and arrays in the same place.
-	* trans-expr.c (gfc_trans_init_assign): Always using _vptr->copy for
-	class objects.
-	* trans-stmt.c (allocate_get_initializer): Get the initializer
-	expression for object allocated.
-	(gfc_trans_allocate): Nullify a derived type only, when no SOURCE=
-	or MOLD= is present preventing duplicate work.  Moved the creation
-	of the init-expression here to prevent code for conditions that
-	can not occur on freshly allocated object, like checking for the need
-	to free allocatable components.
-
-2016-11-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/78221
-	* arith.c (gfc_complex2real):  Change gfc_warning_now to
-	gfc_warning.
-
-2016-11-05  Paul Thomas  <pault@gcc.gnu.org>
-
-	* check.c (gfc_check_move_alloc): Introduce error to prevent
-	aliasing between to and from arguments.
-
-2016-11-05  Janus Weil  <janus@gcc.gnu.org>
-	    Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	PR fortran/69495
-	* invoke.texi: Mention -Wpedantic as an alias of -pedantic.
-	* check.c (gfc_check_transfer): Mention responsible flag in warning
-	message.
-	* frontend-passes.c (do_warn_function_elimination): Ditto.
-	* resolve.c (resolve_elemental_actual): Ditto.
-	(resolve_operator): Ditto.
-	(warn_unused_fortran_label): Ditto.
-	* trans-common.c (translate_common): Ditto.
-
-2016-11-05  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/67564
-	* trans-expr.c (gfc_conv_class_to_class): Return _len component
-	of unlimited polymorphic entities.
-
-2016-11-04  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/64933
-	* primary.c (gfc_match_varspec): If selector expression is
-	unambiguously an array, make sure that the associate name
-	is an array and has an array spec. Modify the original
-	condition for doing this to exclude character types.
-
-2016-11-03  Fritz Reese <fritzoreese@gmail.com>
-
-	* gfortran.texi: Document.
-	* gfortran.h (gfc_dt): New field default_exp.
-	* primary.c (match_real_constant): Default exponent with -fdec.
-	* io.c (match_io): Set dt.default_exp with -fdec.
-	* ioparm.def (IOPARM_dt_default_exp): New.
-	* trans-io.c (build_dt): Set IOPARM_dt_default_exp with -fdec.
-
-2016-11-03  Fritz O. Reese <fritzoreese@gmail.com>
-
-	* decl.c (gfc_match_parameter): Allow omitted '()' with -std=legacy.
-	* parse.c (decode_statement): Match "parameter" before assignments.
-	* gfortran.texi: Document.
-
-2016-11-02  Fritz O. Reese <fritzoreese@gmail.com>
-
-	* lang.opt, invoke.texi: New argument -Wargument-mismatch.
-	* interface.c (compare_parameter, compare_actual_formal,
-	gfc_check_typebound_override, argument_rank_mismatch): Control argument
-	mismatch warnings with -Wargument-mismatch.
-	* resolve.c (resolve_structure_cons, resolve_global_procedure): Ditto.
-
-2016-11-02  Fritz Reese <fritzoreese@gmail.com>
-
-	* gfortran.h (gfc_error): New declaration for gfc_error with 'opt'.
-	* error.c (gfc_error): Add optional 'opt' argument.
-	* error.c (gfc_notify_std): Call fully-qualified gfc_error.
-
-2016-11-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/78178
-	* match.c (match_simple_where):  Fill in locus for assigment
-	in simple WHERE statement.
-
-2016-11-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/69544
-	* match.c (gfc_match_where):  Fill in locus for assigment
-	in simple WHERE statement.
-
-2016-10-31  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/54679
-	* io.c (check_format): Adjust checks for FMT_L to treat a zero
-	width as an extension, giving warnings or error as appropriate.
-	Improve messages.
-
-2016-10-31  Jakub Jelinek  <jakub@redhat.com>
-
-	* trans-types.c (gfc_get_array_descr_info): For -gdwarf-5 or
-	-gno-strict-dwarf, handle assumed rank arrays the way dwarf2out
-	expects.
-
-2016-10-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/67219
-	* arith.c (gfc_int2real):  Change gfc_warning_now
-	to gfc_warning.
-	* primary.c (match_complex_constant):  If there
-	is no comma, throw away any warning which might have
-	been issued by gfc_int2real.
-
-2016-10-28  Steven G. Kargl <kargl@gcc.gnu.org>
-
-	PR fortran/71891
-	* symbol.c (gfc_type_compatible): Fix typo.
-
-2016-10-27  Jakub Jelinek  <jakub@redhat.com>
-
-	PR fortran/78026
-	* parse.c (decode_statement): Don't create namespace for possible
-	select type here and destroy it afterwards.
-	(parse_select_type_block): Set gfc_current_ns to new_st.ext.block.ns.
-	(parse_executable, gfc_parse_file): Formatting fixes.
-	* match.c (gfc_match_select_type): Create namespace for select type
-	here, only after matching select type.  Formatting fixes.  Free that
-	namespace if not returning MATCH_YES, after gfc_undo_symbols,
-	otherwise remember it in new_st.ext.block.ns and switch to parent
-	namespace anyway.
-
-2016-10-27  Fritz Reese  <fritzoreese@gmail.com>
-
-	* expr.c (generate_union_initializer, get_union_initializer): New.
-	* expr.c (component_initializer): Consider BT_UNION specially.
-	* resolve.c (resolve_structure_cons): Hack for BT_UNION.
-	* trans-expr.c (gfc_trans_subcomponent_assign): Ditto.
-	* trans-expr.c (gfc_conv_union_initializer): New.
-	* trans-expr.c (gfc_conv_structure): Replace UNION handling code with
-	new function gfc_conv_union_initializer.
-
-2016-10-26  Steven G. Kargl <kargl@gcc.gnu.org>
-
-	PR fortran/78092
-	* trans-intrinsic.c (gfc_conv_intrinsic_sizeof):  Fix reference to an
-	array element of type CLASS.
-
-2016-10-26  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/78108
-	* resolve.c (resolve_typebound_intrinsic_op): For submodules
-	suppress the error and return if the same procedure symbol
-	is added more than once to the interface.
-
-2016-10-26  Fritz Reese  <fritzoreese@gmail.com>
-
-	* frontend-passes.c (gfc_code_walker): Add SHARE and CARRIAGECONTROL.
-	* io.c (gfc_free_open, gfc_resolve_open, gfc_match_open): Ditto.
-	* gfortran.h (gfc_open): Add SHARE, CARRIAGECONTROL, and READONLY.
-	* io.c (io_tag, match_open_element): Ditto.
-	* ioparm.def: Ditto.
-	* trans-io.c (gfc_trans_open): Ditto.
-	* io.c (match_dec_etag, match_dec_ftag): New functions.
-	* gfortran.texi: Document.
-
-2016-10-25  Fritz Reese  <fritzoreese@gmail.com>
-
-	* gfortran.texi: Document.
-	* resolve.c (logical_to_bitwise): New function.
-	* resolve.c (resolve_operator): Wrap operands with logical_to_bitwise.
-
-2016-10-25  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/72770
-	* class.c (find_intrinsic_vtab): No longer encode the string length
-	into vtype's name and use the char's kind for the size instead of
-	the string_length time the size.
-	* trans-array.c (gfc_conv_ss_descriptor): For deferred length char
-	arrays the dynamically sized type needs to be declared.
-	(build_class_array_ref): Address the i-th array element by multiplying
-	it with the _vptr->_size and the _len to make sure char arrays are
-	addressed correctly.
-	* trans-expr.c (gfc_conv_intrinsic_to_class): Made comment more
-	precise.
-
-2016-10-25  Cesar Philippidis  <cesar@codesourcery.com>
-
-	* intrinsic.texi (cosd): New mathop.
-
-2016-10-25  Fritz Reese  <fritzoreese@gmail.com>
-
-	* match.c (gfc_match_intrinsic_op): Match ".XOR." with -std=legacy.
-	* gfortran.texi: Document.
-
-2016-10-25  Fritz Reese  <fritzoreese@gmail.com>
-
-	* primary.c (gfc_match_rvalue): Match %LOC as LOC with -std=legacy.
-	* gfortran.texi: Document.
-
-2016-10-25  Fritz Reese  <fritzoreese@gmail.com>
-
-	* decl.c (gfc_match_type): New function.
-	* match.h (gfc_match_type): New function.
-	* match.c (gfc_match_if): Special case for one-line IFs.
-	* gfortran.texi: Update documentation.
-	* parse.c (decode_statement): Invoke gfc_match_type.
-
-2016-10-25  Fritz Reese  <fritzoreese@gmail.com>
-
-	* gfortran.texi: Document.
-	* gfortran.h (gfc_is_whitespace): Include form feed ('\f').
-
-2016-10-25  Fritz Reese  <fritzoreese@gmail.com>
-
-	* invoke.texi, gfortran.texi: Touch up documentation of -fdec.
-	* gfortran.h (gfc_option): Move flag_dec_structure out of gfc_option.
-	* decl.c (match_record_decl, gfc_match_decl_type_spec,
-	gfc_match_structure_decl): Ditto.
-	* match.c (gfc_match_member_sep): Ditto.
-	* options.c (gfc_handle_option): Ditto.
-	* lang.opt (fdec-structure): Use Fortran Var for flag_dec_structure.
-	* lang.opt (fdec): Use Fortran Var to create flag_dec.
-	* options.c (set_dec_flags): With -fdec enable -fcray-pointer,
-	-fd-lines-as-comments (default), -fdollar-ok, and legacy std flags.
-
-2016-10-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/77828
-	* ioparm.def: Reorder dt parameters to match libgfortran.
-	* libgfortran.h: Swap definitions of GFC_INTERNAL_UNIT and
-	GFC_INTERNAL_UNIT4.
-
-2016-10-24  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/71895
-	* interface.c (gfc_compare_derived_types):  Convert gcc_assert()
-	to a gfc_internal_error() to prevent an ICE.
-
-2016-10-24  Jakub Jelinek  <jakub@redhat.com>
-
-	* trans-intrinsic.c (gfc_conv_intrinsic_minmax): Use VAR_P (x)
-	instead of TREE_CODE (x) == VAR_DECL.
-	* trans-expr.c (gfc_class_vptr_get, gfc_class_len_get,
-	gfc_class_len_or_zero_get, gfc_get_vptr_from_expr,
-	gfc_conv_string_length, conv_base_obj_fcn_val,
-	gfc_conv_procedure_call, gfc_trans_assignment_1): Likewise.
-	* trans-openmp.c (gfc_omp_predetermined_sharing,
-	gfc_omp_disregard_value_expr, gfc_omp_private_debug_clause,
-	gfc_trans_omp_atomic, gfc_trans_omp_do): Likewise.
-	* trans-io.c (nml_get_addr_expr): Likewise.
-	* trans-decl.c (gfc_finish_decl, gfc_build_qualified_array,
-	gfc_get_symbol_decl, gfc_get_fake_result_decl,
-	gfc_trans_deferred_vars, gfc_trans_use_stmts,
-	generate_local_decl): Likewise.
-	* trans-array.c (trans_array_constructor, trans_array_bound_check,
-	build_class_array_ref, gfc_array_init_size,
-	gfc_trans_auto_array_allocation, gfc_trans_g77_array,
-	gfc_trans_dummy_array_bias, gfc_alloc_allocatable_for_assignment,
-	gfc_trans_deferred_array): Likewise.
-	* trans.c (gfc_build_array_ref): Likewise.  Use
-	VAR_OR_FUNCTION_DECL_P (x) instead of TREE_CODE (x) == VAR_DECL
-	|| TREE_CODE (x) == FUNCTION_DECL.
-
-2016-10-23  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/77763
-	* parse.c (parse_spec): Allow STRUCTURE in BLOCK DATA.  Sort
-	case labels.
-
-2016-10-23  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/54730
-	PR fortran/78033
-	* array.c (gfc_match_array_constructor): Remove checkpointing
-	introduced in r196416 (original fix for PR fortran/54730).  Move
-	initialization to top of function.
-	* match.c (gfc_match_type_spec): Special case matching for REAL.
-
-2016-10-23  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/69834
-	* class.c (gfc_find_derived_vtab): Obtain the gsymbol for the
-	derived type's module. If the gsymbol is present and the top
-	level namespace corresponds to a module, use the gsymbol name
-	space. In the search to see if the vtable exists, try the gsym
-	namespace first.
-	* dump-parse-tree (show_code_node): Modify select case dump to
-	show select type construct.
-	* resolve.c (build_loc_call): New function.
-	(resolve_select_type): Add check for repeated type is cases.
-	Retain selector expression and use it later instead of expr1.
-	Exclude deferred length TYPE IS cases and emit error message.
-	Store the address for the vtable in the 'low' expression and
-	the hash value in the 'high' expression, for each case. Do not
-	call resolve_select.
-	* trans.c(trans_code) : Call gfc_trans_select_type.
-	* trans-stmt.c (gfc_trans_select_type_cases): New function.
-	(gfc_trans_select_type): New function.
-	* trans-stmt.h : Add prototype for gfc_trans_select_type.
-
-2016-10-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/78021
-	* gfc_compare_functions:  Strings with different lengths in
-	argument lists compare unequal.
-
-2016-10-22  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/43366
-	PR fortran/51864
-	PR fortran/57117
-	PR fortran/61337
-	PR fortran/61376
-	* primary.c (gfc_expr_attr): For transformational functions on classes
-	get the attrs from the class argument.
-	* resolve.c (resolve_ordinary_assign): Remove error message due to
-	feature implementation.  Rewrite POINTER_ASSIGNS to ordinary ones when
-	the right-hand side is scalar class object (with some restrictions).
-	* trans-array.c (trans_array_constructor): Create the temporary from
-	class' inner type, i.e., the derived type.
-	(build_class_array_ref): Add support for class array's storage of the
-	class object or the array descriptor in the decl saved descriptor.
-	(gfc_conv_expr_descriptor): When creating temporaries for class objects
-	add the class object's handle into the decl saved descriptor.
-	(structure_alloc_comps): Use the common way to get the _data component.
-	(gfc_is_reallocatable_lhs): Add notion of allocatable class objects.
-	* trans-expr.c (gfc_find_and_cut_at_last_class_ref): Remove the only ref
-	only when the expression's type is BT_CLASS.
-	(gfc_trans_class_init_assign): Correctly handle class arrays.
-	(gfc_trans_class_assign): Joined into gfc_trans_assignment_1.
-	(gfc_conv_procedure_call): Support for class types as arguments.
-	(trans_get_upoly_len): For unlimited polymorphics retrieve the _len
-	component's tree.
-	(trans_class_vptr_len_assignment): Catch all ways to assign the _vptr
-	and _len components of a class object correctly.
-	(pointer_assignment_is_proc_pointer): Identify assignments of
-	procedure pointers.
-	(gfc_trans_pointer_assignment): Enhance support for class object pointer
-	assignments.
-	(gfc_trans_scalar_assign): Removed assert.
-	(trans_class_assignment): Assign to a class object.
-	(gfc_trans_assignment_1): Treat class objects correctly.
-	(gfc_trans_assignment): Propagate flags to trans_assignment_1.
-	* trans-stmt.c (gfc_trans_allocate): Use gfc_trans_assignment now
-	instead of copy_class_to_class.
-	* trans-stmt.h: Function prototype removed.
-	* trans.c (trans_code): Less special casing for class objects.
-	* trans.h: Added flags to gfc_trans_assignment () prototype.
-
-2016-10-21  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/69566
-	* resolve.c (fixup_array_ref): New function.
-	(resolve_select_type): Gather up the rank and array reference,
-	if any, from the selector. Fix up the 'associate name' and the
-	'associate entities' as necessary.
-	* trans-expr.c (gfc_conv_class_to_class): If the symbol backend
-	decl is a FUNCTION_DECL, use the 'fake_result_decl' instead.
-
-2016-10-20  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	* array.c (gfc_match_array_constructor): Remove set, but unused
-	variable.
-
-2016-10-20  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	* class.c (gfc_build_class_symbol): Set the kind of _len to
-	gfc_charlen_int_kind to catch changes of the charlen kind.
-
-2016-10-17  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/77978
-	* match.c (gfc_match_stopcode): Fix error reporting for several
-	deficiencies in matching stop-codes.
-
-2016-10-17  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/61420
-	PR fortran/78013
-	* resolve.c (resolve_variable): Obtain the typespec for a
-	variable expression, when the variable is a function result
-	that is a procedure pointer.
-
-2016-10-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/48298
-	* trans-io.c (transfer_expr): Ignore dtio procedures for inquire
-	with iolength.
-
-2016-10-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/77972
-	* scanner.c (gfc_next_char_literal): If nextc is null do not
-	decrement the pointer and call the diagnostics.
-
-2016-10-14  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	* resolve.c (resolve_symbol): Add unimplemented message for
-	polymorphic types with allocatable/pointer components and coarray=lib.
-
-2016-10-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* trans-intrinsic.c: Include memmodel.h.
-
-2016-10-13  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/72832
-	* trans-expr.c (gfc_copy_class_to_class): Add generation of
-	runtime array bounds check.
-	* trans-intrinsic.c (gfc_conv_intrinsic_size): Add a crutch to
-	get the descriptor of a function returning a class object.
-	* trans-stmt.c (gfc_trans_allocate): Use the array spec on the
-	array to allocate instead of the array spec from source=.
-
-2016-10-12  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	* trans-expr.c (gfc_find_and_cut_at_last_class_ref): Fixed style.
-	(gfc_trans_class_init_assign): Same.
-	(gfc_conv_procedure_call): Same.
-	(gfc_trans_assignment_1): Same.
-	* trans-stmt.c (gfc_trans_allocate): Same.
-
-2016-10-11  Jakub Jelinek  <jakub@redhat.com>
-
-	* iresolve.c (is_trig_resolved, resolve_trig_call): Formatting fixes.
-	* simplify.c (simplify_trig_call, degrees_f, radians_f,
-	gfc_simplify_atrigd, gfc_simplify_cotan): Likewise.
-
-2016-10-11  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/77942
-	* simplify.c (gfc_simplify_cshift): Check for zero.
-
-2016-10-11  Fritz Reese  <fritzoreese@gmail.com>
-
-	* iresolve.c (get_radians, get_degrees): Fix sloppy commit.
-	* simplify.c (degrees_f, radians_f): Ditto.
-
-2016-10-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	* simplify.c (radians_f): Fix mpfr_mod.
-	* ireolce.c (get_degrees): Declare tmp.
-
-2016-10-11  Fritz Reese  <fritzoreese@gmail.com>
-
-	* lang.opt: New flag -fdec-math.
-	* options.c (set_dec_flags): Enable with -fdec.
-	* invoke.texi, gfortran.texi, intrinsic.texi: Update documentation.
-	* intrinsics.c (add_functions, do_simplify): New intrinsics
-	with -fdec-math.
-	* gfortran.h (gfc_isym_id): New isym GFC_ISYM_COTAN.
-	* gfortran.h (gfc_resolve_atan2d, gfc_resolve_cotan,
-	gfc_resolve_trigd, gfc_resolve_atrigd): New prototypes.
-	* iresolve.c (resolve_trig_call, get_degrees, get_radians,
-	is_trig_resolved, gfc_resolve_cotan, gfc_resolve_trigd,
-	gfc_resolve_atrigd, gfc_resolve_atan2d): New functions.
-	* intrinsics.h (gfc_simplify_atan2d, gfc_simplify_atrigd,
-	gfc_simplify_cotan, gfc_simplify_trigd): New prototypes.
-	* simplify.c (simplify_trig_call, degrees_f, radians_f,
-	gfc_simplify_cotan, gfc_simplify_trigd, gfc_simplify_atrigd,
-	gfc_simplify_atan2d): New functions.
-
-2016-10-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/77915
-	* frontend-passes.c (inline_matmul_assign):  Return early if
-	inside a FORALL statement.
-
-2016-10-07  Fritz Reese  <fritzoreese@gmail.com>
-
-	* interface.c (compare_components): Check charlen for BT_CHAR.
-
-2016-10-07  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/77406
-	* interface.c (gfc_compare_interfaces): Fix detection of ambiguous
-	interface involving alternate return.
-	(check_interface1): Improve error message and loci.
-
-2016-10-06  Louis Krupp  <louis.krupp@zoho.com>
-
-	PR fortran/69955
-	* trans-array.c (gfc_conv_expr_descriptor): Don't allocate
-	components if it's not necessary.
-
-2016-10-05  Louis Krupp  <louis.krupp@zoho.com>
-
-	PR fortran/57910
-	* trans-expr.c (gfc_add_interface_mapping): Don't try to
-	dereference call-by-value scalar argument.
-
-2016-10-05  Steven G. Kargl  <kargls@gcc.gnu.org>
-
-	PR fortran/58991
-	PR fortran/58992
-	* resolve.c (resolve_assoc_var):  Fix CHARACTER type-spec for a
-	selector in ASSOCIATE.
-	(resolve_fl_variable): Skip checks for an ASSOCIATE variable.
-
-2016-10-05  Fritz Reese  <fritzoreese@gmail.com>
-
-	* interface.c (gfc_compare_types): Don't compare BT_UNION components
-	until we know they're both UNIONs.
-	* interface.c (gfc_compare_union_types): Guard against empty
-	components.
-
-2016-10-05  Louis Krupp  <louis.krupp@zoho.com>
-
-	PR fortran/67524
-	* resolve.c (resolve_symbol): Don't apply default type rules to
-	mixed-entry master created for function entry points.
-
-2016-09-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/66643
-	* io.c (match_dt_unit): Peek check for missing format.
-
-2016-09-30  Fritz Reese  <fritzoreese@gmail.com>
-
-	PR fortran/77764
-	* interface.c (gfc_compare_union_types): Null-guard map components.
-
-2016-09-30  Fritz Reese  <fritzoreese@gmail.com>
-
-	PR fortran/77782
-	* interface.c (gfc_compare_derived_types): Use gfc_compare_union_types
-	to compare union types.
-
-2016-09-30  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	* trans-array.c (gfc_array_allocate): Use the token from coarray's
-	.token member.
-	* trans-intrinsic.c (conv_expr_ref_to_caf_ref): Only generate
-	caf-reference chains from the first coarray references on.
-	* trans-types.c (gfc_get_derived_type): Switch on mandatory .token
-	member generation for allocatable arrays in coarrays in derived types.
-
-2016-09-29  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* options.c (gfc_post_options): Remove special case for
-	TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard.
-
-2016-09-27  Jakub Jelinek  <jakub@redhat.com>
-
-	* dependency.c (gfc_dep_compare_expr): Remove break after return.
-	* frontend-passes.c (optimize_op): Likewise.
-	* interface.c (gfc_current_interface_head): Likewise.
-	* symbol.c (check_conflict): Likewise.
-	* trans-intrinsic.c (build_fix_expr): Likewise.
-
-	PR fortran/77666
-	* trans-openmp.c (gfc_omp_private_outer_ref): Return true even for
-	references to allocatable arrays.
-
-2016-09-26  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/77420
-	* trans-common.c:  Handle array elements in equivalence when
-	the lower and upper bounds of array spec are NULL.
-
-2016-09-26  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/48298
-	* interface.c (gfc_find_specific_dtio_proc) : Return NULL if
-	the derived type is broken, as indicated by a flavor other than
-	FL_DERIVED.
-
-2016-09-26  Marek Polacek  <polacek@redhat.com>
-
-	PR c/7652
-	* arith.c (eval_intrinsic): Add gcc_fallthrough.
-	* frontend-passes.c (optimize_op): Likewise.
-	(gfc_expr_walker): Likewise.
-	* parse.c (next_fixed): Likewise.
-	* primary.c (match_variable): Likewise.
-	* trans-array.c: Likewise.
-	* trans-expr.c (flatten_array_ctors_without_strlen): Likewise.
-	* trans-io.c (transfer_expr): Likewise.
-
-2016-09-25  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/77429
-	* dependency.c (gfc_check_dependency):  Convert gcc_assert() to
-	a conditional and possible call to  gfc_internal_error().
-
-2016-09-25  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/77694
-	* frontend-passes.c (optimize_binop_array_assignment): Check pointer
-	for NULL.
-
-2016-09-23  Fritz Reese  <fritzoreese@gmail.com>
-
-	* lang.opt, invoke.texi, gfortran.texi: New flag -fdec-static.
-	* options.c (set_dec_flags): Set -fdec-static with -fdec.
-	* gfortran.h (symbol_attribute): New attribute automatic.
-	* gfortran.h (gfc_add_automatic): New prototype.
-	* match.h (gfc_match_automatic, gfc_match_static): New functions.
-	* decl.c (gfc_match_automatic, gfc_match_static): Ditto.
-	* symbol.c (gfc_add_automatic): Ditto.
-	* decl.c (match_attr_spec): Match AUTOMATIC and STATIC decls.
-	* parse.c (decode_specification_statement, decode_statement): Ditto.
-	* resolve.c (apply_default_init_local, resolve_fl_variable_derived,
-	resolve_symbol): Support for automatic attribute.
-	* symbol.c (check_conflict, gfc_copy_attr, gfc_is_var_automatic):
-	Ditto.
-	* trans-decl.c (gfc_finish_var_decl): Ditto.
-
-2016-09-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/48298
-	* gfortran.h (gfc_dt): Add *udtio.
-	* ioparm.def: Add bit IOPARM_dt_f2003 to align with library use of bit
-	25. Add IOPARM_dt_dtio bit to common flags.
-	* resolve.c (resolve_transfer): Set dt->udtio to expression.
-	* io.c (gfc_match_inquire): Adjust error message for internal
-	unit KIND.
-	* libgfortran.h: Adjust defines for GFC_INTERNAL_UNIT4,
-	GFC_INTERNAL_UNIT, and GFC_INVALID_UNIT.
-	* trans-io.c (build_dt): Set common_unit to reflect the KIND of
-	the internal unit. Set mask bit for presence of dt->udtio.
-
-2016-09-22  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	* trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Use the old caf-
-	interface where possible.
-
-2016-09-22  Paul Thomas  <pault@gcc.gnu.org>
-
-	* interface.c (check_dtio_interface1): Introduce errors for
-	alternate returns and incorrect numbers of arguments.
-	(gfc_find_specific_dtio_proc): Return cleanly if the derived
-	type either doesn't exist or has no namespace.
-
-2016-09-21  Louis Krupp  <louis.krupp@zoho.com>
-
-	PR fortran/66107
-	* decl.c (add_init_expr_to_sym): Catch variable character length
-	in parameter array.
-
-2016-09-21  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/77657
-
-	* interface.c (gfc_find_specific_dtio_proc): Borrow trick from
-	resolve_typebound_generic_call to find dtio procedures that
-	over-ride those in the declared type.
-
-2016-09-20  Marek Polacek  <polacek@redhat.com>
-
-	* trans-intrinsic.c (conv_expr_ref_to_caf_ref): Adjust fall through
-	comment.
-
-2016-09-19  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/71952
-	* expr.c (gfc_check_assign): Added flag to control whether datatype
-	conversion is allowed.
-	* gfortran.h: Added caf-token-tree to gfc_component.  Changed
-	prototypes mostly to add whether datatype conversion is allowed.
-	* gfortran.texi: Added documentation for the caf_reference_t and the
-	caf_*_by_ref function.
-	* primary.c (caf_variable_attr): Similar to gfc_variable_attr but
-	focused on the needs of coarrays.
-	(gfc_caf_attr): Same.
-	* resolve.c (resolve_ordinary_assign): Set the conversion allowed
-	flag when not in a coarray.
-	* trans-array.c (gfc_array_init_size): Moved setting of array
-	descriptor's datatype before the alloc, because caf_register needs it.
-	(gfc_array_allocate): Changed notion of whether an array is a coarray.
-	(gfc_array_deallocate): Same.
-	(gfc_alloc_allocatable_for_assignment): Added setting of coarray's
-	array descriptor datatype before the register.  And using deregister/
-	register to mimmick a realloc for coarrays.
-	* trans-decl.c (gfc_build_builtin_function_decls): Corrected signatures
-	of old caf-functions and added signature definitions of the _by_ref
-	ones.
-	(generate_coarray_sym_init): Adapted to new caf_register signature.
-	* trans-expr.c (gfc_conv_scalar_to_descriptor): Make sure a constant
-	is translated to an lvalue expression before use in an array
-	descriptor.
-	(gfc_get_ultimate_alloc_ptr_comps_caf_token): New function.  Get the
-	last allocatable component's coarray token.
-	(gfc_get_tree_for_caf_expr): For top-level object get the coarray
-	token and check for unsupported features.
-	(gfc_get_caf_token_offset): Getting the offset might procude new
-	statements, which now are stored in the pre and post of the current se.
-	(gfc_caf_get_image_index): For this image return a call to
-	caf_this_image.
-	(expr_may_alias_variables): Check that the result is set for testing
-	its properties.
-	(alloc_scalar_allocatable_for_assignment): Added auto allocation of
-	coarray components.
-	(gfc_trans_assignment_1): Rewrite an assign to a coarray object to
-	be a sendget.
-	* trans-intrinsic.c (conv_caf_vector_subscript_elem): Corrected
-	wrong comment.
-	(compute_component_offset): Compute the correct offset a structure
-	member.
-	(conv_expr_ref_to_caf_ref): Convert to a chain of refs into
-	caf_references.
-	(gfc_conv_intrinsic_caf_get): Call caf_get_by_ref instead of caf_get.
-	(conv_caf_send): Call caf_*_by_ref for coarrays that need
-	reallocation.
-	(gfc_conv_intrinsic_function): Adapted to new signuature of the caf
-	drivers.
-	(conv_intrinsic_atomic_op): Add pre and post statements correctly.
-	(conv_intrinsic_atomic_ref): Same.
-	(conv_intrinsic_atomic_cas): Same.
-	(conv_intrinsic_event_query): Same.
-	* trans-stmt.c (gfc_trans_lock_unlock): Same.
-	(gfc_trans_event_post_wait): Same.
-	(gfc_trans_allocate): Support allocation of allocatable coarrays.
-	(gfc_trans_deallocate): And there deallocation.
-	* trans-types.c (gfc_typenode_for_spec): Added flag to control whether
-	a component is part of coarray.  When so, then add space to store a
-	coarray token.
-	(gfc_build_array_type): Same.
-	(gfc_get_array_descriptor_base): Same.
-	(gfc_get_array_type_bounds): Same.
-	(gfc_sym_type): Same.
-	(gfc_get_derived_type): Same.
-	(gfc_get_caf_reference_type): Declare the caf_reference_type.
-	* trans-types.h: Prototype changes only.
-	* trans.c (gfc_allocate_using_lib): Use the updated caf_register
-	signature.
-	(gfc_allocate_allocatable): Same.
-	(gfc_deallocate_with_status): Same.
-	* trans.h: Defined the runtime types for caf_reference_t and the enums.
-
-2016-09-19  Fritz Reese  <fritzoreese@gmail.com>
-
-	PR fortran/77584
-	* decl.c (match_record_decl, gfc_match_decl_type_spec): Fixes to
-	handling of structure/record from declaration-type-spec.
-
-2016_09_17  Louis Krupp  <louis.krupp@zoho.com>
-
-	PR fortran/68078
-	* resolve.c (resolve_allocate_expr): Check that derived type
-	pointer, object or array has been successfully allocated before
-	initializing.
-
-2016-09-16  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/77612
-	* decl.c (char_len_param_value): Check parent namespace for
-	seen_implicit_none.
-
-2016-09-15  Louis Krupp  <louis.krupp@zoho.com>
-
-	PR fortran/69963
-	* parse.c (reject_statement): Clear charlen pointers in implicit
-	character typespecs before those charlen structures are freed.
-
-2016-09-14  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* simplify.c (gfc_simplify_repeat): Fix a misplaced closing ')'.
-
-2016-09-13  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/77420
-	* module.c (load_equiv):  Revert revision 240063.
-
-2016-09-10  Paul Thomas  <pault@gcc.gnu.org>
-	    Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/77532
-	* interface.c (check_dtio_arg_TKR_intent): Return after error.
-	(check_dtio_interface1): Remove asserts, test for NULL and return
-	if found.
-
-2016-09-09  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/77420
-	* module.c (load_equiv): If the current namespace has a list of
-	equivalence statements, initialize duplicate to false and then
-	look for duplicates; otherwise, initialize it to true.
-
-2016-09-09  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/77506
-	* array.c (gfc_match_array_constructor): CHARACTER(len=*) cannot
-	appear in an array constructor.
-
-2016-09-09  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/77507
-	* intrinsic.c (add_functions):  Use correct keyword.
-
-2016-09-08  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/69514
-	* array.c (gfc_match_array_constructor):  If type-spec is present,
-	walk the array constructor performing possible conversions for
-	numeric types.
-
-2016-09-08  Jakub Jelinek  <jakub@redhat.com>
-
-	PR fortran/77500
-	* trans-openmp.c (gfc_trans_omp_atomic): For atomic write or
-	swap, don't try to look through GFC_ISYM_CONVERSION.  In other cases,
-	check that value.function.isym is non-NULL before dereferencing it.
-
-2016-09-04  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/77391
-	* resolve.c (deferred_requirements): New function to check F2008:C402.
-	(resolve_fl_variable,resolve_fl_parameter): Use it.
-
-2016-09-04  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/77460
-	* simplify.c (simplify_transformation_to_scalar):  On error, result
-	may be NULL, simply return.
-
-2016-08-31  Jakub Jelinek  <jakub@redhat.com>
-
-	PR fortran/77352
-	* trans-openmp.c (gfc_trans_omp_parallel_workshare): Always add a
-	BIND_EXPR with BLOCK around what gfc_trans_omp_workshare returns.
-
-	PR fortran/77374
-	* parse.c (parse_omp_oacc_atomic): Copy over cp->ext.omp_atomic
-	to cp->block->ext.omp_atomic.
-	* resolve.c (gfc_resolve_blocks): Assert block with one or two
-	EXEC_ASSIGNs for EXEC_*_ATOMIC.
-	* openmp.c (resolve_omp_atomic): Don't assert one or two
-	EXEC_ASSIGNs, instead return quietly for EXEC_NOPs and otherwise
-	error unexpected statements.
-
-2016-08-31  Paul Thomas  <pault@gcc.gnu.org>
-	    Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/48298
-	* decl.c (access_attr_decl): Include case INTERFACE_DTIO as
-	appropriate.
-	* gfortran.h : Add INTRINSIC_FORMATTED and
-	INTRINSIC_UNFORMATTED to gfc_intrinsic_op. Add INTERFACE_DTIO
-	to interface type. Add new enum 'dtio_codes'. Add bitfield
-	'has_dtio_procs' to symbol_attr. Add prototypes
-	'gfc_check_dtio_interfaces' and 'gfc_find_specific_dtio_proc'.
-	* interface.c (dtio_op): New function.
-	(gfc_match_generic_spec): Match generic DTIO interfaces.
-	(gfc_match_interface): Treat DTIO interfaces in the same way as
-	(gfc_current_interface_head): Add INTERFACE_DTIO appropriately.
-	(check_dtio_arg_TKR_intent): New function.
-	(check_dtio_interface1): New function.
-	(gfc_check_dtio_interfaces): New function.
-	(gfc_find_specific_dtio_proc): New function.
-	* io.c : Add FMT_DT to format_token.
-	(format_lex): Handle DTIO formatting.
-	* match.c (gfc_op2string): Add DTIO operators.
-	* resolve.c (derived_inaccessible): Ignore pointer components
-	to enclosing derived type.
-	(resolve_transfer): Resolve transfers that involve DTIO.
-	procedures. Find the specific subroutine for the transfer and
-	use its existence to over-ride some of the constraints on
-	derived types. If the transfer is recursive, require that the
-	subroutine be so qualified.
-	(dtio_procs_present): New function.
-	(resolve_fl_namelist): Remove inhibition of polymorphic objects
-	in namelists if DTIO read and write subroutines exist. Likewise
-	for derived types.
-	(resolve_types): Invoke 'gfc_verify_dtio_procedures'.
-	* symbol.c : Set 'dtio_procs' using 'minit'.
-	* trans-decl.c (gfc_finish_var_decl): If a derived-type/class
-	object is associated with DTIO procedures, make it TREE_STATIC.
-	* trans-expr.c (gfc_get_vptr_from_expr): If the expression
-	drills down to a PARM_DECL, extract the vptr correctly.
-	(gfc_conv_derived_to_class): Check 'info' in the test for
-	'useflags'. If the se expression exists and is a pointer, use
-	it as the class _data.
-	* trans-io.c : Add IOCALL_X_DERIVED to iocall and the function
-	prototype. Likewise for IOCALL_SET_NML_DTIO_VAL.
-	(set_parameter_tree): Renamed from 'set_parameter_const', now
-	returns void and has new tree argument. Calls modified to match
-	new interface.
-	(transfer_namelist_element): Transfer DTIO procedure pointer
-	and vpointer using the new function IOCALL_SET_NML_DTIO_VAL.
-	(get_dtio_proc): New function.
-	(transfer_expr): Add new argument for the vptr field of class
-	objects. Add the code to call the specific DTIO proc, convert
-	derived types to class and call IOCALL_X_DERIVED.
-	(trans_transfer): Add BT_CLASS to structures for treatment by
-	the scalarizer. Obtain the vptr for the dynamic type, both for
-	scalar and array transfer.
-
-2016-08-30  Fritz Reese  <fritzoreese@gmail.com>
-
-	* gfortran.texi: Fix typo in STRUCTURE documentation.
-
-2016-08-29  Fritz Reese  <fritzoreese@gmail.com>
-
-	Fix, reorganize, and clarify comparisons of anonymous types/components.
-
-	PR fortran/77327
-	* interface.c (is_anonymous_component, is_anonymous_dt): New functions.
-	* interface.c (compare_components, gfc_compare_derived_types): Use new
-	functions.
-
-2016-08-27  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/77380
-	* dependency.c (gfc_check_dependency): Do not assert with
-	-fcoarray=lib.
-
-2016-08-27  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/77372
-	simplify.c (simplify_ieee_selected_real_kind): Check for NULL pointers.
-
-2016-08-25  Steven g. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/77351
-	* frontend-passes.c (remove_trim,combine_array_constructor): Check for
-	NULL pointer.
-
-2016-08-24  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/77358
-	* resolve.c (resolve_fl_procedure): Use the correct gfc_charlen
-	for deferred character length module procedures.
-
-2016-08-23  Fritz Reese  <fritzoreese@gmail.com>
-
-	* decl.c (gfc_match_structure_decl): Make gfc_structure_id static.
-
-2016-08-23  Fritz Reese  <fritzoreese@gmail.com>
-
-	* interface.c (compare_components): Fix typo in name check conditional.
-
-2016-08-22  Steven G. Kargl  <kargl@gcc.gnu.org>
-	    Bud Davis  <jmdavis@link.com>
-
-	PR fortran/60774
-	* parse.c (next_free,next_fixed): Issue error for statement label
-	without a statement.
-
-2016-08-22  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/61318
-	* interface.c (compare_parameter): Use better locus for error message.
-
-2016-08-22  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/77260
-	* gcc/fortran/trans-decl.c (generate_local_decl): Suppress warning
-	for unused variable if symbol is entry point.
-
-2016-08-19  Joseph Myers  <joseph@codesourcery.com>
-
-	PR c/32187
-	* trans-types.h (float128_type_node): Rename to
-	gfc_float128_type_node.
-	(complex_float128_type_node): Rename to
-	gfc_complex_float128_type_node.
-	* iso-c-binding.def, trans-intrinsic.c, trans-types.c: All users
-	changed.
-
-2016-08-19  Jakub Jelinek  <jakub@redhat.com>
-
-	PR fortran/71014
-	* resolve.c (gfc_resolve): For ns->construct_entities don't save, clear
-	and restore omp state around the resolving.
-
-	PR fortran/69281
-	* trans-openmp.c (gfc_trans_omp_parallel, gfc_trans_omp_task,
-	gfc_trans_omp_target): Wrap gfc_trans_omp_code result in an extra
-	BIND_EXPR with its own forced BLOCK.
-
-2016-08-19  Janne Blomqvist  <jb@gcc.gnu.org>
-
-        * intrinsics.texi (RANDOM_NUMBER): Remove reference to
-        init_random_seed in example.
-        (RANDOM_SEED): Remove warning to not set all seed values to 0.
-
-2016-08-18  David Malcolm  <dmalcolm@redhat.com>
-
-	* error.c (gfc_diagnostic_starter): Update for change to
-	diagnostic_show_locus.
-
-2016-08-17  Jakub Jelinek  <jakub@redhat.com>
-
-	PR fortran/67496
-	* trans-array.c (trans_array_constructor): Load
-	expr->ts.u.cl->length_from_typespec only if expr->ts.type is
-	BT_CHARACTER.
-
-2016-08-15  Fritz Reese  <fritzoreese@gmail.com>
-
-	* lang.opt, invoke.texi: New flag -finit-derived.
-	* gfortran.h (gfc_build_default_init_expr, gfc_apply_init,
-	gfc_generate_initializer): New prototypes.
-	* expr.c (gfc_build_default_init_expr, gfc_apply_init,
-	component_initializer, gfc_generate_initializer): New functions.
-	* expr.c (gfc_default_initializer): Wrap gfc_generate_initializer.
-	* decl.c (build_struct): Move common code to gfc_apply_init.
-	* resolve.c (can_generate_init): New function.
-	* resolve.c (build_default_init_expr): Wrap gfc_build_default_init_expr.
-	* resolve.c (apply_default_init, resolve_fl_variable_derived): Use
-	gfc_generate_initializer.
-	* trans-decl.c (gfc_generate_function_code): Use
-	gfc_generate_initializer.
-
-2016-08-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	* frontend-passes.c (create_var):  Set ts.deferred for
-	deferred-length character variables.
-	* dump-parse-tree.c (show_typespec):  Also dump
-	is_c_interop, is_iso_c and deferred flags.
-
-2016-08-15  Jakub Jelinek  <jakub@redhat.com>
-
-	PR debug/71906
-	* trans-decl.c (gfc_get_symbol_decl): Call gfc_finish_var_decl
-	for decl's character length before gfc_finish_var_decl on the
-	decl itself.
-
-2016-08-14  Chung-Lin Tang  <cltang@codesourcery.com>
-
-	PR fortran/70598
-	* openmp.c (resolve_omp_clauses): Adjust use_device clause
-	handling to only allow pointers and arrays.
-
-2016-08-12  Marek Polacek  <polacek@redhat.com>
-
-	PR c/7652
-	* decl.c (match_attr_spec): Add FALLTHRU.
-	* primary.c (match_arg_list_function): Likewise.
-	* resolve.c (resolve_operator): Adjust fall through comment.
-	(fixup_charlen): Add FALLTHRU.
-	(resolve_allocate_expr): Adjust fall through comment.
-	* trans-array.c (gfc_conv_ss_startstride): Add FALLTHRU.
-	* trans-intrinsic.c (gfc_conv_intrinsic_len): Adjust fall through
-	comment.
-
-2016-08-11  Janne Blomqvist  <jb@gcc.gnu.org>
-
-	* check.c (gfc_check_random_seed): Use new seed size in check.
-	* intrinsic.texi (RANDOM_NUMBER): Updated documentation.
-	(RANDOM_SEED): Likewise.
-
-2016-08-08  Jakub Jelinek  <jakub@redhat.com>
-
-	PR fortran/72716
-	* openmp.c (gfc_match_omp_declare_simd): Don't stick anything into
-	BLOCK DATA ns, it will be rejected later.
-
-2016-08-08  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/71936
-	* trans-array.c (gfc_array_allocate): When SOURCE= is a function
-	stick with the ref of the object to allocate.
-
-2016-08-08  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/72698
-	* trans-stmt.c (gfc_trans_allocate): Prevent generating code for
-	copy of zero sized string and with it an ICE.
-
-2016-08-08  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/70524
-	* trans-array.c (gfc_trans_dummy_array_bias): Ensure that the
-	location information is correctly set.
-	* trans-decl.c (gfc_trans_deferred_vars): Set the locus of the
-	current construct early.
-
-2016-08-03  Fritz Reese  <fritzoreese@gmail.com>
-
-	* lang.opt: New option -fdec-intrinsic-ints.
-	* options.c (set_dec_flags): Enable with -fdec.
-	* gfortran.texi, invoke.texi, intrinsics.texi: Update documentation.
-	* intrinsic.c (add_function, add_subroutine): New B/I/J/K intrinsic
-	variants.
-
-2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/41922
-	* target-memory.c (expr_to_char): Pass in locus and use it in error
-	messages.
-	(gfc_merge_initializers): Ditto.
-	* target-memory.h: Update prototype for gfc_merge_initializers ().
-	* trans-common.c (get_init_field): Use the correct locus.
-
-2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/68566
-	* check.c (gfc_check_reshape): Check for constant expression.
-
-2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/69867
-	* decl.c (build_struct): Ensure that pointers point to something.
-
-2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/69962
-	* decl.c (gfc_set_constant_character_len):  if expr is not
-	constant issue an error instead of an ICE.
-
-2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/70006
-	* io.c (gfc_resolve_dt): Use correct locus.
-	* resolve.c (resolve_branch): Ditto.
-
-2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/71730
-	* decl.c (char_len_param_value): Check return value of
-	gfc_reduce_init_expr().
-
-2016-07-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	* trans-array.c (gfc_conv_array_ref): Fix allocation of diagnostic
-	message (was too small).
-
-2016-07-28  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/71067
-	* decl.c (match_data_constant): On error, set 'result' to NULL.
-
-2016-07-28  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/71799
-	* resolve.c(gfc_resolve_iterator): Failure of type conversion need
-	not ICE.
-
-2016-07-28  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/71859
-	* check.c(numeric_check): Prevent ICE.  Issue error for invalid
-	subroutine as an actual argument when numeric argument is expected.
-
-2016-07-28  Steven G. Kargl  <kargl@gcc.gnu.org>
-	    Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/71883
-	* frontend-passes.c (gfc_run_passes): Bail out if there are any
-	errors.
-	* error.c (gfc_internal_error): If there are any errors in the
-	buffer, exit with EXIT_FAILURE.
-
-2016-07-28  Renlin Li  <renlin.li@arm.com>
-
-	Revert
-	2016-07-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/71902
-	* dependency.c (gfc_check_dependency): Use dep_ref.  Handle case
-	if identical is true and two array element references differ.
-	(gfc_dep_resovler):  Move most of the code to dep_ref.
-	(dep_ref):  New function.
-	* frontend-passes.c (realloc_string_callback):  Name temporary
-	variable "realloc_string".
-
-2016-07-26  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/71862
-	* class.c: Remove assert.  Iterate over component only if non-null.
-
-2016-07-22  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/71935
-	* check.c (is_c_interoperable): Simplify right expression.
-
-2016-07-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/71795
-	* frontend-passes.c (combine_array_constructor):  Don't
-	do anything if the expression is inside an array iterator.
-
-2016-07-22  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	* expr.c (gfc_find_stat_co): Fixed whitespaces.
-	* gfortran.texi: Fixed typos and reversed meaning of caf_get()'s
-	src and dst description.
-	* trans-decl.c (gfc_build_builtin_function_decls): Fixed style
-	and corrected fnspec for caf functions.
-	* trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Fixed style.
-	(conv_caf_send): Dito.
-
-2016-07-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/71902
-	* dependency.c (gfc_check_dependency): Use dep_ref.  Handle case
-	if identical is true and two array element references differ.
-	(gfc_dep_resovler):  Move most of the code to dep_ref.
-	(dep_ref):  New function.
-	* frontend-passes.c (realloc_string_callback):  Name temporary
-	variable "realloc_string".
-
-2016-07-17  Fritz Reese  <fritzoreese@gmail.com>
-
-	PR fortran/71523
-	* trans-decl.c (gfc_finish_var_decl): Replace automatic initializer with
-	a static one.
-
-2016-07-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-	    Marco Restelli  <mrestelli@gmail.com>
-
-	PR fortran/62125
-	* symbol.c (select_type_insert_tmp): Recursively call self to take care
-	of nested select type.
-
-2016-07-15  Cesar Philippidis  <cesar@codesourcery.com>
-
-	* openmp.c (gfc_match_omp_clauses): Scan for clause vector_length
-	before vector.
-
-2016-07-15  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/71807
-	* trans-expr.c (gfc_trans_subcomponent_assign): Special casing
-	when allocatable component is set to null() in initializer.
-
-2016-07-14  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/29819
-	* parse.c (parse_contained): Use proper locus.
-
-2016-07-14  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/70842
-	* simplify.c (gfc_simplify_len): Only for unlimited polymorphic
-	types replace the expression's _data ref with a _len ref.
-
-2016-07-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/71783
-	* frontend-passes.c (create_var):  Always allocate a charlen
-	for character variables.
-
-2016-07-08  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/68426
-	* simplify (gfc_simplify_spread): Adjust locus.
-
-2016-07-08  Cesar Philippidis  <cesar@codesourcery.com>
-
-	* 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.
-
-2016-07-08  Martin Liska  <mliska@suse.cz>
-
-	* invoke.texi (Wundefined-do-loop): Enhance documentation.
-
-2016-07-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/71764
-	* trans-expr.c (gfc_trans_structure_assign): Remove assert.
-
-2016-07-07  Martin Liska  <mliska@suse.cz>
-
-	* lang.opt (Wundefined-do-loop): New option.
-        * resolve.c (gfc_resolve_iterator): Warn for Wundefined-do-loop.
-	(gfc_trans_simple_do): Generate a c-style loop.
-	(gfc_trans_do): Fix GNU coding style.
-	* invoke.texi: Mention the new warning.
-
-2016-07-07  Martin Liska  <mliska@suse.cz>
-
-	* trans-stmt.c (gfc_trans_do): Add expect builtin for DO
-	loops with step bigger than +-1.
-
-2016-07-05  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
-
-	* array.c (gfc_match_array_ref): Add parsing support for
-	STAT= attribute in CAF reference.
-	* expr.c (gfc_find_stat_co): New function that returns
-	the STAT= assignment.
-	* gfortran.h (gfc_array_ref): New member.
-	* trans-decl.c (gfc_build_builtin_function_decls):
-	new attribute for caf_get and caf_send functions.
-	* trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Passing
-	the stat attribute to external function.
-	(gfc_conv_intrinsic_caf_send): Ditto.
-
-2016-07-05  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/71623
-	* trans-stmt.c (gfc_trans_allocate): Add code of pre block of typespec
-	in allocate to parent block.
-
-2016-07-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/66575
-	* decl.c (match_procedure_interface): Exit loop if procedure
-	interface refers to itself.
-
-2016-07-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-	    Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/35849
-	* simplify.c (gfc_simplify_ishftc): Check that absolute value of
-	SHIFT is less than or equal to SIZE.
-
-2016-07-01  Jakub Jelinek  <jakub@redhat.com>
-
-	PR fortran/71687
-	* f95-lang.c (struct binding_level): Add reversed field.
-	(clear_binding_level): Adjust initializer.
-	(getdecls): If reversed is clear, set it and nreverse the names
-	chain before returning it.
-	(poplevel): Use getdecls.
-	* trans-decl.c (gfc_generate_function_code, gfc_process_block_locals):
-	Use nreverse to pushdecl decls in the declaration order.
-
-	PR fortran/71717
-	* trans-openmp.c (gfc_omp_privatize_by_reference): Return false
-	for GFC_DECL_ASSOCIATE_VAR_P with POINTER_TYPE.
-
-2016-06-30  Jakub Jelinek  <jakub@redhat.com>
-
-	PR fortran/71704
-	* parse.c (matchs, matcho): Move right before decode_omp_directive.
-	If spec_only, only gfc_match the keyword and if successful, goto
-	do_spec_only.
-	(matchds, matchdo): Define.
-	(decode_omp_directive): Add spec_only local var and set it.
-	Use matchds or matchdo macros instead of matchs or matcho
-	for declare target, declare simd, declare reduction and threadprivate
-	directives.  Return ST_GET_FCN_CHARACTERISTICS if a non-declarative
-	directive could be matched.
-	(next_statement): For ST_GET_FCN_CHARACTERISTICS restore
-	gfc_current_locus from old_locus even if there is no label.
-
-	PR fortran/71705
-	* trans-openmp.c (gfc_trans_omp_clauses): Set TREE_ADDRESSABLE on
-	decls in to/from clauses.
-
-2016-06-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/71686
-	* scanner.c (gfc_next_char_literal): Only decrement nextc if it
-	is not NULL.
-
-2016-06-29  Cesar Philippidis  <cesar@codesourcery.com>
-
-	* 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.
-
-2016-06-29  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/71002
-	* f95-lang.c (LANG_HOOKS_GET_ALIAS_SET): Remove (un-)define.
-	(gfc_get_alias_set): Remove.
-
-2016-06-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/71649
-	* module.c (create_intrinsic_function): Check for NULL values and
-	return after giving error.
-
-2016-06-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* trans-types.c (gfc_build_complex_type): Move setting complex
-	MODE to layout_type, instead of setting it ahead of time by the
-	caller.
-
-2016-06-21  Tobias Burnus  <burnus@net-b.de>
-
-	PR fortran/71068
-	* resolve.c (resolve_function): Don't resolve caf_get/caf_send.
-	(check_data_variable): Strip-off caf_get before checking.
-
-2016-06-20  Tobias Burnus  <burnus@net-b.de>
-
-	PR fortran/71194
-	* trans-expr.c (gfc_trans_pointer_assignment): Correctly handle
-	RHS pointer functions.
-
-2016-06-19  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
-
-	* class.c (gfc_add_class_array_ref): Call gfc_add_data_component()
-	instead of gfc_add_component_ref().
-	(gfc_get_len_component): Call gfc_add_len_component() instead of
-	gfc_add_component_ref().
-	* trans-intrinsic.c (gfc_conv_intrinsic_loc): Call
-	gfc_add_data_component() instead of gfc_add_component_ref().
-	* trans.c (gfc_add_finalizer_call): Call
-	gfc_add_final_component() and gfc_add_size_component() instead
-	of gfc_add_component_ref.
-
-2016-06-18  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
-
-	* trans-types.c (gfc_typenode_for_spec): Commentary typo fix.
-
-2016-06-17  Cesar Philippidis  <cesar@codesourcery.com>
-
-	* openmp.c (match_acc): New generic function to parse OpenACC
-	directives.
-	(gfc_match_oacc_parallel_loop): Use it.
-	(gfc_match_oacc_parallel): Likewise.
-	(gfc_match_oacc_kernels_loop): Likewise.
-	(gfc_match_oacc_kernels): Likewise.
-	(gfc_match_oacc_data): Likewise.
-	(gfc_match_oacc_host_data): Likewise.
-	(gfc_match_oacc_loop): Likewise.
-	(gfc_match_oacc_enter_data): Likewise.
-	(gfc_match_oacc_exit_data): Likewise.
-
-2016-06-16  Martin Liska  <mliska@suse.cz>
-
-	* trans-stmt.c (gfc_trans_simple_do): Predict the edge.
-
-2016-06-16  Martin Liska  <mliska@suse.cz>
-
-	* trans-array.c (gfc_array_allocate): Do not generate expect
-	stmt.
-	* trans.c (gfc_allocate_using_malloc): Properly set FAIL_ALLOC
-	predictor for malloc return value.
-	(gfc_allocate_allocatable): Use REALLOC predictor instead of
-	FAIL_ALLOC.
-	(gfc_deallocate_with_status): Likewise.
-
-2016-06-13  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/70673
-	* frontend-passes.c (realloc_string_callback): Add a call to
-	gfc_dep_compare_expr.
-
-2016-06-11  Dominique d'Humieres  <dominiq@lps.ens.fr>
-
-	PR fortran/60751
-	* io.c (gfc_resolve_dt): Replace GFC_STD_GNU with GFC_STD_LEGACY.
-
-2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
-
-	PR c/71381
-	* openmp.c (gfc_match_oacc_cache): Add comment.
-
-2016-06-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/71404
-	* io.c (match_io): For READ, commit in pending symbols in the
-	current statement before trying to match an expression so that
-	if the match fails and we undo symbols we dont toss good symbols.
-
-2016-06-05  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/69659
-	* trans-array.c (gfc_trans_dummy_array_bias): For class arrays use
-	the address of the _data component to reference the arrays data
-	component.
-
-2016-06-03  Chung-Lin Tang  <cltang@codesourcery.com>
-
-	* 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.
-
-2016-06-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/52393
-	* io.c (match_io): For READ, try to match a default character
-	expression. If found, set the dt format expression to this,
-	otherwise go back and try control list.
-
-2016-06-01  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/71156
-	* decl.c (copy_prefix): Add checks that the module procedure
-	declaration prefixes are compliant with the interface. Invert
-	order of existing elemental and pure checks.
-	* resolve.c (resolve_fl_procedure): Invert order of elemental
-	and pure errors.
-
-2016-06-01  Jakub Jelinek  <jakub@redhat.com>
-
-	* 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.
-
-2016-05-26  Jakub Jelinek  <jakub@redhat.com>
-
-	* openmp.c (resolve_omp_clauses): Warn if chunk_size is known not to
-	be positive.
-
-2016-05-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/66461
-	* scanner.c (gfc_next_char_literal): Clear end_flag when adjusting
-	current locus back to old_locus.
-
-2016-05-20  Jakub Jelinek  <jakub@redhat.com>
-
-	PR fortran/71204
-	* frontend-passes.c (realloc_string_callback): Clear inserted_block
-	and changed_statement before calling create_var.
-
-2016-05-15  Harald Anlauf  <anlauf@gmx.de>
-
-	PR fortran/69603
-	* interface.c (compare_parameter): Check for non-NULL pointer.
-
-2016-05-14  Fritz Reese  <fritzoreese@gmail.com>
-
-	* gfortran.texi: Update example of DEC UNION extension.
-
-2016-05-14  Fritz Reese  <fritzoreese@gmail.com>
-
-	PR fortran/71047
-	* expr.c (gfc_default_initializer): Avoid extra component refs in
-	constructors for derived types and classes.
-
-2016-05-11  Jakub Jelinek  <jakub@redhat.com>
-
-	PR fortran/70855
-	* frontend-passes.c (inline_matmul_assign): Disable in !$omp workshare.
-
-2016-05-09  Richard Biener  <rguenther@suse.de>
-
-	PR fortran/70937
-	* trans-decl.c: Include gimplify.h for unshare_expr.
-	(gfc_trans_vla_one_sizepos): Unshare exprs before inserting
-	them into the IL.
-
-2016-05-07  Fritz Reese  <fritzoreese@gmail.com>
-
-	PR fortran/56226
-	* module.c (dt_upper_string): Rename to gfc_dt_upper_string
-	(dt_lower_string): Likewise.
-	* gfortran.h: Make new gfc_dt_upper/lower_string global.
-	* class.c: Use gfc_dt_upper_string.
-	* decl.c: Likewise.
-	* symbol.c: Likewise.
-	* resolve.c (resolve_component): New function.
-	(resolve_fl_derived0): Move component loop code to resolve_component.
-	* parse.c (check_component): New function.
-	(parse_derived): Move loop code to check_component.
-	* lang.opt, invoke.texi, options.c : New option -fdec-structure.
-	* libgfortran.h (bt): New basic type BT_UNION.
-	* gfortran.h (gfc_option): New option -fdec-structure.
-	(gfc_get_union_type, gfc_compare_union_types): New prototypes.
-	(gfc_bt_struct, gfc_fl_struct, case_bt_struct, case_fl_struct): New
-	macros.
-	(gfc_find_component): Change prototype.
-	* match.h (gfc_match_member_sep, gfc_match_map, gfc_match_union,
-	gfc_match_structure_decl): New prototypes.
-	* parse.h (gfc_comp_struct): New macro.
-	* symbol.c (gfc_find_component): Search for components in nested unions
-	* class.c (insert_component_ref, gfc_add_component_ref, add_proc_comp,
-	copy_vtab_proc_comps): Update calls to gfc_find_component.
-	* primary.c (gfc_convert_to_structure_constructor): Likewise.
-	* symbol.c (gfc_add_component): Likewise.
-	* resolve.c (resolve_typebound_function, resolve_typebound_subroutine,
-	resolve_typebound_procedure, resolve_component, resolve_fl_derived):
-	Likewise.
-	* expr.c (get_union_init, component_init): New functions.
-	* decl.c (match_clist_expr, match_record_decl, get_struct_decl,
-	gfc_match_map, gfc_match_union, gfc_match_structure_decl): Likewise.
-	* interface.c (compare_components, gfc_compare_union_types): Likewise.
-	* match.c (gfc_match_member_sep): Likewise.
-	* parse.c (check_component, parse_union, parse_struct_map): Likewise.
-	* resolve.c (resolve_fl_struct): Likewise.
-	* symbol.c (find_union_component): Likewise.
-	* trans-types.c (gfc_get_union_type): Likewise.
-	* parse.c (parse_derived): Use new functions.
-	* interface.c (gfc_compare_derived_types, gfc_compare_types): Likewise.
-	* expr.c (gfc_default_initializer): Likewise.
-	* gfortran.texi: Support for DEC structures, unions, and maps.
-	* gfortran.h (gfc_statement, sym_flavor): Likewise.
-	* check.c (gfc_check_kill_sub): Likewise.
-	* expr.c (gfc_copy_expr, simplify_const_ref,
-	gfc_has_default_initializer): Likewise.
-	* decl.c (build_sym, match_data_constant, add_init_expr_to_sym,
-	match_pointer_init, build_struct, variable_decl,
-	gfc_match_decl_type_spec, gfc_mach_data-decl, gfc_match_entry,
-	gfc_match_end, gfc_match_derived_decl): Likewise.
-	* interface.c (check_interface0, check_interface1,
-	gfc_search_interface): Likewise.
-	* misc.c (gfc_basic_typename, gfc_typename): Likewise.
-	* module.c (add_true_name, build_tnt, bt_types, mio_typespec,
-	fix_mio_expr, load_needed, mio_symbol, read_module, write_symbol,
-	gfc_get_module_backend_decl): Likewise.
-	* parse.h (gfc_compile_state): Likewise.
-	* parse.c (decode_specification_statement, decode_statement,
-	gfc_ascii_statement, verify_st_order, parse_spec): Likewise.
-	* primary.c (gfc_match_varspec, gfc_match_structure_constructor,
-	gfc_match_rvalue, match_variable): Likewise.
-	* resolve.c (find_arglists, resolve_structure_cons,
-	is_illegal_recursion, resolve_generic_f, get_declared_from_expr,
-	resolve_typebound_subroutine, resolve_allocate_expr,
-	nonscalar_typebound_assign, generate_component_assignments,
-	resolve_fl_variable_derived, check_defined_assignments,
-	resolve_component, resolve_symbol, resolve_equivalence_derived):
-	Likewise.
-	* symbol.c (flavors, check_conflict, gfc_add_flavor, gfc_use_derived,
-	gfc_restore_last_undo_checkpoint, gfc_type_compatible,
-	gfc_find_dt_in_generic): Likewise.
-	* trans-decl.c (gfc_get_module_backend_decl, create_function_arglist,
-	gfc_create_module_variable, check_constant_initializer): Likewise.
-	* trans-expr.c (gfc_conv_component_ref, gfc_conv_initializer,
-	gfc_trans_alloc_subarray_assign, gfc_trans_subcomponent_assign,
-	gfc_conv_structure, gfc_trans_scalar_assign, copyable_array_p):
-	Likewise.
-	* trans-io.c (transfer_namelist_element, transfer_expr,
-	gfc_trans_transfer): Likewise.
-	* trans-stmt.c (gfc_trans_deallocate): Likewise.
-	* trans-types.c (gfc_typenode_for_spec, gfc_copy_dt_decls_ifequal,
-	gfc_get_derived_type): Likewise.
-
-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.
-
-2016-05-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* trans-types.c (gfc_build_complex_type):
-
-2016-05-02  Richard Biener  <rguenther@suse.de>
-
-	* trans-array.c (gfc_trans_create_temp_array): Properly
-	create a DECL_EXPR for the anonymous VLA array type.
-
-2016-04-29  Cesar Philippidis  <cesar@codesourcery.com>
-
-	PR middle-end/70626
-	* trans-openmp.c (gfc_trans_oacc_combined_directive): Duplicate
-	the reduction clause in both parallel and loop directives.
-
-2016-04-18  Michael Matz  <matz@suse.de>
-
-	* trans-io.c (gfc_build_io_library_fndecls): Use SET_TYPE_ALIGN.
-	* trans-common.c (build_common_decl): Use SET_DECL_ALIGN.
-	* trans-types.c (gfc_add_field_to_struct): Use SET_DECL_ALIGN.
-
-2016-04-13  Dominique d'Humieres  <dominiq@lps.ens.fr>
-
-	PR fortran/67039
-	* intrinsic.texi: Correct the documentation of pseudorandom
-	number intrinsics.
-
-2016-04-13  Dominique d'Humieres  <dominiq@lps.ens.fr>
-
-	PR fortran/58000
-	* gfortran.texi: Document OPEN( ... NAME=) as not implemented
-	in GNU Fortran
-
-2016-04-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/68566
-	* array.c (match_array_element_spec): Add check for non-integer.
-	* simplify.c (gfc_simplify_reshape): If source shape is NULL return.
-
-2016-04-06  Patrick Palka  <ppalka@gcc.gnu.org>
-
-	PR c/70436
-	* openmp.c (gfc_find_omp_udr): Add explicit braces to resolve a
-	future -Wparentheses warning.
-
-2016-04-04  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/67538
-	* resolve.c (resolve_allocate_expr): Emit error message when no
-	array spec and no array valued source= expression is given in an
-	F2008 allocate() for an array to allocate.
-
-2016-04-04  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/65795
-	* trans-array.c (gfc_array_allocate): When the array is a coarray,
-	do not nullyfing its allocatable components in array_allocate, because
-	the nullify missed the array ref and nullifies the wrong component.
-	Cosmetics.
-
-2016-03-29  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/70397
-	* trans-expr.c (gfc_class_len_or_zero_get): Add function to return a
-	constant zero tree, when the class to get the _len component from is
-	not unlimited polymorphic.
-	(gfc_copy_class_to_class): Use the new function.
-	* trans.h: Added interface of new function gfc_class_len_or_zero_get.
-
-2016-03-28  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
-
-	* trans-decl.c (gfc_build_builtin_function_decls):
-	caf_stop_numeric and caf_stop_str definition.
-	* trans-stmt.c (gfc_trans_stop): invoke external functions
-	for stop and stop_str when coarrays are used.
-	* trans.h: extern for new functions.
-
-2016-03-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/69043
-	* scanner.c (load_file): Update to use S_ISREG macro.
-
-2016-03-17  Thomas Schwinge  <thomas@codesourcery.com>
-
-	* gfortran.h (enum gfc_omp_map_op): Rename OMP_MAP_FORCE_DEALLOC
-	to OMP_MAP_DELETE.  Adjust all users.
-
-2016-03-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-	    Jim MacArthur  <jim.macarthur@codethink.co.uk>
-
-	PR fortran/69043
-	* scanner.c (load_file): Check that included file is regular.
-
-2016-03-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-	    Harold Anlauf  <anlauf@gmx.de>
-
-	PR fortran/69520
-	* invoke.texi: Explain use of the 'no-' construct within the
-	-fcheck= option.
-	* options.c (gfc_handle_runtime_check_option): Enable use of
-	'no-' prefix for the various options with -fcheck= to allow
-	negating previously enabled check options.
-
-2016-03-12  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/70031
-	* decl.c (gfc_match_prefix): Treat the 'module' prefix in the
-	same way as the others, rather than fixing it to come last.
-	(gfc_match_function_decl, gfc_match_subroutine): After errors
-	in 'copy_prefix', emit them immediately in the case of module
-	procedures to prevent a later ICE.
-
-	PR fortran/69524
-	* decl.c (gfc_match_submod_proc): Permit 'module procedure'
-	declarations within the contains section of modules as well as
-	submodules.
-	* resolve.c (resolve_fl_procedure): Likewise.
-	*trans-decl.c (build_function_decl): Change the gcc_assert to
-	allow all forms of module procedure declarations within module
-	contains sections.
-
-2016-02-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/68147
-	PR fortran/47674
-	* frontend-passes.c (realloc_string_callback): Don't set
-	walk_subtrees.
-
-2016-02-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	* dump-parse-tree.c (show_code_node):  Print association
-	list of a block if present.  Handle EXEC_END_BLOCK.
-
-2016-02-28  Harald Anlauf  <anlauf@gmx.de>
-	    Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/56007
-	* match.c (gfc_match_iterator): Add diagnostic for array variable
-	as do loop index.
-
-2016-02-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-	    Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/69910
-	* io.c (gfc_match_open): Check that open status is an expression
-	constant before comparing string to 'scratch' with NEWUNIT.
-
-2016-02-27  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
-
-	* trans.c (gfc_allocate_allocatable): size conversion
-	from byte to number of elements for event variables.
-	* trans-types.c (gfc_get_derived_type): event variables
-	represented as a pointer (like lock variable).
-
-2016-02-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/61156
-	* scanner.c (add_path_to_list): If include path is not a directory,
-	issue a fatal error.
-
-2016-02-23  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/67451
-	* trans-array.c (gfc_array_allocate): Take the attributes from the
-	expression to allocate and not from the source=-expression.
-
-2016-02-20  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/69423
-	* trans-decl.c (create_function_arglist): Deferred character
-	length functions, with and without declared results, address
-	the passed reference type as '.result' and the local string
-	length as '..result'.
-	(gfc_null_and_pass_deferred_len): Helper function to null and
-	return deferred string lengths, as needed.
-	(gfc_trans_deferred_vars): Call it, thereby reducing repeated
-	code, add call for deferred arrays and reroute pointer function
-	results. Avoid using 'tmp' for anything other that a temporary
-	tree by introducing 'type_of_array' for the arrayspec type.
-
-2015-02-16  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/69742
-	* frontend-passes.c (cfe-expr_0):  Don't register functions
-	from within an ASSOCIATE statement.
-
-2016-02-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/60526
-	* decl.c (build_sym):  If the name has already been defined as a
-	type, it has a symtree with an upper case letter at the beginning.
-	If such a symtree exists, issue an error and exit.  Don't do
-	this if there is no corresponding upper case letter.
-
-2016-02-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/60526
-	PR bootstrap/69816
-	* decl.c (build_sym):  Reverted previous patch.
-
-2016-02-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/60526
-	* decl.c (build_sym):  If the name has already been defined as a
-	type, issue error and return false.
-
-2016-02-12  David Malcolm  <dmalcolm@redhat.com>
-
-	PR other/69554
-	* error.c (gfc_diagnostic_start_span): New function.
-	(gfc_diagnostics_init): Initialize global_dc's start_span.
-
-2016-02-11  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/69296
-	* gfortran.h: Added flag to gfc_association_list indicating that
-	the rank of an associate variable has been guessed only.
-	* parse.c (parse_associate): Set the guess flag mentioned above
-	when guessing the rank of an expression.
-	* resolve.c (resolve_assoc_var): When the rank has been guessed,
-	make sure, that the guess was correct else overwrite with the actual
-	rank.
-	* trans-stmt.c (trans_associate_var): For subref_array_pointers in
-	class objects, take the span from the _data component.
-
-2016-02-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/50555
-	* primary.c (match_actual_arg): If symbol has attribute flavor of
-	namelist, generate an error. (gfc_match_rvalue): Likewise return
-	MATCH_ERROR.
-	* resolve.c (resolve_symbol): Scan arument list of procedures and
-	generate an error if a namelist is found.
-
-2016-02-05  Mikael Morin  <mikael@gcc.gnu.org>
-
-	PR fortran/66089
-	* trans-expr.c (expr_is_variable, gfc_expr_is_variable): Rename
-	the former to the latter and make it non-static.  Update callers.
-	* gfortran.h (gfc_expr_is_variable): New declaration.
-	(struct gfc_ss_info): Add field needs_temporary.
-	* trans-array.c (gfc_scalar_elemental_arg_saved_as_argument):
-	Tighten the condition on aggregate expressions with a check
-	that the expression is a variable and doesn't need a temporary.
-	(gfc_conv_resolve_dependency): Add intermediary reference variable.
-	Set the needs_temporary field.
-
-2016-02-03  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/67451
-	PR fortran/69418
-	* trans-expr.c (gfc_copy_class_to_class): For coarrays just the
-	pointer is passed.  Take it as is without trying to deref the
-	_data component.
-	* trans-stmt.c (gfc_trans_allocate): Take care of coarrays as
-	argument to source=-expression.
-
-2016-02-02  Nathan Sidwell  <nathan@codesourcery.com>
-
-	* lang.opt (fopenacc-dim=): New option.
-
-2016-01-31  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/67564
-	* trans-expr.c (gfc_conv_procedure_call): For the vtable copy
-	subroutines, add a string length argument, when the actual
-	argument is an unlimited polymorphic class object.
-
-2016-01-30  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/69566
-	* trans-expr.c (gfc_conv_procedure_call): Correct expression
-	for 'ulim_copy', which was missing a test for 'comp'.
-
-2016-01-28  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/62536
-	* decl.c (gfc_match_end): Only unnest and remove BLOCK namespaces
-	when the END encountered does not match a BLOCK's end.
-
-2016-01-27  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/69484
-	* invoke.texi: Fix documentation of -Wall with respect to -Wtabs.
-
-2016-01-27  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/69422
-	* trans-expr.c (is_scalar_reallocatable_lhs): Remove the check
-	for allocatable components, whilst checking if the symbol is a
-	derived or class entity..
-
-2016-01-26  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/69385
-	* trans-expr.c (gfc_trans_assignment_1): Exclude initialization
-	assignments from check on assignment of scalars to unassigned
-	arrays and correct wrong code within the corresponding block.
-
-2016-01-26  David Malcolm  <dmalcolm@redhat.com>
-
-	PR other/69006
-	* error.c (gfc_diagnostic_starter): Delete use of pp_newline.
-
-2016-01-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/69397
-	PR fortran/68442
-	* interface.c (gfc_arglist_matches_symbol): Replace assert with
-	a return false if not a procedure.
-	* resolve.c (resolve_generic_f): Test if we are resolving an
-	initialization expression and adjust error message accordingly.
-
-2016-01-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/66094
-	* frontend-passes.c (matmul_lhs_realloc):  Add
-	forgotten break statement.
-
-2016-01-24  Dominique d'Humieres  <dominiq@lps.ens.fr>
-
-	PR fortran/68283
-	* primary.c (gfc_variable_attr): revert revision r221955,
-	call gfc_internal_error only if there is no error.
-
-2016-01-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/66094
-	* frontend-passes.c (enum matrix_case):  Add case A2B2T for
-	MATMUL(A,TRANSPoSE(B)) where A and B are rank 2.
-	(inline_limit_check):  Also add A2B2T.
-	(matmul_lhs_realloc):  Handle A2B2T.
-	(check_conjg_variable):  Rename to
-	(check_conjg_transpose_variable):  and also count TRANSPOSE.
-	(inline_matmul_assign):  Handle A2B2T.
-
-2016-01-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/65996
-	* error.c (gfc_error): Save the state of abort_on_error and set
-	it to false for buffered errors to allow normal processing.
-	Restore the state before leaving.
-
-2016-01-19  Martin Jambor  <mjambor@suse.cz>
-
-	* types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
-	(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
-	(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
-
-2016-01-15  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/64324
-	* resolve.c (check_uop_procedure): Prevent deferred length
-	characters from being trapped by assumed length error.
-
-	PR fortran/49630
-	PR fortran/54070
-	PR fortran/60593
-	PR fortran/60795
-	PR fortran/61147
-	PR fortran/64324
-	* trans-array.c (gfc_conv_scalarized_array_ref): Pass decl for
-	function as well as variable expressions.
-	(gfc_array_init_size): Add 'expr' as an argument. Use this to
-	correctly set the descriptor dtype for deferred characters.
-	(gfc_array_allocate): Add 'expr' to the call to
-	'gfc_array_init_size'.
-	* trans.c (gfc_build_array_ref): Expand logic for setting span
-	to include indirect references to character lengths.
-	* trans-decl.c (gfc_get_symbol_decl): Ensure that deferred
-	result char lengths that are PARM_DECLs are indirectly
-	referenced both for directly passed and by reference.
-	(create_function_arglist): If the length type is a pointer type
-	then store the length as the 'passed_length' and make the char
-	length an indirect reference to it.
-	(gfc_trans_deferred_vars): If a character length has escaped
-	being set as an indirect reference, return it via the 'passed
-	length'.
-	* trans-expr.c (gfc_conv_procedure_call): The length of
-	deferred character length results is set TREE_STATIC and set to
-	zero.
-	(gfc_trans_assignment_1): Do not fix the rse string_length if
-	it is a variable, a parameter or an indirect reference. Add the
-	code to trap assignment of scalars to unallocated arrays.
-	* trans-stmt.c (gfc_trans_allocate): Remove 'def_str_len' and
-	all references to it. Instead, replicate the code to obtain a
-	explicitly defined string length and provide a value before
-	array allocation so that the dtype is correctly set.
-	trans-types.c (gfc_get_character_type): If the character length
-	is a pointer, use the indirect reference.
-
-2016-01-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/69154
-	* frontend-passes.c (in_where):  New variable.
-	(inline_matmul_assign):  Don't try this if we are within
-	a WHERE statement.
-	(gfc_code_walker):  Keep track of in_where.
-
-2016-01-10  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/67779
-	* trans_array.c (gfc_conv_scalarized_array_ref): Add missing
-	se->use_offset from condition for calculation of 'base'.
-
-2016-01-08  Jakub Jelinek  <jakub@redhat.com>
-
-	PR fortran/69128
-	* trans.h (OMPWS_SCALARIZER_BODY): Define.
-	(OMPWS_NOWAIT): Renumber.
-	* trans-stmt.c (gfc_trans_where_3): Only set OMPWS_SCALARIZER_WS
-	if OMPWS_SCALARIZER_BODY is not set already, and set also
-	OMPWS_SCALARIZER_BODY until the final loop creation.
-	* trans-expr.c (gfc_trans_assignment_1): Likewise.
-	* trans-openmp.c (gfc_trans_omp_workshare): Also clear
-	OMPWS_SCALARIZER_BODY.
-	* trans-array.c (gfc_trans_scalarized_loop_end): Don't create
-	OMP_FOR if OMPWS_SCALARIZER_BODY is set.
-
-2016-01-04  Jakub Jelinek  <jakub@redhat.com>
-
-	Update copyright years.
+2017-01-01  Jakub Jelinek  <jakub@redhat.com>
 
 	* gfortranspec.c (lang_specific_driver): Update copyright notice
 	dates.
@@ -2980,14 +6,8 @@
 	* gfortran.texi: Ditto.
 	* intrinsic.texi: Ditto.
 	* invoke.texi: Ditto.
-
-2016-01-01  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/68864
-	* trans-array.c (evaluate_bound): If deferred, test that 'desc'
-	is an array descriptor before using gfc_conv_descriptor_xxx.
 
-Copyright (C) 2016 Free Software Foundation, Inc.
+Copyright (C) 2017 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
diff --git a/gcc/fortran/ChangeLog-2016 b/gcc/fortran/ChangeLog-2016
new file mode 100644
index 000000000000..ce640321da01
--- /dev/null
+++ b/gcc/fortran/ChangeLog-2016
@@ -0,0 +1,2994 @@
+2016-12-27  Jakub Jelinek  <jakub@redhat.com>
+
+	* gfortran.h (gfc_error): Rename overload with OPT argument to...
+	(gfc_error_opt): ... this.
+	* error.c (gfc_error): Rename overloads with OPT argument to...
+	(gfc_error_opt): ... this.  Adjust callers.
+	(gfc_notify_std, gfc_error): Adjust callers.
+	* resolve.c (resolve_structure_cons, resolve_global_procedure): Use
+	gfc_error_opt instead of gfc_error.
+	* interface.c (argument_rank_mismatch, compare_parameter,
+	gfc_check_typebound_override): Likewise.  Fix up formatting.
+
+2016-12-23  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	* trans-expr.c (trans_class_assignment): Allocate memory of _vptr->size
+        before assigning an allocatable class object.
+	(gfc_trans_assignment_1): Flag that (re-)alloc of the class object
+	shall be done.
+
+2016-12-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR fortran/78866
+	* openmp.c (resolve_omp_clauses): Diagnose assumed size arrays in
+	OpenMP map, to and from clauses.
+	* trans-openmp.c: Include diagnostic-core.h, temporarily redefining
+	GCC_DIAG_STYLE to __gcc_tdiag__.
+	(gfc_omp_finish_clause): Diagnose implicitly mapped assumed size
+	arrays.
+
+2016-12-21  Janne Blomqvist  <jb@gcc.gnu.org>
+
+	PR fortran/78867
+	* trans-expr.c (gfc_conv_procedure_call): Emit DECL_EXPR also for
+	non-pointer character results.
+
+2016-12-21  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+	* iresolve.c (gfc_resolve_ftell): Call "ftell" instead of "ftell2".
+
+2016-12-20  Janne Blomqvist  <jb@gcc.gnu.org>
+
+	* trans-types.c (gfc_init_types): Don't redefine boolean type node.
+
+2016-12-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+	* trans-decl.c (create_main_function): Remove unused elements to
+	the set_options call.
+
+2016-12-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+	* trans.h: Remove gfor_fndecl_stop_numeric_f08.
+	* trans-decl.c: Remove gfor_fndecl_stop_numeric_f08.
+	* trans-stmt.c (gfc_trans_stop): Use gfor_fndecl_stop_numeric
+	instead of gfor_fndecl_stop_numeric_f08.
+
+2016-12-19  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/78545
+	* intrinsic.texi: Minor documentation fixes for non-standard
+	time-related intrinsics. Add references to standard intrinsics and
+	linkify some existing references.
+
+2016-12-18  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+	PR fortran/78545
+	* intrinsic.texi: Fix documentation for GMTIME and LTIME.
+
+2016-12-18  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/78848
+	* trans-io.c (get_dtio_proc): Generate non-typebound DTIO call for class
+	variables, if no typebound DTIO procedure is available.
+
+2016-12-18  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/78592
+	* interfac.c (gfc_find_specific_dtio_proc): Fixup for r243005, making
+	sure that the generic list is followed through until the end.
+
+2016-12-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/78239
+	* decl.c (char_len_param_value): Actually commit previous change.
+
+2016-12-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/78239
+	* decl.c( char_len_param_value): Also check for -fimplicit-none
+	when determining if implicit none is in force.
+
+2016-12-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/78622
+	* io.c (format_lex): Continue of string delimiter seen.
+
+2016-12-16  Jakub Jelinek  <jakub@redhat.com>
+
+	PR fortran/78757
+	* trans-expr.c (gfc_conv_procedure_call): Emit DECL_EXPR for the
+	type pstr var points to.
+
+2016-12-15  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/78798
+	* gfortran.h (gfc_compare_derived_types,gfc_compare_types,
+	gfc_compare_interfaces,gfc_has_vector_subscript): Return bool instead
+	of int.
+	* interface.c (compare_components): Ditto.
+	(gfc_compare_union_types): Rename to compare_union_types, declare as
+	static, return bool.
+	(gfc_compare_derived_types): Return bool instead of int.
+	(gfc_compare_types): Ditto.
+	(compare_type): Ditto.
+	(compare_rank): Ditto.
+	(compare_type_rank): Ditto.
+	(compare_type_rank_if): Ditto.
+	(count_types_test): Ditto.
+	(generic_correspondence): Ditto.
+	(gfc_compare_interfaces): Ditto.
+	(check_interface0): Ditto.
+	(check_interface1): Ditto.
+	(compare_allocatable): Ditto.
+	(compare_parameter): Ditto.
+	(gfc_has_vector_subscript): Ditto.
+	(compare_actual_formal): Ditto.
+
+2016-12-15  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/78800
+	* interface.c (compare_allocatable): Avoid additional errors on bad
+	class declarations.
+	(compare_parameter): Put the result of gfc_expr_attr into a variable,
+	in order to avoid calling it multiple times. Exit early on bad class
+	declarations to avoid ICE.
+
+2016-12-14  Martin Jambor  <mjambor@suse.cz>
+
+	* trans-openmp.c: Include omp-general.h.
+
+2016-12-14  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/78780
+	* trans-expr.c (gfc_trans_assignment_1): Improve check whether detour
+	caf-runtime routines is needed.
+
+2016-12-14  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/78672
+	* array.c (gfc_find_array_ref): Add flag to return NULL when no ref is
+	found instead of erroring out.
+	* data.c (gfc_assign_data_value): Only constant expressions are valid
+	for initializers.
+	* gfortran.h: Reflect change of gfc_find_array_ref's signature.
+	* interface.c (compare_actual_formal): Access the non-elemental
+	array-ref.  Prevent taking a REF_COMPONENT for a REF_ARRAY.  Correct
+	indentation.
+	* module.c (load_omp_udrs): Clear typespec before reading into it.
+	* trans-decl.c (gfc_build_qualified_array): Prevent accessing the array
+	when it is a coarray.
+	* trans-expr.c (gfc_conv_cst_int_power): Use wi::abs()-function instead
+	of crutch preventing sanitizer's bickering here.
+	* trans-stmt.c (gfc_trans_deallocate): Only get data-component when it
+	is a descriptor-array here.
+
+2016-12-13  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/78798
+	* gfortran.h (gfc_is_constant_expr, gfc_is_formal_arg,
+	gfc_is_compile_time_shape): Return bool instead of int.
+	* array.c (gfc_is_compile_time_shape): Ditto.
+	* expr.c (gfc_is_constant_expr): Ditto.
+	* resolve.c (gfc_is_formal_arg): Ditto. Make formal_arg_flag bool.
+
+2016-12-13  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/77785
+	* resolve.c (resolve_symbol): Correct attr lookup to the _data
+	component.
+	* trans-array.c (gfc_alloc_allocatable_for_assignment): Indirect ref
+	pointers and references before retrieving the caf-token.
+
+2016-12-13  Janus Weil  <janus@gcc.gnu.org>
+	    Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/78737
+	* gfortran.h (gfc_find_typebound_dtio_proc): New prototype.
+	* interface.c (gfc_compare_interfaces): Whitespace fix.
+	(gfc_find_typebound_dtio_proc): New function.
+	(gfc_find_specific_dtio_proc): Use it. Improve error recovery.
+	* trans-io.c (get_dtio_proc): Implement polymorphic calls to DTIO
+	procedures.
+
+2016-12-12  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/78392
+	* expr.c (gfc_is_constant_expr): Specification functions are not
+	compile-time constants. Update documentation (add reference to F08
+	standard), add a FIXME.
+	(external_spec_function): Add reference to F08 standard.
+	* resolve.c (resolve_fl_variable): Ditto.
+
+2016-12-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/78226
+	* error.c (gfc_warning_internal):  New function.
+	* frontend-passes.c (gfc_run_passes):  Call check_locus if
+	CHECKING_P is defined.
+	(check_locus_code):  New function.
+	(check_locus_expr):  New function.
+	(check_locus):  New function.
+	* gfortran.h:  Add prototype for gfc_warning_internal.
+
+2016-12-10 Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/78350
+	* resolve.c (resolve_structure_cons): Remove the block that
+	tried to remove a charlen and rely on namespace cleanup.
+
+2016-12-09  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/77903
+	* decl.c (get_proc_name): Use the symbol tlink field instead of
+	the typespec interface field.
+	(gfc_match_function_decl, gfc_match_submod_proc): Ditto.
+	* gfortran.h : Since the symbol tlink field is no longer used
+	by the frontend for change management, change the comment to
+	reflect its current uses.
+	* parse.c (get_modproc_result): Same as decl.c changes.
+	* resolve.c (resolve_fl_procedure): Ditto.
+
+2016-12-09  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/61767
+	* class.c (has_finalizer_component): Fix this function to detect only
+	non-pointer non-allocatable components which have a finalizer.
+
+2016-12-09  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/78505
+	* trans-stmt.c (gfc_trans_allocate): Add sync all after the execution
+	of the whole allocate-statement to adhere to the standard.
+
+2016-12-09  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	* trans-array.c (gfc_array_deallocate): Remove wrapper.
+	(gfc_trans_dealloc_allocated): Same.
+	(structure_alloc_comps): Restructure deallocation of (nested)
+	allocatable components.  Insert dealloc of sub-component into the block
+	guarded by the if != NULL for the component.
+	(gfc_trans_deferred_array): Use the almightly deallocate_with_status.
+	* trans-array.h: Remove prototypes.
+	* trans-expr.c (gfc_conv_procedure_call): Use the almighty deallocate_
+	with_status.
+	* trans-openmp.c (gfc_walk_alloc_comps): Likewise.
+	(gfc_omp_clause_assign_op): Likewise.
+	(gfc_omp_clause_dtor): Likewise.
+	* trans-stmt.c (gfc_trans_deallocate): Likewise.
+	* trans.c (gfc_deallocate_with_status): Allow deallocation of scalar
+	and arrays as well as coarrays.
+	(gfc_deallocate_scalar_with_status): Get the data member for coarrays
+	only when freeing an array with descriptor.  And set correct caf_mode
+	when freeing components of coarrays.
+	* trans.h: Change prototype of gfc_deallocate_with_status to allow
+	adding statements into the block guarded by the if (pointer != 0) and
+	supply a coarray handle.
+
+2016-12-09  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/44265
+	* gfortran.h : Add fn_result_spec bitfield to gfc_symbol.
+	* resolve.c (flag_fn_result_spec): New function.
+	(resolve_fntype): Call it for character result lengths.
+	* symbol.c (gfc_new_symbol): Set fn_result_spec to zero.
+	* trans-decl.c (gfc_sym_mangled_identifier): Include the
+	procedure name in the mangled name for symbols with the
+	fn_result_spec bit set.
+	(gfc_finish_var_decl): Mark the decls of these symbols
+	appropriately for the case where the function is external.
+	(gfc_get_symbol_decl): Mangle the name of these symbols.
+	(gfc_create_module_variable): Allow them through the assert.
+	(gfc_generate_function_code): Remove the assert before the
+	initialization of sym->tlink because the frontend no longer
+	uses this field.
+	* trans-expr.c (gfc_map_intrinsic_function): Add a case to
+	treat the LEN_TRIM intrinsic.
+	(gfc_trans_string_copy): Deal with Wstringop-overflow warning
+	that can occur with constant source lengths at -O3.
+
+2016-12-08  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/65173
+	PR fortran/69064
+	PR fortran/69859
+	PR fortran/78350
+	* gfortran.h (gfc_namespace): Remove old_cl_list member.
+	* parse.c (use_modules, next_statement): old_cl_list is gone.
+	(clear_default_charlen): Remove no longer used function.
+	(reject_statement): Do not try ot clean up gfc_charlen structure(s)
+	that may have been added to a cl_list list.
+	* symbol.c (gfc_new_charlen): old_cl_list structure is gone.
+
+2016-12-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/78659
+	* resolve.c (resolve_fl_namelist): Remove unneeded error.
+
+2016-12-06  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/78226
+	* class.c (finalize_component): Add missing locus information.
+	(finalization_scalarizer): Likewise.
+	(finalization_get_offset): Likewise.
+	(finalizer_insert_packed_call): Likewise.
+	(generate_finalization_wrapper): Likewise.
+
+2016-12-05  Nathan Sidwell  <nathan@acm.org>
+
+	* error.c (gfc_warning_check): Call diagnostic_check_max_errors.
+	(gfc_error_check): Likewise.
+
+2016-12-04  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/78618
+	* intrinsic.c (gfc_convert_type_warn): Do not set the full typespec for
+	the conversion symbol, but only type and kind. Set the full typespec
+	for the expression.
+	(gfc_convert_chartype): Ditto.
+
+2016-12-03  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/43207
+	* primary.c (gfc_match_varspec): Reject nonpolymorphic references to
+	abstract types.
+
+2016-12-03  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/42188
+	* primary.c (gfc_match_rvalue): Add a new check that gives better error
+	messages.
+
+2016-12-03  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/58175
+	* resolve.c (gfc_resolve_finalizers): Prevent bogus warning.
+
+2016-12-02  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	* simplify.c (gfc_convert_char_constant): Free result on error.
+
+2016-12-02  Janus Weil  <janus@gcc.gnu.org>
+	    Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/78618
+	* check.c (gfc_check_rank): Remove ATTRIBUTE_UNUSED.
+	* expr.c (gfc_check_assign): Fix error propagation.
+
+2016-12-01  Elizebeth Punnoose  <elizebeth.punnoose@hpe.com>
+
+	PR fortran/77505
+	* trans-array.c (trans_array_constructor): Treat negative character
+	length as LEN = 0.
+
+2016-12-01  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/78279
+	* dependency.c (identical_array_ref): Convert gcc_assert to conditional
+	and gfc_internal_error.
+
+2016-11-30  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	* check.c (gfc_check_allocated): By pass the caf_get call and check on
+	the array.
+	* gfortran.h: Add optional flag to gfc_caf_attr.
+	* gfortran.texi: Document new enum values and _caf_is_present function.
+	* primary.c (caf_variable_attr): Add optional flag to indicate that the
+	expression is reffing a component.
+	(gfc_caf_attr): Likewise.
+	* trans-array.c (gfc_array_deallocate): Handle deallocation mode for
+	coarray deregistration.
+	(gfc_trans_dealloc_allocated): Likewise.
+	(duplicate_allocatable): Use constants instead of
+        creating custom constant tree node of zero or one.  Use gfc_add_modify
+        convenience function.
+	(duplicate_allocatable_coarray): This function is similar to
+	duplicate_allocatable but tailored to handle coarrays.
+	(caf_enabled): Check whether in-derived-type coarray processing is
+	enabled.
+	(caf_in_coarray): Check that in-derived-type coarray processing is
+	enabled and currently in a derived-typed coarray.
+	(gfc_caf_is_dealloc_only): Return true, when deallocate only is
+	desired for components in derived typed coarrays.
+	(structure_alloc_comps): A mode for handling coarrays, that is no
+	longer encode in the purpose.  This makes the use cases of the
+	routine more flexible without repeating.  Allocatable components in
+	derived type coarrays are now registered only when nullifying an
+	object and allocated before copying data into them.
+	(gfc_nullify_alloc_comp): Use the caf_mode of structure_alloc_comps
+	now.
+	(gfc_deallocate_alloc_comp): Likewise.
+	(gfc_deallocate_alloc_comp_no_caf): Likewise.
+	(gfc_reassign_alloc_comp_caf): Likewise.
+	(gfc_copy_alloc_comp): Likewise.
+	(gfc_copy_only_alloc_comp): Likewise.
+	(gfc_alloc_allocatable_for_assignment): Make use to the cheaper way of
+	reallocating a coarray without deregistering and reregistering it.
+	(gfc_trans_deferred_array): Initialize the coarray token correctly for
+	deferred variables and tear them down on exit.
+	* trans-array.h: Change some prototypes to add the coarray (de-)
+	registration modes.  Add prototype for checking if deallocate only is
+	selected for components in derived typed coarrays.
+	* trans-decl.c (gfc_build_builtin_function_decls): Generate the
+	declarations for the changed/new caf-lib routines.
+	(gfc_trans_deferred_vars): Ensure deferred variables are (de-)
+	registered correctly on procedure entry/exit.
+	(generate_coarray_sym_init): Use constants.
+	* trans-expr.c (gfc_conv_procedure_call): Propagate coarray allocation
+	modes accordingly.
+	(gfc_trans_alloc_subarray_assign): Likewise.
+	(gfc_trans_subcomponent_assign): Likewise.
+	(gfc_trans_structure_assign): Generate code to register the components
+	of a derived type coarray prior to initialization.
+	(gfc_conv_structure): Set flag that the structure is in a coarray.
+	(gfc_trans_scalar_assign): Add flag to indicate being in a coarray and
+	set the structure_alloc_comps modes correctly.
+	(gfc_trans_assignment_1): Figure being in a coarray expression.
+	* trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Adapt to new
+	structure_alloc_comps interface.
+	(conv_caf_send): Use the old API as long as possible.
+	(trans_caf_is_present): Generate code to check whether an allocatable
+	component in a derived typed coarray is allocated on a remote image.
+	(caf_this_image_ref): Return true, when only reffing this image.
+	(gfc_conv_allocated): Convert allocated queries on allocatable
+	components to the library API.
+	(conv_intrinsic_move_alloc): Adapt to new interface of
+	structure_alloc_comps.
+	* trans-openmp.c (gfc_walk_alloc_comps): Likewise.
+	(gfc_omp_clause_assign_op): Likewise.
+	(gfc_omp_clause_dtor): Likewise.
+	* trans-stmt.c (gfc_trans_deallocate): Figure which mode to use when
+	deallocating allocatable components in derived type coarras.
+	* trans.c (gfc_allocate_using_lib): Renamed to
+	gfc_allcate_using_caf_lib.
+	(gfc_allocate_allocatable): Set the registration mode/type of caf-
+	register calls adapting to all the possible allocatable objects.
+	(gfc_deallocate_with_status): Add deregistration mode for allocatable
+	components in derived type coarrays.
+	(gfc_deallocate_scalar_with_status): Likewise.
+	* trans.h (enum gfc_coarray_type): Renamed to gfc_coarray_regtype to
+	avoid collision with gfc_coarray_deregtype.
+
+2016-11-30  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/78593
+	* primary.c (gfc_match_varspec): Check if sym is non-null to avoid ICE.
+
+2016-11-30  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/78592
+	* interface.c (gfc_find_specific_dtio_proc): Rearrange code to avoid
+	dereferencing a null pointer.
+
+2016-11-30  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/78573
+	* decl.c (build_struct): On error, return directly and do not build
+	class symbol.
+
+2016-11-29  Tobias Burnus  <burnus@net-b.de>
+
+	PR fortran/58175
+	* resolve.c (gfc_resolve_finalizers): Properly detect scalar finalizers.
+
+2016-11-27  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/78474
+	* module.c (gfc_match_submodule): If there is more than one
+	colon, it is a syntax error.
+
+	PR fortran/78331
+	* module.c (gfc_use_module): If an smod file does not exist it
+	is either because the module does not have a module procedure
+	interface or there is an error in the module.
+
+2016-11-25  Janne Blomqvist  <jb@gcc.gnu.org>
+
+	* intrinsic.texi: Fix ptrdiff_t typo in ISO_C_BINDING constants
+	table.
+
+2016-11-25  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/60853
+	* interface.c (gfc_compare_interfaces): Remove bad special case for
+	unlimited polymorphism. Refactor for loop.
+
+2016-11-25  Andre Vehreschild  <vehre@gcc.gnu.org>
+	    Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/78293
+	* trans-expr.c (gfc_conv_procedure_call): Prepend deallocation
+	of alloctable components to post, rather than adding to
+	se->post.
+	* trans-stmt.c (gfc_trans_allocate): Move deallocation of expr3
+	allocatable components so that all expr3s are visited.
+
+2016-11-25  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/78293
+	* gfortran.dg/allocatable_function_10.f90: New test.
+	* gfortran.dg/class_array_15.f03: Increase builtin_free count
+	from 11 to 12.
+
+2016-11-24  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/78500
+	* expr.c (gfc_check_vardef_contextm): Fix NULL pointer dereference.
+	* interface.c (matching_typebound_op): Ditto.
+
+2016-11-23  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/78297
+	* trans-common.c (finish_equivalences): Do not dereference a NULL pointer.
+
+2016-11-23  Martin Jambor  <mjambor@suse.cz>
+
+	* f95-lang.c (DEF_HSA_BUILTIN): New macro.
+
+2016-11-22  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/78479
+	* expr.c (gfc_apply_init):  Allocate a charlen if needed.
+
+2016-11-22  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/78443
+	* class.c (add_proc_comp): Add a vtype component for non-overridable
+	procedures that are overriding.
+
+2016-11-20  Harald Anlauf  <anlauf@gmx.de>
+
+	PR fortran/69741
+	* resolve.c (gfc_resolve_forall): Check for nonscalar index variables.
+
+2016-11-20  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/78395
+	* resolve.c (resolve_typebound_function): Prevent stripping of refs,
+	when the base-expression is a class' typed one.
+
+2016-11-18  Richard Sandiford  <richard.sandiford@arm.com>
+ 	    Alan Hayward  <alan.hayward@arm.com>
+ 	    David Sherwood  <david.sherwood@arm.com>
+
+	* trans-common.c (build_common_decl): Use SET_DECL_MODE.
+	* trans-decl.c (gfc_build_label_decl): Likewise.
+	* trans-types.c (gfc_get_array_descr_info): Likewise.
+
+2016-11-17  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/66227
+	* simplify.c (gfc_simplify_extends_type_of): Fix missed optimization.
+	Prevent over-simplification. Fix a comment. Add a comment.
+
+2016-11-16  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/58001
+	* io.c (next_char_not_space): Update handling of a 'tab' in a FORMAT.
+ 	(format_lex): Adjust invocations of next_char_not_space().
+
+2016-11-16  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/78356
+	* class.c (gfc_is_class_scalar_expr): Prevent taking an array ref for
+	a component ref.
+	* trans-expr.c (gfc_trans_assignment_1): Ensure a reference to the
+	object to copy is generated, when assigning class objects.
+
+2016-11-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	* dump-parse-tree.c (show_code):  Add prototype.
+	(gfc_debug_code):  New function.
+	(show_code_node):  Add space after SELECT TYPE.
+
+2016-11-14  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/78300
+	* resolve.c (resolve_procedure_interface): Properly handle CLASS-valued
+	function results.
+
+2016-11-13  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/60952
+	* decl.c (match_procedure_in_type): Apply the FL_PROCEDURE attribute
+	to the target procedure.
+
+2016-11-13  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/66366
+	* resolve.c (resolve_component): Move check for C437
+	to ...
+	* decl.c (build_struct): ... here. Fix indentation.
+
+2016-11-12  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/77501
+	* class.c (gfc_find_typebound_intrinsic_op): Remove an unnecessary
+	assert and nullification.
+	* decl.c (gfc_match_decl_type_spec): Use gfc_get_tbp_symtree,
+	fix indentation.
+	(gfc_match_generic): Remove an unnecessary assert.
+	Use gfc_get_tbp_symtree to avoid ICE.
+
+2016-11-10  Fritz O. Reese <fritzoreese@gmail.com>
+
+	PR fortran/78277
+	* gcc/fortran/decl.c (gfc_match_data_decl): Gracefully handle bad
+	anonymous structure declarations.
+
+2016-11-10  Fritz O. Reese <fritzoreese@gmail.com>
+
+	* decl.c (get_struct_decl, gfc_match_map, gfc_match_union): Fix
+	whitespace.
+	* interface.c (gfc_compare_union_types): Likewise.
+
+2016-11-10  Jakub Jelinek  <jakub@redhat.com>
+
+	* cpp.c (cpp_define_builtins): Define _OPENMP to 201511 instead
+	of 201307.
+	* gfortran.texi: Mention partial OpenMP 4.5 support.
+	* intrinsic.texi: Update for OpenMP 4.5.
+
+	* openmp.c (gfc_free_omp_clauses): Free critical_name, grainsize,
+	hint, num_tasks, priority and if_exprs.
+	(gfc_match_omp_to_link, gfc_match_omp_depend_sink): New functions.
+	(enum omp_mask1, enum omp_mask2): New enums.
+	Change all OMP_CLAUSE_* defines into enum values, and change their
+	values from ((uint64_t) 1 << bit) to just bit.
+	(omp_mask, omp_inv_mask): New classes.  Add ctors and operators.
+	(gfc_match_omp_clauses): Change mask argument from uint64_t to
+	const omp_mask.  Assert OMP_MASK1_LAST and OMP_MASK2_LAST are
+	at most 64.  Move delete clause handling to where it
+	alphabetically belongs.  Parse defaultmap, grainsize, hint,
+	is_device_ptr, nogroup, nowait, num_tasks, priority, simd, threads
+	and use_device_ptr clauses.  Parse if clause modifier.  Parse map
+	clause always modifier, and release and delete kinds.  Parse ordered
+	clause with argument.  Parse schedule clause modifiers.  Differentiate
+	device clause parsing based on openacc flag.  Guard link clause
+	parsing with openacc flag.  Add support for parsing
+	linear clause modifiers.  Parse depend(source) and depend(sink: ...).
+	Use gfc_match_omp_to_link for to and link clauses in declare target
+	construct.
+	(match_acc): Change mask type from uint64_t to const omp_mask.
+	(OMP_SINGLE_CLAUSES, OMP_ORDERED_CLAUSES,
+	OMP_DECLARE_TARGET_CLAUSES, OMP_TASKLOOP_CLAUSES,
+	OMP_TARGET_ENTER_DATA_CLAUSES, OMP_TARGET_EXIT_DATA_CLAUSES): Define.
+	(OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES, OACC_DATA_CLAUSES,
+	OACC_LOOP_CLAUSES, OACC_HOST_DATA_CLAUSES, OACC_DECLARE_CLAUSES,
+	OACC_ENTER_DATA_CLAUSES, OACC_EXIT_DATA_CLAUSES, OACC_WAIT_CLAUSES,
+	OACC_ROUTINE_CLAUSES, OMP_PARALLEL_CLAUSES, OMP_DECLARE_SIMD_CLAUSES,
+	OMP_SECTIONS_CLAUSES, OMP_TEAMS_CLAUSES, OMP_DISTRIBUTE_CLAUSES):
+	Replace first or only OMP_CLAUSE_* value in bitset with
+	omp_mask (OMP_CLAUSE_*).
+	(OMP_DO_CLAUSES): Likewise.  Add OMP_CLAUSE_LINEAR.
+	(OMP_SIMD_CLAUSES): Replace first or only OMP_CLAUSE_* value in
+	bitset with omp_mask (OMP_CLAUSE_*).  Add OMP_CLAUSE_SIMDLEN.
+	(OACC_UPDATE_CLAUSES): Replace first or only OMP_CLAUSE_* value in
+	bitset with omp_mask (OMP_CLAUSE_*).  Replace OMP_CLAUSE_OACC_DEVICE
+	with OMP_CLAUSE_DEVICE.
+	(OMP_TASK_CLAUSES): Replace first or only OMP_CLAUSE_* value in
+	bitset with omp_mask (OMP_CLAUSE_*).  Add OMP_CLAUSE_PRIORITY.
+	(OMP_TARGET_CLAUSES): Replace first or only OMP_CLAUSE_* value in
+	bitset with omp_mask (OMP_CLAUSE_*).  Add OMP_CLAUSE_DEPEND,
+	OMP_CLAUSE_NOWAIT, OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE,
+	OMP_CLAUSE_DEFAULTMAP and OMP_CLAUSE_IS_DEVICE_PTR.
+	(OMP_TARGET_DATA_CLAUSES): Replace first or only OMP_CLAUSE_* value in
+	bitset with omp_mask (OMP_CLAUSE_*).  Add OMP_CLAUSE_USE_DEVICE_PTR.
+	(OMP_TARGET_UPDATE_CLAUSES): Replace first or only OMP_CLAUSE_* value
+	in bitset with omp_mask (OMP_CLAUSE_*).  Add OMP_CLAUSE_DEPEND and
+	OMP_CLAUSE_NOWAIT.
+	(match_omp): Change mask argument from unsigned int to
+	const omp_mask.
+	(gfc_match_omp_critical): Parse optional clauses and use omp_clauses
+	union member instead of omp_name.
+	(gfc_match_omp_end_critical): New function.
+	(gfc_match_omp_distribute_parallel_do): Remove ordered and linear
+	clauses from the mask.
+	(gfc_match_omp_distribute_parallel_do_simd): Use
+	& ~(omp_mask (OMP_CLAUSE_*)) instead of & ~OMP_CLAUSE_*.
+	(gfc_match_omp_target_teams_distribute_parallel_do_simd): Likewise.
+	(gfc_match_omp_teams_distribute_parallel_do_simd): Likewise.
+	(gfc_match_omp_do_simd): Likewise.  Don't remove ordered clause from
+	the mask.
+	(gfc_match_omp_parallel_do_simd): Likewise.
+	(gfc_match_omp_target_teams_distribute_parallel_do): Likewise.
+	(gfc_match_omp_teams_distribute_parallel_do): Likewise.
+	(gfc_match_omp_declare_simd): If not using the form with
+	(proc-name), require space before first clause.  Make (proc-name)
+	optional.  If not present, set proc_name to NULL.
+	(gfc_match_omp_declare_target): Rewritten for OpenMP 4.5.
+	(gfc_match_omp_single): Use OMP_SINGLE_CLAUSES.
+	(gfc_match_omp_task, gfc_match_omp_taskwait, gfc_match_omp_taskyield):
+	Move around to where they belong alphabetically.
+	(gfc_match_omp_target_enter_data, gfc_match_omp_target_exit_data,
+	gfc_match_omp_target_parallel, gfc_match_omp_target_parallel_do,
+	gfc_match_omp_target_parallel_do_simd, gfc_match_omp_target_simd,
+	gfc_match_omp_taskloop, gfc_match_omp_taskloop_simd):
+	New functions.
+	(gfc_match_omp_ordered): Parse clauses.
+	(gfc_match_omp_ordered_depend): New function.
+	(gfc_match_omp_cancel, gfc_match_omp_end_single): Use
+	omp_mask (OMP_CLAUSE_*) instead of OMP_CLAUSE_*.
+	(resolve_oacc_scalar_int_expr): Renamed to ...
+	(resolve_scalar_int_expr): ... this.  Fix up formatting.
+	(resolve_oacc_positive_int_expr): Renamed to ...
+	(resolve_positive_int_expr): ... this.  Fix up formatting.
+	(resolve_nonnegative_int_expr): New function.
+	(resolve_omp_clauses): Adjust callers, use the above functions
+	even for OpenMP clauses, add handling of new OpenMP 4.5 clauses.
+	Require orderedc >= collapse if specified. Handle depend(sink:)
+	and depend(source) restrictions.  Disallow linear clause when
+	orderedc is non-zero.  Diagnose linear clause modifiers when not in
+	declare simd.  Only check for integer type if ref modifier
+	is not used.  Remove diagnostics for required VALUE attribute.
+	Diagnose VALUE attribute with ref or uval modifiers.  Allow
+	non-constant linear-step, if it is a dummy argument alone and is
+	mentioned in uniform clause.  Diagnose map kinds not allowed
+	for various constructs.  Diagnose target {enter ,exit ,}data without
+	any map clauses.  Add dummy OMP_LIST_IS_DEVICE_PTR and
+	OMP_LIST_USE_DEVICE_PTR cases.
+	(gfc_resolve_omp_do_blocks): Set omp_current_do_collapse to orderedc
+	if non-zero.
+	(gfc_resolve_omp_parallel_blocks): Handle new OpenMP 4.5 constructs,
+	replace underscores with spaces in a few construct names.
+	(resolve_omp_do): Set collapse to orderedc if non-zero.  Handle new
+	OpenMP 4.5 constructs.
+	(resolve_oacc_loop_blocks): Call resolve_positive_int_expr instead
+	of resolve_oacc_positive_int_expr.
+	(gfc_resolve_omp_directive): Handle new OpenMP 4.5 constructs.
+	(gfc_resolve_omp_declare_simd): Allow ods->proc_name to be NULL.
+	* trans-openmp.c (gfc_omp_scalar_p): New function.
+	(doacross_steps): New variable.
+	(gfc_trans_omp_clauses): Handle new OpenMP 4.5 clauses and new clause
+	modifiers.
+	(gfc_trans_omp_critical): Adjust EXEC_OMP_CRITICAL handling.
+	(gfc_trans_omp_do): Handle doacross loops.  Clear sched_simd flag.
+	Handle EXEC_OMP_TASKLOOP.
+	(gfc_trans_omp_ordered): Translate omp clauses, allow NULL
+	code->block.
+	(GFC_OMP_SPLIT_TASKLOOP, GFC_OMP_MASK_TASKLOOP): New enum constants.
+	(gfc_split_omp_clauses): Copy orderedc together with ordered.  Change
+	firstprivate and lastprivate handling for OpenMP 4.5.
+	Handle EXEC_OMP_TARGET_SIMD, EXEC_OMP_TARGET_PARALLEL{,_DO,_DO_SIMD}
+	and EXEC_OMP_TASKLOOP{,_SIMD}.  Add handling for new OpenMP 4.5
+	clauses and clause modifiers and handle if clause without/with
+	modifiers.
+	(gfc_trans_omp_teams): Add omp_clauses argument, add it to other
+	teams clauses.  Don't wrap into OMP_TEAMS if -fopenmp-simd.
+	(gfc_trans_omp_target): For -fopenmp, translate num_teams and
+	thread_limit clauses on combined target teams early and pass to
+	gfc_trans_omp_teams.  Set OMP_TARGET_COMBINED if needed.
+	Handle EXEC_OMP_TARGET_PARALLEL{,_DO,_DO_SIMD} and
+	EXEC_OMP_TARGET_SIMD.
+	(gfc_trans_omp_taskloop, gfc_trans_omp_target_enter_data,
+	gfc_trans_omp_target_exit_data): New functions.
+	(gfc_trans_omp_directive): Handle EXEC_OMP_TARGET_{ENTER,EXIT}_DATA
+	EXEC_OMP_TASKLOOP{,_SIMD}, EXEC_OMP_TARGET_PARALLEL{,_DO,_DO_SIMD}
+	and EXEC_OMP_TARGET_SIMD.  Adjust gfc_trans_omp_teams caller.
+	* symbol.c (check_conflict): Handle omp_declare_target_link.
+	(gfc_add_omp_declare_target_link): New function.
+	(gfc_copy_attr): Copy omp_declare_target_link.
+	* dump-parse-tree.c (show_omp_namelist): Handle OMP_DEPEND_SINK_FIRST
+	depend_op.  Print linear clause modifiers.
+	(show_omp_clauses): Adjust for OpenMP 4.5 clause changes.
+	(show_omp_node): Print clauses for EXEC_OMP_ORDERED.  Allow NULL
+	c->block for EXEC_OMP_ORDERED.  Formatting fixes.  Adjust handling of
+	EXEC_OMP_CRITICAL, handle new OpenMP 4.5 constructs and some
+	forgotten OpenMP 4.0 constructs.
+	(show_code_node): Handle new OpenMP 4.5 constructs and some forgotten
+	OpenMP 4.0 constructs.
+	* gfortran.h (symbol_attribute): Add omp_declare_target_link bitfield.
+	(struct gfc_omp_namelist): Add u.common and u.linear_op fields.
+	(struct gfc_common_head): Change omp_declare_target into bitfield.
+	Add omp_declare_target_link bitfield.
+	(gfc_add_omp_declare_target_link): New prototype.
+	(enum gfc_statement): Add ST_OMP_TARGET_PARALLEL,
+	ST_OMP_END_TARGET_PARALLEL, ST_OMP_TARGET_PARALLEL_DO,
+	ST_OMP_END_TARGET_PARALLEL_DO, ST_OMP_TARGET_PARALLEL_DO_SIMD,
+	ST_OMP_END_TARGET_PARALLEL_DO_SIMD, ST_OMP_TARGET_ENTER_DATA,
+	ST_OMP_TARGET_EXIT_DATA, ST_OMP_TARGET_SIMD, ST_OMP_END_TARGET_SIMD,
+	ST_OMP_TASKLOOP, ST_OMP_END_TASKLOOP, ST_OMP_TASKLOOP_SIMD,
+	ST_OMP_END_TASKLOOP_SIMD and ST_OMP_ORDERED_DEPEND.
+	(enum gfc_omp_depend_op): Add OMP_DEPEND_SINK_FIRST and
+	OMP_DEPEND_SINK.
+	(enum gfc_omp_linear_op): New.
+	(struct gfc_omp_clauses): Add critical_name, depend_source,
+	orderedc, defaultmap, nogroup, sched_simd, sched_monotonic,
+	sched_nonmonotonic, simd, threads, grainsize, hint, num_tasks,
+	priority and if_exprs fields.
+	(enum gfc_exec_op): Add EXEC_OMP_END_CRITICAL,
+	EXEC_OMP_TARGET_ENTER_DATA, EXEC_OMP_TARGET_EXIT_DATA,
+	EXEC_OMP_TARGET_PARALLEL, EXEC_OMP_TARGET_PARALLEL_DO,
+	EXEC_OMP_TARGET_PARALLEL_DO_SIMD, EXEC_OMP_TARGET_SIMD,
+	EXEC_OMP_TASKLOOP, EXEC_OMP_TASKLOOP_SIMD.
+	(enum gfc_omp_map_op): Add OMP_MAP_RELEASE,
+	OMP_MAP_ALWAYS_TO, OMP_MAP_ALWAYS_FROM and OMP_MAP_ALWAYS_TOFROM.
+	(OMP_LIST_IS_DEVICE_PTR, OMP_LIST_USE_DEVICE_PTR): New.
+	(enum gfc_omp_if_kind): New.
+	* module.c (enum ab_attribute): Add AB_OMP_DECLARE_TARGET_LINK.
+	(attr_bits): Add AB_OMP_DECLARE_TARGET_LINK entry.
+	(mio_symbol_attribute): Save and restore omp_declare_target_link bit.
+	* trans.h (gfc_omp_scalar_p): New prototype.
+	* frontend-passes.c (gfc_code_walker): Handle new OpenMP 4.5
+	expressions.
+	* trans.c (trans_code): Handle new OpenMP 4.5 constructs.
+	* resolve.c (gfc_resolve_blocks): Likewise.
+	(gfc_resolve_code): Likewise.
+	* f95-lang.c (LANG_HOOKS_OMP_SCALAR_P): Redefine to gfc_omp_scalar_p.
+	(gfc_attribute_table): Add "omp declare target link".
+	* st.c (gfc_free_statement): Handle EXEC_OMP_END_CRITICAL like
+	EXEC_OMP_CRITICAL before, free clauses for EXEC_OMP_CRITICAL
+	and new OpenMP 4.5 constructs.  Free omp clauses even for
+	EXEC_OMP_ORDERED.
+	* match.c (match_exit_cycle): Rename collapse variable to count,
+	set it to orderedc if non-zero, instead of collapse.
+	* trans-decl.c (add_attributes_to_decl): Add "omp declare target link"
+	instead of "omp declare target" for omp_declare_target_link.
+	* trans-common.c (build_common_decl): Likewise.
+	* match.h (gfc_match_omp_target_enter_data,
+	gfc_match_omp_target_exit_data, gfc_match_omp_target_parallel,
+	gfc_match_omp_target_parallel_do,
+	gfc_match_omp_target_parallel_do_simd, gfc_match_omp_target_simd,
+	gfc_match_omp_taskloop, gfc_match_omp_taskloop_simd,
+	gfc_match_omp_end_critical, gfc_match_omp_ordered_depend): New
+	prototypes.
+	* parse.c (decode_omp_directive): Use gfc_match_omp_end_critical
+	instead of gfc_match_omp_critical for !$omp end critical.
+	Handle new OpenMP 4.5 constructs.  If ordered directive has
+	depend clause as the first of the clauses, use
+	gfc_match_omp_ordered_depend and ST_OMP_ORDERED_DEPEND instead of
+	gfc_match_omp_ordered and ST_OMP_ORDERED.
+	(case_executable): Add ST_OMP_TARGET_ENTER_DATA,
+	ST_OMP_TARGET_EXIT_DATA and ST_OMP_ORDERED_DEPEND cases.
+	(case_exec_markers): Add ST_OMP_TARGET_PARALLEL,
+	ST_OMP_TARGET_PARALLEL_DO, ST_OMP_TARGET_PARALLEL_DO_SIMD,
+	ST_OMP_TARGET_SIMD, ST_OMP_TASKLOOP and ST_OMP_TASKLOOP_SIMD cases.
+	(gfc_ascii_statement): Handle new OpenMP 4.5 constructs.
+	(parse_omp_do): Handle ST_OMP_TARGET_PARALLEL_DO,
+	ST_OMP_TARGET_PARALLEL_DO_SIMD, ST_OMP_TASKLOOP and
+	ST_OMP_TASKLOOP_SIMD.
+	(parse_omp_structured_block): Handle EXEC_OMP_END_CRITICAL instead
+	of EXEC_OMP_CRITICAL, adjust for EXEC_OMP_CRITICAL having omp clauses
+	now.
+	(parse_executable): Handle ST_OMP_TARGET_PARALLEL,
+	ST_OMP_TARGET_PARALLEL_DO, ST_OMP_TARGET_PARALLEL_DO_SIMD,
+	ST_OMP_TASKLOOP and ST_OMP_TASKLOOP_SIMD.
+
+2016-11-09  Mikael Morin  <mikael@gcc.gnu.org>
+	    Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/46459
+	* interface.c (compare_actual_formal): Add safety checks to avoid ICE.
+
+2016-11-09  Fritz O. Reese <fritzoreese@gmail.com>
+
+	PR fortran/78259
+	* trans-expr.c (gfc_trans_subcomponent_assign): Guard against NULL
+	values.
+
+2016-11-09  Steven G. Kargl  <kargl@gcc.gnu.org>
+	    Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/60777
+	* expr.c (external_spec_function): Allow recursive specification
+	functions in F03.
+
+2016-11-09  Paul Thomas  <pault@gcc.gnu.org>
+
+	* check.c (gfc_check_move_alloc): Prevent error that avoids
+	aliasing between to and from arguments from rejecting valid
+	code.
+
+2016-11-09  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/71894
+	* class.c (gfc_add_component_ref): Add safety checks to avoid ICE.
+
+2016-11-08  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/68440
+	* expr.c (check_alloc_comp_init): Loosen an assert.
+	* resolve.c (resolve_fl_parameter): Reject class parameters.
+
+2016-11-08  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/77596
+	* expr.c (gfc_check_pointer_assign): Add special check for procedure-
+	pointer component with absent interface.
+
+2016-11-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/78226
+	* expr.c (gfc_generate_initializer):  Add where to EXPR_NULL
+	statement.
+	* iresolve.c (gfc_resolve_extends_type_of):  Add where to
+	both arguments of the function.
+	* resolve.c (resolve_select_type):  Add where to the
+	second argument of the new statement.
+
+2016-11-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/78226
+	* match.c (gfc_match_select_type):  Add where for expr1.
+	* resolve.c (resolev_select_type): Add where for expr1 of new
+	statement.
+
+2016-11-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/78226
+	resolve.c (build_loc_call): Add location to return value.
+
+2016-11-06  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	* expr.c (is_non_empty_structure_constructor): New function to detect
+	non-empty structure constructor.
+	(gfc_has_default_initializer): Analyse initializers.
+	* resolve.c (cond_init): Removed.
+	(resolve_allocate_expr): Removed dead code.  Moved invariant code out
+	of the loop over all objects to allocate.
+	(resolve_allocate_deallocate): Added the invariant code remove from
+	resolve_allocate_expr.
+	* trans-array.c (gfc_array_allocate): Removed nullify of structure
+	components in favour of doing this in gfc_trans_allocate for both
+	scalars and arrays in the same place.
+	* trans-expr.c (gfc_trans_init_assign): Always using _vptr->copy for
+	class objects.
+	* trans-stmt.c (allocate_get_initializer): Get the initializer
+	expression for object allocated.
+	(gfc_trans_allocate): Nullify a derived type only, when no SOURCE=
+	or MOLD= is present preventing duplicate work.  Moved the creation
+	of the init-expression here to prevent code for conditions that
+	can not occur on freshly allocated object, like checking for the need
+	to free allocatable components.
+
+2016-11-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/78221
+	* arith.c (gfc_complex2real):  Change gfc_warning_now to
+	gfc_warning.
+
+2016-11-05  Paul Thomas  <pault@gcc.gnu.org>
+
+	* check.c (gfc_check_move_alloc): Introduce error to prevent
+	aliasing between to and from arguments.
+
+2016-11-05  Janus Weil  <janus@gcc.gnu.org>
+	    Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	PR fortran/69495
+	* invoke.texi: Mention -Wpedantic as an alias of -pedantic.
+	* check.c (gfc_check_transfer): Mention responsible flag in warning
+	message.
+	* frontend-passes.c (do_warn_function_elimination): Ditto.
+	* resolve.c (resolve_elemental_actual): Ditto.
+	(resolve_operator): Ditto.
+	(warn_unused_fortran_label): Ditto.
+	* trans-common.c (translate_common): Ditto.
+
+2016-11-05  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/67564
+	* trans-expr.c (gfc_conv_class_to_class): Return _len component
+	of unlimited polymorphic entities.
+
+2016-11-04  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/64933
+	* primary.c (gfc_match_varspec): If selector expression is
+	unambiguously an array, make sure that the associate name
+	is an array and has an array spec. Modify the original
+	condition for doing this to exclude character types.
+
+2016-11-03  Fritz Reese <fritzoreese@gmail.com>
+
+	* gfortran.texi: Document.
+	* gfortran.h (gfc_dt): New field default_exp.
+	* primary.c (match_real_constant): Default exponent with -fdec.
+	* io.c (match_io): Set dt.default_exp with -fdec.
+	* ioparm.def (IOPARM_dt_default_exp): New.
+	* trans-io.c (build_dt): Set IOPARM_dt_default_exp with -fdec.
+
+2016-11-03  Fritz O. Reese <fritzoreese@gmail.com>
+
+	* decl.c (gfc_match_parameter): Allow omitted '()' with -std=legacy.
+	* parse.c (decode_statement): Match "parameter" before assignments.
+	* gfortran.texi: Document.
+
+2016-11-02  Fritz O. Reese <fritzoreese@gmail.com>
+
+	* lang.opt, invoke.texi: New argument -Wargument-mismatch.
+	* interface.c (compare_parameter, compare_actual_formal,
+	gfc_check_typebound_override, argument_rank_mismatch): Control argument
+	mismatch warnings with -Wargument-mismatch.
+	* resolve.c (resolve_structure_cons, resolve_global_procedure): Ditto.
+
+2016-11-02  Fritz Reese <fritzoreese@gmail.com>
+
+	* gfortran.h (gfc_error): New declaration for gfc_error with 'opt'.
+	* error.c (gfc_error): Add optional 'opt' argument.
+	* error.c (gfc_notify_std): Call fully-qualified gfc_error.
+
+2016-11-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/78178
+	* match.c (match_simple_where):  Fill in locus for assigment
+	in simple WHERE statement.
+
+2016-11-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/69544
+	* match.c (gfc_match_where):  Fill in locus for assigment
+	in simple WHERE statement.
+
+2016-10-31  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/54679
+	* io.c (check_format): Adjust checks for FMT_L to treat a zero
+	width as an extension, giving warnings or error as appropriate.
+	Improve messages.
+
+2016-10-31  Jakub Jelinek  <jakub@redhat.com>
+
+	* trans-types.c (gfc_get_array_descr_info): For -gdwarf-5 or
+	-gno-strict-dwarf, handle assumed rank arrays the way dwarf2out
+	expects.
+
+2016-10-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/67219
+	* arith.c (gfc_int2real):  Change gfc_warning_now
+	to gfc_warning.
+	* primary.c (match_complex_constant):  If there
+	is no comma, throw away any warning which might have
+	been issued by gfc_int2real.
+
+2016-10-28  Steven G. Kargl <kargl@gcc.gnu.org>
+
+	PR fortran/71891
+	* symbol.c (gfc_type_compatible): Fix typo.
+
+2016-10-27  Jakub Jelinek  <jakub@redhat.com>
+
+	PR fortran/78026
+	* parse.c (decode_statement): Don't create namespace for possible
+	select type here and destroy it afterwards.
+	(parse_select_type_block): Set gfc_current_ns to new_st.ext.block.ns.
+	(parse_executable, gfc_parse_file): Formatting fixes.
+	* match.c (gfc_match_select_type): Create namespace for select type
+	here, only after matching select type.  Formatting fixes.  Free that
+	namespace if not returning MATCH_YES, after gfc_undo_symbols,
+	otherwise remember it in new_st.ext.block.ns and switch to parent
+	namespace anyway.
+
+2016-10-27  Fritz Reese  <fritzoreese@gmail.com>
+
+	* expr.c (generate_union_initializer, get_union_initializer): New.
+	* expr.c (component_initializer): Consider BT_UNION specially.
+	* resolve.c (resolve_structure_cons): Hack for BT_UNION.
+	* trans-expr.c (gfc_trans_subcomponent_assign): Ditto.
+	* trans-expr.c (gfc_conv_union_initializer): New.
+	* trans-expr.c (gfc_conv_structure): Replace UNION handling code with
+	new function gfc_conv_union_initializer.
+
+2016-10-26  Steven G. Kargl <kargl@gcc.gnu.org>
+
+	PR fortran/78092
+	* trans-intrinsic.c (gfc_conv_intrinsic_sizeof):  Fix reference to an
+	array element of type CLASS.
+
+2016-10-26  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/78108
+	* resolve.c (resolve_typebound_intrinsic_op): For submodules
+	suppress the error and return if the same procedure symbol
+	is added more than once to the interface.
+
+2016-10-26  Fritz Reese  <fritzoreese@gmail.com>
+
+	* frontend-passes.c (gfc_code_walker): Add SHARE and CARRIAGECONTROL.
+	* io.c (gfc_free_open, gfc_resolve_open, gfc_match_open): Ditto.
+	* gfortran.h (gfc_open): Add SHARE, CARRIAGECONTROL, and READONLY.
+	* io.c (io_tag, match_open_element): Ditto.
+	* ioparm.def: Ditto.
+	* trans-io.c (gfc_trans_open): Ditto.
+	* io.c (match_dec_etag, match_dec_ftag): New functions.
+	* gfortran.texi: Document.
+
+2016-10-25  Fritz Reese  <fritzoreese@gmail.com>
+
+	* gfortran.texi: Document.
+	* resolve.c (logical_to_bitwise): New function.
+	* resolve.c (resolve_operator): Wrap operands with logical_to_bitwise.
+
+2016-10-25  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/72770
+	* class.c (find_intrinsic_vtab): No longer encode the string length
+	into vtype's name and use the char's kind for the size instead of
+	the string_length time the size.
+	* trans-array.c (gfc_conv_ss_descriptor): For deferred length char
+	arrays the dynamically sized type needs to be declared.
+	(build_class_array_ref): Address the i-th array element by multiplying
+	it with the _vptr->_size and the _len to make sure char arrays are
+	addressed correctly.
+	* trans-expr.c (gfc_conv_intrinsic_to_class): Made comment more
+	precise.
+
+2016-10-25  Cesar Philippidis  <cesar@codesourcery.com>
+
+	* intrinsic.texi (cosd): New mathop.
+
+2016-10-25  Fritz Reese  <fritzoreese@gmail.com>
+
+	* match.c (gfc_match_intrinsic_op): Match ".XOR." with -std=legacy.
+	* gfortran.texi: Document.
+
+2016-10-25  Fritz Reese  <fritzoreese@gmail.com>
+
+	* primary.c (gfc_match_rvalue): Match %LOC as LOC with -std=legacy.
+	* gfortran.texi: Document.
+
+2016-10-25  Fritz Reese  <fritzoreese@gmail.com>
+
+	* decl.c (gfc_match_type): New function.
+	* match.h (gfc_match_type): New function.
+	* match.c (gfc_match_if): Special case for one-line IFs.
+	* gfortran.texi: Update documentation.
+	* parse.c (decode_statement): Invoke gfc_match_type.
+
+2016-10-25  Fritz Reese  <fritzoreese@gmail.com>
+
+	* gfortran.texi: Document.
+	* gfortran.h (gfc_is_whitespace): Include form feed ('\f').
+
+2016-10-25  Fritz Reese  <fritzoreese@gmail.com>
+
+	* invoke.texi, gfortran.texi: Touch up documentation of -fdec.
+	* gfortran.h (gfc_option): Move flag_dec_structure out of gfc_option.
+	* decl.c (match_record_decl, gfc_match_decl_type_spec,
+	gfc_match_structure_decl): Ditto.
+	* match.c (gfc_match_member_sep): Ditto.
+	* options.c (gfc_handle_option): Ditto.
+	* lang.opt (fdec-structure): Use Fortran Var for flag_dec_structure.
+	* lang.opt (fdec): Use Fortran Var to create flag_dec.
+	* options.c (set_dec_flags): With -fdec enable -fcray-pointer,
+	-fd-lines-as-comments (default), -fdollar-ok, and legacy std flags.
+
+2016-10-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/77828
+	* ioparm.def: Reorder dt parameters to match libgfortran.
+	* libgfortran.h: Swap definitions of GFC_INTERNAL_UNIT and
+	GFC_INTERNAL_UNIT4.
+
+2016-10-24  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/71895
+	* interface.c (gfc_compare_derived_types):  Convert gcc_assert()
+	to a gfc_internal_error() to prevent an ICE.
+
+2016-10-24  Jakub Jelinek  <jakub@redhat.com>
+
+	* trans-intrinsic.c (gfc_conv_intrinsic_minmax): Use VAR_P (x)
+	instead of TREE_CODE (x) == VAR_DECL.
+	* trans-expr.c (gfc_class_vptr_get, gfc_class_len_get,
+	gfc_class_len_or_zero_get, gfc_get_vptr_from_expr,
+	gfc_conv_string_length, conv_base_obj_fcn_val,
+	gfc_conv_procedure_call, gfc_trans_assignment_1): Likewise.
+	* trans-openmp.c (gfc_omp_predetermined_sharing,
+	gfc_omp_disregard_value_expr, gfc_omp_private_debug_clause,
+	gfc_trans_omp_atomic, gfc_trans_omp_do): Likewise.
+	* trans-io.c (nml_get_addr_expr): Likewise.
+	* trans-decl.c (gfc_finish_decl, gfc_build_qualified_array,
+	gfc_get_symbol_decl, gfc_get_fake_result_decl,
+	gfc_trans_deferred_vars, gfc_trans_use_stmts,
+	generate_local_decl): Likewise.
+	* trans-array.c (trans_array_constructor, trans_array_bound_check,
+	build_class_array_ref, gfc_array_init_size,
+	gfc_trans_auto_array_allocation, gfc_trans_g77_array,
+	gfc_trans_dummy_array_bias, gfc_alloc_allocatable_for_assignment,
+	gfc_trans_deferred_array): Likewise.
+	* trans.c (gfc_build_array_ref): Likewise.  Use
+	VAR_OR_FUNCTION_DECL_P (x) instead of TREE_CODE (x) == VAR_DECL
+	|| TREE_CODE (x) == FUNCTION_DECL.
+
+2016-10-23  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/77763
+	* parse.c (parse_spec): Allow STRUCTURE in BLOCK DATA.  Sort
+	case labels.
+
+2016-10-23  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/54730
+	PR fortran/78033
+	* array.c (gfc_match_array_constructor): Remove checkpointing
+	introduced in r196416 (original fix for PR fortran/54730).  Move
+	initialization to top of function.
+	* match.c (gfc_match_type_spec): Special case matching for REAL.
+
+2016-10-23  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/69834
+	* class.c (gfc_find_derived_vtab): Obtain the gsymbol for the
+	derived type's module. If the gsymbol is present and the top
+	level namespace corresponds to a module, use the gsymbol name
+	space. In the search to see if the vtable exists, try the gsym
+	namespace first.
+	* dump-parse-tree (show_code_node): Modify select case dump to
+	show select type construct.
+	* resolve.c (build_loc_call): New function.
+	(resolve_select_type): Add check for repeated type is cases.
+	Retain selector expression and use it later instead of expr1.
+	Exclude deferred length TYPE IS cases and emit error message.
+	Store the address for the vtable in the 'low' expression and
+	the hash value in the 'high' expression, for each case. Do not
+	call resolve_select.
+	* trans.c(trans_code) : Call gfc_trans_select_type.
+	* trans-stmt.c (gfc_trans_select_type_cases): New function.
+	(gfc_trans_select_type): New function.
+	* trans-stmt.h : Add prototype for gfc_trans_select_type.
+
+2016-10-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/78021
+	* gfc_compare_functions:  Strings with different lengths in
+	argument lists compare unequal.
+
+2016-10-22  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/43366
+	PR fortran/51864
+	PR fortran/57117
+	PR fortran/61337
+	PR fortran/61376
+	* primary.c (gfc_expr_attr): For transformational functions on classes
+	get the attrs from the class argument.
+	* resolve.c (resolve_ordinary_assign): Remove error message due to
+	feature implementation.  Rewrite POINTER_ASSIGNS to ordinary ones when
+	the right-hand side is scalar class object (with some restrictions).
+	* trans-array.c (trans_array_constructor): Create the temporary from
+	class' inner type, i.e., the derived type.
+	(build_class_array_ref): Add support for class array's storage of the
+	class object or the array descriptor in the decl saved descriptor.
+	(gfc_conv_expr_descriptor): When creating temporaries for class objects
+	add the class object's handle into the decl saved descriptor.
+	(structure_alloc_comps): Use the common way to get the _data component.
+	(gfc_is_reallocatable_lhs): Add notion of allocatable class objects.
+	* trans-expr.c (gfc_find_and_cut_at_last_class_ref): Remove the only ref
+	only when the expression's type is BT_CLASS.
+	(gfc_trans_class_init_assign): Correctly handle class arrays.
+	(gfc_trans_class_assign): Joined into gfc_trans_assignment_1.
+	(gfc_conv_procedure_call): Support for class types as arguments.
+	(trans_get_upoly_len): For unlimited polymorphics retrieve the _len
+	component's tree.
+	(trans_class_vptr_len_assignment): Catch all ways to assign the _vptr
+	and _len components of a class object correctly.
+	(pointer_assignment_is_proc_pointer): Identify assignments of
+	procedure pointers.
+	(gfc_trans_pointer_assignment): Enhance support for class object pointer
+	assignments.
+	(gfc_trans_scalar_assign): Removed assert.
+	(trans_class_assignment): Assign to a class object.
+	(gfc_trans_assignment_1): Treat class objects correctly.
+	(gfc_trans_assignment): Propagate flags to trans_assignment_1.
+	* trans-stmt.c (gfc_trans_allocate): Use gfc_trans_assignment now
+	instead of copy_class_to_class.
+	* trans-stmt.h: Function prototype removed.
+	* trans.c (trans_code): Less special casing for class objects.
+	* trans.h: Added flags to gfc_trans_assignment () prototype.
+
+2016-10-21  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/69566
+	* resolve.c (fixup_array_ref): New function.
+	(resolve_select_type): Gather up the rank and array reference,
+	if any, from the selector. Fix up the 'associate name' and the
+	'associate entities' as necessary.
+	* trans-expr.c (gfc_conv_class_to_class): If the symbol backend
+	decl is a FUNCTION_DECL, use the 'fake_result_decl' instead.
+
+2016-10-20  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	* array.c (gfc_match_array_constructor): Remove set, but unused
+	variable.
+
+2016-10-20  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	* class.c (gfc_build_class_symbol): Set the kind of _len to
+	gfc_charlen_int_kind to catch changes of the charlen kind.
+
+2016-10-17  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/77978
+	* match.c (gfc_match_stopcode): Fix error reporting for several
+	deficiencies in matching stop-codes.
+
+2016-10-17  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/61420
+	PR fortran/78013
+	* resolve.c (resolve_variable): Obtain the typespec for a
+	variable expression, when the variable is a function result
+	that is a procedure pointer.
+
+2016-10-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/48298
+	* trans-io.c (transfer_expr): Ignore dtio procedures for inquire
+	with iolength.
+
+2016-10-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/77972
+	* scanner.c (gfc_next_char_literal): If nextc is null do not
+	decrement the pointer and call the diagnostics.
+
+2016-10-14  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	* resolve.c (resolve_symbol): Add unimplemented message for
+	polymorphic types with allocatable/pointer components and coarray=lib.
+
+2016-10-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* trans-intrinsic.c: Include memmodel.h.
+
+2016-10-13  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/72832
+	* trans-expr.c (gfc_copy_class_to_class): Add generation of
+	runtime array bounds check.
+	* trans-intrinsic.c (gfc_conv_intrinsic_size): Add a crutch to
+	get the descriptor of a function returning a class object.
+	* trans-stmt.c (gfc_trans_allocate): Use the array spec on the
+	array to allocate instead of the array spec from source=.
+
+2016-10-12  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	* trans-expr.c (gfc_find_and_cut_at_last_class_ref): Fixed style.
+	(gfc_trans_class_init_assign): Same.
+	(gfc_conv_procedure_call): Same.
+	(gfc_trans_assignment_1): Same.
+	* trans-stmt.c (gfc_trans_allocate): Same.
+
+2016-10-11  Jakub Jelinek  <jakub@redhat.com>
+
+	* iresolve.c (is_trig_resolved, resolve_trig_call): Formatting fixes.
+	* simplify.c (simplify_trig_call, degrees_f, radians_f,
+	gfc_simplify_atrigd, gfc_simplify_cotan): Likewise.
+
+2016-10-11  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/77942
+	* simplify.c (gfc_simplify_cshift): Check for zero.
+
+2016-10-11  Fritz Reese  <fritzoreese@gmail.com>
+
+	* iresolve.c (get_radians, get_degrees): Fix sloppy commit.
+	* simplify.c (degrees_f, radians_f): Ditto.
+
+2016-10-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	* simplify.c (radians_f): Fix mpfr_mod.
+	* ireolce.c (get_degrees): Declare tmp.
+
+2016-10-11  Fritz Reese  <fritzoreese@gmail.com>
+
+	* lang.opt: New flag -fdec-math.
+	* options.c (set_dec_flags): Enable with -fdec.
+	* invoke.texi, gfortran.texi, intrinsic.texi: Update documentation.
+	* intrinsics.c (add_functions, do_simplify): New intrinsics
+	with -fdec-math.
+	* gfortran.h (gfc_isym_id): New isym GFC_ISYM_COTAN.
+	* gfortran.h (gfc_resolve_atan2d, gfc_resolve_cotan,
+	gfc_resolve_trigd, gfc_resolve_atrigd): New prototypes.
+	* iresolve.c (resolve_trig_call, get_degrees, get_radians,
+	is_trig_resolved, gfc_resolve_cotan, gfc_resolve_trigd,
+	gfc_resolve_atrigd, gfc_resolve_atan2d): New functions.
+	* intrinsics.h (gfc_simplify_atan2d, gfc_simplify_atrigd,
+	gfc_simplify_cotan, gfc_simplify_trigd): New prototypes.
+	* simplify.c (simplify_trig_call, degrees_f, radians_f,
+	gfc_simplify_cotan, gfc_simplify_trigd, gfc_simplify_atrigd,
+	gfc_simplify_atan2d): New functions.
+
+2016-10-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/77915
+	* frontend-passes.c (inline_matmul_assign):  Return early if
+	inside a FORALL statement.
+
+2016-10-07  Fritz Reese  <fritzoreese@gmail.com>
+
+	* interface.c (compare_components): Check charlen for BT_CHAR.
+
+2016-10-07  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/77406
+	* interface.c (gfc_compare_interfaces): Fix detection of ambiguous
+	interface involving alternate return.
+	(check_interface1): Improve error message and loci.
+
+2016-10-06  Louis Krupp  <louis.krupp@zoho.com>
+
+	PR fortran/69955
+	* trans-array.c (gfc_conv_expr_descriptor): Don't allocate
+	components if it's not necessary.
+
+2016-10-05  Louis Krupp  <louis.krupp@zoho.com>
+
+	PR fortran/57910
+	* trans-expr.c (gfc_add_interface_mapping): Don't try to
+	dereference call-by-value scalar argument.
+
+2016-10-05  Steven G. Kargl  <kargls@gcc.gnu.org>
+
+	PR fortran/58991
+	PR fortran/58992
+	* resolve.c (resolve_assoc_var):  Fix CHARACTER type-spec for a
+	selector in ASSOCIATE.
+	(resolve_fl_variable): Skip checks for an ASSOCIATE variable.
+
+2016-10-05  Fritz Reese  <fritzoreese@gmail.com>
+
+	* interface.c (gfc_compare_types): Don't compare BT_UNION components
+	until we know they're both UNIONs.
+	* interface.c (gfc_compare_union_types): Guard against empty
+	components.
+
+2016-10-05  Louis Krupp  <louis.krupp@zoho.com>
+
+	PR fortran/67524
+	* resolve.c (resolve_symbol): Don't apply default type rules to
+	mixed-entry master created for function entry points.
+
+2016-09-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/66643
+	* io.c (match_dt_unit): Peek check for missing format.
+
+2016-09-30  Fritz Reese  <fritzoreese@gmail.com>
+
+	PR fortran/77764
+	* interface.c (gfc_compare_union_types): Null-guard map components.
+
+2016-09-30  Fritz Reese  <fritzoreese@gmail.com>
+
+	PR fortran/77782
+	* interface.c (gfc_compare_derived_types): Use gfc_compare_union_types
+	to compare union types.
+
+2016-09-30  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	* trans-array.c (gfc_array_allocate): Use the token from coarray's
+	.token member.
+	* trans-intrinsic.c (conv_expr_ref_to_caf_ref): Only generate
+	caf-reference chains from the first coarray references on.
+	* trans-types.c (gfc_get_derived_type): Switch on mandatory .token
+	member generation for allocatable arrays in coarrays in derived types.
+
+2016-09-29  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* options.c (gfc_post_options): Remove special case for
+	TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard.
+
+2016-09-27  Jakub Jelinek  <jakub@redhat.com>
+
+	* dependency.c (gfc_dep_compare_expr): Remove break after return.
+	* frontend-passes.c (optimize_op): Likewise.
+	* interface.c (gfc_current_interface_head): Likewise.
+	* symbol.c (check_conflict): Likewise.
+	* trans-intrinsic.c (build_fix_expr): Likewise.
+
+	PR fortran/77666
+	* trans-openmp.c (gfc_omp_private_outer_ref): Return true even for
+	references to allocatable arrays.
+
+2016-09-26  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/77420
+	* trans-common.c:  Handle array elements in equivalence when
+	the lower and upper bounds of array spec are NULL.
+
+2016-09-26  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/48298
+	* interface.c (gfc_find_specific_dtio_proc) : Return NULL if
+	the derived type is broken, as indicated by a flavor other than
+	FL_DERIVED.
+
+2016-09-26  Marek Polacek  <polacek@redhat.com>
+
+	PR c/7652
+	* arith.c (eval_intrinsic): Add gcc_fallthrough.
+	* frontend-passes.c (optimize_op): Likewise.
+	(gfc_expr_walker): Likewise.
+	* parse.c (next_fixed): Likewise.
+	* primary.c (match_variable): Likewise.
+	* trans-array.c: Likewise.
+	* trans-expr.c (flatten_array_ctors_without_strlen): Likewise.
+	* trans-io.c (transfer_expr): Likewise.
+
+2016-09-25  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/77429
+	* dependency.c (gfc_check_dependency):  Convert gcc_assert() to
+	a conditional and possible call to  gfc_internal_error().
+
+2016-09-25  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/77694
+	* frontend-passes.c (optimize_binop_array_assignment): Check pointer
+	for NULL.
+
+2016-09-23  Fritz Reese  <fritzoreese@gmail.com>
+
+	* lang.opt, invoke.texi, gfortran.texi: New flag -fdec-static.
+	* options.c (set_dec_flags): Set -fdec-static with -fdec.
+	* gfortran.h (symbol_attribute): New attribute automatic.
+	* gfortran.h (gfc_add_automatic): New prototype.
+	* match.h (gfc_match_automatic, gfc_match_static): New functions.
+	* decl.c (gfc_match_automatic, gfc_match_static): Ditto.
+	* symbol.c (gfc_add_automatic): Ditto.
+	* decl.c (match_attr_spec): Match AUTOMATIC and STATIC decls.
+	* parse.c (decode_specification_statement, decode_statement): Ditto.
+	* resolve.c (apply_default_init_local, resolve_fl_variable_derived,
+	resolve_symbol): Support for automatic attribute.
+	* symbol.c (check_conflict, gfc_copy_attr, gfc_is_var_automatic):
+	Ditto.
+	* trans-decl.c (gfc_finish_var_decl): Ditto.
+
+2016-09-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/48298
+	* gfortran.h (gfc_dt): Add *udtio.
+	* ioparm.def: Add bit IOPARM_dt_f2003 to align with library use of bit
+	25. Add IOPARM_dt_dtio bit to common flags.
+	* resolve.c (resolve_transfer): Set dt->udtio to expression.
+	* io.c (gfc_match_inquire): Adjust error message for internal
+	unit KIND.
+	* libgfortran.h: Adjust defines for GFC_INTERNAL_UNIT4,
+	GFC_INTERNAL_UNIT, and GFC_INVALID_UNIT.
+	* trans-io.c (build_dt): Set common_unit to reflect the KIND of
+	the internal unit. Set mask bit for presence of dt->udtio.
+
+2016-09-22  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	* trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Use the old caf-
+	interface where possible.
+
+2016-09-22  Paul Thomas  <pault@gcc.gnu.org>
+
+	* interface.c (check_dtio_interface1): Introduce errors for
+	alternate returns and incorrect numbers of arguments.
+	(gfc_find_specific_dtio_proc): Return cleanly if the derived
+	type either doesn't exist or has no namespace.
+
+2016-09-21  Louis Krupp  <louis.krupp@zoho.com>
+
+	PR fortran/66107
+	* decl.c (add_init_expr_to_sym): Catch variable character length
+	in parameter array.
+
+2016-09-21  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/77657
+
+	* interface.c (gfc_find_specific_dtio_proc): Borrow trick from
+	resolve_typebound_generic_call to find dtio procedures that
+	over-ride those in the declared type.
+
+2016-09-20  Marek Polacek  <polacek@redhat.com>
+
+	* trans-intrinsic.c (conv_expr_ref_to_caf_ref): Adjust fall through
+	comment.
+
+2016-09-19  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/71952
+	* expr.c (gfc_check_assign): Added flag to control whether datatype
+	conversion is allowed.
+	* gfortran.h: Added caf-token-tree to gfc_component.  Changed
+	prototypes mostly to add whether datatype conversion is allowed.
+	* gfortran.texi: Added documentation for the caf_reference_t and the
+	caf_*_by_ref function.
+	* primary.c (caf_variable_attr): Similar to gfc_variable_attr but
+	focused on the needs of coarrays.
+	(gfc_caf_attr): Same.
+	* resolve.c (resolve_ordinary_assign): Set the conversion allowed
+	flag when not in a coarray.
+	* trans-array.c (gfc_array_init_size): Moved setting of array
+	descriptor's datatype before the alloc, because caf_register needs it.
+	(gfc_array_allocate): Changed notion of whether an array is a coarray.
+	(gfc_array_deallocate): Same.
+	(gfc_alloc_allocatable_for_assignment): Added setting of coarray's
+	array descriptor datatype before the register.  And using deregister/
+	register to mimmick a realloc for coarrays.
+	* trans-decl.c (gfc_build_builtin_function_decls): Corrected signatures
+	of old caf-functions and added signature definitions of the _by_ref
+	ones.
+	(generate_coarray_sym_init): Adapted to new caf_register signature.
+	* trans-expr.c (gfc_conv_scalar_to_descriptor): Make sure a constant
+	is translated to an lvalue expression before use in an array
+	descriptor.
+	(gfc_get_ultimate_alloc_ptr_comps_caf_token): New function.  Get the
+	last allocatable component's coarray token.
+	(gfc_get_tree_for_caf_expr): For top-level object get the coarray
+	token and check for unsupported features.
+	(gfc_get_caf_token_offset): Getting the offset might procude new
+	statements, which now are stored in the pre and post of the current se.
+	(gfc_caf_get_image_index): For this image return a call to
+	caf_this_image.
+	(expr_may_alias_variables): Check that the result is set for testing
+	its properties.
+	(alloc_scalar_allocatable_for_assignment): Added auto allocation of
+	coarray components.
+	(gfc_trans_assignment_1): Rewrite an assign to a coarray object to
+	be a sendget.
+	* trans-intrinsic.c (conv_caf_vector_subscript_elem): Corrected
+	wrong comment.
+	(compute_component_offset): Compute the correct offset a structure
+	member.
+	(conv_expr_ref_to_caf_ref): Convert to a chain of refs into
+	caf_references.
+	(gfc_conv_intrinsic_caf_get): Call caf_get_by_ref instead of caf_get.
+	(conv_caf_send): Call caf_*_by_ref for coarrays that need
+	reallocation.
+	(gfc_conv_intrinsic_function): Adapted to new signuature of the caf
+	drivers.
+	(conv_intrinsic_atomic_op): Add pre and post statements correctly.
+	(conv_intrinsic_atomic_ref): Same.
+	(conv_intrinsic_atomic_cas): Same.
+	(conv_intrinsic_event_query): Same.
+	* trans-stmt.c (gfc_trans_lock_unlock): Same.
+	(gfc_trans_event_post_wait): Same.
+	(gfc_trans_allocate): Support allocation of allocatable coarrays.
+	(gfc_trans_deallocate): And there deallocation.
+	* trans-types.c (gfc_typenode_for_spec): Added flag to control whether
+	a component is part of coarray.  When so, then add space to store a
+	coarray token.
+	(gfc_build_array_type): Same.
+	(gfc_get_array_descriptor_base): Same.
+	(gfc_get_array_type_bounds): Same.
+	(gfc_sym_type): Same.
+	(gfc_get_derived_type): Same.
+	(gfc_get_caf_reference_type): Declare the caf_reference_type.
+	* trans-types.h: Prototype changes only.
+	* trans.c (gfc_allocate_using_lib): Use the updated caf_register
+	signature.
+	(gfc_allocate_allocatable): Same.
+	(gfc_deallocate_with_status): Same.
+	* trans.h: Defined the runtime types for caf_reference_t and the enums.
+
+2016-09-19  Fritz Reese  <fritzoreese@gmail.com>
+
+	PR fortran/77584
+	* decl.c (match_record_decl, gfc_match_decl_type_spec): Fixes to
+	handling of structure/record from declaration-type-spec.
+
+2016_09_17  Louis Krupp  <louis.krupp@zoho.com>
+
+	PR fortran/68078
+	* resolve.c (resolve_allocate_expr): Check that derived type
+	pointer, object or array has been successfully allocated before
+	initializing.
+
+2016-09-16  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/77612
+	* decl.c (char_len_param_value): Check parent namespace for
+	seen_implicit_none.
+
+2016-09-15  Louis Krupp  <louis.krupp@zoho.com>
+
+	PR fortran/69963
+	* parse.c (reject_statement): Clear charlen pointers in implicit
+	character typespecs before those charlen structures are freed.
+
+2016-09-14  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* simplify.c (gfc_simplify_repeat): Fix a misplaced closing ')'.
+
+2016-09-13  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/77420
+	* module.c (load_equiv):  Revert revision 240063.
+
+2016-09-10  Paul Thomas  <pault@gcc.gnu.org>
+	    Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/77532
+	* interface.c (check_dtio_arg_TKR_intent): Return after error.
+	(check_dtio_interface1): Remove asserts, test for NULL and return
+	if found.
+
+2016-09-09  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/77420
+	* module.c (load_equiv): If the current namespace has a list of
+	equivalence statements, initialize duplicate to false and then
+	look for duplicates; otherwise, initialize it to true.
+
+2016-09-09  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/77506
+	* array.c (gfc_match_array_constructor): CHARACTER(len=*) cannot
+	appear in an array constructor.
+
+2016-09-09  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/77507
+	* intrinsic.c (add_functions):  Use correct keyword.
+
+2016-09-08  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/69514
+	* array.c (gfc_match_array_constructor):  If type-spec is present,
+	walk the array constructor performing possible conversions for
+	numeric types.
+
+2016-09-08  Jakub Jelinek  <jakub@redhat.com>
+
+	PR fortran/77500
+	* trans-openmp.c (gfc_trans_omp_atomic): For atomic write or
+	swap, don't try to look through GFC_ISYM_CONVERSION.  In other cases,
+	check that value.function.isym is non-NULL before dereferencing it.
+
+2016-09-04  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/77391
+	* resolve.c (deferred_requirements): New function to check F2008:C402.
+	(resolve_fl_variable,resolve_fl_parameter): Use it.
+
+2016-09-04  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/77460
+	* simplify.c (simplify_transformation_to_scalar):  On error, result
+	may be NULL, simply return.
+
+2016-08-31  Jakub Jelinek  <jakub@redhat.com>
+
+	PR fortran/77352
+	* trans-openmp.c (gfc_trans_omp_parallel_workshare): Always add a
+	BIND_EXPR with BLOCK around what gfc_trans_omp_workshare returns.
+
+	PR fortran/77374
+	* parse.c (parse_omp_oacc_atomic): Copy over cp->ext.omp_atomic
+	to cp->block->ext.omp_atomic.
+	* resolve.c (gfc_resolve_blocks): Assert block with one or two
+	EXEC_ASSIGNs for EXEC_*_ATOMIC.
+	* openmp.c (resolve_omp_atomic): Don't assert one or two
+	EXEC_ASSIGNs, instead return quietly for EXEC_NOPs and otherwise
+	error unexpected statements.
+
+2016-08-31  Paul Thomas  <pault@gcc.gnu.org>
+	    Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/48298
+	* decl.c (access_attr_decl): Include case INTERFACE_DTIO as
+	appropriate.
+	* gfortran.h : Add INTRINSIC_FORMATTED and
+	INTRINSIC_UNFORMATTED to gfc_intrinsic_op. Add INTERFACE_DTIO
+	to interface type. Add new enum 'dtio_codes'. Add bitfield
+	'has_dtio_procs' to symbol_attr. Add prototypes
+	'gfc_check_dtio_interfaces' and 'gfc_find_specific_dtio_proc'.
+	* interface.c (dtio_op): New function.
+	(gfc_match_generic_spec): Match generic DTIO interfaces.
+	(gfc_match_interface): Treat DTIO interfaces in the same way as
+	(gfc_current_interface_head): Add INTERFACE_DTIO appropriately.
+	(check_dtio_arg_TKR_intent): New function.
+	(check_dtio_interface1): New function.
+	(gfc_check_dtio_interfaces): New function.
+	(gfc_find_specific_dtio_proc): New function.
+	* io.c : Add FMT_DT to format_token.
+	(format_lex): Handle DTIO formatting.
+	* match.c (gfc_op2string): Add DTIO operators.
+	* resolve.c (derived_inaccessible): Ignore pointer components
+	to enclosing derived type.
+	(resolve_transfer): Resolve transfers that involve DTIO.
+	procedures. Find the specific subroutine for the transfer and
+	use its existence to over-ride some of the constraints on
+	derived types. If the transfer is recursive, require that the
+	subroutine be so qualified.
+	(dtio_procs_present): New function.
+	(resolve_fl_namelist): Remove inhibition of polymorphic objects
+	in namelists if DTIO read and write subroutines exist. Likewise
+	for derived types.
+	(resolve_types): Invoke 'gfc_verify_dtio_procedures'.
+	* symbol.c : Set 'dtio_procs' using 'minit'.
+	* trans-decl.c (gfc_finish_var_decl): If a derived-type/class
+	object is associated with DTIO procedures, make it TREE_STATIC.
+	* trans-expr.c (gfc_get_vptr_from_expr): If the expression
+	drills down to a PARM_DECL, extract the vptr correctly.
+	(gfc_conv_derived_to_class): Check 'info' in the test for
+	'useflags'. If the se expression exists and is a pointer, use
+	it as the class _data.
+	* trans-io.c : Add IOCALL_X_DERIVED to iocall and the function
+	prototype. Likewise for IOCALL_SET_NML_DTIO_VAL.
+	(set_parameter_tree): Renamed from 'set_parameter_const', now
+	returns void and has new tree argument. Calls modified to match
+	new interface.
+	(transfer_namelist_element): Transfer DTIO procedure pointer
+	and vpointer using the new function IOCALL_SET_NML_DTIO_VAL.
+	(get_dtio_proc): New function.
+	(transfer_expr): Add new argument for the vptr field of class
+	objects. Add the code to call the specific DTIO proc, convert
+	derived types to class and call IOCALL_X_DERIVED.
+	(trans_transfer): Add BT_CLASS to structures for treatment by
+	the scalarizer. Obtain the vptr for the dynamic type, both for
+	scalar and array transfer.
+
+2016-08-30  Fritz Reese  <fritzoreese@gmail.com>
+
+	* gfortran.texi: Fix typo in STRUCTURE documentation.
+
+2016-08-29  Fritz Reese  <fritzoreese@gmail.com>
+
+	Fix, reorganize, and clarify comparisons of anonymous types/components.
+
+	PR fortran/77327
+	* interface.c (is_anonymous_component, is_anonymous_dt): New functions.
+	* interface.c (compare_components, gfc_compare_derived_types): Use new
+	functions.
+
+2016-08-27  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/77380
+	* dependency.c (gfc_check_dependency): Do not assert with
+	-fcoarray=lib.
+
+2016-08-27  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/77372
+	simplify.c (simplify_ieee_selected_real_kind): Check for NULL pointers.
+
+2016-08-25  Steven g. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/77351
+	* frontend-passes.c (remove_trim,combine_array_constructor): Check for
+	NULL pointer.
+
+2016-08-24  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/77358
+	* resolve.c (resolve_fl_procedure): Use the correct gfc_charlen
+	for deferred character length module procedures.
+
+2016-08-23  Fritz Reese  <fritzoreese@gmail.com>
+
+	* decl.c (gfc_match_structure_decl): Make gfc_structure_id static.
+
+2016-08-23  Fritz Reese  <fritzoreese@gmail.com>
+
+	* interface.c (compare_components): Fix typo in name check conditional.
+
+2016-08-22  Steven G. Kargl  <kargl@gcc.gnu.org>
+	    Bud Davis  <jmdavis@link.com>
+
+	PR fortran/60774
+	* parse.c (next_free,next_fixed): Issue error for statement label
+	without a statement.
+
+2016-08-22  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/61318
+	* interface.c (compare_parameter): Use better locus for error message.
+
+2016-08-22  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/77260
+	* gcc/fortran/trans-decl.c (generate_local_decl): Suppress warning
+	for unused variable if symbol is entry point.
+
+2016-08-19  Joseph Myers  <joseph@codesourcery.com>
+
+	PR c/32187
+	* trans-types.h (float128_type_node): Rename to
+	gfc_float128_type_node.
+	(complex_float128_type_node): Rename to
+	gfc_complex_float128_type_node.
+	* iso-c-binding.def, trans-intrinsic.c, trans-types.c: All users
+	changed.
+
+2016-08-19  Jakub Jelinek  <jakub@redhat.com>
+
+	PR fortran/71014
+	* resolve.c (gfc_resolve): For ns->construct_entities don't save, clear
+	and restore omp state around the resolving.
+
+	PR fortran/69281
+	* trans-openmp.c (gfc_trans_omp_parallel, gfc_trans_omp_task,
+	gfc_trans_omp_target): Wrap gfc_trans_omp_code result in an extra
+	BIND_EXPR with its own forced BLOCK.
+
+2016-08-19  Janne Blomqvist  <jb@gcc.gnu.org>
+
+        * intrinsics.texi (RANDOM_NUMBER): Remove reference to
+        init_random_seed in example.
+        (RANDOM_SEED): Remove warning to not set all seed values to 0.
+
+2016-08-18  David Malcolm  <dmalcolm@redhat.com>
+
+	* error.c (gfc_diagnostic_starter): Update for change to
+	diagnostic_show_locus.
+
+2016-08-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR fortran/67496
+	* trans-array.c (trans_array_constructor): Load
+	expr->ts.u.cl->length_from_typespec only if expr->ts.type is
+	BT_CHARACTER.
+
+2016-08-15  Fritz Reese  <fritzoreese@gmail.com>
+
+	* lang.opt, invoke.texi: New flag -finit-derived.
+	* gfortran.h (gfc_build_default_init_expr, gfc_apply_init,
+	gfc_generate_initializer): New prototypes.
+	* expr.c (gfc_build_default_init_expr, gfc_apply_init,
+	component_initializer, gfc_generate_initializer): New functions.
+	* expr.c (gfc_default_initializer): Wrap gfc_generate_initializer.
+	* decl.c (build_struct): Move common code to gfc_apply_init.
+	* resolve.c (can_generate_init): New function.
+	* resolve.c (build_default_init_expr): Wrap gfc_build_default_init_expr.
+	* resolve.c (apply_default_init, resolve_fl_variable_derived): Use
+	gfc_generate_initializer.
+	* trans-decl.c (gfc_generate_function_code): Use
+	gfc_generate_initializer.
+
+2016-08-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	* frontend-passes.c (create_var):  Set ts.deferred for
+	deferred-length character variables.
+	* dump-parse-tree.c (show_typespec):  Also dump
+	is_c_interop, is_iso_c and deferred flags.
+
+2016-08-15  Jakub Jelinek  <jakub@redhat.com>
+
+	PR debug/71906
+	* trans-decl.c (gfc_get_symbol_decl): Call gfc_finish_var_decl
+	for decl's character length before gfc_finish_var_decl on the
+	decl itself.
+
+2016-08-14  Chung-Lin Tang  <cltang@codesourcery.com>
+
+	PR fortran/70598
+	* openmp.c (resolve_omp_clauses): Adjust use_device clause
+	handling to only allow pointers and arrays.
+
+2016-08-12  Marek Polacek  <polacek@redhat.com>
+
+	PR c/7652
+	* decl.c (match_attr_spec): Add FALLTHRU.
+	* primary.c (match_arg_list_function): Likewise.
+	* resolve.c (resolve_operator): Adjust fall through comment.
+	(fixup_charlen): Add FALLTHRU.
+	(resolve_allocate_expr): Adjust fall through comment.
+	* trans-array.c (gfc_conv_ss_startstride): Add FALLTHRU.
+	* trans-intrinsic.c (gfc_conv_intrinsic_len): Adjust fall through
+	comment.
+
+2016-08-11  Janne Blomqvist  <jb@gcc.gnu.org>
+
+	* check.c (gfc_check_random_seed): Use new seed size in check.
+	* intrinsic.texi (RANDOM_NUMBER): Updated documentation.
+	(RANDOM_SEED): Likewise.
+
+2016-08-08  Jakub Jelinek  <jakub@redhat.com>
+
+	PR fortran/72716
+	* openmp.c (gfc_match_omp_declare_simd): Don't stick anything into
+	BLOCK DATA ns, it will be rejected later.
+
+2016-08-08  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/71936
+	* trans-array.c (gfc_array_allocate): When SOURCE= is a function
+	stick with the ref of the object to allocate.
+
+2016-08-08  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/72698
+	* trans-stmt.c (gfc_trans_allocate): Prevent generating code for
+	copy of zero sized string and with it an ICE.
+
+2016-08-08  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/70524
+	* trans-array.c (gfc_trans_dummy_array_bias): Ensure that the
+	location information is correctly set.
+	* trans-decl.c (gfc_trans_deferred_vars): Set the locus of the
+	current construct early.
+
+2016-08-03  Fritz Reese  <fritzoreese@gmail.com>
+
+	* lang.opt: New option -fdec-intrinsic-ints.
+	* options.c (set_dec_flags): Enable with -fdec.
+	* gfortran.texi, invoke.texi, intrinsics.texi: Update documentation.
+	* intrinsic.c (add_function, add_subroutine): New B/I/J/K intrinsic
+	variants.
+
+2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/41922
+	* target-memory.c (expr_to_char): Pass in locus and use it in error
+	messages.
+	(gfc_merge_initializers): Ditto.
+	* target-memory.h: Update prototype for gfc_merge_initializers ().
+	* trans-common.c (get_init_field): Use the correct locus.
+
+2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/68566
+	* check.c (gfc_check_reshape): Check for constant expression.
+
+2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/69867
+	* decl.c (build_struct): Ensure that pointers point to something.
+
+2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/69962
+	* decl.c (gfc_set_constant_character_len):  if expr is not
+	constant issue an error instead of an ICE.
+
+2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/70006
+	* io.c (gfc_resolve_dt): Use correct locus.
+	* resolve.c (resolve_branch): Ditto.
+
+2016-07-30  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/71730
+	* decl.c (char_len_param_value): Check return value of
+	gfc_reduce_init_expr().
+
+2016-07-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	* trans-array.c (gfc_conv_array_ref): Fix allocation of diagnostic
+	message (was too small).
+
+2016-07-28  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/71067
+	* decl.c (match_data_constant): On error, set 'result' to NULL.
+
+2016-07-28  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/71799
+	* resolve.c(gfc_resolve_iterator): Failure of type conversion need
+	not ICE.
+
+2016-07-28  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/71859
+	* check.c(numeric_check): Prevent ICE.  Issue error for invalid
+	subroutine as an actual argument when numeric argument is expected.
+
+2016-07-28  Steven G. Kargl  <kargl@gcc.gnu.org>
+	    Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/71883
+	* frontend-passes.c (gfc_run_passes): Bail out if there are any
+	errors.
+	* error.c (gfc_internal_error): If there are any errors in the
+	buffer, exit with EXIT_FAILURE.
+
+2016-07-28  Renlin Li  <renlin.li@arm.com>
+
+	Revert
+	2016-07-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/71902
+	* dependency.c (gfc_check_dependency): Use dep_ref.  Handle case
+	if identical is true and two array element references differ.
+	(gfc_dep_resovler):  Move most of the code to dep_ref.
+	(dep_ref):  New function.
+	* frontend-passes.c (realloc_string_callback):  Name temporary
+	variable "realloc_string".
+
+2016-07-26  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/71862
+	* class.c: Remove assert.  Iterate over component only if non-null.
+
+2016-07-22  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/71935
+	* check.c (is_c_interoperable): Simplify right expression.
+
+2016-07-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/71795
+	* frontend-passes.c (combine_array_constructor):  Don't
+	do anything if the expression is inside an array iterator.
+
+2016-07-22  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	* expr.c (gfc_find_stat_co): Fixed whitespaces.
+	* gfortran.texi: Fixed typos and reversed meaning of caf_get()'s
+	src and dst description.
+	* trans-decl.c (gfc_build_builtin_function_decls): Fixed style
+	and corrected fnspec for caf functions.
+	* trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Fixed style.
+	(conv_caf_send): Dito.
+
+2016-07-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/71902
+	* dependency.c (gfc_check_dependency): Use dep_ref.  Handle case
+	if identical is true and two array element references differ.
+	(gfc_dep_resovler):  Move most of the code to dep_ref.
+	(dep_ref):  New function.
+	* frontend-passes.c (realloc_string_callback):  Name temporary
+	variable "realloc_string".
+
+2016-07-17  Fritz Reese  <fritzoreese@gmail.com>
+
+	PR fortran/71523
+	* trans-decl.c (gfc_finish_var_decl): Replace automatic initializer with
+	a static one.
+
+2016-07-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+	    Marco Restelli  <mrestelli@gmail.com>
+
+	PR fortran/62125
+	* symbol.c (select_type_insert_tmp): Recursively call self to take care
+	of nested select type.
+
+2016-07-15  Cesar Philippidis  <cesar@codesourcery.com>
+
+	* openmp.c (gfc_match_omp_clauses): Scan for clause vector_length
+	before vector.
+
+2016-07-15  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/71807
+	* trans-expr.c (gfc_trans_subcomponent_assign): Special casing
+	when allocatable component is set to null() in initializer.
+
+2016-07-14  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/29819
+	* parse.c (parse_contained): Use proper locus.
+
+2016-07-14  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/70842
+	* simplify.c (gfc_simplify_len): Only for unlimited polymorphic
+	types replace the expression's _data ref with a _len ref.
+
+2016-07-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/71783
+	* frontend-passes.c (create_var):  Always allocate a charlen
+	for character variables.
+
+2016-07-08  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/68426
+	* simplify (gfc_simplify_spread): Adjust locus.
+
+2016-07-08  Cesar Philippidis  <cesar@codesourcery.com>
+
+	* 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.
+
+2016-07-08  Martin Liska  <mliska@suse.cz>
+
+	* invoke.texi (Wundefined-do-loop): Enhance documentation.
+
+2016-07-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/71764
+	* trans-expr.c (gfc_trans_structure_assign): Remove assert.
+
+2016-07-07  Martin Liska  <mliska@suse.cz>
+
+	* lang.opt (Wundefined-do-loop): New option.
+        * resolve.c (gfc_resolve_iterator): Warn for Wundefined-do-loop.
+	(gfc_trans_simple_do): Generate a c-style loop.
+	(gfc_trans_do): Fix GNU coding style.
+	* invoke.texi: Mention the new warning.
+
+2016-07-07  Martin Liska  <mliska@suse.cz>
+
+	* trans-stmt.c (gfc_trans_do): Add expect builtin for DO
+	loops with step bigger than +-1.
+
+2016-07-05  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
+
+	* array.c (gfc_match_array_ref): Add parsing support for
+	STAT= attribute in CAF reference.
+	* expr.c (gfc_find_stat_co): New function that returns
+	the STAT= assignment.
+	* gfortran.h (gfc_array_ref): New member.
+	* trans-decl.c (gfc_build_builtin_function_decls):
+	new attribute for caf_get and caf_send functions.
+	* trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Passing
+	the stat attribute to external function.
+	(gfc_conv_intrinsic_caf_send): Ditto.
+
+2016-07-05  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/71623
+	* trans-stmt.c (gfc_trans_allocate): Add code of pre block of typespec
+	in allocate to parent block.
+
+2016-07-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/66575
+	* decl.c (match_procedure_interface): Exit loop if procedure
+	interface refers to itself.
+
+2016-07-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+	    Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/35849
+	* simplify.c (gfc_simplify_ishftc): Check that absolute value of
+	SHIFT is less than or equal to SIZE.
+
+2016-07-01  Jakub Jelinek  <jakub@redhat.com>
+
+	PR fortran/71687
+	* f95-lang.c (struct binding_level): Add reversed field.
+	(clear_binding_level): Adjust initializer.
+	(getdecls): If reversed is clear, set it and nreverse the names
+	chain before returning it.
+	(poplevel): Use getdecls.
+	* trans-decl.c (gfc_generate_function_code, gfc_process_block_locals):
+	Use nreverse to pushdecl decls in the declaration order.
+
+	PR fortran/71717
+	* trans-openmp.c (gfc_omp_privatize_by_reference): Return false
+	for GFC_DECL_ASSOCIATE_VAR_P with POINTER_TYPE.
+
+2016-06-30  Jakub Jelinek  <jakub@redhat.com>
+
+	PR fortran/71704
+	* parse.c (matchs, matcho): Move right before decode_omp_directive.
+	If spec_only, only gfc_match the keyword and if successful, goto
+	do_spec_only.
+	(matchds, matchdo): Define.
+	(decode_omp_directive): Add spec_only local var and set it.
+	Use matchds or matchdo macros instead of matchs or matcho
+	for declare target, declare simd, declare reduction and threadprivate
+	directives.  Return ST_GET_FCN_CHARACTERISTICS if a non-declarative
+	directive could be matched.
+	(next_statement): For ST_GET_FCN_CHARACTERISTICS restore
+	gfc_current_locus from old_locus even if there is no label.
+
+	PR fortran/71705
+	* trans-openmp.c (gfc_trans_omp_clauses): Set TREE_ADDRESSABLE on
+	decls in to/from clauses.
+
+2016-06-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/71686
+	* scanner.c (gfc_next_char_literal): Only decrement nextc if it
+	is not NULL.
+
+2016-06-29  Cesar Philippidis  <cesar@codesourcery.com>
+
+	* 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.
+
+2016-06-29  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/71002
+	* f95-lang.c (LANG_HOOKS_GET_ALIAS_SET): Remove (un-)define.
+	(gfc_get_alias_set): Remove.
+
+2016-06-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/71649
+	* module.c (create_intrinsic_function): Check for NULL values and
+	return after giving error.
+
+2016-06-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* trans-types.c (gfc_build_complex_type): Move setting complex
+	MODE to layout_type, instead of setting it ahead of time by the
+	caller.
+
+2016-06-21  Tobias Burnus  <burnus@net-b.de>
+
+	PR fortran/71068
+	* resolve.c (resolve_function): Don't resolve caf_get/caf_send.
+	(check_data_variable): Strip-off caf_get before checking.
+
+2016-06-20  Tobias Burnus  <burnus@net-b.de>
+
+	PR fortran/71194
+	* trans-expr.c (gfc_trans_pointer_assignment): Correctly handle
+	RHS pointer functions.
+
+2016-06-19  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+	* class.c (gfc_add_class_array_ref): Call gfc_add_data_component()
+	instead of gfc_add_component_ref().
+	(gfc_get_len_component): Call gfc_add_len_component() instead of
+	gfc_add_component_ref().
+	* trans-intrinsic.c (gfc_conv_intrinsic_loc): Call
+	gfc_add_data_component() instead of gfc_add_component_ref().
+	* trans.c (gfc_add_finalizer_call): Call
+	gfc_add_final_component() and gfc_add_size_component() instead
+	of gfc_add_component_ref.
+
+2016-06-18  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+	* trans-types.c (gfc_typenode_for_spec): Commentary typo fix.
+
+2016-06-17  Cesar Philippidis  <cesar@codesourcery.com>
+
+	* openmp.c (match_acc): New generic function to parse OpenACC
+	directives.
+	(gfc_match_oacc_parallel_loop): Use it.
+	(gfc_match_oacc_parallel): Likewise.
+	(gfc_match_oacc_kernels_loop): Likewise.
+	(gfc_match_oacc_kernels): Likewise.
+	(gfc_match_oacc_data): Likewise.
+	(gfc_match_oacc_host_data): Likewise.
+	(gfc_match_oacc_loop): Likewise.
+	(gfc_match_oacc_enter_data): Likewise.
+	(gfc_match_oacc_exit_data): Likewise.
+
+2016-06-16  Martin Liska  <mliska@suse.cz>
+
+	* trans-stmt.c (gfc_trans_simple_do): Predict the edge.
+
+2016-06-16  Martin Liska  <mliska@suse.cz>
+
+	* trans-array.c (gfc_array_allocate): Do not generate expect
+	stmt.
+	* trans.c (gfc_allocate_using_malloc): Properly set FAIL_ALLOC
+	predictor for malloc return value.
+	(gfc_allocate_allocatable): Use REALLOC predictor instead of
+	FAIL_ALLOC.
+	(gfc_deallocate_with_status): Likewise.
+
+2016-06-13  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/70673
+	* frontend-passes.c (realloc_string_callback): Add a call to
+	gfc_dep_compare_expr.
+
+2016-06-11  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+	PR fortran/60751
+	* io.c (gfc_resolve_dt): Replace GFC_STD_GNU with GFC_STD_LEGACY.
+
+2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
+
+	PR c/71381
+	* openmp.c (gfc_match_oacc_cache): Add comment.
+
+2016-06-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/71404
+	* io.c (match_io): For READ, commit in pending symbols in the
+	current statement before trying to match an expression so that
+	if the match fails and we undo symbols we dont toss good symbols.
+
+2016-06-05  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/69659
+	* trans-array.c (gfc_trans_dummy_array_bias): For class arrays use
+	the address of the _data component to reference the arrays data
+	component.
+
+2016-06-03  Chung-Lin Tang  <cltang@codesourcery.com>
+
+	* 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.
+
+2016-06-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/52393
+	* io.c (match_io): For READ, try to match a default character
+	expression. If found, set the dt format expression to this,
+	otherwise go back and try control list.
+
+2016-06-01  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/71156
+	* decl.c (copy_prefix): Add checks that the module procedure
+	declaration prefixes are compliant with the interface. Invert
+	order of existing elemental and pure checks.
+	* resolve.c (resolve_fl_procedure): Invert order of elemental
+	and pure errors.
+
+2016-06-01  Jakub Jelinek  <jakub@redhat.com>
+
+	* 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.
+
+2016-05-26  Jakub Jelinek  <jakub@redhat.com>
+
+	* openmp.c (resolve_omp_clauses): Warn if chunk_size is known not to
+	be positive.
+
+2016-05-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/66461
+	* scanner.c (gfc_next_char_literal): Clear end_flag when adjusting
+	current locus back to old_locus.
+
+2016-05-20  Jakub Jelinek  <jakub@redhat.com>
+
+	PR fortran/71204
+	* frontend-passes.c (realloc_string_callback): Clear inserted_block
+	and changed_statement before calling create_var.
+
+2016-05-15  Harald Anlauf  <anlauf@gmx.de>
+
+	PR fortran/69603
+	* interface.c (compare_parameter): Check for non-NULL pointer.
+
+2016-05-14  Fritz Reese  <fritzoreese@gmail.com>
+
+	* gfortran.texi: Update example of DEC UNION extension.
+
+2016-05-14  Fritz Reese  <fritzoreese@gmail.com>
+
+	PR fortran/71047
+	* expr.c (gfc_default_initializer): Avoid extra component refs in
+	constructors for derived types and classes.
+
+2016-05-11  Jakub Jelinek  <jakub@redhat.com>
+
+	PR fortran/70855
+	* frontend-passes.c (inline_matmul_assign): Disable in !$omp workshare.
+
+2016-05-09  Richard Biener  <rguenther@suse.de>
+
+	PR fortran/70937
+	* trans-decl.c: Include gimplify.h for unshare_expr.
+	(gfc_trans_vla_one_sizepos): Unshare exprs before inserting
+	them into the IL.
+
+2016-05-07  Fritz Reese  <fritzoreese@gmail.com>
+
+	PR fortran/56226
+	* module.c (dt_upper_string): Rename to gfc_dt_upper_string
+	(dt_lower_string): Likewise.
+	* gfortran.h: Make new gfc_dt_upper/lower_string global.
+	* class.c: Use gfc_dt_upper_string.
+	* decl.c: Likewise.
+	* symbol.c: Likewise.
+	* resolve.c (resolve_component): New function.
+	(resolve_fl_derived0): Move component loop code to resolve_component.
+	* parse.c (check_component): New function.
+	(parse_derived): Move loop code to check_component.
+	* lang.opt, invoke.texi, options.c : New option -fdec-structure.
+	* libgfortran.h (bt): New basic type BT_UNION.
+	* gfortran.h (gfc_option): New option -fdec-structure.
+	(gfc_get_union_type, gfc_compare_union_types): New prototypes.
+	(gfc_bt_struct, gfc_fl_struct, case_bt_struct, case_fl_struct): New
+	macros.
+	(gfc_find_component): Change prototype.
+	* match.h (gfc_match_member_sep, gfc_match_map, gfc_match_union,
+	gfc_match_structure_decl): New prototypes.
+	* parse.h (gfc_comp_struct): New macro.
+	* symbol.c (gfc_find_component): Search for components in nested unions
+	* class.c (insert_component_ref, gfc_add_component_ref, add_proc_comp,
+	copy_vtab_proc_comps): Update calls to gfc_find_component.
+	* primary.c (gfc_convert_to_structure_constructor): Likewise.
+	* symbol.c (gfc_add_component): Likewise.
+	* resolve.c (resolve_typebound_function, resolve_typebound_subroutine,
+	resolve_typebound_procedure, resolve_component, resolve_fl_derived):
+	Likewise.
+	* expr.c (get_union_init, component_init): New functions.
+	* decl.c (match_clist_expr, match_record_decl, get_struct_decl,
+	gfc_match_map, gfc_match_union, gfc_match_structure_decl): Likewise.
+	* interface.c (compare_components, gfc_compare_union_types): Likewise.
+	* match.c (gfc_match_member_sep): Likewise.
+	* parse.c (check_component, parse_union, parse_struct_map): Likewise.
+	* resolve.c (resolve_fl_struct): Likewise.
+	* symbol.c (find_union_component): Likewise.
+	* trans-types.c (gfc_get_union_type): Likewise.
+	* parse.c (parse_derived): Use new functions.
+	* interface.c (gfc_compare_derived_types, gfc_compare_types): Likewise.
+	* expr.c (gfc_default_initializer): Likewise.
+	* gfortran.texi: Support for DEC structures, unions, and maps.
+	* gfortran.h (gfc_statement, sym_flavor): Likewise.
+	* check.c (gfc_check_kill_sub): Likewise.
+	* expr.c (gfc_copy_expr, simplify_const_ref,
+	gfc_has_default_initializer): Likewise.
+	* decl.c (build_sym, match_data_constant, add_init_expr_to_sym,
+	match_pointer_init, build_struct, variable_decl,
+	gfc_match_decl_type_spec, gfc_mach_data-decl, gfc_match_entry,
+	gfc_match_end, gfc_match_derived_decl): Likewise.
+	* interface.c (check_interface0, check_interface1,
+	gfc_search_interface): Likewise.
+	* misc.c (gfc_basic_typename, gfc_typename): Likewise.
+	* module.c (add_true_name, build_tnt, bt_types, mio_typespec,
+	fix_mio_expr, load_needed, mio_symbol, read_module, write_symbol,
+	gfc_get_module_backend_decl): Likewise.
+	* parse.h (gfc_compile_state): Likewise.
+	* parse.c (decode_specification_statement, decode_statement,
+	gfc_ascii_statement, verify_st_order, parse_spec): Likewise.
+	* primary.c (gfc_match_varspec, gfc_match_structure_constructor,
+	gfc_match_rvalue, match_variable): Likewise.
+	* resolve.c (find_arglists, resolve_structure_cons,
+	is_illegal_recursion, resolve_generic_f, get_declared_from_expr,
+	resolve_typebound_subroutine, resolve_allocate_expr,
+	nonscalar_typebound_assign, generate_component_assignments,
+	resolve_fl_variable_derived, check_defined_assignments,
+	resolve_component, resolve_symbol, resolve_equivalence_derived):
+	Likewise.
+	* symbol.c (flavors, check_conflict, gfc_add_flavor, gfc_use_derived,
+	gfc_restore_last_undo_checkpoint, gfc_type_compatible,
+	gfc_find_dt_in_generic): Likewise.
+	* trans-decl.c (gfc_get_module_backend_decl, create_function_arglist,
+	gfc_create_module_variable, check_constant_initializer): Likewise.
+	* trans-expr.c (gfc_conv_component_ref, gfc_conv_initializer,
+	gfc_trans_alloc_subarray_assign, gfc_trans_subcomponent_assign,
+	gfc_conv_structure, gfc_trans_scalar_assign, copyable_array_p):
+	Likewise.
+	* trans-io.c (transfer_namelist_element, transfer_expr,
+	gfc_trans_transfer): Likewise.
+	* trans-stmt.c (gfc_trans_deallocate): Likewise.
+	* trans-types.c (gfc_typenode_for_spec, gfc_copy_dt_decls_ifequal,
+	gfc_get_derived_type): Likewise.
+
+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.
+
+2016-05-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* trans-types.c (gfc_build_complex_type):
+
+2016-05-02  Richard Biener  <rguenther@suse.de>
+
+	* trans-array.c (gfc_trans_create_temp_array): Properly
+	create a DECL_EXPR for the anonymous VLA array type.
+
+2016-04-29  Cesar Philippidis  <cesar@codesourcery.com>
+
+	PR middle-end/70626
+	* trans-openmp.c (gfc_trans_oacc_combined_directive): Duplicate
+	the reduction clause in both parallel and loop directives.
+
+2016-04-18  Michael Matz  <matz@suse.de>
+
+	* trans-io.c (gfc_build_io_library_fndecls): Use SET_TYPE_ALIGN.
+	* trans-common.c (build_common_decl): Use SET_DECL_ALIGN.
+	* trans-types.c (gfc_add_field_to_struct): Use SET_DECL_ALIGN.
+
+2016-04-13  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+	PR fortran/67039
+	* intrinsic.texi: Correct the documentation of pseudorandom
+	number intrinsics.
+
+2016-04-13  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+	PR fortran/58000
+	* gfortran.texi: Document OPEN( ... NAME=) as not implemented
+	in GNU Fortran
+
+2016-04-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/68566
+	* array.c (match_array_element_spec): Add check for non-integer.
+	* simplify.c (gfc_simplify_reshape): If source shape is NULL return.
+
+2016-04-06  Patrick Palka  <ppalka@gcc.gnu.org>
+
+	PR c/70436
+	* openmp.c (gfc_find_omp_udr): Add explicit braces to resolve a
+	future -Wparentheses warning.
+
+2016-04-04  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/67538
+	* resolve.c (resolve_allocate_expr): Emit error message when no
+	array spec and no array valued source= expression is given in an
+	F2008 allocate() for an array to allocate.
+
+2016-04-04  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/65795
+	* trans-array.c (gfc_array_allocate): When the array is a coarray,
+	do not nullyfing its allocatable components in array_allocate, because
+	the nullify missed the array ref and nullifies the wrong component.
+	Cosmetics.
+
+2016-03-29  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/70397
+	* trans-expr.c (gfc_class_len_or_zero_get): Add function to return a
+	constant zero tree, when the class to get the _len component from is
+	not unlimited polymorphic.
+	(gfc_copy_class_to_class): Use the new function.
+	* trans.h: Added interface of new function gfc_class_len_or_zero_get.
+
+2016-03-28  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
+
+	* trans-decl.c (gfc_build_builtin_function_decls):
+	caf_stop_numeric and caf_stop_str definition.
+	* trans-stmt.c (gfc_trans_stop): invoke external functions
+	for stop and stop_str when coarrays are used.
+	* trans.h: extern for new functions.
+
+2016-03-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/69043
+	* scanner.c (load_file): Update to use S_ISREG macro.
+
+2016-03-17  Thomas Schwinge  <thomas@codesourcery.com>
+
+	* gfortran.h (enum gfc_omp_map_op): Rename OMP_MAP_FORCE_DEALLOC
+	to OMP_MAP_DELETE.  Adjust all users.
+
+2016-03-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+	    Jim MacArthur  <jim.macarthur@codethink.co.uk>
+
+	PR fortran/69043
+	* scanner.c (load_file): Check that included file is regular.
+
+2016-03-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+	    Harold Anlauf  <anlauf@gmx.de>
+
+	PR fortran/69520
+	* invoke.texi: Explain use of the 'no-' construct within the
+	-fcheck= option.
+	* options.c (gfc_handle_runtime_check_option): Enable use of
+	'no-' prefix for the various options with -fcheck= to allow
+	negating previously enabled check options.
+
+2016-03-12  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/70031
+	* decl.c (gfc_match_prefix): Treat the 'module' prefix in the
+	same way as the others, rather than fixing it to come last.
+	(gfc_match_function_decl, gfc_match_subroutine): After errors
+	in 'copy_prefix', emit them immediately in the case of module
+	procedures to prevent a later ICE.
+
+	PR fortran/69524
+	* decl.c (gfc_match_submod_proc): Permit 'module procedure'
+	declarations within the contains section of modules as well as
+	submodules.
+	* resolve.c (resolve_fl_procedure): Likewise.
+	*trans-decl.c (build_function_decl): Change the gcc_assert to
+	allow all forms of module procedure declarations within module
+	contains sections.
+
+2016-02-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/68147
+	PR fortran/47674
+	* frontend-passes.c (realloc_string_callback): Don't set
+	walk_subtrees.
+
+2016-02-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	* dump-parse-tree.c (show_code_node):  Print association
+	list of a block if present.  Handle EXEC_END_BLOCK.
+
+2016-02-28  Harald Anlauf  <anlauf@gmx.de>
+	    Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/56007
+	* match.c (gfc_match_iterator): Add diagnostic for array variable
+	as do loop index.
+
+2016-02-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+	    Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/69910
+	* io.c (gfc_match_open): Check that open status is an expression
+	constant before comparing string to 'scratch' with NEWUNIT.
+
+2016-02-27  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
+
+	* trans.c (gfc_allocate_allocatable): size conversion
+	from byte to number of elements for event variables.
+	* trans-types.c (gfc_get_derived_type): event variables
+	represented as a pointer (like lock variable).
+
+2016-02-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/61156
+	* scanner.c (add_path_to_list): If include path is not a directory,
+	issue a fatal error.
+
+2016-02-23  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/67451
+	* trans-array.c (gfc_array_allocate): Take the attributes from the
+	expression to allocate and not from the source=-expression.
+
+2016-02-20  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/69423
+	* trans-decl.c (create_function_arglist): Deferred character
+	length functions, with and without declared results, address
+	the passed reference type as '.result' and the local string
+	length as '..result'.
+	(gfc_null_and_pass_deferred_len): Helper function to null and
+	return deferred string lengths, as needed.
+	(gfc_trans_deferred_vars): Call it, thereby reducing repeated
+	code, add call for deferred arrays and reroute pointer function
+	results. Avoid using 'tmp' for anything other that a temporary
+	tree by introducing 'type_of_array' for the arrayspec type.
+
+2015-02-16  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/69742
+	* frontend-passes.c (cfe-expr_0):  Don't register functions
+	from within an ASSOCIATE statement.
+
+2016-02-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/60526
+	* decl.c (build_sym):  If the name has already been defined as a
+	type, it has a symtree with an upper case letter at the beginning.
+	If such a symtree exists, issue an error and exit.  Don't do
+	this if there is no corresponding upper case letter.
+
+2016-02-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/60526
+	PR bootstrap/69816
+	* decl.c (build_sym):  Reverted previous patch.
+
+2016-02-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/60526
+	* decl.c (build_sym):  If the name has already been defined as a
+	type, issue error and return false.
+
+2016-02-12  David Malcolm  <dmalcolm@redhat.com>
+
+	PR other/69554
+	* error.c (gfc_diagnostic_start_span): New function.
+	(gfc_diagnostics_init): Initialize global_dc's start_span.
+
+2016-02-11  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/69296
+	* gfortran.h: Added flag to gfc_association_list indicating that
+	the rank of an associate variable has been guessed only.
+	* parse.c (parse_associate): Set the guess flag mentioned above
+	when guessing the rank of an expression.
+	* resolve.c (resolve_assoc_var): When the rank has been guessed,
+	make sure, that the guess was correct else overwrite with the actual
+	rank.
+	* trans-stmt.c (trans_associate_var): For subref_array_pointers in
+	class objects, take the span from the _data component.
+
+2016-02-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/50555
+	* primary.c (match_actual_arg): If symbol has attribute flavor of
+	namelist, generate an error. (gfc_match_rvalue): Likewise return
+	MATCH_ERROR.
+	* resolve.c (resolve_symbol): Scan arument list of procedures and
+	generate an error if a namelist is found.
+
+2016-02-05  Mikael Morin  <mikael@gcc.gnu.org>
+
+	PR fortran/66089
+	* trans-expr.c (expr_is_variable, gfc_expr_is_variable): Rename
+	the former to the latter and make it non-static.  Update callers.
+	* gfortran.h (gfc_expr_is_variable): New declaration.
+	(struct gfc_ss_info): Add field needs_temporary.
+	* trans-array.c (gfc_scalar_elemental_arg_saved_as_argument):
+	Tighten the condition on aggregate expressions with a check
+	that the expression is a variable and doesn't need a temporary.
+	(gfc_conv_resolve_dependency): Add intermediary reference variable.
+	Set the needs_temporary field.
+
+2016-02-03  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/67451
+	PR fortran/69418
+	* trans-expr.c (gfc_copy_class_to_class): For coarrays just the
+	pointer is passed.  Take it as is without trying to deref the
+	_data component.
+	* trans-stmt.c (gfc_trans_allocate): Take care of coarrays as
+	argument to source=-expression.
+
+2016-02-02  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* lang.opt (fopenacc-dim=): New option.
+
+2016-01-31  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/67564
+	* trans-expr.c (gfc_conv_procedure_call): For the vtable copy
+	subroutines, add a string length argument, when the actual
+	argument is an unlimited polymorphic class object.
+
+2016-01-30  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/69566
+	* trans-expr.c (gfc_conv_procedure_call): Correct expression
+	for 'ulim_copy', which was missing a test for 'comp'.
+
+2016-01-28  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/62536
+	* decl.c (gfc_match_end): Only unnest and remove BLOCK namespaces
+	when the END encountered does not match a BLOCK's end.
+
+2016-01-27  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/69484
+	* invoke.texi: Fix documentation of -Wall with respect to -Wtabs.
+
+2016-01-27  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/69422
+	* trans-expr.c (is_scalar_reallocatable_lhs): Remove the check
+	for allocatable components, whilst checking if the symbol is a
+	derived or class entity..
+
+2016-01-26  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/69385
+	* trans-expr.c (gfc_trans_assignment_1): Exclude initialization
+	assignments from check on assignment of scalars to unassigned
+	arrays and correct wrong code within the corresponding block.
+
+2016-01-26  David Malcolm  <dmalcolm@redhat.com>
+
+	PR other/69006
+	* error.c (gfc_diagnostic_starter): Delete use of pp_newline.
+
+2016-01-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/69397
+	PR fortran/68442
+	* interface.c (gfc_arglist_matches_symbol): Replace assert with
+	a return false if not a procedure.
+	* resolve.c (resolve_generic_f): Test if we are resolving an
+	initialization expression and adjust error message accordingly.
+
+2016-01-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/66094
+	* frontend-passes.c (matmul_lhs_realloc):  Add
+	forgotten break statement.
+
+2016-01-24  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+	PR fortran/68283
+	* primary.c (gfc_variable_attr): revert revision r221955,
+	call gfc_internal_error only if there is no error.
+
+2016-01-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/66094
+	* frontend-passes.c (enum matrix_case):  Add case A2B2T for
+	MATMUL(A,TRANSPoSE(B)) where A and B are rank 2.
+	(inline_limit_check):  Also add A2B2T.
+	(matmul_lhs_realloc):  Handle A2B2T.
+	(check_conjg_variable):  Rename to
+	(check_conjg_transpose_variable):  and also count TRANSPOSE.
+	(inline_matmul_assign):  Handle A2B2T.
+
+2016-01-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/65996
+	* error.c (gfc_error): Save the state of abort_on_error and set
+	it to false for buffered errors to allow normal processing.
+	Restore the state before leaving.
+
+2016-01-19  Martin Jambor  <mjambor@suse.cz>
+
+	* types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
+	(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
+	(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
+
+2016-01-15  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/64324
+	* resolve.c (check_uop_procedure): Prevent deferred length
+	characters from being trapped by assumed length error.
+
+	PR fortran/49630
+	PR fortran/54070
+	PR fortran/60593
+	PR fortran/60795
+	PR fortran/61147
+	PR fortran/64324
+	* trans-array.c (gfc_conv_scalarized_array_ref): Pass decl for
+	function as well as variable expressions.
+	(gfc_array_init_size): Add 'expr' as an argument. Use this to
+	correctly set the descriptor dtype for deferred characters.
+	(gfc_array_allocate): Add 'expr' to the call to
+	'gfc_array_init_size'.
+	* trans.c (gfc_build_array_ref): Expand logic for setting span
+	to include indirect references to character lengths.
+	* trans-decl.c (gfc_get_symbol_decl): Ensure that deferred
+	result char lengths that are PARM_DECLs are indirectly
+	referenced both for directly passed and by reference.
+	(create_function_arglist): If the length type is a pointer type
+	then store the length as the 'passed_length' and make the char
+	length an indirect reference to it.
+	(gfc_trans_deferred_vars): If a character length has escaped
+	being set as an indirect reference, return it via the 'passed
+	length'.
+	* trans-expr.c (gfc_conv_procedure_call): The length of
+	deferred character length results is set TREE_STATIC and set to
+	zero.
+	(gfc_trans_assignment_1): Do not fix the rse string_length if
+	it is a variable, a parameter or an indirect reference. Add the
+	code to trap assignment of scalars to unallocated arrays.
+	* trans-stmt.c (gfc_trans_allocate): Remove 'def_str_len' and
+	all references to it. Instead, replicate the code to obtain a
+	explicitly defined string length and provide a value before
+	array allocation so that the dtype is correctly set.
+	trans-types.c (gfc_get_character_type): If the character length
+	is a pointer, use the indirect reference.
+
+2016-01-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/69154
+	* frontend-passes.c (in_where):  New variable.
+	(inline_matmul_assign):  Don't try this if we are within
+	a WHERE statement.
+	(gfc_code_walker):  Keep track of in_where.
+
+2016-01-10  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/67779
+	* trans_array.c (gfc_conv_scalarized_array_ref): Add missing
+	se->use_offset from condition for calculation of 'base'.
+
+2016-01-08  Jakub Jelinek  <jakub@redhat.com>
+
+	PR fortran/69128
+	* trans.h (OMPWS_SCALARIZER_BODY): Define.
+	(OMPWS_NOWAIT): Renumber.
+	* trans-stmt.c (gfc_trans_where_3): Only set OMPWS_SCALARIZER_WS
+	if OMPWS_SCALARIZER_BODY is not set already, and set also
+	OMPWS_SCALARIZER_BODY until the final loop creation.
+	* trans-expr.c (gfc_trans_assignment_1): Likewise.
+	* trans-openmp.c (gfc_trans_omp_workshare): Also clear
+	OMPWS_SCALARIZER_BODY.
+	* trans-array.c (gfc_trans_scalarized_loop_end): Don't create
+	OMP_FOR if OMPWS_SCALARIZER_BODY is set.
+
+2016-01-04  Jakub Jelinek  <jakub@redhat.com>
+
+	Update copyright years.
+
+	* gfortranspec.c (lang_specific_driver): Update copyright notice
+	dates.
+	* gfc-internals.texi: Bump @copying's copyright year.
+	* gfortran.texi: Ditto.
+	* intrinsic.texi: Ditto.
+	* invoke.texi: Ditto.
+
+2016-01-01  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/68864
+	* trans-array.c (evaluate_bound): If deferred, test that 'desc'
+	is an array descriptor before using gfc_conv_descriptor_xxx.
+
+Copyright (C) 2016 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.
diff --git a/gcc/fortran/gfc-internals.texi b/gcc/fortran/gfc-internals.texi
index 0829bc382395..8ef0e2f1cdfe 100644
--- a/gcc/fortran/gfc-internals.texi
+++ b/gcc/fortran/gfc-internals.texi
@@ -1,7 +1,7 @@
 \input texinfo  @c -*-texinfo-*-
 @c %**start of header
 @setfilename gfc-internals.info
-@set copyrights-gfortran 2007-2016
+@set copyrights-gfortran 2007-2017
 
 @include gcc-common.texi
 
diff --git a/gcc/fortran/gfortran.texi b/gcc/fortran/gfortran.texi
index 5e2a750f98d0..9a263171e475 100644
--- a/gcc/fortran/gfortran.texi
+++ b/gcc/fortran/gfortran.texi
@@ -1,7 +1,7 @@
 \input texinfo  @c -*-texinfo-*-
 @c %**start of header
 @setfilename gfortran.info
-@set copyrights-gfortran 1999-2016
+@set copyrights-gfortran 1999-2017
 
 @include gcc-common.texi
 
diff --git a/gcc/fortran/gfortranspec.c b/gcc/fortran/gfortranspec.c
index 8a0e19a5c314..e714a3a0941f 100644
--- a/gcc/fortran/gfortranspec.c
+++ b/gcc/fortran/gfortranspec.c
@@ -276,7 +276,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
 
 	case OPT__version:
 	  printf ("GNU Fortran %s%s\n", pkgversion_string, version_string);
-	  printf ("Copyright %s 2016 Free Software Foundation, Inc.\n",
+	  printf ("Copyright %s 2017 Free Software Foundation, Inc.\n",
 		  _("(C)"));
 	  fputs (_("This is free software; see the source for copying conditions.  There is NO\n\
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n"),
diff --git a/gcc/fortran/intrinsic.texi b/gcc/fortran/intrinsic.texi
index 24920eb34986..dbf03c6277ba 100644
--- a/gcc/fortran/intrinsic.texi
+++ b/gcc/fortran/intrinsic.texi
@@ -1,5 +1,5 @@
 @ignore
-Copyright (C) 2005-2016 Free Software Foundation, Inc.
+Copyright (C) 2005-2017 Free Software Foundation, Inc.
 This is part of the GNU Fortran manual.   
 For copying conditions, see the file gfortran.texi.
 
diff --git a/gcc/fortran/invoke.texi b/gcc/fortran/invoke.texi
index 39a0232f71a5..e0abbf8f3a7b 100644
--- a/gcc/fortran/invoke.texi
+++ b/gcc/fortran/invoke.texi
@@ -1,10 +1,10 @@
-@c Copyright (C) 2004-2016 Free Software Foundation, Inc.
+@c Copyright (C) 2004-2017 Free Software Foundation, Inc.
 @c This is part of the GNU Fortran manual.   
 @c For copying conditions, see the file gfortran.texi.
 
 @ignore
 @c man begin COPYRIGHT
-Copyright @copyright{} 2004-2016 Free Software Foundation, Inc.
+Copyright @copyright{} 2004-2017 Free Software Foundation, Inc.
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
diff --git a/gcc/gcc.c b/gcc/gcc.c
index 690894843409..6121ca8feb8d 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -7950,7 +7950,7 @@ driver::maybe_print_and_exit () const
     {
       printf (_("%s %s%s\n"), progname, pkgversion_string,
 	      version_string);
-      printf ("Copyright %s 2016 Free Software Foundation, Inc.\n",
+      printf ("Copyright %s 2017 Free Software Foundation, Inc.\n",
 	      _("(C)"));
       fputs (_("This is free software; see the source for copying conditions.  There is NO\n\
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n"),
diff --git a/gcc/gcov-dump.c b/gcc/gcov-dump.c
index 0f8ae993d50d..717ca858d8a9 100644
--- a/gcc/gcov-dump.c
+++ b/gcc/gcov-dump.c
@@ -142,7 +142,7 @@ static void
 print_version (void)
 {
   printf ("gcov-dump %s%s\n", pkgversion_string, version_string);
-  printf ("Copyright (C) 2016 Free Software Foundation, Inc.\n");
+  printf ("Copyright (C) 2017 Free Software Foundation, Inc.\n");
   printf ("This is free software; see the source for copying conditions.\n"
   	  "There is NO warranty; not even for MERCHANTABILITY or \n"
 	  "FITNESS FOR A PARTICULAR PURPOSE.\n\n");
diff --git a/gcc/gcov-tool.c b/gcc/gcov-tool.c
index d5dbf2719c1b..f9667f01a863 100644
--- a/gcc/gcov-tool.c
+++ b/gcc/gcov-tool.c
@@ -517,7 +517,7 @@ static void
 print_version (void)
 {
   fnotice (stdout, "%s %s%s\n", progname, pkgversion_string, version_string);
-  fnotice (stdout, "Copyright %s 2014-2016 Free Software Foundation, Inc.\n",
+  fnotice (stdout, "Copyright %s 2014-2017 Free Software Foundation, Inc.\n",
            _("(C)"));
   fnotice (stdout,
            _("This is free software; see the source for copying conditions.\n"
diff --git a/gcc/gcov.c b/gcc/gcov.c
index da0bc9777afe..1cf076dc04d0 100644
--- a/gcc/gcov.c
+++ b/gcc/gcov.c
@@ -685,7 +685,7 @@ static void
 print_version (void)
 {
   fnotice (stdout, "gcov %s%s\n", pkgversion_string, version_string);
-  fprintf (stdout, "Copyright %s 2016 Free Software Foundation, Inc.\n",
+  fprintf (stdout, "Copyright %s 2017 Free Software Foundation, Inc.\n",
 	   _("(C)"));
   fnotice (stdout,
 	   _("This is free software; see the source for copying conditions.\n"
diff --git a/gcc/go/ChangeLog b/gcc/go/ChangeLog
index 2ecbf5f9344e..77f62c3f0bea 100644
--- a/gcc/go/ChangeLog
+++ b/gcc/go/ChangeLog
@@ -1,3 +1,7 @@
+2017-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+	* gccgo.texi: Bump @copyrights-go year.
+
 2016-12-16  Than McIntosh  <thanm@google.com>
 
 	* go-gcc.cc (Gcc_backend::expression_statement): Add Bfunction*
@@ -1340,7 +1344,7 @@
 
 	Go frontend added to gcc repository.
 
-Copyright (C) 2010-2016 Free Software Foundation, Inc.
+Copyright (C) 2010-2017 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
diff --git a/gcc/go/gccgo.texi b/gcc/go/gccgo.texi
index 04ce3e996c73..e268c25fabfa 100644
--- a/gcc/go/gccgo.texi
+++ b/gcc/go/gccgo.texi
@@ -12,7 +12,7 @@
 @include gcc-common.texi
 
 @c Copyright years for this manual.
-@set copyrights-go 2010-2016
+@set copyrights-go 2010-2017
 
 @copying
 @c man begin COPYRIGHT
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 469e89674094..c88d161831d8 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,7 @@
+2017-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+	* libgomp.texi: Bump @copying's copyright year.
+
 2016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
 
 	* libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
@@ -8330,7 +8334,7 @@
 
 	Initial implementation and checkin.
 
-Copyright (C) 2005-2016 Free Software Foundation, Inc.
+Copyright (C) 2005-2017 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
diff --git a/libgomp/libgomp.texi b/libgomp/libgomp.texi
index 987ee5f04f36..cc5ee1cd6b1f 100644
--- a/libgomp/libgomp.texi
+++ b/libgomp/libgomp.texi
@@ -7,7 +7,7 @@
 
 
 @copying
-Copyright @copyright{} 2006-2016 Free Software Foundation, Inc.
+Copyright @copyright{} 2006-2017 Free Software Foundation, Inc.
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
diff --git a/libitm/ChangeLog b/libitm/ChangeLog
index 621622e9116e..b5fda91306a6 100644
--- a/libitm/ChangeLog
+++ b/libitm/ChangeLog
@@ -1,3 +1,7 @@
+2017-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+	* libitm.texi: Bump @copying's copyright year.
+
 2016-12-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
 	* acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Remove.
@@ -1994,7 +1998,7 @@
 
 	* Initial commit.
 
-Copyright (C) 2008-2016 Free Software Foundation, Inc.
+Copyright (C) 2008-2017 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
diff --git a/libitm/libitm.texi b/libitm/libitm.texi
index 917ea68d0125..7f49ca7d2e60 100644
--- a/libitm/libitm.texi
+++ b/libitm/libitm.texi
@@ -7,7 +7,7 @@
 
 
 @copying
-Copyright @copyright{} 2011-2016 Free Software Foundation, Inc.
+Copyright @copyright{} 2011-2017 Free Software Foundation, Inc.
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.2 or
diff --git a/libquadmath/ChangeLog b/libquadmath/ChangeLog
index ed45a4b74463..8c598eccf8f0 100644
--- a/libquadmath/ChangeLog
+++ b/libquadmath/ChangeLog
@@ -1,3 +1,7 @@
+2017-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+	* libquadmath.texi: Bump @copying's copyright year.
+
 2016-11-15  Matthias Klose  <doko@ubuntu.com>
 
 	* configure: Regenerate.
@@ -745,7 +749,7 @@
 	PR fortran/32049
 	Initial implementation and checkin.
 
-Copyright (C) 2010-2016 Free Software Foundation, Inc.
+Copyright (C) 2010-2017 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
diff --git a/libquadmath/libquadmath.texi b/libquadmath/libquadmath.texi
index 7628baaf460c..e107ff9e75f0 100644
--- a/libquadmath/libquadmath.texi
+++ b/libquadmath/libquadmath.texi
@@ -6,7 +6,7 @@
 @c %**end of header
 
 @copying
-Copyright @copyright{} 2010-2016 Free Software Foundation, Inc.
+Copyright @copyright{} 2010-2017 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
-- 
GitLab